From 91faee9c1cb71662c7386ee57dcfdd36dfbeb977 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Thu, 17 Oct 2024 09:55:26 +0000 Subject: [PATCH] build based on 2599b0eb --- dev/404.html | 8 +- dev/api/dimensions.html | 62 ++--- dev/api/lookuparrays.html | 94 ++++---- dev/api/reference.html | 82 +++---- ...xkSyF.js => api_dimensions.md.0EpvcW_-.js} | 48 ++-- ....js => api_dimensions.md.0EpvcW_-.lean.js} | 48 ++-- ...ReH.js => api_lookuparrays.md.QQHTyv_S.js} | 80 +++---- ...s => api_lookuparrays.md.QQHTyv_S.lean.js} | 80 +++---- ...zd03zL.js => api_reference.md.CbFETIiO.js} | 68 +++--- ...n.js => api_reference.md.CbFETIiO.lean.js} | 68 +++--- .../{app.DC0kJGHo.js => app.DAF6qinH.js} | 2 +- ...s.md.1otrM5SC.js => basics.md.NNYczrui.js} | 50 ++-- ...5SC.lean.js => basics.md.NNYczrui.lean.js} | 50 ++-- ....CVzEqDHf.js => broadcasts.md.Dz88oNfL.js} | 150 ++++++------ ...lean.js => broadcasts.md.Dz88oNfL.lean.js} | 150 ++++++------ .../chunks/@localSearchIndexroot.CMyb46FE.js | 1 - .../chunks/@localSearchIndexroot.DZIvyN8P.js | 1 + ...yseQxt.js => VPLocalSearchBox.XEwDE-_y.js} | 6 +- dev/assets/chunks/framework.B8l2DGq3.js | 18 -- dev/assets/chunks/framework.BAAK0EyE.js | 18 ++ dev/assets/chunks/theme.By8UT2IG.js | 2 + dev/assets/chunks/theme.b8NutB4I.js | 2 - ...uda.md.DmbWVZki.js => cuda.md.D8Q-T0cP.js} | 6 +- ...WVZki.lean.js => cuda.md.D8Q-T0cP.lean.js} | 6 +- dev/assets/dcljjmm.DHFgsALw.png | Bin 0 -> 94324 bytes ...d.DAoE3lud.js => dimarrays.md.BoEU5ZVn.js} | 214 ++++++++--------- ....lean.js => dimarrays.md.BoEU5ZVn.lean.js} | 214 ++++++++--------- dev/assets/dimensions.md.Btc7hsPQ.js | 3 - dev/assets/dimensions.md.Btc7hsPQ.lean.js | 3 - dev/assets/dimensions.md.BukE2hG-.js | 3 + dev/assets/dimensions.md.BukE2hG-.lean.js | 3 + ....DNn9Ahrm.js => diskarrays.md.DGsdRCSJ.js} | 2 +- ...lean.js => diskarrays.md.DGsdRCSJ.lean.js} | 2 +- dev/assets/esowbav.y1SvPNdA.png | Bin 0 -> 12629 bytes ...mN.lean.js => extending_dd.md.BXSXpgVw.js} | 2 +- ...mN.js => extending_dd.md.BXSXpgVw.lean.js} | 2 +- dev/assets/garsckr.CNIu1Nb4.png | Bin 0 -> 261393 bytes ...md.B7K6LY7P.js => get_info.md.oVG65ArA.js} | 28 +-- ...P.lean.js => get_info.md.oVG65ArA.lean.js} | 28 +-- ....md.DESSK1W0.js => groupby.md.BUxX6owS.js} | 162 ++++++------- ...W0.lean.js => groupby.md.BUxX6owS.lean.js} | 162 ++++++------- ...ex.md.uhypFJup.js => index.md.BtPO60nF.js} | 2 +- ...FJup.lean.js => index.md.BtPO60nF.lean.js} | 2 +- dev/assets/integrations.md.CffVJNNA.js | 1 + dev/assets/integrations.md.CffVJNNA.lean.js | 1 + dev/assets/integrations.md.dJo1qUjg.js | 1 - dev/assets/integrations.md.dJo1qUjg.lean.js | 1 - dev/assets/iqbzbbw.CmaGXDA6.png | Bin 0 -> 30256 bytes dev/assets/izkfogt.nOjqWh1g.png | Bin 256902 -> 0 bytes dev/assets/jmmhsxu.iiL4UBgm.png | Bin 12720 -> 0 bytes dev/assets/jrsvknx.DWa7L8iX.png | Bin 0 -> 238933 bytes dev/assets/kddpcoo.DDw-uyO9.png | Bin 0 -> 88775 bytes ....js => object_modification.md.Bn8irSF4.js} | 64 +++--- ...> object_modification.md.Bn8irSF4.lean.js} | 64 +++--- ...ts.md.kpY9w3i0.js => plots.md.D4kZ1izt.js} | 2 +- ...w3i0.lean.js => plots.md.D4kZ1izt.lean.js} | 2 +- dev/assets/rcywifo.NnnTWDGw.png | Bin 92622 -> 0 bytes ...d.Cu8DY1IK.js => selectors.md.BYwWS6hp.js} | 216 +++++++++--------- ....lean.js => selectors.md.BYwWS6hp.lean.js} | 216 +++++++++--------- ...s.md.SmvHWrk4.js => stacks.md.DhVQ6mRN.js} | 104 ++++----- ...rk4.lean.js => stacks.md.DhVQ6mRN.lean.js} | 104 ++++----- ...{style.CaBzy52z.css => style.BjYx-k93.css} | 2 +- ...s.md.t8vBJGld.js => tables.md.C58ZkjII.js} | 200 ++++++++-------- ...Gld.lean.js => tables.md.C58ZkjII.lean.js} | 200 ++++++++-------- dev/assets/veptoqy.CZKDtjAN.png | Bin 231259 -> 0 bytes dev/assets/ybmzrjc.BIa4VhRY.png | Bin 32198 -> 0 bytes dev/assets/yhxwiti.CBNkYhiq.png | Bin 87001 -> 0 bytes dev/basics.html | 64 +++--- dev/broadcasts.html | 164 ++++++------- dev/cuda.html | 20 +- dev/dimarrays.html | 208 ++++++++--------- dev/dimensions.html | 18 +- dev/diskarrays.html | 16 +- dev/extending_dd.html | 18 +- dev/get_info.html | 40 ++-- dev/groupby.html | 56 ++--- dev/hashmap.json | 2 +- dev/index.html | 16 +- dev/integrations.html | 16 +- dev/object_modification.html | 36 +-- dev/plots.html | 20 +- dev/selectors.html | 140 ++++++------ dev/stacks.html | 62 ++--- dev/tables.html | 110 ++++----- 84 files changed, 2058 insertions(+), 2058 deletions(-) rename dev/assets/{api_dimensions.md.SBrxkSyF.js => api_dimensions.md.0EpvcW_-.js} (97%) rename dev/assets/{api_dimensions.md.SBrxkSyF.lean.js => api_dimensions.md.0EpvcW_-.lean.js} (97%) rename dev/assets/{api_lookuparrays.md.4gWyIReH.js => api_lookuparrays.md.QQHTyv_S.js} (96%) rename dev/assets/{api_lookuparrays.md.4gWyIReH.lean.js => api_lookuparrays.md.QQHTyv_S.lean.js} (96%) rename dev/assets/{api_reference.md.Cbzd03zL.js => api_reference.md.CbFETIiO.js} (98%) rename dev/assets/{api_reference.md.Cbzd03zL.lean.js => api_reference.md.CbFETIiO.lean.js} (98%) rename dev/assets/{app.DC0kJGHo.js => app.DAF6qinH.js} (90%) rename dev/assets/{basics.md.1otrM5SC.js => basics.md.NNYczrui.js} (73%) rename dev/assets/{basics.md.1otrM5SC.lean.js => basics.md.NNYczrui.lean.js} (73%) rename dev/assets/{broadcasts.md.CVzEqDHf.js => broadcasts.md.Dz88oNfL.js} (79%) rename dev/assets/{broadcasts.md.CVzEqDHf.lean.js => broadcasts.md.Dz88oNfL.lean.js} (79%) delete mode 100644 dev/assets/chunks/@localSearchIndexroot.CMyb46FE.js create mode 100644 dev/assets/chunks/@localSearchIndexroot.DZIvyN8P.js rename dev/assets/chunks/{VPLocalSearchBox.96yseQxt.js => VPLocalSearchBox.XEwDE-_y.js} (68%) delete mode 100644 dev/assets/chunks/framework.B8l2DGq3.js create mode 100644 dev/assets/chunks/framework.BAAK0EyE.js create mode 100644 dev/assets/chunks/theme.By8UT2IG.js delete mode 100644 dev/assets/chunks/theme.b8NutB4I.js rename dev/assets/{cuda.md.DmbWVZki.js => cuda.md.D8Q-T0cP.js} (86%) rename dev/assets/{cuda.md.DmbWVZki.lean.js => cuda.md.D8Q-T0cP.lean.js} (86%) create mode 100644 dev/assets/dcljjmm.DHFgsALw.png rename dev/assets/{dimarrays.md.DAoE3lud.js => dimarrays.md.BoEU5ZVn.js} (73%) rename dev/assets/{dimarrays.md.DAoE3lud.lean.js => dimarrays.md.BoEU5ZVn.lean.js} (73%) delete mode 100644 dev/assets/dimensions.md.Btc7hsPQ.js delete mode 100644 dev/assets/dimensions.md.Btc7hsPQ.lean.js create mode 100644 dev/assets/dimensions.md.BukE2hG-.js create mode 100644 dev/assets/dimensions.md.BukE2hG-.lean.js rename dev/assets/{diskarrays.md.DNn9Ahrm.js => diskarrays.md.DGsdRCSJ.js} (54%) rename dev/assets/{diskarrays.md.DNn9Ahrm.lean.js => diskarrays.md.DGsdRCSJ.lean.js} (54%) create mode 100644 dev/assets/esowbav.y1SvPNdA.png rename dev/assets/{extending_dd.md.DoS75dmN.lean.js => extending_dd.md.BXSXpgVw.js} (81%) rename dev/assets/{extending_dd.md.DoS75dmN.js => extending_dd.md.BXSXpgVw.lean.js} (81%) create mode 100644 dev/assets/garsckr.CNIu1Nb4.png rename dev/assets/{get_info.md.B7K6LY7P.js => get_info.md.oVG65ArA.js} (88%) rename dev/assets/{get_info.md.B7K6LY7P.lean.js => get_info.md.oVG65ArA.lean.js} (88%) rename dev/assets/{groupby.md.DESSK1W0.js => groupby.md.BUxX6owS.js} (89%) rename dev/assets/{groupby.md.DESSK1W0.lean.js => groupby.md.BUxX6owS.lean.js} (89%) rename dev/assets/{index.md.uhypFJup.js => index.md.BtPO60nF.js} (95%) rename dev/assets/{index.md.uhypFJup.lean.js => index.md.BtPO60nF.lean.js} (95%) create mode 100644 dev/assets/integrations.md.CffVJNNA.js create mode 100644 dev/assets/integrations.md.CffVJNNA.lean.js delete mode 100644 dev/assets/integrations.md.dJo1qUjg.js delete mode 100644 dev/assets/integrations.md.dJo1qUjg.lean.js create mode 100644 dev/assets/iqbzbbw.CmaGXDA6.png delete mode 100644 dev/assets/izkfogt.nOjqWh1g.png delete mode 100644 dev/assets/jmmhsxu.iiL4UBgm.png create mode 100644 dev/assets/jrsvknx.DWa7L8iX.png create mode 100644 dev/assets/kddpcoo.DDw-uyO9.png rename dev/assets/{object_modification.md.-cjSpi5I.js => object_modification.md.Bn8irSF4.js} (81%) rename dev/assets/{object_modification.md.-cjSpi5I.lean.js => object_modification.md.Bn8irSF4.lean.js} (81%) rename dev/assets/{plots.md.kpY9w3i0.js => plots.md.D4kZ1izt.js} (96%) rename dev/assets/{plots.md.kpY9w3i0.lean.js => plots.md.D4kZ1izt.lean.js} (96%) delete mode 100644 dev/assets/rcywifo.NnnTWDGw.png rename dev/assets/{selectors.md.Cu8DY1IK.js => selectors.md.BYwWS6hp.js} (63%) rename dev/assets/{selectors.md.Cu8DY1IK.lean.js => selectors.md.BYwWS6hp.lean.js} (63%) rename dev/assets/{stacks.md.SmvHWrk4.js => stacks.md.DhVQ6mRN.js} (90%) rename dev/assets/{stacks.md.SmvHWrk4.lean.js => stacks.md.DhVQ6mRN.lean.js} (90%) rename dev/assets/{style.CaBzy52z.css => style.BjYx-k93.css} (97%) rename dev/assets/{tables.md.t8vBJGld.js => tables.md.C58ZkjII.js} (86%) rename dev/assets/{tables.md.t8vBJGld.lean.js => tables.md.C58ZkjII.lean.js} (86%) delete mode 100644 dev/assets/veptoqy.CZKDtjAN.png delete mode 100644 dev/assets/ybmzrjc.BIa4VhRY.png delete mode 100644 dev/assets/yhxwiti.CBNkYhiq.png diff --git a/dev/404.html b/dev/404.html index c54ac9b2b..51a70fc24 100644 --- a/dev/404.html +++ b/dev/404.html @@ -5,10 +5,10 @@ 404 | DimensionalData.jl - - + + - + @@ -18,7 +18,7 @@
- + \ No newline at end of file diff --git a/dev/api/dimensions.html b/dev/api/dimensions.html index c2772a0d2..1b8ee41bf 100644 --- a/dev/api/dimensions.html +++ b/dev/api/dimensions.html @@ -5,14 +5,14 @@ Dimensions | DimensionalData.jl - - + + - + - - - + + + @@ -20,8 +20,8 @@ -
Skip to content

Dimensions

Dimensions are kept in the sub-module Dimensions.

DimensionalData.Dimensions Module
julia
Dimensions

Sub-module for Dimensions wrappers, and operations on them used in DimensionalData.jl.

To load Dimensions types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Dimensions

source

Dimensions have a type-hierarchy that organises plotting and dimension matching.

DimensionalData.Dimensions.Dimension Type
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
+    
Skip to content

Dimensions

Dimensions are kept in the sub-module Dimensions.

DimensionalData.Dimensions Module
julia
Dimensions

Sub-module for Dimensions wrappers, and operations on them used in DimensionalData.jl.

To load Dimensions types and methods into scope:

julia
using DimensionalData
+using DimensionalData.Dimensions

source

Dimensions have a type-hierarchy that organises plotting and dimension matching.

DimensionalData.Dimensions.Dimension Type
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
 
 x = X(2:2:10)
 y = Y(['a', 'b', 'c'])
@@ -73,21 +73,21 @@
  Ti Sampled{Dates.DateTime} Dates.DateTime("2021-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2021-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
    2021-01-01T00:00:00   2021-02-01T00:00:00   2021-12-01T00:00:00
- 4    0.0                   0.0                      0.0

source

DimensionalData.Dimensions.DependentDim Type
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source

DimensionalData.Dimensions.IndependentDim Type
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source

DimensionalData.Dimensions.XDim Type
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source

DimensionalData.Dimensions.YDim Type
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source

DimensionalData.Dimensions.ZDim Type
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source

DimensionalData.Dimensions.TimeDim Type
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. `

source

DimensionalData.Dimensions.X Type
julia
X <: XDim
+ 4    0.0                   0.0                      0.0

source

DimensionalData.Dimensions.DependentDim Type
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source

DimensionalData.Dimensions.IndependentDim Type
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source

DimensionalData.Dimensions.XDim Type
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source

DimensionalData.Dimensions.YDim Type
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source

DimensionalData.Dimensions.ZDim Type
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source

DimensionalData.Dimensions.TimeDim Type
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. `

source

DimensionalData.Dimensions.X Type
julia
X <: XDim
 
-X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source

DimensionalData.Dimensions.Y Type
julia
Y <: YDim
+X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source

DimensionalData.Dimensions.Y Type
julia
Y <: YDim
 
-Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source

DimensionalData.Dimensions.Z Type
julia
Z <: ZDim
+Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source

DimensionalData.Dimensions.Z Type
julia
Z <: ZDim
 
-Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source

DimensionalData.Dimensions.Ti Type

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source

DimensionalData.Dimensions.Dim Type
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
-custom ['a', 'b', 'c']

source

DimensionalData.Dimensions.AnonDim Type
julia
AnonDim <: Dimension
+Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source

DimensionalData.Dimensions.Ti Type

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source

DimensionalData.Dimensions.Dim Type
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
+custom ['a', 'b', 'c']

source

DimensionalData.Dimensions.AnonDim Type
julia
AnonDim <: Dimension
 
-AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source

DimensionalData.Dimensions.@dim Macro
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
+AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source

DimensionalData.Dimensions.@dim Macro
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
 using DimensionalData: @dim, YDim, XDim
 @dim Lat YDim "Latitude"
 @dim Lon XDim "Longitude"
-# output

source

Exported methods

These are widely useful methods for working with dimensions.

DimensionalData.Dimensions.dims Function
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+# output

source

Exported methods

These are widely useful methods for working with dimensions.

DimensionalData.Dimensions.dims Function
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

  • x: any object with a dims method, or a Tuple of Dimension.

  • query: Tuple or a single Dimension or Dimension Type.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -101,7 +101,7 @@
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
-( X,  Y)

source

DimensionalData.Dimensions.otherdims Function
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+( X,  Y)

source

DimensionalData.Dimensions.otherdims Function
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -109,7 +109,7 @@
 ( Y,  Z)
 
 julia> otherdims(A, (Y, Z))
-( X)

source

DimensionalData.Dimensions.dimnum Function
julia
dimnum(x, query::Tuple) => NTuple{Int}
+( X)

source

DimensionalData.Dimensions.dimnum Function
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple, Array or single Dimension or dimension Type.

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -118,7 +118,7 @@
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source

DimensionalData.Dimensions.hasdim Function
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source

DimensionalData.Dimensions.hasdim Function
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -131,13 +131,13 @@
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source

Non-exported methods

DimensionalData.Dimensions.lookup Function
julia
lookup(x::Dimension) => Lookup
+false

source

Non-exported methods

DimensionalData.Dimensions.lookup Function
julia
lookup(x::Dimension) => Lookup
 lookup(x, [dims::Tuple]) => Tuple{Vararg{Lookup}}
 lookup(x::Tuple) => Tuple{Vararg{Lookup}}
-lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source

DimensionalData.Dimensions.label Function
julia
label(x) => String
+lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source

DimensionalData.Dimensions.label Function
julia
label(x) => String
 label(x, dims::Tuple) => NTuple{N,String}
 label(x, dim) => String
-label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.format Function
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source

DimensionalData.Dimensions.dims2indices Function
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source

DimensionalData.Dimensions.Lookups.selectindices Function
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source

Primitive methods

These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.

They are not guaranteed to keep their interface, but usually will.

DimensionalData.Dimensions.commondims Function
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
+label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.format Function
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source

DimensionalData.Dimensions.dims2indices Function
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source

DimensionalData.Dimensions.Lookups.selectindices Function
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source

Primitive methods

These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.

They are not guaranteed to keep their interface, but usually will.

DimensionalData.Dimensions.commondims Function
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -148,9 +148,9 @@
 ( X,  Z)
 
 julia> commondims(A, Ti)
-()

source

DimensionalData.Dimensions.name2dim Function
julia
name2dim(s::Symbol) => Dimension
+()

source

DimensionalData.Dimensions.name2dim Function
julia
name2dim(s::Symbol) => Dimension
 name2dim(dims...) => Tuple{Dimension,Vararg}
-name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source

DimensionalData.Dimensions.reducedims Function
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source

DimensionalData.Dimensions.swapdims Function
julia
swapdims(x::T, newdims) => T
+name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source

DimensionalData.Dimensions.reducedims Function
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source

DimensionalData.Dimensions.swapdims Function
julia
swapdims(x::T, newdims) => T
 swapdims(dims::Tuple, newdims) => Tuple{Vararg{Dimension}}

Swap dimensions for the passed in dimensions, in the order passed.

Passing in the Dimension types rewraps the dimension index, keeping the index values and metadata, while constructed Dimension objects replace the original dimension. nothing leaves the original dimension as-is.

Arguments

  • x: any object with a dims method or a Tuple of Dimension.

  • newdim: Tuple of Dimension or dimension Type.

Example

julia
using DimensionalData
 A = ones(X(2), Y(4), Z(2))
 Dimensions.swapdims(A, (Dim{:a}, Dim{:b}, Dim{:c}))
@@ -163,21 +163,21 @@
 └───────────────────────────┘
 [:, :, 1]
  1.0  1.0  1.0  1.0
- 1.0  1.0  1.0  1.0

source

DimensionalData.Dimensions.slicedims Function
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
-slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

  • f: a function getindex, view or dotview. This will be used for slicing getindex is the default if f is not included.

  • x: An AbstractDimArray, Tuple of Dimension, or Dimension

  • I: A tuple of Integer, Colon or AbstractArray

source

DimensionalData.Dimensions.comparedims Function
julia
comparedims(A::AbstractDimArray...; kw...)
+ 1.0  1.0  1.0  1.0

source

DimensionalData.Dimensions.slicedims Function
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
+slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

  • f: a function getindex, view or dotview. This will be used for slicing getindex is the default if f is not included.

  • x: An AbstractDimArray, Tuple of Dimension, or Dimension

  • I: A tuple of Integer, Colon or AbstractArray

source

DimensionalData.Dimensions.comparedims Function
julia
comparedims(A::AbstractDimArray...; kw...)
 comparedims(A::Tuple...; kw...)
 comparedims(A::Dimension...; kw...)
-comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

  • type: compare dimension type, true by default.

  • valtype: compare wrapped value type, false by default.

  • val: compare wrapped values, false by default.

  • order: compare order, false by default.

  • length: compare lengths, true by default.

  • ignore_length_one: ignore length 1 in comparisons, and return whichever dimension is not length 1, if any. This is useful in e.g. broadcasting comparisons. false by default.

  • msg: DimensionalData.Warn or DimensionalData.Throw. Both may contain string, which will be added to error or warning mesages.

source

DimensionalData.Dimensions.combinedims Function
julia
combinedims(xs; check=true, kw...)

Combine the dimensions of each object in xs, in the order they are found.

Keywords are passed to comparedims.

source

DimensionalData.Dimensions.sortdims Function
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source

DimensionalData.Dimensions.Lookups.basetypeof Function
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source

DimensionalData.Dimensions.basedims Function
julia
basedims(ds::Tuple)
-basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source

DimensionalData.Dimensions.setdims Function
julia
setdims(X, newdims) => AbstractArray
+comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

  • type: compare dimension type, true by default.

  • valtype: compare wrapped value type, false by default.

  • val: compare wrapped values, false by default.

  • order: compare order, false by default.

  • length: compare lengths, true by default.

  • ignore_length_one: ignore length 1 in comparisons, and return whichever dimension is not length 1, if any. This is useful in e.g. broadcasting comparisons. false by default.

  • msg: DimensionalData.Warn or DimensionalData.Throw. Both may contain string, which will be added to error or warning mesages.

source

DimensionalData.Dimensions.combinedims Function
julia
combinedims(xs; check=true, kw...)

Combine the dimensions of each object in xs, in the order they are found.

Keywords are passed to comparedims.

source

DimensionalData.Dimensions.sortdims Function
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source

DimensionalData.Dimensions.Lookups.basetypeof Function
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source

DimensionalData.Dimensions.basedims Function
julia
basedims(ds::Tuple)
+basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source

DimensionalData.Dimensions.setdims Function
julia
setdims(X, newdims) => AbstractArray
 setdims(::Tuple, newdims) => Tuple{Vararg{Dimension,N}}

Replaces the first dim matching <: basetypeof(newdim) with newdim, and returns a new object or tuple with the dimension updated.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • newdim: Tuple or single Dimension, Type or Symbol.

Example

julia
using DimensionalData, DimensionalData.Dimensions, DimensionalData.Lookups
 A = ones(X(10), Y(10:10:100))
 B = setdims(A, Y(Categorical('a':'j'; order=ForwardOrdered())))
 lookup(B, Y)
 # output
 Categorical{Char} ForwardOrdered
-wrapping: 'a':1:'j'

source

DimensionalData.Dimensions.dimsmatch Function
julia
dimsmatch([f], dim, query) => Bool
-dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source

- +wrapping: 'a':1:'j'

source

DimensionalData.Dimensions.dimsmatch Function
julia
dimsmatch([f], dim, query) => Bool
+dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source

+ \ No newline at end of file diff --git a/dev/api/lookuparrays.html b/dev/api/lookuparrays.html index f1d0ff3e8..5b4005d35 100644 --- a/dev/api/lookuparrays.html +++ b/dev/api/lookuparrays.html @@ -5,14 +5,14 @@ Lookups | DimensionalData.jl - - + + - + - - - + + + @@ -20,8 +20,8 @@ -
Skip to content

Lookups

DimensionalData.Dimensions.Lookups Module
julia
Lookups

Module for Lookups and Selectors used in DimensionalData.jl

Lookup defines traits and AbstractArray wrappers that give specific behaviours for a lookup index when indexed with Selector.

For example, these allow tracking over array order so fast indexing works even when the array is reversed.

To load Lookup types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Lookups

source

DimensionalData.Dimensions.Lookups.Lookup Type
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source

DimensionalData.Dimensions.Lookups.Aligned Type
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source

DimensionalData.Dimensions.Lookups.AbstractSampled Type
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source

DimensionalData.Dimensions.Lookups.Sampled Type
julia
Sampled <: AbstractSampled
+    
Skip to content

Lookups

DimensionalData.Dimensions.Lookups Module
julia
Lookups

Module for Lookups and Selectors used in DimensionalData.jl

Lookup defines traits and AbstractArray wrappers that give specific behaviours for a lookup index when indexed with Selector.

For example, these allow tracking over array order so fast indexing works even when the array is reversed.

To load Lookup types and methods into scope:

julia
using DimensionalData
+using DimensionalData.Lookups

source

DimensionalData.Dimensions.Lookups.Lookup Type
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source

DimensionalData.Dimensions.Lookups.Aligned Type
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source

DimensionalData.Dimensions.Lookups.AbstractSampled Type
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source

DimensionalData.Dimensions.Lookups.Sampled Type
julia
Sampled <: AbstractSampled
 
 Sampled(data::AbstractVector, order::Order, span::Span, sampling::Sampling, metadata)
 Sampled(data=AutoValues(); order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata())

A concrete implementation of the Lookup AbstractSampled. It can be used to represent Points or Intervals.

Sampled is capable of representing gridded data from a wide range of sources, allowing correct bounds and Selectors for points or intervals of regular, irregular, forward and reverse lookups.

On AbstractDimArray construction, Sampled lookup is assigned for all lookups of AbstractRange not assigned to Categorical.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

Example

Create an array with Interval sampling, and Regular span for a vector with known spacing.

We set the locus of the Intervals to Start specifying that the lookup values are for the locus at the start of each interval.

julia
using DimensionalData, DimensionalData.Lookups
@@ -42,9 +42,9 @@
   80    1.0  1.0  1.0   1.0
   60    1.0  1.0  1.0   1.0
   40    1.0  1.0  1.0   1.0
-  20    1.0  1.0  1.0   1.0

source

DimensionalData.Dimensions.Lookups.AbstractCyclic Type
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source

DimensionalData.Dimensions.Lookups.Cyclic Type
julia
Cyclic <: AbstractCyclic
+  20    1.0  1.0  1.0   1.0

source

DimensionalData.Dimensions.Lookups.AbstractCyclic Type
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source

DimensionalData.Dimensions.Lookups.Cyclic Type
julia
Cyclic <: AbstractCyclic
 
-Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

  • cycle: the length of the cycle. This does not have to exactly match the data, the step size is Week(1) the cycle can be Years(1).

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source

DimensionalData.Dimensions.Lookups.AbstractCategorical Type
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source

DimensionalData.Dimensions.Lookups.Categorical Type
julia
Categorical <: AbstractCategorical
+Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

  • cycle: the length of the cycle. This does not have to exactly match the data, the step size is Week(1) the cycle can be Years(1).

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source

DimensionalData.Dimensions.Lookups.AbstractCategorical Type
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source

DimensionalData.Dimensions.Lookups.Categorical Type
julia
Categorical <: AbstractCategorical
 
 Categorical(o::Order)
 Categorical(; order=Unordered())

A Lookup where the values are categories.

This will be automatically assigned if the lookup contains AbstractString, Symbol or Char. Otherwise it can be assigned manually.

Order will be determined automatically where possible.

Arguments

  • data: An AbstractVector matching the length of the corresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. Can be provided if this is known and performance is important.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

Example

Create an array with [Interval] sampling.

julia
using DimensionalData
@@ -56,7 +56,7 @@
 # output
 
 Categorical{String} ["one", "two", "three"] Unordered,
-Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source

DimensionalData.Dimensions.Lookups.Unaligned Type
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source

DimensionalData.Dimensions.Lookups.Transformed Type
julia
Transformed <: Unaligned
+Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source

DimensionalData.Dimensions.Lookups.Unaligned Type
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source

DimensionalData.Dimensions.Lookups.Transformed Type
julia
Transformed <: Unaligned
 
 Transformed(f, dim::Dimension; metadata=NoMetadata())

Lookup that uses an affine transformation to convert dimensions from dims(lookup) to dims(array). This can be useful when the dimensions are e.g. rotated from a more commonly used axis.

Any function can be used to do the transformation, but transformations from CoordinateTransformations.jl may be useful.

Arguments

  • f: transformation function

  • dim: a dimension to transform to.

Keyword Arguments

  • metadata:

Example

julia
using DimensionalData, DimensionalData.Lookups, CoordinateTransformations
 
@@ -69,9 +69,9 @@
 da[X(At(6.0)), Y(At(2.0))]
 
 # output
-9

source

DimensionalData.Dimensions.MergedLookup Type
julia
MergedLookup <: Lookup
+9

source

DimensionalData.Dimensions.MergedLookup Type
julia
MergedLookup <: Lookup
 
-MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

  • data: A Vector of Tuple.

  • dims: A Tuple of Dimension indicating the dimensions in the tuples in data.

Keywords

  • metadata: a Dict or Metadata object to attach dimension metadata.

source

DimensionalData.Dimensions.Lookups.NoLookup Type
julia
NoLookup <: Lookup
+MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

  • data: A Vector of Tuple.

  • dims: A Tuple of Dimension indicating the dimensions in the tuples in data.

Keywords

  • metadata: a Dict or Metadata object to attach dimension metadata.

source

DimensionalData.Dimensions.Lookups.NoLookup Type
julia
NoLookup <: Lookup
 
 NoLookup()

A Lookup that is identical to the array axis. Selectors can't be used on this lookup.

Example

Defining a DimArray without passing lookup values to the dimensions, it will be assigned NoLookup:

julia
using DimensionalData
 
@@ -86,26 +86,26 @@
 
 # output
 
-NoLookup, NoLookup

source

DimensionalData.Dimensions.Lookups.AutoLookup Type
julia
AutoLookup <: Lookup
+NoLookup, NoLookup

source

DimensionalData.Dimensions.Lookups.AutoLookup Type
julia
AutoLookup <: Lookup
 
 AutoLookup()
-AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source

DimensionalData.Dimensions.Lookups.AutoValues Type
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source

The generic value getter val

DimensionalData.Dimensions.Lookups.val Function
julia
val(x)
-val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source

Lookup methods:

DimensionalData.Dimensions.Lookups.bounds Function
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
+AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source

DimensionalData.Dimensions.Lookups.AutoValues Type
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source

The generic value getter val

DimensionalData.Dimensions.Lookups.val Function
julia
val(x)
+val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source

Lookup methods:

DimensionalData.Dimensions.Lookups.bounds Function
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
 bounds(xs::Tuple) => Tuple{Vararg{Tuple{T,T}}}
 bounds(x, dim) => Tuple{T,T}
-bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source

DimensionalData.Dimensions.Lookups.hasselection Function
julia
hasselection(x, selector) => Bool
-hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source

DimensionalData.Dimensions.Lookups.sampling Function
julia
sampling(x, [dims::Tuple]) => Tuple
+bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source

DimensionalData.Dimensions.Lookups.hasselection Function
julia
hasselection(x, selector) => Bool
+hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source

DimensionalData.Dimensions.Lookups.sampling Function
julia
sampling(x, [dims::Tuple]) => Tuple
 sampling(x, dim) => Sampling
 sampling(xs::Tuple) => Tuple{Vararg{Sampling}}
-sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.Lookups.span Function
julia
span(x, [dims::Tuple]) => Tuple
+sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.Lookups.span Function
julia
span(x, [dims::Tuple]) => Tuple
 span(x, dim) => Span
 span(xs::Tuple) => Tuple{Vararg{Span,N}}
-span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.Lookups.order Function
julia
order(x, [dims::Tuple]) => Tuple
+span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.Lookups.order Function
julia
order(x, [dims::Tuple]) => Tuple
 order(xs::Tuple) => Tuple
-order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.Lookups.locus Function
julia
locus(x, [dims::Tuple]) => Tuple
+order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.Lookups.locus Function
julia
locus(x, [dims::Tuple]) => Tuple
 locus(x, dim) => Locus
 locus(xs::Tuple) => Tuple{Vararg{Locus,N}}
-locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.Lookups.shiftlocus Function
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source

Selectors

DimensionalData.Dimensions.Lookups.Selector Type
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension lookup, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

  • Not: as in Not(At(x))

And IntervalSets.jl Interval can be used instead of Between

  • ..

  • Interval

  • OpenInterval

  • ClosedInterval

source

DimensionalData.Dimensions.Lookups.IntSelector Type
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source

DimensionalData.Dimensions.Lookups.ArraySelector Type
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source

DimensionalData.Dimensions.Lookups.At Type
julia
At <: IntSelector
+locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.Lookups.shiftlocus Function
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source

Selectors

DimensionalData.Dimensions.Lookups.Selector Type
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension lookup, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

  • Not: as in Not(At(x))

And IntervalSets.jl Interval can be used instead of Between

  • ..

  • Interval

  • OpenInterval

  • ClosedInterval

source

DimensionalData.Dimensions.Lookups.IntSelector Type
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source

DimensionalData.Dimensions.Lookups.ArraySelector Type
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source

DimensionalData.Dimensions.Lookups.At Type
julia
At <: IntSelector
 
 At(x; atol=nothing, rtol=nothing)
 At(a, b; kw...)

Selector that exactly matches the value on the passed-in dimensions, or throws an error. For ranges and arrays, every intermediate value must match an existing value - not just the end points.

x can be any value to select a single index, or a Vector of values to select vector of indices. If two values a and b are used, the range between them will be selected.

Keyword atol is passed to isapprox.

Example

julia
using DimensionalData
@@ -115,7 +115,7 @@
 
 # output
 
-5

source

DimensionalData.Dimensions.Lookups.Near Type
julia
Near <: IntSelector
+5

source

DimensionalData.Dimensions.Lookups.Near Type
julia
Near <: IntSelector
 
 Near(x)
 Near(a, b)

Selector that selects the nearest index to x.

With Points this is simply the lookup values nearest to the x, however with Intervals it is the interval center nearest to x. This will be offset from the index value for Start and End locus.

x can be any value to select a single index, or a Vector of values to select vector of indices. If two values a and b are used, the range between the nearsest value to each of them will be selected.

Example

julia
using DimensionalData
@@ -124,7 +124,7 @@
 A[X(Near(23)), Y(Near(5.1))]
 
 # output
-4

source

DimensionalData.Dimensions.Lookups.Between Type
julia
Between <: ArraySelector
+4

source

DimensionalData.Dimensions.Lookups.Between Type
julia
Between <: ArraySelector
 
 Between(a, b)

Depreciated: use a..b instead of Between(a, b). Other Interval objects from IntervalSets.jl, like `OpenInterval(a, b) will also work, giving the correct open/closed boundaries.

Between will e removed in future to avoid clashes with DataFrames.Between.

Selector that retrieve all indices located between 2 values, evaluated with >= for the lower value, and < for the upper value. This means the same value will not be counted twice in 2 adjacent Between selections.

For Intervals the whole interval must be lie between the values. For Points the points must fall between the values. Different Sampling types may give different results with the same input - this is the intended behaviour.

Between for Irregular intervals is a little complicated. The interval is the distance between a value and the next (for Start locus) or previous (for End locus) value.

For Center, we take the mid point between two index values as the start and end of each interval. This may or may not make sense for the values in your index, so use Between with Irregular Intervals(Center()) with caution.

Example

julia
using DimensionalData
 
@@ -140,7 +140,7 @@
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source

DimensionalData.Dimensions.Lookups.Touches Type
julia
Touches <: ArraySelector
+ 20    4  5

source

DimensionalData.Dimensions.Lookups.Touches Type
julia
Touches <: ArraySelector
 
 Touches(a, b)

Selector that retrieves all indices touching the closed interval 2 values, for the maximum possible area that could interact with the supplied range.

This can be better than .. when e.g. subsetting an area to rasterize, as you may wish to include pixels that just touch the area, rather than those that fall within it.

Touches is different to using closed intervals when the lookups also contain intervals - if any of the intervals touch, they are included. With .. they are discarded unless the whole cell interval falls inside the selector interval.

Example

julia
using DimensionalData
 
@@ -155,7 +155,7 @@
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source

DimensionalData.Dimensions.Lookups.Contains Type
julia
Contains <: IntSelector
+ 20    4  5

source

DimensionalData.Dimensions.Lookups.Contains Type
julia
Contains <: IntSelector
 
 Contains(x)
 Contains(a, b)

Selector that selects the interval the value is contained by. If the interval is not present in the lookup, an error will be thrown.

Can only be used for Intervals or Categorical. For Categorical it falls back to using At. Contains should not be confused with Base.contains - use Where(contains(x)) to check for if values are contain in categorical values like strings.

x can be any value to select a single index, or a Vector of values to select vector of indices. If two values a and b are used, the range between them will be selected.

Example

julia
using DimensionalData; const DD = DimensionalData
@@ -165,7 +165,7 @@
 A[X(Contains(8)), Y(Contains(6.8))]
 
 # output
-3

source

DimensionalData.Dimensions.Lookups.Where Type
julia
Where <: ArraySelector
+3

source

DimensionalData.Dimensions.Lookups.Where Type
julia
Where <: ArraySelector
 
 Where(f::Function)

Selector that filters a dimension lookup by any function that accepts a single value and returns a Bool.

Example

julia
using DimensionalData
 
@@ -181,7 +181,7 @@
  Y Sampled{Int64} [19, 21] ForwardOrdered Irregular Points
 └─────────────────────────────────────────────────────────────┘
   19  21
- 20     4   6

source

DimensionalData.Dimensions.Lookups.All Type
julia
All <: Selector
+ 20     4   6

source

DimensionalData.Dimensions.Lookups.All Type
julia
All <: Selector
 
 All(selectors::Selector...)

Selector that combines the results of other selectors. The indices used will be the union of all result sorted in ascending order.

Example

julia
using DimensionalData, Unitful
 
@@ -199,46 +199,46 @@
 └──────────────────────────────────────────────────────────────────────────────┘
   1 s  6 s  91 s  96 s
  10.0    1    2    19    20
- 50.0    3    6    57    60

source

Lookup traits

DimensionalData.Dimensions.Lookups.LookupTrait Type
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source

Order

DimensionalData.Dimensions.Lookups.Order Type
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source

DimensionalData.Dimensions.Lookups.Ordered Type
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source

DimensionalData.Dimensions.Lookups.ForwardOrdered Type
julia
ForwardOrdered <: Ordered
+ 50.0    3    6    57    60

source

Lookup traits

DimensionalData.Dimensions.Lookups.LookupTrait Type
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source

Order

DimensionalData.Dimensions.Lookups.Order Type
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source

DimensionalData.Dimensions.Lookups.Ordered Type
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source

DimensionalData.Dimensions.Lookups.ForwardOrdered Type
julia
ForwardOrdered <: Ordered
 
-ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source

DimensionalData.Dimensions.Lookups.ReverseOrdered Type
julia
ReverseOrdered <: Ordered
+ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source

DimensionalData.Dimensions.Lookups.ReverseOrdered Type
julia
ReverseOrdered <: Ordered
 
-ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source

DimensionalData.Dimensions.Lookups.Unordered Type
julia
Unordered <: Order
+ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source

DimensionalData.Dimensions.Lookups.Unordered Type
julia
Unordered <: Order
 
-Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source

DimensionalData.Dimensions.Lookups.AutoOrder Type
julia
AutoOrder <: Order
+Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source

DimensionalData.Dimensions.Lookups.AutoOrder Type
julia
AutoOrder <: Order
 
-AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source

Span

DimensionalData.Dimensions.Lookups.Span Type
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source

DimensionalData.Dimensions.Lookups.Regular Type
julia
Regular <: Span
+AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source

Span

DimensionalData.Dimensions.Lookups.Span Type
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source

DimensionalData.Dimensions.Lookups.Regular Type
julia
Regular <: Span
 
-Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source

DimensionalData.Dimensions.Lookups.Irregular Type
julia
Irregular <: Span
+Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source

DimensionalData.Dimensions.Lookups.Irregular Type
julia
Irregular <: Span
 
 Irregular(bounds::Tuple)
-Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source

DimensionalData.Dimensions.Lookups.Explicit Type
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source

DimensionalData.Dimensions.Lookups.AutoSpan Type
julia
AutoSpan <: Span
+Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source

DimensionalData.Dimensions.Lookups.Explicit Type
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source

DimensionalData.Dimensions.Lookups.AutoSpan Type
julia
AutoSpan <: Span
 
-AutoSpan()

The span will be guessed and replaced in format or set.

source

Sampling

DimensionalData.Dimensions.Lookups.Sampling Type
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source

DimensionalData.Dimensions.Lookups.Points Type
julia
Points <: Sampling
+AutoSpan()

The span will be guessed and replaced in format or set.

source

Sampling

DimensionalData.Dimensions.Lookups.Sampling Type
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source

DimensionalData.Dimensions.Lookups.Points Type
julia
Points <: Sampling
 
-Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source

DimensionalData.Dimensions.Lookups.Intervals Type
julia
Intervals <: Sampling
+Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source

DimensionalData.Dimensions.Lookups.Intervals Type
julia
Intervals <: Sampling
 
-Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source

Positions

DimensionalData.Dimensions.Lookups.Position Type
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source

DimensionalData.Dimensions.Lookups.Center Type
julia
Center <: Position
+Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source

Positions

DimensionalData.Dimensions.Lookups.Position Type
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source

DimensionalData.Dimensions.Lookups.Center Type
julia
Center <: Position
 
-Center()

Used to specify lookup values correspond to the center locus in an interval.

source

DimensionalData.Dimensions.Lookups.Start Type
julia
Start <: Position
+Center()

Used to specify lookup values correspond to the center locus in an interval.

source

DimensionalData.Dimensions.Lookups.Start Type
julia
Start <: Position
 
-Start()

Used to specify lookup values correspond to the start locus of an interval.

source

DimensionalData.Dimensions.Lookups.Begin Type
julia
Begin <: Position
+Start()

Used to specify lookup values correspond to the start locus of an interval.

source

DimensionalData.Dimensions.Lookups.Begin Type
julia
Begin <: Position
 
-Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source

DimensionalData.Dimensions.Lookups.End Type
julia
End <: Position
+Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source

DimensionalData.Dimensions.Lookups.End Type
julia
End <: Position
 
-End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source

DimensionalData.Dimensions.Lookups.AutoPosition Type
julia
AutoPosition <: Position
+End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source

DimensionalData.Dimensions.Lookups.AutoPosition Type
julia
AutoPosition <: Position
 
-AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source

Metadata

DimensionalData.Dimensions.Lookups.AbstractMetadata Type
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source

DimensionalData.Dimensions.Lookups.Metadata Type
julia
Metadata <: AbstractMetadata
+AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source

Metadata

DimensionalData.Dimensions.Lookups.AbstractMetadata Type
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source

DimensionalData.Dimensions.Lookups.Metadata Type
julia
Metadata <: AbstractMetadata
 
 Metadata{X}(val::Union{Dict,NamedTuple})
 Metadata{X}(pairs::Pair...) => Metadata{Dict}
-Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source

DimensionalData.Dimensions.Lookups.NoMetadata Type
julia
NoMetadata <: AbstractMetadata
+Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source

DimensionalData.Dimensions.Lookups.NoMetadata Type
julia
NoMetadata <: AbstractMetadata
 
-NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source

DimensionalData.Dimensions.Lookups.units Function
julia
units(x) => Union{Nothing,Any}
+NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source

DimensionalData.Dimensions.Lookups.units Function
julia
units(x) => Union{Nothing,Any}
 units(xs:Tuple) => Tuple
 unit(A::AbstractDimArray, dims::Tuple) => Tuple
-unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

- +unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

+ \ No newline at end of file diff --git a/dev/api/reference.html b/dev/api/reference.html index e4cf799e6..e293a7d5c 100644 --- a/dev/api/reference.html +++ b/dev/api/reference.html @@ -5,14 +5,14 @@ API Reference | DimensionalData.jl - - + + - + - - - + + + @@ -20,7 +20,7 @@ -
Skip to content

API Reference

Arrays

DimensionalData.AbstractBasicDimArray Type
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source

DimensionalData.AbstractDimArray Type
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source

DimensionalData.DimArray Type
julia
DimArray <: AbstractDimArray
+    
Skip to content

API Reference

Arrays

DimensionalData.AbstractBasicDimArray Type
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source

DimensionalData.AbstractDimArray Type
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source

DimensionalData.DimArray Type
julia
DimArray <: AbstractDimArray
 
 DimArray(data, dims, refdims, name, metadata)
 DimArray(data, dims::Tuple; refdims=(), name=NoName(), metadata=NoMetadata())

The main concrete subtype of AbstractDimArray.

DimArray maintains and updates its Dimensions through transformations and moves dimensions to reference dimension refdims after reducing operations (like e.g. mean).

Arguments

  • data: An AbstractArray.

  • dims: A Tuple of Dimension

  • name: A string name for the array. Shows in plots and tables.

  • refdims: refence dimensions. Usually set programmatically to track past slices and reductions of dimension for labelling and reconstruction.

  • metadata: Dict or Metadata object, or NoMetadata()

Indexing can be done with all regular indices, or with Dimensions and/or Selectors.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

Example:

julia
julia> using Dates, DimensionalData
@@ -49,7 +49,7 @@
  20  0.774092
  30  0.823656
  40  0.637077
- 50  0.692235

source

Shorthand AbstractDimArray constructors:

Base.fill Function
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
+ 50  0.692235

source

Shorthand AbstractDimArray constructors:

Base.fill Function
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
 Base.fill(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray with a fill value of x.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData, Random; Random.seed!(123);
 
 julia> rand(Bool, X(2), Y(4))
@@ -59,7 +59,7 @@
  X,  Y
 └──────────────────────┘
  0  0  0  0
- 1  0  0  1

source

Base.rand Function
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
+ 1  0  0  1

source

Base.rand Function
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
 Base.rand(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Dimension...; kw...) => DimArray

Create a DimArray of random values.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
@@ -83,7 +83,7 @@
   100.0       150.0       200.0
   :a    0.443494    0.253849    0.867547
   :b    0.745673    0.334152    0.0802658
-  :c    0.512083    0.427328    0.311448

source

Base.zeros Function
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
+  :c    0.512083    0.427328    0.311448

source

Base.zeros Function
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
 Base.zeros(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of zeros.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> zeros(Bool, X(2), Y(4))
@@ -105,7 +105,7 @@
   100.0  150.0  200.0
   :a    0.0    0.0    0.0
   :b    0.0    0.0    0.0
-  :c    0.0    0.0    0.0

source

Base.ones Function
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
+  :c    0.0    0.0    0.0

source

Base.ones Function
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
 Base.ones(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of ones.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> ones(Bool, X(2), Y(4))
@@ -127,8 +127,8 @@
   100.0  150.0  200.0
   :a    1.0    1.0    1.0
   :b    1.0    1.0    1.0
-  :c    1.0    1.0    1.0

source

Functions for getting information from objects:

DimensionalData.Dimensions.dims Function
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+  :c    1.0    1.0    1.0

source

Functions for getting information from objects:

DimensionalData.Dimensions.dims Function
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

  • x: any object with a dims method, or a Tuple of Dimension.

  • query: Tuple or a single Dimension or Dimension Type.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -142,13 +142,13 @@
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
-( X,  Y)

source

DimensionalData.Dimensions.refdims Function
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source

DimensionalData.Dimensions.Lookups.metadata Function
julia
metadata(x) => (object metadata)
+( X,  Y)

source

DimensionalData.Dimensions.refdims Function
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source

DimensionalData.Dimensions.Lookups.metadata Function
julia
metadata(x) => (object metadata)
 metadata(x, dims::Tuple)  => Tuple (Dimension metadata)
-metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.name Function
julia
name(x) => Symbol
+metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.name Function
julia
name(x) => Symbol
 name(xs:Tuple) => NTuple{N,Symbol}
 name(x, dims::Tuple) => NTuple{N,Symbol}
-name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.otherdims Function
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

DimensionalData.Dimensions.otherdims Function
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -156,7 +156,7 @@
 ( Y,  Z)
 
 julia> otherdims(A, (Y, Z))
-( X)

source

DimensionalData.Dimensions.dimnum Function
julia
dimnum(x, query::Tuple) => NTuple{Int}
+( X)

source

DimensionalData.Dimensions.dimnum Function
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple, Array or single Dimension or dimension Type.

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -165,7 +165,7 @@
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source

DimensionalData.Dimensions.hasdim Function
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source

DimensionalData.Dimensions.hasdim Function
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -178,7 +178,7 @@
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source

Multi-array datasets

DimensionalData.AbstractDimStack Type
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source

DimensionalData.DimStack Type
julia
DimStack <: AbstractDimStack
+false

source

Multi-array datasets

DimensionalData.AbstractDimStack Type
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source

DimensionalData.DimStack Type
julia
DimStack <: AbstractDimStack
 
 DimStack(data::AbstractDimArray...; kw...)
 DimStack(data::Tuple{Vararg{AbstractDimArray}}; kw...)
@@ -205,7 +205,7 @@
 (one = 4.0, two = 8.0, three = 12.0)
 
 julia> s[X(At(:a))] isa DimStack
-true

source

Dimension generators

DimensionalData.DimIndices Type
julia
DimIndices <: AbstractArray
+true

source

Dimension generators

DimensionalData.DimIndices Type
julia
DimIndices <: AbstractArray
 
 DimIndices(x)
 DimIndices(dims::Tuple)
@@ -242,7 +242,7 @@
 └─────────────────────────────────────────────────────────────────┘
    'a'       'c'
  0.0  0.9063    0.0991336
- 0.6  0.745673  0.692209

source

DimensionalData.DimSelectors Type
julia
DimSelectors <: AbstractArray
+ 0.6  0.745673  0.692209

source

DimensionalData.DimSelectors Type
julia
DimSelectors <: AbstractArray
 
 DimSelectors(x; selectors, atol...)
 DimSelectors(dims::Tuple; selectors, atol...)
@@ -260,11 +260,11 @@
   1.0        11.0       21.0
   1.0  0.691162    0.218579   0.539076
  10.0  0.0303789   0.420756   0.485687
- 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source

DimensionalData.DimPoints Type
julia
DimPoints <: AbstractArray
+ 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source

DimensionalData.DimPoints Type
julia
DimPoints <: AbstractArray
 
 DimPoints(x; order)
 DimPoints(dims::Tuple; order)
-DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source

Tables.jl/TableTraits.jl interface

DimensionalData.AbstractDimTable Type
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source

DimensionalData.DimTable Type
julia
DimTable <: AbstractDimTable
+DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source

Tables.jl/TableTraits.jl interface

DimensionalData.AbstractDimTable Type
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source

DimensionalData.DimTable Type
julia
DimTable <: AbstractDimTable
 
 DimTable(s::AbstractDimStack; mergedims=nothing)
 DimTable(x::AbstractDimArray; layersfrom=nothing, mergedims=nothing)
@@ -294,7 +294,7 @@
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 
-julia>

source

Group by methods

For transforming DimensionalData objects:

DataAPI.groupby Function
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
+julia>

source

Group by methods

For transforming DimensionalData objects:

DataAPI.groupby Function
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
 groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Dimension{<:Callable}...)

Group A by grouping functions or Bins over multiple dimensions.

Arguments

  • A: any AbstractDimArray or AbstractDimStack.

  • dims: Pairs such as groups = groupby(A, :dimname => groupingfunction) or wrapped Dimensions like groups = groupby(A, DimType(groupingfunction)). Instead of a grouping function Bins can be used to specify group bins.

Return value

A DimGroupByArray is returned, which is basically a regular AbstractDimArray but holding the grouped AbstractDimArray or AbstractDimStack. Its dims hold the sorted values returned by the grouping function/s.

Base julia and package methods work on DimGroupByArray as for any other AbstractArray of AbstractArray.

It is common to broadcast or map a reducing function over groups, such as mean or sum, like mean.(groups) or map(mean, groups). This will return a regular DimArray, or DimGroupByArray if dims keyword is used in the reducing function or it otherwise returns an AbstractDimArray or AbstractDimStack.

Example

Group some data along the time dimension:

julia
julia> using DimensionalData, Dates
 
 julia> A = rand(X(1:0.1:20), Y(1:20), Ti(DateTime(2000):Day(3):DateTime(2003)));
@@ -347,8 +347,8 @@
 
  10        0.501105     0.500644
  11        0.498606     0.498801
- 12        0.501643     0.499298

source

DimensionalData.DimGroupByArray Type
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source

DimensionalData.Bins Type
julia
Bins(f, bins; labels, pad)
-Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

DimensionalData.ranges Function
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source

DimensionalData.intervals Function
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source

DimensionalData.CyclicBins Type
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

DimensionalData.seasons Function
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected quarters.

source

DimensionalData.months Function
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source

DimensionalData.hours Function
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source

Utility methods

For transforming DimensionalData objects:

DimensionalData.Dimensions.Lookups.set Function
julia
set(x, val)
+ 12        0.501643     0.499298

source

DimensionalData.DimGroupByArray Type
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source

DimensionalData.Bins Type
julia
Bins(f, bins; labels, pad)
+Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

DimensionalData.ranges Function
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source

DimensionalData.intervals Function
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source

DimensionalData.CyclicBins Type
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

DimensionalData.seasons Function
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected quarters.

source

DimensionalData.months Function
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source

DimensionalData.hours Function
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source

Utility methods

For transforming DimensionalData objects:

DimensionalData.Dimensions.Lookups.set Function
julia
set(x, val)
 set(x, args::Pairs...) => x with updated field/s
 set(x, args...; kw...) => x with updated field/s
 set(x, args::Tuple{Vararg{Dimension}}; kw...) => x with updated field/s
@@ -409,11 +409,11 @@
   -20.0  -10.0  0.0  10.0
  10.0    0.0    0.0  0.0   0.0
  20.0    0.0    0.0  0.0   0.0
- 30.0    0.0    0.0  0.0   0.0

source

DimensionalData.Dimensions.Lookups.rebuild Function
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source

DimensionalData.modify Function
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
+ 30.0    0.0    0.0  0.0   0.0

source

DimensionalData.Dimensions.Lookups.rebuild Function
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source

DimensionalData.modify Function
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
 modify(f, s::AbstractDimStack) => AbstractDimStack
 modify(f, dim::Dimension) => Dimension
 modify(f, x, lookupdim::Dimension) => typeof(x)

Modify the parent data, rebuilding the object wrapper without change. f must return a AbstractArray of the same size as the original.

This method is mostly useful as a way of swapping the parent array type of an object.

Example

If we have a previously-defined DimArray, we can copy it to an Nvidia GPU with:

julia
A = DimArray(rand(100, 100), (X, Y))
-modify(CuArray, A)

This also works for all the data layers in a DimStack.

source

DimensionalData.@d Macro
julia
@d broadcast_expression options

Dimensional broadcast macro extending Base Julia broadcasting to work with missing and permuted dimensions.

Will permute and resshape singleton dimensions so that all AbstractDimArray in a broadcast will broadcast over matching dimensions.

It is possible to pass options as the second argument of the macro to control the behaviour, as a single assignment or as a NamedTuple. Options names must be written explicitly, not passed in namedtuple variable.

Options

  • dims: Pass a Tuple of Dimensions, Dimension types or Symbols to fix the dimension order of the output array. Otherwise dimensions will be in order of appearance. If dims with lookups are passed, these will be applied to the returned array with set.

  • strict: true or false. Check that all lookup values match explicitly.

All other keywords are passed to DimensionalData.rebuild. This means name, metadata, etc for the returned array can be set here, or for example missingval in Rasters.jl.

Example

julia
using DimensionalData
+modify(CuArray, A)

This also works for all the data layers in a DimStack.

source

DimensionalData.@d Macro
julia
@d broadcast_expression options

Dimensional broadcast macro extending Base Julia broadcasting to work with missing and permuted dimensions.

Will permute and resshape singleton dimensions so that all AbstractDimArray in a broadcast will broadcast over matching dimensions.

It is possible to pass options as the second argument of the macro to control the behaviour, as a single assignment or as a NamedTuple. Options names must be written explicitly, not passed in namedtuple variable.

Options

  • dims: Pass a Tuple of Dimensions, Dimension types or Symbols to fix the dimension order of the output array. Otherwise dimensions will be in order of appearance. If dims with lookups are passed, these will be applied to the returned array with set.

  • strict: true or false. Check that all lookup values match explicitly.

All other keywords are passed to DimensionalData.rebuild. This means name, metadata, etc for the returned array can be set here, or for example missingval in Rasters.jl.

Example

julia
using DimensionalData
 da1 = ones(X(3))
 da2 = fill(2, Y(4), X(3))
 
@@ -425,7 +425,7 @@
 
 @d @. da1 * da2
 # Use parentheses areound `@.` if you need to pass options
-@d (@. da1 * da2 .+ 5) dims=(Y, X)

source

DimensionalData.broadcast_dims Function
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source

DimensionalData.broadcast_dims! Function
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source

DimensionalData.mergedims Function
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
+@d (@. da1 * da2 .+ 5) dims=(Y, X)

source

DimensionalData.broadcast_dims Function
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source

DimensionalData.broadcast_dims! Function
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source

DimensionalData.mergedims Function
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
 
 julia> ds = (X(0:0.1:0.4), Y(10:10:100), Ti([0, 3, 4]))
 ( X  0.0:0.1:0.4,
@@ -434,9 +434,9 @@
 
 julia> mergedims(ds, (X, Y) => :space)
 ( Ti    [0, 3, 4],
- space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)] ( X,  Y))

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
-mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source

DimensionalData.unmergedims Function
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
-unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source

DimensionalData.reorder Function
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
+ space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)] ( X,  Y))

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
+mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source

DimensionalData.unmergedims Function
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
+unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source

DimensionalData.reorder Function
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
 reorder(A::Union{AbstractDimArray,AbstractDimStack}, order)
 reorder(A::Dimension, order::Order)

Reorder every dims index/array to order, or reorder index for the given dimension(s) in order.

order can be an Order, Dimension => Order pairs. A Tuple of Dimensions or any object that defines dims can be used in which case the dimensions of this object are used for reordering.

If no axis reversal is required the same objects will be returned, without allocation.

Example

julia
using DimensionalData
 
@@ -450,7 +450,7 @@
 reorder(rev, da) == da
 
 # output
-true

source

Global lookup strictness settings

Control how strict DimensionalData when comparing Lookups before doing broadcasts and matrix multipications.

In some cases (especially DimVector and small DimArray) checking lookup values match may be too costly compared to the operations. You can turn check the current setting and turn them on or off with these methods.

DimensionalData.strict_broadcast Function
julia
strict_broadcast()

Check if strict broadcasting checks are active.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

DimensionalData.strict_broadcast! Function
julia
strict_broadcast!(x::Bool)

Set global broadcasting checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

DimensionalData.strict_matmul Function
julia
strict_matmul()

Check if strickt broadcasting checks are active.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

DimensionalData.strict_matmul! Function
julia
strict_matmul!(x::Bool)

Set global matrix multiplication checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

Base methods

Base.cat Function
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source

Base.copy! Function
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source

Base.eachslice Function
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
+true

source

Global lookup strictness settings

Control how strict DimensionalData when comparing Lookups before doing broadcasts and matrix multipications.

In some cases (especially DimVector and small DimArray) checking lookup values match may be too costly compared to the operations. You can turn check the current setting and turn them on or off with these methods.

DimensionalData.strict_broadcast Function
julia
strict_broadcast()

Check if strict broadcasting checks are active.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

DimensionalData.strict_broadcast! Function
julia
strict_broadcast!(x::Bool)

Set global broadcasting checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

DimensionalData.strict_matmul Function
julia
strict_matmul()

Check if strickt broadcasting checks are active.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

DimensionalData.strict_matmul! Function
julia
strict_matmul!(x::Bool)

Set global matrix multiplication checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

Base methods

Base.cat Function
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source

Base.copy! Function
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source

Base.eachslice Function
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
            x=DimArray(randn(2, 3, 4), (X([:x1, :x2]), Y(1:3), Z)),
            y=DimArray(randn(2, 3, 5), (X([:x1, :x2]), Y(1:3), Ti))
        ));
@@ -473,17 +473,17 @@
 ├──────────────────────────────────────────────── layers ┤
   :x eltype: Float64 dims: Y size: 3
   :y eltype: Float64 dims: Y, Ti size: 3×5
-└────────────────────────────────────────────────────────┘

source

Most base methods work as expected, using Dimension wherever a dims keyword is used. They are not all specifically documented here.

Name

DimensionalData.AbstractName Type
julia
AbstractName

Abstract supertype for name wrappers.

source

DimensionalData.Name Type
julia
Name <: AbstractName
+└────────────────────────────────────────────────────────┘

source

Most base methods work as expected, using Dimension wherever a dims keyword is used. They are not all specifically documented here.

Name

DimensionalData.AbstractName Type
julia
AbstractName

Abstract supertype for name wrappers.

source

DimensionalData.Name Type
julia
Name <: AbstractName
 
 Name(name::Union{Symbol,Name) => Name
-Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source

DimensionalData.NoName Type
julia
NoName <: AbstractName
+Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source

DimensionalData.NoName Type
julia
NoName <: AbstractName
 
-NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source

Internal interface

DimensionalData.DimArrayInterface Type
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

DimensionalData.DimStackInterface Type
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

DimensionalData.rebuild_from_arrays Function
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source

DimensionalData.show_main Function
julia
show_main(io::IO, mime, A::AbstractDimArray)
-show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source

DimensionalData.show_after Function
julia
show_after(io::IO, mime, A::AbstractDimArray)
-show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source

DimensionalData.refdims_title Function
julia
refdims_title(A::AbstractDimArray)
+NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source

Internal interface

DimensionalData.DimArrayInterface Type
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

DimensionalData.DimStackInterface Type
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

DimensionalData.rebuild_from_arrays Function
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source

DimensionalData.show_main Function
julia
show_main(io::IO, mime, A::AbstractDimArray)
+show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source

DimensionalData.show_after Function
julia
show_after(io::IO, mime, A::AbstractDimArray)
+show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source

DimensionalData.refdims_title Function
julia
refdims_title(A::AbstractDimArray)
 refdims_title(refdims::Tuple)
-refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source

- +refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source

+ \ No newline at end of file diff --git a/dev/assets/api_dimensions.md.SBrxkSyF.js b/dev/assets/api_dimensions.md.0EpvcW_-.js similarity index 97% rename from dev/assets/api_dimensions.md.SBrxkSyF.js rename to dev/assets/api_dimensions.md.0EpvcW_-.js index c54b7eba0..da9b460d2 100644 --- a/dev/assets/api_dimensions.md.SBrxkSyF.js +++ b/dev/assets/api_dimensions.md.0EpvcW_-.js @@ -1,5 +1,5 @@ -import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framework.B8l2DGq3.js";const ss=JSON.parse('{"title":"Dimensions","description":"","frontmatter":{},"headers":[],"relativePath":"api/dimensions.md","filePath":"api/dimensions.md","lastUpdated":null}'),d={name:"api/dimensions.md"},o={class:"jldocstring custom-block",open:""},r={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""};function $(K,s,W,J,H,Q){const n=h("Badge");return k(),p("div",null,[s[108]||(s[108]=i("h1",{id:"dimensions",tabindex:"-1"},[a("Dimensions "),i("a",{class:"header-anchor",href:"#dimensions","aria-label":'Permalink to "Dimensions"'},"​")],-1)),s[109]||(s[109]=i("p",null,[a("Dimensions are kept in the sub-module "),i("code",null,"Dimensions"),a(".")],-1)),i("details",o,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.Dimensions",href:"#DimensionalData.Dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions")],-1)),s[1]||(s[1]=a()),e(n,{type:"info",class:"jlObjectType jlModule",text:"Module"})]),s[2]||(s[2]=t(`
julia
Dimensions

Sub-module for Dimensions wrappers, and operations on them used in DimensionalData.jl.

To load Dimensions types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Dimensions

source

`,5))]),s[110]||(s[110]=i("p",null,"Dimensions have a type-hierarchy that organises plotting and dimension matching.",-1)),i("details",r,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.Dimensions.Dimension",href:"#DimensionalData.Dimensions.Dimension"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Dimension")],-1)),s[4]||(s[4]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=t(`
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
+import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framework.BAAK0EyE.js";const ss=JSON.parse('{"title":"Dimensions","description":"","frontmatter":{},"headers":[],"relativePath":"api/dimensions.md","filePath":"api/dimensions.md","lastUpdated":null}'),d={name:"api/dimensions.md"},o={class:"jldocstring custom-block",open:""},r={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""};function $(K,s,W,J,H,Q){const n=h("Badge");return k(),p("div",null,[s[108]||(s[108]=i("h1",{id:"dimensions",tabindex:"-1"},[a("Dimensions "),i("a",{class:"header-anchor",href:"#dimensions","aria-label":'Permalink to "Dimensions"'},"​")],-1)),s[109]||(s[109]=i("p",null,[a("Dimensions are kept in the sub-module "),i("code",null,"Dimensions"),a(".")],-1)),i("details",o,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.Dimensions",href:"#DimensionalData.Dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions")],-1)),s[1]||(s[1]=a()),e(n,{type:"info",class:"jlObjectType jlModule",text:"Module"})]),s[2]||(s[2]=t(`
julia
Dimensions

Sub-module for Dimensions wrappers, and operations on them used in DimensionalData.jl.

To load Dimensions types and methods into scope:

julia
using DimensionalData
+using DimensionalData.Dimensions

source

`,5))]),s[110]||(s[110]=i("p",null,"Dimensions have a type-hierarchy that organises plotting and dimension matching.",-1)),i("details",r,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.Dimensions.Dimension",href:"#DimensionalData.Dimensions.Dimension"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Dimension")],-1)),s[4]||(s[4]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=t(`
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
 
 x = X(2:2:10)
 y = Y(['a', 'b', 'c'])
@@ -51,21 +51,21 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
  Ti Sampled{Dates.DateTime} Dates.DateTime("2021-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2021-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
    2021-01-01T00:00:00   2021-02-01T00:00:00   2021-12-01T00:00:00
- 4    0.0                   0.0                      0.0

source

`,13))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.Dimensions.DependentDim",href:"#DimensionalData.Dimensions.DependentDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.DependentDim")],-1)),s[7]||(s[7]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=t('
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source

',3))]),i("details",E,[i("summary",null,[s[9]||(s[9]=i("a",{id:"DimensionalData.Dimensions.IndependentDim",href:"#DimensionalData.Dimensions.IndependentDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.IndependentDim")],-1)),s[10]||(s[10]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=t('
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source

',3))]),i("details",y,[i("summary",null,[s[12]||(s[12]=i("a",{id:"DimensionalData.Dimensions.XDim",href:"#DimensionalData.Dimensions.XDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.XDim")],-1)),s[13]||(s[13]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=t('
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source

',3))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"DimensionalData.Dimensions.YDim",href:"#DimensionalData.Dimensions.YDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.YDim")],-1)),s[16]||(s[16]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[17]||(s[17]=t('
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source

',3))]),i("details",m,[i("summary",null,[s[18]||(s[18]=i("a",{id:"DimensionalData.Dimensions.ZDim",href:"#DimensionalData.Dimensions.ZDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.ZDim")],-1)),s[19]||(s[19]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=t('
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source

',3))]),i("details",F,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.TimeDim",href:"#DimensionalData.Dimensions.TimeDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.TimeDim")],-1)),s[22]||(s[22]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=t('
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. `

source

',4))]),i("details",D,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.X",href:"#DimensionalData.Dimensions.X"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.X")],-1)),s[25]||(s[25]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=t(`
julia
X <: XDim
+ 4    0.0                   0.0                      0.0

source

`,13))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.Dimensions.DependentDim",href:"#DimensionalData.Dimensions.DependentDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.DependentDim")],-1)),s[7]||(s[7]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=t('
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source

',3))]),i("details",E,[i("summary",null,[s[9]||(s[9]=i("a",{id:"DimensionalData.Dimensions.IndependentDim",href:"#DimensionalData.Dimensions.IndependentDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.IndependentDim")],-1)),s[10]||(s[10]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=t('
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source

',3))]),i("details",y,[i("summary",null,[s[12]||(s[12]=i("a",{id:"DimensionalData.Dimensions.XDim",href:"#DimensionalData.Dimensions.XDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.XDim")],-1)),s[13]||(s[13]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=t('
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source

',3))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"DimensionalData.Dimensions.YDim",href:"#DimensionalData.Dimensions.YDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.YDim")],-1)),s[16]||(s[16]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[17]||(s[17]=t('
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source

',3))]),i("details",m,[i("summary",null,[s[18]||(s[18]=i("a",{id:"DimensionalData.Dimensions.ZDim",href:"#DimensionalData.Dimensions.ZDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.ZDim")],-1)),s[19]||(s[19]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=t('
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source

',3))]),i("details",F,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.TimeDim",href:"#DimensionalData.Dimensions.TimeDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.TimeDim")],-1)),s[22]||(s[22]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=t('
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. `

source

',4))]),i("details",D,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.X",href:"#DimensionalData.Dimensions.X"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.X")],-1)),s[25]||(s[25]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=t(`
julia
X <: XDim
 
-X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source

`,7))]),i("details",u,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Y",href:"#DimensionalData.Dimensions.Y"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Y")],-1)),s[28]||(s[28]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[29]||(s[29]=t(`
julia
Y <: YDim
+X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source

`,7))]),i("details",u,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Y",href:"#DimensionalData.Dimensions.Y"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Y")],-1)),s[28]||(s[28]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[29]||(s[29]=t(`
julia
Y <: YDim
 
-Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source

`,7))]),i("details",C,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.Z",href:"#DimensionalData.Dimensions.Z"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Z")],-1)),s[31]||(s[31]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[32]||(s[32]=t(`
julia
Z <: ZDim
+Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source

`,7))]),i("details",C,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.Z",href:"#DimensionalData.Dimensions.Z"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Z")],-1)),s[31]||(s[31]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[32]||(s[32]=t(`
julia
Z <: ZDim
 
-Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source

`,7))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.Ti",href:"#DimensionalData.Dimensions.Ti"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Ti")],-1)),s[34]||(s[34]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[35]||(s[35]=t('

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source

',9))]),i("details",f,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.Dim",href:"#DimensionalData.Dimensions.Dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Dim")],-1)),s[37]||(s[37]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[38]||(s[38]=t(`
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
-custom ['a', 'b', 'c']

source

`,5))]),i("details",j,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.AnonDim",href:"#DimensionalData.Dimensions.AnonDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.AnonDim")],-1)),s[40]||(s[40]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[41]||(s[41]=t(`
julia
AnonDim <: Dimension
+Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source

`,7))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.Ti",href:"#DimensionalData.Dimensions.Ti"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Ti")],-1)),s[34]||(s[34]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[35]||(s[35]=t('

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source

',9))]),i("details",f,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.Dim",href:"#DimensionalData.Dimensions.Dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Dim")],-1)),s[37]||(s[37]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[38]||(s[38]=t(`
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
+custom ['a', 'b', 'c']

source

`,5))]),i("details",j,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.AnonDim",href:"#DimensionalData.Dimensions.AnonDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.AnonDim")],-1)),s[40]||(s[40]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[41]||(s[41]=t(`
julia
AnonDim <: Dimension
 
-AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source

`,3))]),i("details",B,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.Dimensions.@dim",href:"#DimensionalData.Dimensions.@dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.@dim")],-1)),s[43]||(s[43]=a()),e(n,{type:"info",class:"jlObjectType jlMacro",text:"Macro"})]),s[44]||(s[44]=t(`
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
+AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source

`,3))]),i("details",B,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.Dimensions.@dim",href:"#DimensionalData.Dimensions.@dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.@dim")],-1)),s[43]||(s[43]=a()),e(n,{type:"info",class:"jlObjectType jlMacro",text:"Macro"})]),s[44]||(s[44]=t(`
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
 using DimensionalData: @dim, YDim, XDim
 @dim Lat YDim "Latitude"
 @dim Lon XDim "Longitude"
-# output

source

`,8))]),s[111]||(s[111]=i("h3",{id:"Exported-methods",tabindex:"-1"},[a("Exported methods "),i("a",{class:"header-anchor",href:"#Exported-methods","aria-label":'Permalink to "Exported methods {#Exported-methods}"'},"​")],-1)),s[112]||(s[112]=i("p",null,"These are widely useful methods for working with dimensions.",-1)),i("details",v,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.Dimensions.dims-api-dimensions",href:"#DimensionalData.Dimensions.dims-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims")],-1)),s[46]||(s[46]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=t(`
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+# output

source

`,8))]),s[111]||(s[111]=i("h3",{id:"Exported-methods",tabindex:"-1"},[a("Exported methods "),i("a",{class:"header-anchor",href:"#Exported-methods","aria-label":'Permalink to "Exported methods {#Exported-methods}"'},"​")],-1)),s[112]||(s[112]=i("p",null,"These are widely useful methods for working with dimensions.",-1)),i("details",v,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.Dimensions.dims-api-dimensions",href:"#DimensionalData.Dimensions.dims-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims")],-1)),s[46]||(s[46]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=t(`
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

  • x: any object with a dims method, or a Tuple of Dimension.

  • query: Tuple or a single Dimension or Dimension Type.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -79,7 +79,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
-( X,  Y)

source

`,13))]),i("details",A,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.Dimensions.otherdims-api-dimensions",href:"#DimensionalData.Dimensions.otherdims-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.otherdims")],-1)),s[49]||(s[49]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=t(`
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+( X,  Y)

source

`,13))]),i("details",A,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.Dimensions.otherdims-api-dimensions",href:"#DimensionalData.Dimensions.otherdims-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.otherdims")],-1)),s[49]||(s[49]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=t(`
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -87,7 +87,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 ( Y,  Z)
 
 julia> otherdims(A, (Y, Z))
-( X)

source

`,8))]),i("details",T,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.Dimensions.dimnum-api-dimensions",href:"#DimensionalData.Dimensions.dimnum-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimnum")],-1)),s[52]||(s[52]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=t(`
julia
dimnum(x, query::Tuple) => NTuple{Int}
+( X)

source

`,8))]),i("details",T,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.Dimensions.dimnum-api-dimensions",href:"#DimensionalData.Dimensions.dimnum-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimnum")],-1)),s[52]||(s[52]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=t(`
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple, Array or single Dimension or dimension Type.

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -96,7 +96,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source

`,8))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.Dimensions.hasdim-api-dimensions",href:"#DimensionalData.Dimensions.hasdim-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.hasdim")],-1)),s[55]||(s[55]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=t(`
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source

`,8))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.Dimensions.hasdim-api-dimensions",href:"#DimensionalData.Dimensions.hasdim-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.hasdim")],-1)),s[55]||(s[55]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=t(`
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -109,13 +109,13 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source

`,8))]),s[113]||(s[113]=i("h3",{id:"Non-exported-methods",tabindex:"-1"},[a("Non-exported methods "),i("a",{class:"header-anchor",href:"#Non-exported-methods","aria-label":'Permalink to "Non-exported methods {#Non-exported-methods}"'},"​")],-1)),i("details",w,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.Dimensions.lookup",href:"#DimensionalData.Dimensions.lookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.lookup")],-1)),s[58]||(s[58]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=t(`
julia
lookup(x::Dimension) => Lookup
+false

source

`,8))]),s[113]||(s[113]=i("h3",{id:"Non-exported-methods",tabindex:"-1"},[a("Non-exported methods "),i("a",{class:"header-anchor",href:"#Non-exported-methods","aria-label":'Permalink to "Non-exported methods {#Non-exported-methods}"'},"​")],-1)),i("details",w,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.Dimensions.lookup",href:"#DimensionalData.Dimensions.lookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.lookup")],-1)),s[58]||(s[58]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=t(`
julia
lookup(x::Dimension) => Lookup
 lookup(x, [dims::Tuple]) => Tuple{Vararg{Lookup}}
 lookup(x::Tuple) => Tuple{Vararg{Lookup}}
-lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source

`,5))]),i("details",L,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.Dimensions.label",href:"#DimensionalData.Dimensions.label"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.label")],-1)),s[61]||(s[61]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=t(`
julia
label(x) => String
+lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source

`,5))]),i("details",L,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.Dimensions.label",href:"#DimensionalData.Dimensions.label"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.label")],-1)),s[61]||(s[61]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=t(`
julia
label(x) => String
 label(x, dims::Tuple) => NTuple{N,String}
 label(x, dim) => String
-label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",q,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DimensionalData.Dimensions.format",href:"#DimensionalData.Dimensions.format"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.format")],-1)),s[64]||(s[64]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=t('
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source

',5))]),i("details",X,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.Dimensions.dims2indices",href:"#DimensionalData.Dimensions.dims2indices"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims2indices")],-1)),s[67]||(s[67]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=t('
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source

',3))]),i("details",Y,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Dimensions.Lookups.selectindices",href:"#DimensionalData.Dimensions.Lookups.selectindices"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.selectindices")],-1)),s[70]||(s[70]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[71]||(s[71]=t('
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source

',3))]),s[114]||(s[114]=i("h3",{id:"Primitive-methods",tabindex:"-1"},[a("Primitive methods "),i("a",{class:"header-anchor",href:"#Primitive-methods","aria-label":'Permalink to "Primitive methods {#Primitive-methods}"'},"​")],-1)),s[115]||(s[115]=i("p",null,"These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.",-1)),s[116]||(s[116]=i("p",null,"They are not guaranteed to keep their interface, but usually will.",-1)),i("details",O,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.Dimensions.commondims",href:"#DimensionalData.Dimensions.commondims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.commondims")],-1)),s[73]||(s[73]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[74]||(s[74]=t(`
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
+label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",q,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DimensionalData.Dimensions.format",href:"#DimensionalData.Dimensions.format"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.format")],-1)),s[64]||(s[64]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=t('
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source

',5))]),i("details",X,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.Dimensions.dims2indices",href:"#DimensionalData.Dimensions.dims2indices"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims2indices")],-1)),s[67]||(s[67]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=t('
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source

',3))]),i("details",Y,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Dimensions.Lookups.selectindices",href:"#DimensionalData.Dimensions.Lookups.selectindices"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.selectindices")],-1)),s[70]||(s[70]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[71]||(s[71]=t('
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source

',3))]),s[114]||(s[114]=i("h3",{id:"Primitive-methods",tabindex:"-1"},[a("Primitive methods "),i("a",{class:"header-anchor",href:"#Primitive-methods","aria-label":'Permalink to "Primitive methods {#Primitive-methods}"'},"​")],-1)),s[115]||(s[115]=i("p",null,"These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.",-1)),s[116]||(s[116]=i("p",null,"They are not guaranteed to keep their interface, but usually will.",-1)),i("details",O,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.Dimensions.commondims",href:"#DimensionalData.Dimensions.commondims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.commondims")],-1)),s[73]||(s[73]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[74]||(s[74]=t(`
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -126,9 +126,9 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 ( X,  Z)
 
 julia> commondims(A, Ti)
-()

source

`,6))]),i("details",z,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.Dimensions.name2dim",href:"#DimensionalData.Dimensions.name2dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.name2dim")],-1)),s[76]||(s[76]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[77]||(s[77]=t(`
julia
name2dim(s::Symbol) => Dimension
+()

source

`,6))]),i("details",z,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.Dimensions.name2dim",href:"#DimensionalData.Dimensions.name2dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.name2dim")],-1)),s[76]||(s[76]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[77]||(s[77]=t(`
julia
name2dim(s::Symbol) => Dimension
 name2dim(dims...) => Tuple{Dimension,Vararg}
-name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source

`,4))]),i("details",S,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.Dimensions.reducedims",href:"#DimensionalData.Dimensions.reducedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.reducedims")],-1)),s[79]||(s[79]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[80]||(s[80]=t('
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source

',4))]),i("details",Z,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.Dimensions.swapdims",href:"#DimensionalData.Dimensions.swapdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.swapdims")],-1)),s[82]||(s[82]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[83]||(s[83]=t(`
julia
swapdims(x::T, newdims) => T
+name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source

`,4))]),i("details",S,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.Dimensions.reducedims",href:"#DimensionalData.Dimensions.reducedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.reducedims")],-1)),s[79]||(s[79]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[80]||(s[80]=t('
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source

',4))]),i("details",Z,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.Dimensions.swapdims",href:"#DimensionalData.Dimensions.swapdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.swapdims")],-1)),s[82]||(s[82]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[83]||(s[83]=t(`
julia
swapdims(x::T, newdims) => T
 swapdims(dims::Tuple, newdims) => Tuple{Vararg{Dimension}}

Swap dimensions for the passed in dimensions, in the order passed.

Passing in the Dimension types rewraps the dimension index, keeping the index values and metadata, while constructed Dimension objects replace the original dimension. nothing leaves the original dimension as-is.

Arguments

  • x: any object with a dims method or a Tuple of Dimension.

  • newdim: Tuple of Dimension or dimension Type.

Example

julia
using DimensionalData
 A = ones(X(2), Y(4), Z(2))
 Dimensions.swapdims(A, (Dim{:a}, Dim{:b}, Dim{:c}))
@@ -141,17 +141,17 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 └───────────────────────────┘
 [:, :, 1]
  1.0  1.0  1.0  1.0
- 1.0  1.0  1.0  1.0

source

`,8))]),i("details",I,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.Dimensions.slicedims",href:"#DimensionalData.Dimensions.slicedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.slicedims")],-1)),s[85]||(s[85]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[86]||(s[86]=t(`
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
-slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

  • f: a function getindex, view or dotview. This will be used for slicing getindex is the default if f is not included.

  • x: An AbstractDimArray, Tuple of Dimension, or Dimension

  • I: A tuple of Integer, Colon or AbstractArray

source

`,7))]),i("details",N,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.Dimensions.comparedims",href:"#DimensionalData.Dimensions.comparedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.comparedims")],-1)),s[88]||(s[88]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[89]||(s[89]=t(`
julia
comparedims(A::AbstractDimArray...; kw...)
+ 1.0  1.0  1.0  1.0

source

`,8))]),i("details",I,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.Dimensions.slicedims",href:"#DimensionalData.Dimensions.slicedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.slicedims")],-1)),s[85]||(s[85]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[86]||(s[86]=t(`
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
+slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

  • f: a function getindex, view or dotview. This will be used for slicing getindex is the default if f is not included.

  • x: An AbstractDimArray, Tuple of Dimension, or Dimension

  • I: A tuple of Integer, Colon or AbstractArray

source

`,7))]),i("details",N,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.Dimensions.comparedims",href:"#DimensionalData.Dimensions.comparedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.comparedims")],-1)),s[88]||(s[88]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[89]||(s[89]=t(`
julia
comparedims(A::AbstractDimArray...; kw...)
 comparedims(A::Tuple...; kw...)
 comparedims(A::Dimension...; kw...)
-comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

  • type: compare dimension type, true by default.

  • valtype: compare wrapped value type, false by default.

  • val: compare wrapped values, false by default.

  • order: compare order, false by default.

  • length: compare lengths, true by default.

  • ignore_length_one: ignore length 1 in comparisons, and return whichever dimension is not length 1, if any. This is useful in e.g. broadcasting comparisons. false by default.

  • msg: DimensionalData.Warn or DimensionalData.Throw. Both may contain string, which will be added to error or warning mesages.

source

`,8))]),i("details",P,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.combinedims",href:"#DimensionalData.Dimensions.combinedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.combinedims")],-1)),s[91]||(s[91]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[92]||(s[92]=t('
julia
combinedims(xs; check=true, kw...)

Combine the dimensions of each object in xs, in the order they are found.

Keywords are passed to comparedims.

source

',4))]),i("details",V,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.sortdims",href:"#DimensionalData.Dimensions.sortdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.sortdims")],-1)),s[94]||(s[94]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[95]||(s[95]=t('
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source

',5))]),i("details",M,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.Dimensions.Lookups.basetypeof",href:"#DimensionalData.Dimensions.Lookups.basetypeof"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.basetypeof")],-1)),s[97]||(s[97]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[98]||(s[98]=t('
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source

',4))]),i("details",R,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.Dimensions.basedims",href:"#DimensionalData.Dimensions.basedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.basedims")],-1)),s[100]||(s[100]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[101]||(s[101]=t(`
julia
basedims(ds::Tuple)
-basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source

`,4))]),i("details",G,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.Dimensions.setdims",href:"#DimensionalData.Dimensions.setdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.setdims")],-1)),s[103]||(s[103]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[104]||(s[104]=t(`
julia
setdims(X, newdims) => AbstractArray
+comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

  • type: compare dimension type, true by default.

  • valtype: compare wrapped value type, false by default.

  • val: compare wrapped values, false by default.

  • order: compare order, false by default.

  • length: compare lengths, true by default.

  • ignore_length_one: ignore length 1 in comparisons, and return whichever dimension is not length 1, if any. This is useful in e.g. broadcasting comparisons. false by default.

  • msg: DimensionalData.Warn or DimensionalData.Throw. Both may contain string, which will be added to error or warning mesages.

source

`,8))]),i("details",P,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.combinedims",href:"#DimensionalData.Dimensions.combinedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.combinedims")],-1)),s[91]||(s[91]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[92]||(s[92]=t('
julia
combinedims(xs; check=true, kw...)

Combine the dimensions of each object in xs, in the order they are found.

Keywords are passed to comparedims.

source

',4))]),i("details",V,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.sortdims",href:"#DimensionalData.Dimensions.sortdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.sortdims")],-1)),s[94]||(s[94]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[95]||(s[95]=t('
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source

',5))]),i("details",M,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.Dimensions.Lookups.basetypeof",href:"#DimensionalData.Dimensions.Lookups.basetypeof"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.basetypeof")],-1)),s[97]||(s[97]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[98]||(s[98]=t('
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source

',4))]),i("details",R,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.Dimensions.basedims",href:"#DimensionalData.Dimensions.basedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.basedims")],-1)),s[100]||(s[100]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[101]||(s[101]=t(`
julia
basedims(ds::Tuple)
+basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source

`,4))]),i("details",G,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.Dimensions.setdims",href:"#DimensionalData.Dimensions.setdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.setdims")],-1)),s[103]||(s[103]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[104]||(s[104]=t(`
julia
setdims(X, newdims) => AbstractArray
 setdims(::Tuple, newdims) => Tuple{Vararg{Dimension,N}}

Replaces the first dim matching <: basetypeof(newdim) with newdim, and returns a new object or tuple with the dimension updated.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • newdim: Tuple or single Dimension, Type or Symbol.

Example

julia
using DimensionalData, DimensionalData.Dimensions, DimensionalData.Lookups
 A = ones(X(10), Y(10:10:100))
 B = setdims(A, Y(Categorical('a':'j'; order=ForwardOrdered())))
 lookup(B, Y)
 # output
 Categorical{Char} ForwardOrdered
-wrapping: 'a':1:'j'

source

`,7))]),i("details",U,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.Dimensions.dimsmatch",href:"#DimensionalData.Dimensions.dimsmatch"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimsmatch")],-1)),s[106]||(s[106]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[107]||(s[107]=t(`
julia
dimsmatch([f], dim, query) => Bool
-dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source

`,4))])])}const is=l(d,[["render",$]]);export{ss as __pageData,is as default}; +wrapping: 'a':1:'j'

source

`,7))]),i("details",U,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.Dimensions.dimsmatch",href:"#DimensionalData.Dimensions.dimsmatch"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimsmatch")],-1)),s[106]||(s[106]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[107]||(s[107]=t(`
julia
dimsmatch([f], dim, query) => Bool
+dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source

`,4))])])}const is=l(d,[["render",$]]);export{ss as __pageData,is as default}; diff --git a/dev/assets/api_dimensions.md.SBrxkSyF.lean.js b/dev/assets/api_dimensions.md.0EpvcW_-.lean.js similarity index 97% rename from dev/assets/api_dimensions.md.SBrxkSyF.lean.js rename to dev/assets/api_dimensions.md.0EpvcW_-.lean.js index c54b7eba0..da9b460d2 100644 --- a/dev/assets/api_dimensions.md.SBrxkSyF.lean.js +++ b/dev/assets/api_dimensions.md.0EpvcW_-.lean.js @@ -1,5 +1,5 @@ -import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framework.B8l2DGq3.js";const ss=JSON.parse('{"title":"Dimensions","description":"","frontmatter":{},"headers":[],"relativePath":"api/dimensions.md","filePath":"api/dimensions.md","lastUpdated":null}'),d={name:"api/dimensions.md"},o={class:"jldocstring custom-block",open:""},r={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""};function $(K,s,W,J,H,Q){const n=h("Badge");return k(),p("div",null,[s[108]||(s[108]=i("h1",{id:"dimensions",tabindex:"-1"},[a("Dimensions "),i("a",{class:"header-anchor",href:"#dimensions","aria-label":'Permalink to "Dimensions"'},"​")],-1)),s[109]||(s[109]=i("p",null,[a("Dimensions are kept in the sub-module "),i("code",null,"Dimensions"),a(".")],-1)),i("details",o,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.Dimensions",href:"#DimensionalData.Dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions")],-1)),s[1]||(s[1]=a()),e(n,{type:"info",class:"jlObjectType jlModule",text:"Module"})]),s[2]||(s[2]=t(`
julia
Dimensions

Sub-module for Dimensions wrappers, and operations on them used in DimensionalData.jl.

To load Dimensions types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Dimensions

source

`,5))]),s[110]||(s[110]=i("p",null,"Dimensions have a type-hierarchy that organises plotting and dimension matching.",-1)),i("details",r,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.Dimensions.Dimension",href:"#DimensionalData.Dimensions.Dimension"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Dimension")],-1)),s[4]||(s[4]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=t(`
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
+import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framework.BAAK0EyE.js";const ss=JSON.parse('{"title":"Dimensions","description":"","frontmatter":{},"headers":[],"relativePath":"api/dimensions.md","filePath":"api/dimensions.md","lastUpdated":null}'),d={name:"api/dimensions.md"},o={class:"jldocstring custom-block",open:""},r={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""};function $(K,s,W,J,H,Q){const n=h("Badge");return k(),p("div",null,[s[108]||(s[108]=i("h1",{id:"dimensions",tabindex:"-1"},[a("Dimensions "),i("a",{class:"header-anchor",href:"#dimensions","aria-label":'Permalink to "Dimensions"'},"​")],-1)),s[109]||(s[109]=i("p",null,[a("Dimensions are kept in the sub-module "),i("code",null,"Dimensions"),a(".")],-1)),i("details",o,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.Dimensions",href:"#DimensionalData.Dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions")],-1)),s[1]||(s[1]=a()),e(n,{type:"info",class:"jlObjectType jlModule",text:"Module"})]),s[2]||(s[2]=t(`
julia
Dimensions

Sub-module for Dimensions wrappers, and operations on them used in DimensionalData.jl.

To load Dimensions types and methods into scope:

julia
using DimensionalData
+using DimensionalData.Dimensions

source

`,5))]),s[110]||(s[110]=i("p",null,"Dimensions have a type-hierarchy that organises plotting and dimension matching.",-1)),i("details",r,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.Dimensions.Dimension",href:"#DimensionalData.Dimensions.Dimension"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Dimension")],-1)),s[4]||(s[4]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=t(`
julia
Dimension

Abstract supertype of all dimension types.

Example concrete implementations are X, Y, Z, Ti (Time), and the custom Dim dimension.

Dimensions label the axes of an AbstractDimArray, or other dimensional objects, and are used to index into an array.

They may also wrap lookup values for each array axis. This may be any AbstractVector matching the array axis length, but will usually be converted to a Lookup when use in a constructed object.

A Lookup gives more details about the dimension, such as that it is Categorical or Sampled as Points or Intervals along some transect. DimensionalData will attempt to guess the lookup from the passed-in index value.

Example:

julia
using DimensionalData, Dates
 
 x = X(2:2:10)
 y = Y(['a', 'b', 'c'])
@@ -51,21 +51,21 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
  Ti Sampled{Dates.DateTime} Dates.DateTime("2021-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2021-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
    2021-01-01T00:00:00   2021-02-01T00:00:00   2021-12-01T00:00:00
- 4    0.0                   0.0                      0.0

source

`,13))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.Dimensions.DependentDim",href:"#DimensionalData.Dimensions.DependentDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.DependentDim")],-1)),s[7]||(s[7]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=t('
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source

',3))]),i("details",E,[i("summary",null,[s[9]||(s[9]=i("a",{id:"DimensionalData.Dimensions.IndependentDim",href:"#DimensionalData.Dimensions.IndependentDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.IndependentDim")],-1)),s[10]||(s[10]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=t('
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source

',3))]),i("details",y,[i("summary",null,[s[12]||(s[12]=i("a",{id:"DimensionalData.Dimensions.XDim",href:"#DimensionalData.Dimensions.XDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.XDim")],-1)),s[13]||(s[13]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=t('
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source

',3))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"DimensionalData.Dimensions.YDim",href:"#DimensionalData.Dimensions.YDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.YDim")],-1)),s[16]||(s[16]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[17]||(s[17]=t('
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source

',3))]),i("details",m,[i("summary",null,[s[18]||(s[18]=i("a",{id:"DimensionalData.Dimensions.ZDim",href:"#DimensionalData.Dimensions.ZDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.ZDim")],-1)),s[19]||(s[19]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=t('
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source

',3))]),i("details",F,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.TimeDim",href:"#DimensionalData.Dimensions.TimeDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.TimeDim")],-1)),s[22]||(s[22]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=t('
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. `

source

',4))]),i("details",D,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.X",href:"#DimensionalData.Dimensions.X"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.X")],-1)),s[25]||(s[25]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=t(`
julia
X <: XDim
+ 4    0.0                   0.0                      0.0

source

`,13))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.Dimensions.DependentDim",href:"#DimensionalData.Dimensions.DependentDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.DependentDim")],-1)),s[7]||(s[7]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=t('
julia
DependentDim <: Dimension

Abstract supertype for dependent dimensions. These will plot on the Y axis.

source

',3))]),i("details",E,[i("summary",null,[s[9]||(s[9]=i("a",{id:"DimensionalData.Dimensions.IndependentDim",href:"#DimensionalData.Dimensions.IndependentDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.IndependentDim")],-1)),s[10]||(s[10]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=t('
julia
IndependentDim <: Dimension

Abstract supertype for independent dimensions. These will plot on the X axis.

source

',3))]),i("details",y,[i("summary",null,[s[12]||(s[12]=i("a",{id:"DimensionalData.Dimensions.XDim",href:"#DimensionalData.Dimensions.XDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.XDim")],-1)),s[13]||(s[13]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=t('
julia
XDim <: IndependentDim

Abstract supertype for all X dimensions.

source

',3))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"DimensionalData.Dimensions.YDim",href:"#DimensionalData.Dimensions.YDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.YDim")],-1)),s[16]||(s[16]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[17]||(s[17]=t('
julia
YDim <: DependentDim

Abstract supertype for all Y dimensions.

source

',3))]),i("details",m,[i("summary",null,[s[18]||(s[18]=i("a",{id:"DimensionalData.Dimensions.ZDim",href:"#DimensionalData.Dimensions.ZDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.ZDim")],-1)),s[19]||(s[19]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=t('
julia
ZDim <: DependentDim

Abstract supertype for all Z dimensions.

source

',3))]),i("details",F,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.TimeDim",href:"#DimensionalData.Dimensions.TimeDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.TimeDim")],-1)),s[22]||(s[22]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=t('
julia
TimeDim <: IndependentDim

Abstract supertype for all time dimensions.

In a TimeDime with Interval sampling the locus will automatically be set to Start(). Dates and times generally refer to the start of a month, hour, second etc., not the central point as is more common with spatial data. `

source

',4))]),i("details",D,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.X",href:"#DimensionalData.Dimensions.X"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.X")],-1)),s[25]||(s[25]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=t(`
julia
X <: XDim
 
-X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source

`,7))]),i("details",u,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Y",href:"#DimensionalData.Dimensions.Y"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Y")],-1)),s[28]||(s[28]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[29]||(s[29]=t(`
julia
Y <: YDim
+X(val=:)

X Dimension. X <: XDim <: IndependentDim

Examples

julia
xdim = X(2:2:10)
julia
val = A[X(1)]
julia
mean(A; dims=X)

source

`,7))]),i("details",u,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Y",href:"#DimensionalData.Dimensions.Y"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Y")],-1)),s[28]||(s[28]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[29]||(s[29]=t(`
julia
Y <: YDim
 
-Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source

`,7))]),i("details",C,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.Z",href:"#DimensionalData.Dimensions.Z"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Z")],-1)),s[31]||(s[31]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[32]||(s[32]=t(`
julia
Z <: ZDim
+Y(val=:)

Y Dimension. Y <: YDim <: DependentDim

Examples

julia
ydim = Y(['a', 'b', 'c'])
julia
val = A[Y(1)]
julia
mean(A; dims=Y)

source

`,7))]),i("details",C,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.Z",href:"#DimensionalData.Dimensions.Z"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Z")],-1)),s[31]||(s[31]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[32]||(s[32]=t(`
julia
Z <: ZDim
 
-Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source

`,7))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.Ti",href:"#DimensionalData.Dimensions.Ti"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Ti")],-1)),s[34]||(s[34]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[35]||(s[35]=t('

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source

',9))]),i("details",f,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.Dim",href:"#DimensionalData.Dimensions.Dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Dim")],-1)),s[37]||(s[37]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[38]||(s[38]=t(`
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
-custom ['a', 'b', 'c']

source

`,5))]),i("details",j,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.AnonDim",href:"#DimensionalData.Dimensions.AnonDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.AnonDim")],-1)),s[40]||(s[40]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[41]||(s[41]=t(`
julia
AnonDim <: Dimension
+Z(val=:)

Z Dimension. Z <: ZDim <: Dimension

Example:

julia
zdim = Z(10:10:100)
julia
val = A[Z(1)]
julia
mean(A; dims=Z)

source

`,7))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.Ti",href:"#DimensionalData.Dimensions.Ti"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Ti")],-1)),s[34]||(s[34]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[35]||(s[35]=t('

m Ti <: TimeDim

Ti(val=:)

Time Dimension. Ti <: TimeDim <: IndependentDim

Time is already used by Dates, and T is a common type parameter, We use Ti to avoid clashes.

Example:

julia
timedim = Ti(DateTime(2021, 1):Month(1):DateTime(2021, 12))
julia
val = A[Ti(1)]
julia
mean(A; dims=Ti)

source

',9))]),i("details",f,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.Dim",href:"#DimensionalData.Dimensions.Dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Dim")],-1)),s[37]||(s[37]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[38]||(s[38]=t(`
julia
Dim{S}(val=:)

A generic dimension. For use when custom dims are required when loading data from a file. Can be used as keyword arguments for indexing.

Dimension types take precedence over same named Dim types when indexing with symbols, or e.g. creating Tables.jl keys.

julia
julia> dim = Dim{:custom}(['a', 'b', 'c'])
+custom ['a', 'b', 'c']

source

`,5))]),i("details",j,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.AnonDim",href:"#DimensionalData.Dimensions.AnonDim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.AnonDim")],-1)),s[40]||(s[40]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[41]||(s[41]=t(`
julia
AnonDim <: Dimension
 
-AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source

`,3))]),i("details",B,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.Dimensions.@dim",href:"#DimensionalData.Dimensions.@dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.@dim")],-1)),s[43]||(s[43]=a()),e(n,{type:"info",class:"jlObjectType jlMacro",text:"Macro"})]),s[44]||(s[44]=t(`
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
+AnonDim()

Anonymous dimension. Used when extra dimensions are created, such as during transpose of a vector.

source

`,3))]),i("details",B,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.Dimensions.@dim",href:"#DimensionalData.Dimensions.@dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.@dim")],-1)),s[43]||(s[43]=a()),e(n,{type:"info",class:"jlObjectType jlMacro",text:"Macro"})]),s[44]||(s[44]=t(`
julia
@dim typ [supertype=Dimension] [label::String=string(typ)]

Macro to easily define new dimensions.

The supertype will be inserted into the type of the dim. The default is simply YourDim <: Dimension.

Making a Dimension inherit from XDim, YDim, ZDim or TimeDim will affect automatic plot layout and other methods that dispatch on these types. <: YDim are plotted on the Y axis, <: XDim on the X axis, etc.

label is used in plots and similar, if the dimension is short for a longer word.

Example:

julia
using DimensionalData
 using DimensionalData: @dim, YDim, XDim
 @dim Lat YDim "Latitude"
 @dim Lon XDim "Longitude"
-# output

source

`,8))]),s[111]||(s[111]=i("h3",{id:"Exported-methods",tabindex:"-1"},[a("Exported methods "),i("a",{class:"header-anchor",href:"#Exported-methods","aria-label":'Permalink to "Exported methods {#Exported-methods}"'},"​")],-1)),s[112]||(s[112]=i("p",null,"These are widely useful methods for working with dimensions.",-1)),i("details",v,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.Dimensions.dims-api-dimensions",href:"#DimensionalData.Dimensions.dims-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims")],-1)),s[46]||(s[46]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=t(`
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+# output

source

`,8))]),s[111]||(s[111]=i("h3",{id:"Exported-methods",tabindex:"-1"},[a("Exported methods "),i("a",{class:"header-anchor",href:"#Exported-methods","aria-label":'Permalink to "Exported methods {#Exported-methods}"'},"​")],-1)),s[112]||(s[112]=i("p",null,"These are widely useful methods for working with dimensions.",-1)),i("details",v,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.Dimensions.dims-api-dimensions",href:"#DimensionalData.Dimensions.dims-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims")],-1)),s[46]||(s[46]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=t(`
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

  • x: any object with a dims method, or a Tuple of Dimension.

  • query: Tuple or a single Dimension or Dimension Type.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -79,7 +79,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
-( X,  Y)

source

`,13))]),i("details",A,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.Dimensions.otherdims-api-dimensions",href:"#DimensionalData.Dimensions.otherdims-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.otherdims")],-1)),s[49]||(s[49]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=t(`
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+( X,  Y)

source

`,13))]),i("details",A,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.Dimensions.otherdims-api-dimensions",href:"#DimensionalData.Dimensions.otherdims-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.otherdims")],-1)),s[49]||(s[49]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=t(`
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -87,7 +87,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 ( Y,  Z)
 
 julia> otherdims(A, (Y, Z))
-( X)

source

`,8))]),i("details",T,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.Dimensions.dimnum-api-dimensions",href:"#DimensionalData.Dimensions.dimnum-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimnum")],-1)),s[52]||(s[52]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=t(`
julia
dimnum(x, query::Tuple) => NTuple{Int}
+( X)

source

`,8))]),i("details",T,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.Dimensions.dimnum-api-dimensions",href:"#DimensionalData.Dimensions.dimnum-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimnum")],-1)),s[52]||(s[52]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=t(`
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple, Array or single Dimension or dimension Type.

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -96,7 +96,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source

`,8))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.Dimensions.hasdim-api-dimensions",href:"#DimensionalData.Dimensions.hasdim-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.hasdim")],-1)),s[55]||(s[55]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=t(`
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source

`,8))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.Dimensions.hasdim-api-dimensions",href:"#DimensionalData.Dimensions.hasdim-api-dimensions"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.hasdim")],-1)),s[55]||(s[55]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=t(`
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -109,13 +109,13 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source

`,8))]),s[113]||(s[113]=i("h3",{id:"Non-exported-methods",tabindex:"-1"},[a("Non-exported methods "),i("a",{class:"header-anchor",href:"#Non-exported-methods","aria-label":'Permalink to "Non-exported methods {#Non-exported-methods}"'},"​")],-1)),i("details",w,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.Dimensions.lookup",href:"#DimensionalData.Dimensions.lookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.lookup")],-1)),s[58]||(s[58]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=t(`
julia
lookup(x::Dimension) => Lookup
+false

source

`,8))]),s[113]||(s[113]=i("h3",{id:"Non-exported-methods",tabindex:"-1"},[a("Non-exported methods "),i("a",{class:"header-anchor",href:"#Non-exported-methods","aria-label":'Permalink to "Non-exported methods {#Non-exported-methods}"'},"​")],-1)),i("details",w,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.Dimensions.lookup",href:"#DimensionalData.Dimensions.lookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.lookup")],-1)),s[58]||(s[58]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=t(`
julia
lookup(x::Dimension) => Lookup
 lookup(x, [dims::Tuple]) => Tuple{Vararg{Lookup}}
 lookup(x::Tuple) => Tuple{Vararg{Lookup}}
-lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source

`,5))]),i("details",L,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.Dimensions.label",href:"#DimensionalData.Dimensions.label"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.label")],-1)),s[61]||(s[61]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=t(`
julia
label(x) => String
+lookup(x, dim) => Lookup

Returns the Lookup of a dimension. This dictates properties of the dimension such as array axis and lookup order, and sampling properties.

dims can be a Dimension, a dimension type, or a tuple of either.

This is separate from val in that it will only work when dimensions actually contain an AbstractArray lookup, and can be used on a DimArray or DimStack to retrieve all lookups, as there is no ambiguity of meaning as there is with val.

source

`,5))]),i("details",L,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.Dimensions.label",href:"#DimensionalData.Dimensions.label"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.label")],-1)),s[61]||(s[61]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=t(`
julia
label(x) => String
 label(x, dims::Tuple) => NTuple{N,String}
 label(x, dim) => String
-label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",q,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DimensionalData.Dimensions.format",href:"#DimensionalData.Dimensions.format"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.format")],-1)),s[64]||(s[64]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=t('
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source

',5))]),i("details",X,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.Dimensions.dims2indices",href:"#DimensionalData.Dimensions.dims2indices"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims2indices")],-1)),s[67]||(s[67]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=t('
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source

',3))]),i("details",Y,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Dimensions.Lookups.selectindices",href:"#DimensionalData.Dimensions.Lookups.selectindices"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.selectindices")],-1)),s[70]||(s[70]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[71]||(s[71]=t('
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source

',3))]),s[114]||(s[114]=i("h3",{id:"Primitive-methods",tabindex:"-1"},[a("Primitive methods "),i("a",{class:"header-anchor",href:"#Primitive-methods","aria-label":'Permalink to "Primitive methods {#Primitive-methods}"'},"​")],-1)),s[115]||(s[115]=i("p",null,"These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.",-1)),s[116]||(s[116]=i("p",null,"They are not guaranteed to keep their interface, but usually will.",-1)),i("details",O,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.Dimensions.commondims",href:"#DimensionalData.Dimensions.commondims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.commondims")],-1)),s[73]||(s[73]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[74]||(s[74]=t(`
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
+label(xs::Tuple) => NTuple{N,String}

Get a plot label for data or a dimension. This will include the name and units if they exist, and anything else that should be shown on a plot.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",q,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DimensionalData.Dimensions.format",href:"#DimensionalData.Dimensions.format"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.format")],-1)),s[64]||(s[64]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=t('
julia
format(dims, x) => Tuple{Vararg{Dimension,N}}

Format the passed-in dimension(s) dims to match the object x.

Errors are thrown if dims don't match the array dims or size, and any fields holding Auto- objects are filled with guessed objects.

If a Lookup hasn't been specified, a lookup is chosen based on the type and element type of the values.

source

',5))]),i("details",X,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.Dimensions.dims2indices",href:"#DimensionalData.Dimensions.dims2indices"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims2indices")],-1)),s[67]||(s[67]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=t('
julia
dims2indices(dim::Dimension, I) => NTuple{Union{Colon,AbstractArray,Int}}

Convert a Dimension or Selector I to indices of Int, AbstractArray or Colon.

source

',3))]),i("details",Y,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Dimensions.Lookups.selectindices",href:"#DimensionalData.Dimensions.Lookups.selectindices"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.selectindices")],-1)),s[70]||(s[70]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[71]||(s[71]=t('
julia
selectindices(lookups, selectors)

Converts Selector to regular indices.

source

',3))]),s[114]||(s[114]=i("h3",{id:"Primitive-methods",tabindex:"-1"},[a("Primitive methods "),i("a",{class:"header-anchor",href:"#Primitive-methods","aria-label":'Permalink to "Primitive methods {#Primitive-methods}"'},"​")],-1)),s[115]||(s[115]=i("p",null,"These low-level methods are really for internal use, but can be useful for writing dimensional algorithms.",-1)),s[116]||(s[116]=i("p",null,"They are not guaranteed to keep their interface, but usually will.",-1)),i("details",O,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.Dimensions.commondims",href:"#DimensionalData.Dimensions.commondims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.commondims")],-1)),s[73]||(s[73]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[74]||(s[74]=t(`
julia
commondims([f], x, query) => Tuple{Vararg{Dimension}}

This is basically dims(x, query) where the order of the original is kept, unlike dims where the query tuple determines the order

Also unlike dims,commondims always returns a Tuple, no matter the input. No errors are thrown if dims are absent from either x or query.

f is <: by default, but can be >: to sort abstract types by concrete types.

julia
julia> using DimensionalData, .Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -126,9 +126,9 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 ( X,  Z)
 
 julia> commondims(A, Ti)
-()

source

`,6))]),i("details",z,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.Dimensions.name2dim",href:"#DimensionalData.Dimensions.name2dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.name2dim")],-1)),s[76]||(s[76]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[77]||(s[77]=t(`
julia
name2dim(s::Symbol) => Dimension
+()

source

`,6))]),i("details",z,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.Dimensions.name2dim",href:"#DimensionalData.Dimensions.name2dim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.name2dim")],-1)),s[76]||(s[76]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[77]||(s[77]=t(`
julia
name2dim(s::Symbol) => Dimension
 name2dim(dims...) => Tuple{Dimension,Vararg}
-name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source

`,4))]),i("details",S,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.Dimensions.reducedims",href:"#DimensionalData.Dimensions.reducedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.reducedims")],-1)),s[79]||(s[79]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[80]||(s[80]=t('
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source

',4))]),i("details",Z,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.Dimensions.swapdims",href:"#DimensionalData.Dimensions.swapdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.swapdims")],-1)),s[82]||(s[82]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[83]||(s[83]=t(`
julia
swapdims(x::T, newdims) => T
+name2dim(dims::Tuple) => Tuple{Dimension,Vararg}

Convert a symbol to a dimension object. :X, :Y, :Ti etc will be converted to X(), Y(), Ti(), as with any other dims generated with the @dim macro.

All other Symbols S will generate Dim{S}() dimensions.

source

`,4))]),i("details",S,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.Dimensions.reducedims",href:"#DimensionalData.Dimensions.reducedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.reducedims")],-1)),s[79]||(s[79]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[80]||(s[80]=t('
julia
reducedims(x, dimstoreduce) => Tuple{Vararg{Dimension}}

Replace the specified dimensions with an index of length 1. This is usually to match a new array size where an axis has been reduced with a method like mean or reduce to a length of 1, but the number of dimensions has not changed.

Lookup traits are also updated to correspond to the change in cell step, sampling type and order.

source

',4))]),i("details",Z,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.Dimensions.swapdims",href:"#DimensionalData.Dimensions.swapdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.swapdims")],-1)),s[82]||(s[82]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[83]||(s[83]=t(`
julia
swapdims(x::T, newdims) => T
 swapdims(dims::Tuple, newdims) => Tuple{Vararg{Dimension}}

Swap dimensions for the passed in dimensions, in the order passed.

Passing in the Dimension types rewraps the dimension index, keeping the index values and metadata, while constructed Dimension objects replace the original dimension. nothing leaves the original dimension as-is.

Arguments

  • x: any object with a dims method or a Tuple of Dimension.

  • newdim: Tuple of Dimension or dimension Type.

Example

julia
using DimensionalData
 A = ones(X(2), Y(4), Z(2))
 Dimensions.swapdims(A, (Dim{:a}, Dim{:b}, Dim{:c}))
@@ -141,17 +141,17 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as h,o as k}from"./chunks/framewo
 └───────────────────────────┘
 [:, :, 1]
  1.0  1.0  1.0  1.0
- 1.0  1.0  1.0  1.0

source

`,8))]),i("details",I,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.Dimensions.slicedims",href:"#DimensionalData.Dimensions.slicedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.slicedims")],-1)),s[85]||(s[85]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[86]||(s[86]=t(`
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
-slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

  • f: a function getindex, view or dotview. This will be used for slicing getindex is the default if f is not included.

  • x: An AbstractDimArray, Tuple of Dimension, or Dimension

  • I: A tuple of Integer, Colon or AbstractArray

source

`,7))]),i("details",N,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.Dimensions.comparedims",href:"#DimensionalData.Dimensions.comparedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.comparedims")],-1)),s[88]||(s[88]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[89]||(s[89]=t(`
julia
comparedims(A::AbstractDimArray...; kw...)
+ 1.0  1.0  1.0  1.0

source

`,8))]),i("details",I,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.Dimensions.slicedims",href:"#DimensionalData.Dimensions.slicedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.slicedims")],-1)),s[85]||(s[85]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[86]||(s[86]=t(`
julia
slicedims(x, I) => Tuple{Tuple,Tuple}
+slicedims(f, x, I) => Tuple{Tuple,Tuple}

Slice the dimensions to match the axis values of the new array.

All methods return a tuple containing two tuples: the new dimensions, and the reference dimensions. The ref dimensions are no longer used in the new struct but are useful to give context to plots.

Called at the array level the returned tuple will also include the previous reference dims attached to the array.

Arguments

  • f: a function getindex, view or dotview. This will be used for slicing getindex is the default if f is not included.

  • x: An AbstractDimArray, Tuple of Dimension, or Dimension

  • I: A tuple of Integer, Colon or AbstractArray

source

`,7))]),i("details",N,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.Dimensions.comparedims",href:"#DimensionalData.Dimensions.comparedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.comparedims")],-1)),s[88]||(s[88]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[89]||(s[89]=t(`
julia
comparedims(A::AbstractDimArray...; kw...)
 comparedims(A::Tuple...; kw...)
 comparedims(A::Dimension...; kw...)
-comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

  • type: compare dimension type, true by default.

  • valtype: compare wrapped value type, false by default.

  • val: compare wrapped values, false by default.

  • order: compare order, false by default.

  • length: compare lengths, true by default.

  • ignore_length_one: ignore length 1 in comparisons, and return whichever dimension is not length 1, if any. This is useful in e.g. broadcasting comparisons. false by default.

  • msg: DimensionalData.Warn or DimensionalData.Throw. Both may contain string, which will be added to error or warning mesages.

source

`,8))]),i("details",P,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.combinedims",href:"#DimensionalData.Dimensions.combinedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.combinedims")],-1)),s[91]||(s[91]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[92]||(s[92]=t('
julia
combinedims(xs; check=true, kw...)

Combine the dimensions of each object in xs, in the order they are found.

Keywords are passed to comparedims.

source

',4))]),i("details",V,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.sortdims",href:"#DimensionalData.Dimensions.sortdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.sortdims")],-1)),s[94]||(s[94]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[95]||(s[95]=t('
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source

',5))]),i("details",M,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.Dimensions.Lookups.basetypeof",href:"#DimensionalData.Dimensions.Lookups.basetypeof"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.basetypeof")],-1)),s[97]||(s[97]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[98]||(s[98]=t('
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source

',4))]),i("details",R,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.Dimensions.basedims",href:"#DimensionalData.Dimensions.basedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.basedims")],-1)),s[100]||(s[100]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[101]||(s[101]=t(`
julia
basedims(ds::Tuple)
-basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source

`,4))]),i("details",G,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.Dimensions.setdims",href:"#DimensionalData.Dimensions.setdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.setdims")],-1)),s[103]||(s[103]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[104]||(s[104]=t(`
julia
setdims(X, newdims) => AbstractArray
+comparedims(::Type{Bool}, args...; kw...)

Check that dimensions or tuples of dimensions passed as each argument are the same, and return the first valid dimension. If AbstractDimArrays are passed as arguments their dimensions are compared.

Empty tuples and nothing dimension values are ignored, returning the Dimension value if it exists.

Passing Bool as the first argument means true/false will be returned, rather than throwing an error.

Keywords

These are all Bool flags:

  • type: compare dimension type, true by default.

  • valtype: compare wrapped value type, false by default.

  • val: compare wrapped values, false by default.

  • order: compare order, false by default.

  • length: compare lengths, true by default.

  • ignore_length_one: ignore length 1 in comparisons, and return whichever dimension is not length 1, if any. This is useful in e.g. broadcasting comparisons. false by default.

  • msg: DimensionalData.Warn or DimensionalData.Throw. Both may contain string, which will be added to error or warning mesages.

source

`,8))]),i("details",P,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.combinedims",href:"#DimensionalData.Dimensions.combinedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.combinedims")],-1)),s[91]||(s[91]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[92]||(s[92]=t('
julia
combinedims(xs; check=true, kw...)

Combine the dimensions of each object in xs, in the order they are found.

Keywords are passed to comparedims.

source

',4))]),i("details",V,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.sortdims",href:"#DimensionalData.Dimensions.sortdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.sortdims")],-1)),s[94]||(s[94]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[95]||(s[95]=t('
julia
sortdims([f], tosort, order) => Tuple

Sort dimensions tosort by order. Dimensions in order but missing from tosort are replaced with nothing.

tosort and order can be Tuples or Vectors or Dimension or dimension type. Abstract supertypes like TimeDim can be used in order.

f is <: by default, but can be >: to sort abstract types by concrete types.

source

',5))]),i("details",M,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.Dimensions.Lookups.basetypeof",href:"#DimensionalData.Dimensions.Lookups.basetypeof"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.basetypeof")],-1)),s[97]||(s[97]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[98]||(s[98]=t('
julia
basetypeof(x) => Type

Get the "base" type of an object - the minimum required to define the object without it's fields. By default this is the full UnionAll for the type. But custom basetypeof methods can be defined for types with free type parameters.

In DimensionalData this is primarily used for comparing Dimensions, where Dim{:x} is different from Dim{:y}.

source

',4))]),i("details",R,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.Dimensions.basedims",href:"#DimensionalData.Dimensions.basedims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.basedims")],-1)),s[100]||(s[100]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[101]||(s[101]=t(`
julia
basedims(ds::Tuple)
+basedims(d::Union{Dimension,Symbol,Type})

Returns basetypeof(d)() or a Tuple of called on a Tuple.

See basetypeof

source

`,4))]),i("details",G,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.Dimensions.setdims",href:"#DimensionalData.Dimensions.setdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.setdims")],-1)),s[103]||(s[103]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[104]||(s[104]=t(`
julia
setdims(X, newdims) => AbstractArray
 setdims(::Tuple, newdims) => Tuple{Vararg{Dimension,N}}

Replaces the first dim matching <: basetypeof(newdim) with newdim, and returns a new object or tuple with the dimension updated.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • newdim: Tuple or single Dimension, Type or Symbol.

Example

julia
using DimensionalData, DimensionalData.Dimensions, DimensionalData.Lookups
 A = ones(X(10), Y(10:10:100))
 B = setdims(A, Y(Categorical('a':'j'; order=ForwardOrdered())))
 lookup(B, Y)
 # output
 Categorical{Char} ForwardOrdered
-wrapping: 'a':1:'j'

source

`,7))]),i("details",U,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.Dimensions.dimsmatch",href:"#DimensionalData.Dimensions.dimsmatch"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimsmatch")],-1)),s[106]||(s[106]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[107]||(s[107]=t(`
julia
dimsmatch([f], dim, query) => Bool
-dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source

`,4))])])}const is=l(d,[["render",$]]);export{ss as __pageData,is as default}; +wrapping: 'a':1:'j'

source

`,7))]),i("details",U,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.Dimensions.dimsmatch",href:"#DimensionalData.Dimensions.dimsmatch"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimsmatch")],-1)),s[106]||(s[106]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[107]||(s[107]=t(`
julia
dimsmatch([f], dim, query) => Bool
+dimsmatch([f], dims::Tuple, query::Tuple) => Bool

Compare 2 dimensions or Tuple of Dimension are of the same base type, or are at least rotations/transformations of the same type.

f is <: by default, but can be >: to match abstract types to concrete types.

source

`,4))])])}const is=l(d,[["render",$]]);export{ss as __pageData,is as default}; diff --git a/dev/assets/api_lookuparrays.md.4gWyIReH.js b/dev/assets/api_lookuparrays.md.QQHTyv_S.js similarity index 96% rename from dev/assets/api_lookuparrays.md.4gWyIReH.js rename to dev/assets/api_lookuparrays.md.QQHTyv_S.js index 3453e5208..7e142badc 100644 --- a/dev/assets/api_lookuparrays.md.4gWyIReH.js +++ b/dev/assets/api_lookuparrays.md.QQHTyv_S.js @@ -1,5 +1,5 @@ -import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framework.B8l2DGq3.js";const bs=JSON.parse('{"title":"Lookups","description":"","frontmatter":{},"headers":[],"relativePath":"api/lookuparrays.md","filePath":"api/lookuparrays.md","lastUpdated":null}'),k={name:"api/lookuparrays.md"},r={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},os={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""},gs={class:"jldocstring custom-block",open:""},cs={class:"jldocstring custom-block",open:""};function us(ys,s,Es,ms,Ds,Fs){const n=o("Badge");return h(),p("div",null,[s[174]||(s[174]=i("h1",{id:"lookups",tabindex:"-1"},[a("Lookups "),i("a",{class:"header-anchor",href:"#lookups","aria-label":'Permalink to "Lookups"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.Dimensions.Lookups",href:"#DimensionalData.Dimensions.Lookups"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups")],-1)),s[1]||(s[1]=a()),e(n,{type:"info",class:"jlObjectType jlModule",text:"Module"})]),s[2]||(s[2]=t(`
julia
Lookups

Module for Lookups and Selectors used in DimensionalData.jl

Lookup defines traits and AbstractArray wrappers that give specific behaviours for a lookup index when indexed with Selector.

For example, these allow tracking over array order so fast indexing works even when the array is reversed.

To load Lookup types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Lookups

source

`,7))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.Dimensions.Lookups.Lookup",href:"#DimensionalData.Dimensions.Lookups.Lookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Lookup")],-1)),s[4]||(s[4]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=t('
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source

',4))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.Dimensions.Lookups.Aligned",href:"#DimensionalData.Dimensions.Lookups.Aligned"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Aligned")],-1)),s[7]||(s[7]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=t('
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source

',4))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractSampled",href:"#DimensionalData.Dimensions.Lookups.AbstractSampled"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractSampled")],-1)),s[10]||(s[10]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=t('
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source

',4))]),i("details",u,[i("summary",null,[s[12]||(s[12]=i("a",{id:"DimensionalData.Dimensions.Lookups.Sampled",href:"#DimensionalData.Dimensions.Lookups.Sampled"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Sampled")],-1)),s[13]||(s[13]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=t(`
julia
Sampled <: AbstractSampled
+import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framework.BAAK0EyE.js";const bs=JSON.parse('{"title":"Lookups","description":"","frontmatter":{},"headers":[],"relativePath":"api/lookuparrays.md","filePath":"api/lookuparrays.md","lastUpdated":null}'),k={name:"api/lookuparrays.md"},r={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},os={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""},gs={class:"jldocstring custom-block",open:""},cs={class:"jldocstring custom-block",open:""};function us(ys,s,Es,ms,Ds,Fs){const n=o("Badge");return h(),p("div",null,[s[174]||(s[174]=i("h1",{id:"lookups",tabindex:"-1"},[a("Lookups "),i("a",{class:"header-anchor",href:"#lookups","aria-label":'Permalink to "Lookups"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.Dimensions.Lookups",href:"#DimensionalData.Dimensions.Lookups"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups")],-1)),s[1]||(s[1]=a()),e(n,{type:"info",class:"jlObjectType jlModule",text:"Module"})]),s[2]||(s[2]=t(`
julia
Lookups

Module for Lookups and Selectors used in DimensionalData.jl

Lookup defines traits and AbstractArray wrappers that give specific behaviours for a lookup index when indexed with Selector.

For example, these allow tracking over array order so fast indexing works even when the array is reversed.

To load Lookup types and methods into scope:

julia
using DimensionalData
+using DimensionalData.Lookups

source

`,7))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.Dimensions.Lookups.Lookup",href:"#DimensionalData.Dimensions.Lookups.Lookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Lookup")],-1)),s[4]||(s[4]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=t('
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source

',4))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.Dimensions.Lookups.Aligned",href:"#DimensionalData.Dimensions.Lookups.Aligned"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Aligned")],-1)),s[7]||(s[7]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=t('
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source

',4))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractSampled",href:"#DimensionalData.Dimensions.Lookups.AbstractSampled"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractSampled")],-1)),s[10]||(s[10]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=t('
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source

',4))]),i("details",u,[i("summary",null,[s[12]||(s[12]=i("a",{id:"DimensionalData.Dimensions.Lookups.Sampled",href:"#DimensionalData.Dimensions.Lookups.Sampled"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Sampled")],-1)),s[13]||(s[13]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=t(`
julia
Sampled <: AbstractSampled
 
 Sampled(data::AbstractVector, order::Order, span::Span, sampling::Sampling, metadata)
 Sampled(data=AutoValues(); order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata())

A concrete implementation of the Lookup AbstractSampled. It can be used to represent Points or Intervals.

Sampled is capable of representing gridded data from a wide range of sources, allowing correct bounds and Selectors for points or intervals of regular, irregular, forward and reverse lookups.

On AbstractDimArray construction, Sampled lookup is assigned for all lookups of AbstractRange not assigned to Categorical.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

Example

Create an array with Interval sampling, and Regular span for a vector with known spacing.

We set the locus of the Intervals to Start specifying that the lookup values are for the locus at the start of each interval.

julia
using DimensionalData, DimensionalData.Lookups
@@ -20,9 +20,9 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
   80    1.0  1.0  1.0   1.0
   60    1.0  1.0  1.0   1.0
   40    1.0  1.0  1.0   1.0
-  20    1.0  1.0  1.0   1.0

source

`,11))]),i("details",y,[i("summary",null,[s[15]||(s[15]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractCyclic",href:"#DimensionalData.Dimensions.Lookups.AbstractCyclic"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractCyclic")],-1)),s[16]||(s[16]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[17]||(s[17]=t('
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source

',4))]),i("details",E,[i("summary",null,[s[18]||(s[18]=i("a",{id:"DimensionalData.Dimensions.Lookups.Cyclic",href:"#DimensionalData.Dimensions.Lookups.Cyclic"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Cyclic")],-1)),s[19]||(s[19]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=t(`
julia
Cyclic <: AbstractCyclic
+  20    1.0  1.0  1.0   1.0

source

`,11))]),i("details",y,[i("summary",null,[s[15]||(s[15]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractCyclic",href:"#DimensionalData.Dimensions.Lookups.AbstractCyclic"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractCyclic")],-1)),s[16]||(s[16]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[17]||(s[17]=t('
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source

',4))]),i("details",E,[i("summary",null,[s[18]||(s[18]=i("a",{id:"DimensionalData.Dimensions.Lookups.Cyclic",href:"#DimensionalData.Dimensions.Lookups.Cyclic"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Cyclic")],-1)),s[19]||(s[19]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=t(`
julia
Cyclic <: AbstractCyclic
 
-Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

  • cycle: the length of the cycle. This does not have to exactly match the data, the step size is Week(1) the cycle can be Years(1).

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source

`,8))]),i("details",m,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractCategorical",href:"#DimensionalData.Dimensions.Lookups.AbstractCategorical"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractCategorical")],-1)),s[22]||(s[22]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=t('
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source

',5))]),i("details",D,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.Lookups.Categorical",href:"#DimensionalData.Dimensions.Lookups.Categorical"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Categorical")],-1)),s[25]||(s[25]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=t(`
julia
Categorical <: AbstractCategorical
+Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

  • cycle: the length of the cycle. This does not have to exactly match the data, the step size is Week(1) the cycle can be Years(1).

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source

`,8))]),i("details",m,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractCategorical",href:"#DimensionalData.Dimensions.Lookups.AbstractCategorical"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractCategorical")],-1)),s[22]||(s[22]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=t('
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source

',5))]),i("details",D,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.Lookups.Categorical",href:"#DimensionalData.Dimensions.Lookups.Categorical"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Categorical")],-1)),s[25]||(s[25]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=t(`
julia
Categorical <: AbstractCategorical
 
 Categorical(o::Order)
 Categorical(; order=Unordered())

A Lookup where the values are categories.

This will be automatically assigned if the lookup contains AbstractString, Symbol or Char. Otherwise it can be assigned manually.

Order will be determined automatically where possible.

Arguments

  • data: An AbstractVector matching the length of the corresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. Can be provided if this is known and performance is important.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

Example

Create an array with [Interval] sampling.

julia
using DimensionalData
@@ -34,7 +34,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 # output
 
 Categorical{String} ["one", "two", "three"] Unordered,
-Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source

`,10))]),i("details",F,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Lookups.Unaligned",href:"#DimensionalData.Dimensions.Lookups.Unaligned"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Unaligned")],-1)),s[28]||(s[28]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[29]||(s[29]=t('
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source

',4))]),i("details",C,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.Lookups.Transformed",href:"#DimensionalData.Dimensions.Lookups.Transformed"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Transformed")],-1)),s[31]||(s[31]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[32]||(s[32]=t(`
julia
Transformed <: Unaligned
+Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source

`,10))]),i("details",F,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Lookups.Unaligned",href:"#DimensionalData.Dimensions.Lookups.Unaligned"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Unaligned")],-1)),s[28]||(s[28]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[29]||(s[29]=t('
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source

',4))]),i("details",C,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.Lookups.Transformed",href:"#DimensionalData.Dimensions.Lookups.Transformed"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Transformed")],-1)),s[31]||(s[31]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[32]||(s[32]=t(`
julia
Transformed <: Unaligned
 
 Transformed(f, dim::Dimension; metadata=NoMetadata())

Lookup that uses an affine transformation to convert dimensions from dims(lookup) to dims(array). This can be useful when the dimensions are e.g. rotated from a more commonly used axis.

Any function can be used to do the transformation, but transformations from CoordinateTransformations.jl may be useful.

Arguments

  • f: transformation function

  • dim: a dimension to transform to.

Keyword Arguments

  • metadata:

Example

julia
using DimensionalData, DimensionalData.Lookups, CoordinateTransformations
 
@@ -47,9 +47,9 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 da[X(At(6.0)), Y(At(2.0))]
 
 # output
-9

source

`,10))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.MergedLookup",href:"#DimensionalData.Dimensions.MergedLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.MergedLookup")],-1)),s[34]||(s[34]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[35]||(s[35]=t(`
julia
MergedLookup <: Lookup
+9

source

`,10))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.MergedLookup",href:"#DimensionalData.Dimensions.MergedLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.MergedLookup")],-1)),s[34]||(s[34]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[35]||(s[35]=t(`
julia
MergedLookup <: Lookup
 
-MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

  • data: A Vector of Tuple.

  • dims: A Tuple of Dimension indicating the dimensions in the tuples in data.

Keywords

  • metadata: a Dict or Metadata object to attach dimension metadata.

source

`,8))]),i("details",f,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.Lookups.NoLookup",href:"#DimensionalData.Dimensions.Lookups.NoLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.NoLookup")],-1)),s[37]||(s[37]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[38]||(s[38]=t(`
julia
NoLookup <: Lookup
+MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

  • data: A Vector of Tuple.

  • dims: A Tuple of Dimension indicating the dimensions in the tuples in data.

Keywords

  • metadata: a Dict or Metadata object to attach dimension metadata.

source

`,8))]),i("details",f,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.Lookups.NoLookup",href:"#DimensionalData.Dimensions.Lookups.NoLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.NoLookup")],-1)),s[37]||(s[37]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[38]||(s[38]=t(`
julia
NoLookup <: Lookup
 
 NoLookup()

A Lookup that is identical to the array axis. Selectors can't be used on this lookup.

Example

Defining a DimArray without passing lookup values to the dimensions, it will be assigned NoLookup:

julia
using DimensionalData
 
@@ -64,26 +64,26 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 
 # output
 
-NoLookup, NoLookup

source

`,8))]),i("details",v,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoLookup",href:"#DimensionalData.Dimensions.Lookups.AutoLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoLookup")],-1)),s[40]||(s[40]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[41]||(s[41]=t(`
julia
AutoLookup <: Lookup
+NoLookup, NoLookup

source

`,8))]),i("details",v,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoLookup",href:"#DimensionalData.Dimensions.Lookups.AutoLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoLookup")],-1)),s[40]||(s[40]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[41]||(s[41]=t(`
julia
AutoLookup <: Lookup
 
 AutoLookup()
-AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source

`,4))]),i("details",j,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoValues",href:"#DimensionalData.Dimensions.Lookups.AutoValues"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoValues")],-1)),s[43]||(s[43]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=t('
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source

',3))]),s[175]||(s[175]=i("p",null,[a("The generic value getter "),i("code",null,"val")],-1)),i("details",B,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.Dimensions.Lookups.val",href:"#DimensionalData.Dimensions.Lookups.val"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.val")],-1)),s[46]||(s[46]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=t(`
julia
val(x)
-val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source

`,5))]),s[176]||(s[176]=i("p",null,"Lookup methods:",-1)),i("details",L,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.Dimensions.Lookups.bounds",href:"#DimensionalData.Dimensions.Lookups.bounds"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.bounds")],-1)),s[49]||(s[49]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=t(`
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
+AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source

`,4))]),i("details",j,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoValues",href:"#DimensionalData.Dimensions.Lookups.AutoValues"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoValues")],-1)),s[43]||(s[43]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=t('
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source

',3))]),s[175]||(s[175]=i("p",null,[a("The generic value getter "),i("code",null,"val")],-1)),i("details",B,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.Dimensions.Lookups.val",href:"#DimensionalData.Dimensions.Lookups.val"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.val")],-1)),s[46]||(s[46]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=t(`
julia
val(x)
+val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source

`,5))]),s[176]||(s[176]=i("p",null,"Lookup methods:",-1)),i("details",L,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.Dimensions.Lookups.bounds",href:"#DimensionalData.Dimensions.Lookups.bounds"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.bounds")],-1)),s[49]||(s[49]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=t(`
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
 bounds(xs::Tuple) => Tuple{Vararg{Tuple{T,T}}}
 bounds(x, dim) => Tuple{T,T}
-bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source

`,5))]),i("details",A,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.Dimensions.Lookups.hasselection",href:"#DimensionalData.Dimensions.Lookups.hasselection"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.hasselection")],-1)),s[52]||(s[52]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=t(`
julia
hasselection(x, selector) => Bool
-hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source

`,3))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.Dimensions.Lookups.sampling",href:"#DimensionalData.Dimensions.Lookups.sampling"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.sampling")],-1)),s[55]||(s[55]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=t(`
julia
sampling(x, [dims::Tuple]) => Tuple
+bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source

`,5))]),i("details",A,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.Dimensions.Lookups.hasselection",href:"#DimensionalData.Dimensions.Lookups.hasselection"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.hasselection")],-1)),s[52]||(s[52]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=t(`
julia
hasselection(x, selector) => Bool
+hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source

`,3))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.Dimensions.Lookups.sampling",href:"#DimensionalData.Dimensions.Lookups.sampling"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.sampling")],-1)),s[55]||(s[55]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=t(`
julia
sampling(x, [dims::Tuple]) => Tuple
 sampling(x, dim) => Sampling
 sampling(xs::Tuple) => Tuple{Vararg{Sampling}}
-sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",T,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.Dimensions.Lookups.span",href:"#DimensionalData.Dimensions.Lookups.span"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.span")],-1)),s[58]||(s[58]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=t(`
julia
span(x, [dims::Tuple]) => Tuple
+sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",T,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.Dimensions.Lookups.span",href:"#DimensionalData.Dimensions.Lookups.span"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.span")],-1)),s[58]||(s[58]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=t(`
julia
span(x, [dims::Tuple]) => Tuple
 span(x, dim) => Span
 span(xs::Tuple) => Tuple{Vararg{Span,N}}
-span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",w,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.Dimensions.Lookups.order",href:"#DimensionalData.Dimensions.Lookups.order"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.order")],-1)),s[61]||(s[61]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=t(`
julia
order(x, [dims::Tuple]) => Tuple
+span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",w,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.Dimensions.Lookups.order",href:"#DimensionalData.Dimensions.Lookups.order"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.order")],-1)),s[61]||(s[61]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=t(`
julia
order(x, [dims::Tuple]) => Tuple
 order(xs::Tuple) => Tuple
-order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",S,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DimensionalData.Dimensions.Lookups.locus",href:"#DimensionalData.Dimensions.Lookups.locus"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.locus")],-1)),s[64]||(s[64]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=t(`
julia
locus(x, [dims::Tuple]) => Tuple
+order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",S,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DimensionalData.Dimensions.Lookups.locus",href:"#DimensionalData.Dimensions.Lookups.locus"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.locus")],-1)),s[64]||(s[64]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=t(`
julia
locus(x, [dims::Tuple]) => Tuple
 locus(x, dim) => Locus
 locus(xs::Tuple) => Tuple{Vararg{Locus,N}}
-locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",O,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.Dimensions.Lookups.shiftlocus",href:"#DimensionalData.Dimensions.Lookups.shiftlocus"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.shiftlocus")],-1)),s[67]||(s[67]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=t('
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source

',4))]),s[177]||(s[177]=i("h2",{id:"selectors",tabindex:"-1"},[a("Selectors "),i("a",{class:"header-anchor",href:"#selectors","aria-label":'Permalink to "Selectors"'},"​")],-1)),i("details",I,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Dimensions.Lookups.Selector",href:"#DimensionalData.Dimensions.Lookups.Selector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Selector")],-1)),s[70]||(s[70]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[71]||(s[71]=t('
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension lookup, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

  • Not: as in Not(At(x))

And IntervalSets.jl Interval can be used instead of Between

  • ..

  • Interval

  • OpenInterval

  • ClosedInterval

source

',10))]),i("details",q,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.Dimensions.Lookups.IntSelector",href:"#DimensionalData.Dimensions.Lookups.IntSelector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.IntSelector")],-1)),s[73]||(s[73]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[74]||(s[74]=t('
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source

',5))]),i("details",z,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.Dimensions.Lookups.ArraySelector",href:"#DimensionalData.Dimensions.Lookups.ArraySelector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ArraySelector")],-1)),s[76]||(s[76]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[77]||(s[77]=t('
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source

',5))]),i("details",P,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.Dimensions.Lookups.At",href:"#DimensionalData.Dimensions.Lookups.At"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.At")],-1)),s[79]||(s[79]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=t(`
julia
At <: IntSelector
+locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",O,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.Dimensions.Lookups.shiftlocus",href:"#DimensionalData.Dimensions.Lookups.shiftlocus"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.shiftlocus")],-1)),s[67]||(s[67]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=t('
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source

',4))]),s[177]||(s[177]=i("h2",{id:"selectors",tabindex:"-1"},[a("Selectors "),i("a",{class:"header-anchor",href:"#selectors","aria-label":'Permalink to "Selectors"'},"​")],-1)),i("details",I,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Dimensions.Lookups.Selector",href:"#DimensionalData.Dimensions.Lookups.Selector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Selector")],-1)),s[70]||(s[70]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[71]||(s[71]=t('
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension lookup, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

  • Not: as in Not(At(x))

And IntervalSets.jl Interval can be used instead of Between

  • ..

  • Interval

  • OpenInterval

  • ClosedInterval

source

',10))]),i("details",q,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.Dimensions.Lookups.IntSelector",href:"#DimensionalData.Dimensions.Lookups.IntSelector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.IntSelector")],-1)),s[73]||(s[73]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[74]||(s[74]=t('
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source

',5))]),i("details",z,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.Dimensions.Lookups.ArraySelector",href:"#DimensionalData.Dimensions.Lookups.ArraySelector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ArraySelector")],-1)),s[76]||(s[76]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[77]||(s[77]=t('
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source

',5))]),i("details",P,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.Dimensions.Lookups.At",href:"#DimensionalData.Dimensions.Lookups.At"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.At")],-1)),s[79]||(s[79]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=t(`
julia
At <: IntSelector
 
 At(x; atol=nothing, rtol=nothing)
 At(a, b; kw...)

Selector that exactly matches the value on the passed-in dimensions, or throws an error. For ranges and arrays, every intermediate value must match an existing value - not just the end points.

x can be any value to select a single index, or a Vector of values to select vector of indices. If two values a and b are used, the range between them will be selected.

Keyword atol is passed to isapprox.

Example

julia
using DimensionalData
@@ -93,7 +93,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 
 # output
 
-5

source

`,7))]),i("details",N,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.Dimensions.Lookups.Near",href:"#DimensionalData.Dimensions.Lookups.Near"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Near")],-1)),s[82]||(s[82]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[83]||(s[83]=t(`
julia
Near <: IntSelector
+5

source

`,7))]),i("details",N,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.Dimensions.Lookups.Near",href:"#DimensionalData.Dimensions.Lookups.Near"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Near")],-1)),s[82]||(s[82]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[83]||(s[83]=t(`
julia
Near <: IntSelector
 
 Near(x)
 Near(a, b)

Selector that selects the nearest index to x.

With Points this is simply the lookup values nearest to the x, however with Intervals it is the interval center nearest to x. This will be offset from the index value for Start and End locus.

x can be any value to select a single index, or a Vector of values to select vector of indices. If two values a and b are used, the range between the nearsest value to each of them will be selected.

Example

julia
using DimensionalData
@@ -102,7 +102,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 A[X(Near(23)), Y(Near(5.1))]
 
 # output
-4

source

`,7))]),i("details",R,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.Dimensions.Lookups.Between",href:"#DimensionalData.Dimensions.Lookups.Between"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Between")],-1)),s[85]||(s[85]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[86]||(s[86]=t(`
julia
Between <: ArraySelector
+4

source

`,7))]),i("details",R,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.Dimensions.Lookups.Between",href:"#DimensionalData.Dimensions.Lookups.Between"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Between")],-1)),s[85]||(s[85]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[86]||(s[86]=t(`
julia
Between <: ArraySelector
 
 Between(a, b)

Depreciated: use a..b instead of Between(a, b). Other Interval objects from IntervalSets.jl, like \`OpenInterval(a, b) will also work, giving the correct open/closed boundaries.

Between will e removed in future to avoid clashes with DataFrames.Between.

Selector that retrieve all indices located between 2 values, evaluated with >= for the lower value, and < for the upper value. This means the same value will not be counted twice in 2 adjacent Between selections.

For Intervals the whole interval must be lie between the values. For Points the points must fall between the values. Different Sampling types may give different results with the same input - this is the intended behaviour.

Between for Irregular intervals is a little complicated. The interval is the distance between a value and the next (for Start locus) or previous (for End locus) value.

For Center, we take the mid point between two index values as the start and end of each interval. This may or may not make sense for the values in your index, so use Between with Irregular Intervals(Center()) with caution.

Example

julia
using DimensionalData
 
@@ -118,7 +118,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source

`,10))]),i("details",M,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.Dimensions.Lookups.Touches",href:"#DimensionalData.Dimensions.Lookups.Touches"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Touches")],-1)),s[88]||(s[88]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[89]||(s[89]=t(`
julia
Touches <: ArraySelector
+ 20    4  5

source

`,10))]),i("details",M,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.Dimensions.Lookups.Touches",href:"#DimensionalData.Dimensions.Lookups.Touches"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Touches")],-1)),s[88]||(s[88]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[89]||(s[89]=t(`
julia
Touches <: ArraySelector
 
 Touches(a, b)

Selector that retrieves all indices touching the closed interval 2 values, for the maximum possible area that could interact with the supplied range.

This can be better than .. when e.g. subsetting an area to rasterize, as you may wish to include pixels that just touch the area, rather than those that fall within it.

Touches is different to using closed intervals when the lookups also contain intervals - if any of the intervals touch, they are included. With .. they are discarded unless the whole cell interval falls inside the selector interval.

Example

julia
using DimensionalData
 
@@ -133,7 +133,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source

`,7))]),i("details",U,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.Lookups.Contains",href:"#DimensionalData.Dimensions.Lookups.Contains"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Contains")],-1)),s[91]||(s[91]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[92]||(s[92]=t(`
julia
Contains <: IntSelector
+ 20    4  5

source

`,7))]),i("details",U,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.Lookups.Contains",href:"#DimensionalData.Dimensions.Lookups.Contains"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Contains")],-1)),s[91]||(s[91]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[92]||(s[92]=t(`
julia
Contains <: IntSelector
 
 Contains(x)
 Contains(a, b)

Selector that selects the interval the value is contained by. If the interval is not present in the lookup, an error will be thrown.

Can only be used for Intervals or Categorical. For Categorical it falls back to using At. Contains should not be confused with Base.contains - use Where(contains(x)) to check for if values are contain in categorical values like strings.

x can be any value to select a single index, or a Vector of values to select vector of indices. If two values a and b are used, the range between them will be selected.

Example

julia
using DimensionalData; const DD = DimensionalData
@@ -143,7 +143,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 A[X(Contains(8)), Y(Contains(6.8))]
 
 # output
-3

source

`,7))]),i("details",X,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.Lookups.Where",href:"#DimensionalData.Dimensions.Lookups.Where"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Where")],-1)),s[94]||(s[94]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[95]||(s[95]=t(`
julia
Where <: ArraySelector
+3

source

`,7))]),i("details",X,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.Lookups.Where",href:"#DimensionalData.Dimensions.Lookups.Where"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Where")],-1)),s[94]||(s[94]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[95]||(s[95]=t(`
julia
Where <: ArraySelector
 
 Where(f::Function)

Selector that filters a dimension lookup by any function that accepts a single value and returns a Bool.

Example

julia
using DimensionalData
 
@@ -159,7 +159,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
  Y Sampled{Int64} [19, 21] ForwardOrdered Irregular Points
 └─────────────────────────────────────────────────────────────┘
   19  21
- 20     4   6

source

`,5))]),i("details",Y,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.Dimensions.Lookups.All",href:"#DimensionalData.Dimensions.Lookups.All"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.All")],-1)),s[97]||(s[97]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[98]||(s[98]=t(`
julia
All <: Selector
+ 20     4   6

source

`,5))]),i("details",Y,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.Dimensions.Lookups.All",href:"#DimensionalData.Dimensions.Lookups.All"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.All")],-1)),s[97]||(s[97]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[98]||(s[98]=t(`
julia
All <: Selector
 
 All(selectors::Selector...)

Selector that combines the results of other selectors. The indices used will be the union of all result sorted in ascending order.

Example

julia
using DimensionalData, Unitful
 
@@ -177,42 +177,42 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 └──────────────────────────────────────────────────────────────────────────────┘
   1 s  6 s  91 s  96 s
  10.0    1    2    19    20
- 50.0    3    6    57    60

source

`,5))]),s[178]||(s[178]=i("h2",{id:"Lookup-traits",tabindex:"-1"},[a("Lookup traits "),i("a",{class:"header-anchor",href:"#Lookup-traits","aria-label":'Permalink to "Lookup traits {#Lookup-traits}"'},"​")],-1)),i("details",V,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.Dimensions.Lookups.LookupTrait",href:"#DimensionalData.Dimensions.Lookups.LookupTrait"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.LookupTrait")],-1)),s[100]||(s[100]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[101]||(s[101]=t('
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source

',5))]),s[179]||(s[179]=i("h3",{id:"order",tabindex:"-1"},[a("Order "),i("a",{class:"header-anchor",href:"#order","aria-label":'Permalink to "Order"'},"​")],-1)),i("details",W,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.Dimensions.Lookups.Order",href:"#DimensionalData.Dimensions.Lookups.Order"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Order")],-1)),s[103]||(s[103]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[104]||(s[104]=t('
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source

',3))]),i("details",G,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.Dimensions.Lookups.Ordered",href:"#DimensionalData.Dimensions.Lookups.Ordered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Ordered")],-1)),s[106]||(s[106]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[107]||(s[107]=t('
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source

',3))]),i("details",K,[i("summary",null,[s[108]||(s[108]=i("a",{id:"DimensionalData.Dimensions.Lookups.ForwardOrdered",href:"#DimensionalData.Dimensions.Lookups.ForwardOrdered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ForwardOrdered")],-1)),s[109]||(s[109]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[110]||(s[110]=t(`
julia
ForwardOrdered <: Ordered
+ 50.0    3    6    57    60

source

`,5))]),s[178]||(s[178]=i("h2",{id:"Lookup-traits",tabindex:"-1"},[a("Lookup traits "),i("a",{class:"header-anchor",href:"#Lookup-traits","aria-label":'Permalink to "Lookup traits {#Lookup-traits}"'},"​")],-1)),i("details",V,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.Dimensions.Lookups.LookupTrait",href:"#DimensionalData.Dimensions.Lookups.LookupTrait"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.LookupTrait")],-1)),s[100]||(s[100]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[101]||(s[101]=t('
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source

',5))]),s[179]||(s[179]=i("h3",{id:"order",tabindex:"-1"},[a("Order "),i("a",{class:"header-anchor",href:"#order","aria-label":'Permalink to "Order"'},"​")],-1)),i("details",W,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.Dimensions.Lookups.Order",href:"#DimensionalData.Dimensions.Lookups.Order"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Order")],-1)),s[103]||(s[103]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[104]||(s[104]=t('
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source

',3))]),i("details",G,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.Dimensions.Lookups.Ordered",href:"#DimensionalData.Dimensions.Lookups.Ordered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Ordered")],-1)),s[106]||(s[106]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[107]||(s[107]=t('
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source

',3))]),i("details",K,[i("summary",null,[s[108]||(s[108]=i("a",{id:"DimensionalData.Dimensions.Lookups.ForwardOrdered",href:"#DimensionalData.Dimensions.Lookups.ForwardOrdered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ForwardOrdered")],-1)),s[109]||(s[109]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[110]||(s[110]=t(`
julia
ForwardOrdered <: Ordered
 
-ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source

`,3))]),i("details",$,[i("summary",null,[s[111]||(s[111]=i("a",{id:"DimensionalData.Dimensions.Lookups.ReverseOrdered",href:"#DimensionalData.Dimensions.Lookups.ReverseOrdered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ReverseOrdered")],-1)),s[112]||(s[112]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[113]||(s[113]=t(`
julia
ReverseOrdered <: Ordered
+ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source

`,3))]),i("details",$,[i("summary",null,[s[111]||(s[111]=i("a",{id:"DimensionalData.Dimensions.Lookups.ReverseOrdered",href:"#DimensionalData.Dimensions.Lookups.ReverseOrdered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ReverseOrdered")],-1)),s[112]||(s[112]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[113]||(s[113]=t(`
julia
ReverseOrdered <: Ordered
 
-ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source

`,3))]),i("details",H,[i("summary",null,[s[114]||(s[114]=i("a",{id:"DimensionalData.Dimensions.Lookups.Unordered",href:"#DimensionalData.Dimensions.Lookups.Unordered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Unordered")],-1)),s[115]||(s[115]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[116]||(s[116]=t(`
julia
Unordered <: Order
+ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source

`,3))]),i("details",H,[i("summary",null,[s[114]||(s[114]=i("a",{id:"DimensionalData.Dimensions.Lookups.Unordered",href:"#DimensionalData.Dimensions.Lookups.Unordered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Unordered")],-1)),s[115]||(s[115]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[116]||(s[116]=t(`
julia
Unordered <: Order
 
-Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source

`,4))]),i("details",J,[i("summary",null,[s[117]||(s[117]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoOrder",href:"#DimensionalData.Dimensions.Lookups.AutoOrder"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoOrder")],-1)),s[118]||(s[118]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[119]||(s[119]=t(`
julia
AutoOrder <: Order
+Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source

`,4))]),i("details",J,[i("summary",null,[s[117]||(s[117]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoOrder",href:"#DimensionalData.Dimensions.Lookups.AutoOrder"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoOrder")],-1)),s[118]||(s[118]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[119]||(s[119]=t(`
julia
AutoOrder <: Order
 
-AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source

`,3))]),s[180]||(s[180]=i("h3",{id:"span",tabindex:"-1"},[a("Span "),i("a",{class:"header-anchor",href:"#span","aria-label":'Permalink to "Span"'},"​")],-1)),i("details",Q,[i("summary",null,[s[120]||(s[120]=i("a",{id:"DimensionalData.Dimensions.Lookups.Span",href:"#DimensionalData.Dimensions.Lookups.Span"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Span")],-1)),s[121]||(s[121]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[122]||(s[122]=t('
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source

',3))]),i("details",Z,[i("summary",null,[s[123]||(s[123]=i("a",{id:"DimensionalData.Dimensions.Lookups.Regular",href:"#DimensionalData.Dimensions.Lookups.Regular"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Regular")],-1)),s[124]||(s[124]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[125]||(s[125]=t(`
julia
Regular <: Span
+AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source

`,3))]),s[180]||(s[180]=i("h3",{id:"span",tabindex:"-1"},[a("Span "),i("a",{class:"header-anchor",href:"#span","aria-label":'Permalink to "Span"'},"​")],-1)),i("details",Q,[i("summary",null,[s[120]||(s[120]=i("a",{id:"DimensionalData.Dimensions.Lookups.Span",href:"#DimensionalData.Dimensions.Lookups.Span"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Span")],-1)),s[121]||(s[121]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[122]||(s[122]=t('
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source

',3))]),i("details",Z,[i("summary",null,[s[123]||(s[123]=i("a",{id:"DimensionalData.Dimensions.Lookups.Regular",href:"#DimensionalData.Dimensions.Lookups.Regular"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Regular")],-1)),s[124]||(s[124]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[125]||(s[125]=t(`
julia
Regular <: Span
 
-Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source

`,3))]),i("details",_,[i("summary",null,[s[126]||(s[126]=i("a",{id:"DimensionalData.Dimensions.Lookups.Irregular",href:"#DimensionalData.Dimensions.Lookups.Irregular"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Irregular")],-1)),s[127]||(s[127]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[128]||(s[128]=t(`
julia
Irregular <: Span
+Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source

`,3))]),i("details",_,[i("summary",null,[s[126]||(s[126]=i("a",{id:"DimensionalData.Dimensions.Lookups.Irregular",href:"#DimensionalData.Dimensions.Lookups.Irregular"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Irregular")],-1)),s[127]||(s[127]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[128]||(s[128]=t(`
julia
Irregular <: Span
 
 Irregular(bounds::Tuple)
-Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source

`,3))]),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"DimensionalData.Dimensions.Lookups.Explicit",href:"#DimensionalData.Dimensions.Lookups.Explicit"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Explicit")],-1)),s[130]||(s[130]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[131]||(s[131]=t('
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source

',4))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoSpan",href:"#DimensionalData.Dimensions.Lookups.AutoSpan"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoSpan")],-1)),s[133]||(s[133]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[134]||(s[134]=t(`
julia
AutoSpan <: Span
+Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source

`,3))]),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"DimensionalData.Dimensions.Lookups.Explicit",href:"#DimensionalData.Dimensions.Lookups.Explicit"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Explicit")],-1)),s[130]||(s[130]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[131]||(s[131]=t('
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source

',4))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoSpan",href:"#DimensionalData.Dimensions.Lookups.AutoSpan"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoSpan")],-1)),s[133]||(s[133]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[134]||(s[134]=t(`
julia
AutoSpan <: Span
 
-AutoSpan()

The span will be guessed and replaced in format or set.

source

`,3))]),s[181]||(s[181]=i("h3",{id:"sampling",tabindex:"-1"},[a("Sampling "),i("a",{class:"header-anchor",href:"#sampling","aria-label":'Permalink to "Sampling"'},"​")],-1)),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"DimensionalData.Dimensions.Lookups.Sampling",href:"#DimensionalData.Dimensions.Lookups.Sampling"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Sampling")],-1)),s[136]||(s[136]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[137]||(s[137]=t('
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source

',3))]),i("details",ns,[i("summary",null,[s[138]||(s[138]=i("a",{id:"DimensionalData.Dimensions.Lookups.Points",href:"#DimensionalData.Dimensions.Lookups.Points"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Points")],-1)),s[139]||(s[139]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[140]||(s[140]=t(`
julia
Points <: Sampling
+AutoSpan()

The span will be guessed and replaced in format or set.

source

`,3))]),s[181]||(s[181]=i("h3",{id:"sampling",tabindex:"-1"},[a("Sampling "),i("a",{class:"header-anchor",href:"#sampling","aria-label":'Permalink to "Sampling"'},"​")],-1)),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"DimensionalData.Dimensions.Lookups.Sampling",href:"#DimensionalData.Dimensions.Lookups.Sampling"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Sampling")],-1)),s[136]||(s[136]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[137]||(s[137]=t('
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source

',3))]),i("details",ns,[i("summary",null,[s[138]||(s[138]=i("a",{id:"DimensionalData.Dimensions.Lookups.Points",href:"#DimensionalData.Dimensions.Lookups.Points"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Points")],-1)),s[139]||(s[139]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[140]||(s[140]=t(`
julia
Points <: Sampling
 
-Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source

`,4))]),i("details",es,[i("summary",null,[s[141]||(s[141]=i("a",{id:"DimensionalData.Dimensions.Lookups.Intervals",href:"#DimensionalData.Dimensions.Lookups.Intervals"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Intervals")],-1)),s[142]||(s[142]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[143]||(s[143]=t(`
julia
Intervals <: Sampling
+Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source

`,4))]),i("details",es,[i("summary",null,[s[141]||(s[141]=i("a",{id:"DimensionalData.Dimensions.Lookups.Intervals",href:"#DimensionalData.Dimensions.Lookups.Intervals"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Intervals")],-1)),s[142]||(s[142]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[143]||(s[143]=t(`
julia
Intervals <: Sampling
 
-Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source

`,4))]),s[182]||(s[182]=i("h3",{id:"positions",tabindex:"-1"},[a("Positions "),i("a",{class:"header-anchor",href:"#positions","aria-label":'Permalink to "Positions"'},"​")],-1)),i("details",ts,[i("summary",null,[s[144]||(s[144]=i("a",{id:"DimensionalData.Dimensions.Lookups.Position",href:"#DimensionalData.Dimensions.Lookups.Position"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Position")],-1)),s[145]||(s[145]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[146]||(s[146]=t('
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source

',5))]),i("details",ls,[i("summary",null,[s[147]||(s[147]=i("a",{id:"DimensionalData.Dimensions.Lookups.Center",href:"#DimensionalData.Dimensions.Lookups.Center"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Center")],-1)),s[148]||(s[148]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[149]||(s[149]=t(`
julia
Center <: Position
+Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source

`,4))]),s[182]||(s[182]=i("h3",{id:"positions",tabindex:"-1"},[a("Positions "),i("a",{class:"header-anchor",href:"#positions","aria-label":'Permalink to "Positions"'},"​")],-1)),i("details",ts,[i("summary",null,[s[144]||(s[144]=i("a",{id:"DimensionalData.Dimensions.Lookups.Position",href:"#DimensionalData.Dimensions.Lookups.Position"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Position")],-1)),s[145]||(s[145]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[146]||(s[146]=t('
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source

',5))]),i("details",ls,[i("summary",null,[s[147]||(s[147]=i("a",{id:"DimensionalData.Dimensions.Lookups.Center",href:"#DimensionalData.Dimensions.Lookups.Center"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Center")],-1)),s[148]||(s[148]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[149]||(s[149]=t(`
julia
Center <: Position
 
-Center()

Used to specify lookup values correspond to the center locus in an interval.

source

`,3))]),i("details",ps,[i("summary",null,[s[150]||(s[150]=i("a",{id:"DimensionalData.Dimensions.Lookups.Start",href:"#DimensionalData.Dimensions.Lookups.Start"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Start")],-1)),s[151]||(s[151]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[152]||(s[152]=t(`
julia
Start <: Position
+Center()

Used to specify lookup values correspond to the center locus in an interval.

source

`,3))]),i("details",ps,[i("summary",null,[s[150]||(s[150]=i("a",{id:"DimensionalData.Dimensions.Lookups.Start",href:"#DimensionalData.Dimensions.Lookups.Start"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Start")],-1)),s[151]||(s[151]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[152]||(s[152]=t(`
julia
Start <: Position
 
-Start()

Used to specify lookup values correspond to the start locus of an interval.

source

`,3))]),i("details",os,[i("summary",null,[s[153]||(s[153]=i("a",{id:"DimensionalData.Dimensions.Lookups.Begin",href:"#DimensionalData.Dimensions.Lookups.Begin"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Begin")],-1)),s[154]||(s[154]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[155]||(s[155]=t(`
julia
Begin <: Position
+Start()

Used to specify lookup values correspond to the start locus of an interval.

source

`,3))]),i("details",os,[i("summary",null,[s[153]||(s[153]=i("a",{id:"DimensionalData.Dimensions.Lookups.Begin",href:"#DimensionalData.Dimensions.Lookups.Begin"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Begin")],-1)),s[154]||(s[154]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[155]||(s[155]=t(`
julia
Begin <: Position
 
-Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source

`,4))]),i("details",hs,[i("summary",null,[s[156]||(s[156]=i("a",{id:"DimensionalData.Dimensions.Lookups.End",href:"#DimensionalData.Dimensions.Lookups.End"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.End")],-1)),s[157]||(s[157]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[158]||(s[158]=t(`
julia
End <: Position
+Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source

`,4))]),i("details",hs,[i("summary",null,[s[156]||(s[156]=i("a",{id:"DimensionalData.Dimensions.Lookups.End",href:"#DimensionalData.Dimensions.Lookups.End"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.End")],-1)),s[157]||(s[157]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[158]||(s[158]=t(`
julia
End <: Position
 
-End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source

`,4))]),i("details",ks,[i("summary",null,[s[159]||(s[159]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoPosition",href:"#DimensionalData.Dimensions.Lookups.AutoPosition"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoPosition")],-1)),s[160]||(s[160]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[161]||(s[161]=t(`
julia
AutoPosition <: Position
+End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source

`,4))]),i("details",ks,[i("summary",null,[s[159]||(s[159]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoPosition",href:"#DimensionalData.Dimensions.Lookups.AutoPosition"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoPosition")],-1)),s[160]||(s[160]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[161]||(s[161]=t(`
julia
AutoPosition <: Position
 
-AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source

`,3))]),s[183]||(s[183]=i("h2",{id:"metadata",tabindex:"-1"},[a("Metadata "),i("a",{class:"header-anchor",href:"#metadata","aria-label":'Permalink to "Metadata"'},"​")],-1)),i("details",rs,[i("summary",null,[s[162]||(s[162]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractMetadata",href:"#DimensionalData.Dimensions.Lookups.AbstractMetadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractMetadata")],-1)),s[163]||(s[163]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[164]||(s[164]=t('
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source

',5))]),i("details",ds,[i("summary",null,[s[165]||(s[165]=i("a",{id:"DimensionalData.Dimensions.Lookups.Metadata",href:"#DimensionalData.Dimensions.Lookups.Metadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Metadata")],-1)),s[166]||(s[166]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[167]||(s[167]=t(`
julia
Metadata <: AbstractMetadata
+AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source

`,3))]),s[183]||(s[183]=i("h2",{id:"metadata",tabindex:"-1"},[a("Metadata "),i("a",{class:"header-anchor",href:"#metadata","aria-label":'Permalink to "Metadata"'},"​")],-1)),i("details",rs,[i("summary",null,[s[162]||(s[162]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractMetadata",href:"#DimensionalData.Dimensions.Lookups.AbstractMetadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractMetadata")],-1)),s[163]||(s[163]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[164]||(s[164]=t('
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source

',5))]),i("details",ds,[i("summary",null,[s[165]||(s[165]=i("a",{id:"DimensionalData.Dimensions.Lookups.Metadata",href:"#DimensionalData.Dimensions.Lookups.Metadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Metadata")],-1)),s[166]||(s[166]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[167]||(s[167]=t(`
julia
Metadata <: AbstractMetadata
 
 Metadata{X}(val::Union{Dict,NamedTuple})
 Metadata{X}(pairs::Pair...) => Metadata{Dict}
-Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source

`,3))]),i("details",gs,[i("summary",null,[s[168]||(s[168]=i("a",{id:"DimensionalData.Dimensions.Lookups.NoMetadata",href:"#DimensionalData.Dimensions.Lookups.NoMetadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.NoMetadata")],-1)),s[169]||(s[169]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[170]||(s[170]=t(`
julia
NoMetadata <: AbstractMetadata
+Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source

`,3))]),i("details",gs,[i("summary",null,[s[168]||(s[168]=i("a",{id:"DimensionalData.Dimensions.Lookups.NoMetadata",href:"#DimensionalData.Dimensions.Lookups.NoMetadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.NoMetadata")],-1)),s[169]||(s[169]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[170]||(s[170]=t(`
julia
NoMetadata <: AbstractMetadata
 
-NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source

`,3))]),i("details",cs,[i("summary",null,[s[171]||(s[171]=i("a",{id:"DimensionalData.Dimensions.Lookups.units",href:"#DimensionalData.Dimensions.Lookups.units"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.units")],-1)),s[172]||(s[172]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[173]||(s[173]=t(`
julia
units(x) => Union{Nothing,Any}
+NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source

`,3))]),i("details",cs,[i("summary",null,[s[171]||(s[171]=i("a",{id:"DimensionalData.Dimensions.Lookups.units",href:"#DimensionalData.Dimensions.Lookups.units"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.units")],-1)),s[172]||(s[172]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[173]||(s[173]=t(`
julia
units(x) => Union{Nothing,Any}
 units(xs:Tuple) => Tuple
 unit(A::AbstractDimArray, dims::Tuple) => Tuple
-unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,5))])])}const fs=l(k,[["render",us]]);export{bs as __pageData,fs as default}; +unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,5))])])}const fs=l(k,[["render",us]]);export{bs as __pageData,fs as default}; diff --git a/dev/assets/api_lookuparrays.md.4gWyIReH.lean.js b/dev/assets/api_lookuparrays.md.QQHTyv_S.lean.js similarity index 96% rename from dev/assets/api_lookuparrays.md.4gWyIReH.lean.js rename to dev/assets/api_lookuparrays.md.QQHTyv_S.lean.js index 3453e5208..7e142badc 100644 --- a/dev/assets/api_lookuparrays.md.4gWyIReH.lean.js +++ b/dev/assets/api_lookuparrays.md.QQHTyv_S.lean.js @@ -1,5 +1,5 @@ -import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framework.B8l2DGq3.js";const bs=JSON.parse('{"title":"Lookups","description":"","frontmatter":{},"headers":[],"relativePath":"api/lookuparrays.md","filePath":"api/lookuparrays.md","lastUpdated":null}'),k={name:"api/lookuparrays.md"},r={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},os={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""},gs={class:"jldocstring custom-block",open:""},cs={class:"jldocstring custom-block",open:""};function us(ys,s,Es,ms,Ds,Fs){const n=o("Badge");return h(),p("div",null,[s[174]||(s[174]=i("h1",{id:"lookups",tabindex:"-1"},[a("Lookups "),i("a",{class:"header-anchor",href:"#lookups","aria-label":'Permalink to "Lookups"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.Dimensions.Lookups",href:"#DimensionalData.Dimensions.Lookups"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups")],-1)),s[1]||(s[1]=a()),e(n,{type:"info",class:"jlObjectType jlModule",text:"Module"})]),s[2]||(s[2]=t(`
julia
Lookups

Module for Lookups and Selectors used in DimensionalData.jl

Lookup defines traits and AbstractArray wrappers that give specific behaviours for a lookup index when indexed with Selector.

For example, these allow tracking over array order so fast indexing works even when the array is reversed.

To load Lookup types and methods into scope:

julia
using DimensionalData
-using DimensionalData.Lookups

source

`,7))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.Dimensions.Lookups.Lookup",href:"#DimensionalData.Dimensions.Lookups.Lookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Lookup")],-1)),s[4]||(s[4]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=t('
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source

',4))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.Dimensions.Lookups.Aligned",href:"#DimensionalData.Dimensions.Lookups.Aligned"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Aligned")],-1)),s[7]||(s[7]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=t('
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source

',4))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractSampled",href:"#DimensionalData.Dimensions.Lookups.AbstractSampled"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractSampled")],-1)),s[10]||(s[10]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=t('
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source

',4))]),i("details",u,[i("summary",null,[s[12]||(s[12]=i("a",{id:"DimensionalData.Dimensions.Lookups.Sampled",href:"#DimensionalData.Dimensions.Lookups.Sampled"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Sampled")],-1)),s[13]||(s[13]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=t(`
julia
Sampled <: AbstractSampled
+import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framework.BAAK0EyE.js";const bs=JSON.parse('{"title":"Lookups","description":"","frontmatter":{},"headers":[],"relativePath":"api/lookuparrays.md","filePath":"api/lookuparrays.md","lastUpdated":null}'),k={name:"api/lookuparrays.md"},r={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},os={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""},gs={class:"jldocstring custom-block",open:""},cs={class:"jldocstring custom-block",open:""};function us(ys,s,Es,ms,Ds,Fs){const n=o("Badge");return h(),p("div",null,[s[174]||(s[174]=i("h1",{id:"lookups",tabindex:"-1"},[a("Lookups "),i("a",{class:"header-anchor",href:"#lookups","aria-label":'Permalink to "Lookups"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.Dimensions.Lookups",href:"#DimensionalData.Dimensions.Lookups"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups")],-1)),s[1]||(s[1]=a()),e(n,{type:"info",class:"jlObjectType jlModule",text:"Module"})]),s[2]||(s[2]=t(`
julia
Lookups

Module for Lookups and Selectors used in DimensionalData.jl

Lookup defines traits and AbstractArray wrappers that give specific behaviours for a lookup index when indexed with Selector.

For example, these allow tracking over array order so fast indexing works even when the array is reversed.

To load Lookup types and methods into scope:

julia
using DimensionalData
+using DimensionalData.Lookups

source

`,7))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.Dimensions.Lookups.Lookup",href:"#DimensionalData.Dimensions.Lookups.Lookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Lookup")],-1)),s[4]||(s[4]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=t('
julia
Lookup

Types defining the behaviour of a lookup index, how it is plotted and how Selectors like Between work.

A Lookup may be NoLookup indicating that there are no lookup values, Categorical for ordered or unordered categories, or a Sampled index for Points or Intervals.

source

',4))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.Dimensions.Lookups.Aligned",href:"#DimensionalData.Dimensions.Lookups.Aligned"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Aligned")],-1)),s[7]||(s[7]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=t('
julia
Aligned <: Lookup

Abstract supertype for Lookups where the lookup is aligned with the array axes.

This is by far the most common supertype for Lookup.

source

',4))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractSampled",href:"#DimensionalData.Dimensions.Lookups.AbstractSampled"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractSampled")],-1)),s[10]||(s[10]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=t('
julia
AbstractSampled <: Aligned

Abstract supertype for Lookups where the lookup is aligned with the array, and is independent of other dimensions. Sampled is provided by this package.

AbstractSampled must have order, span and sampling fields, or a rebuild method that accepts them as keyword arguments.

source

',4))]),i("details",u,[i("summary",null,[s[12]||(s[12]=i("a",{id:"DimensionalData.Dimensions.Lookups.Sampled",href:"#DimensionalData.Dimensions.Lookups.Sampled"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Sampled")],-1)),s[13]||(s[13]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=t(`
julia
Sampled <: AbstractSampled
 
 Sampled(data::AbstractVector, order::Order, span::Span, sampling::Sampling, metadata)
 Sampled(data=AutoValues(); order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata())

A concrete implementation of the Lookup AbstractSampled. It can be used to represent Points or Intervals.

Sampled is capable of representing gridded data from a wide range of sources, allowing correct bounds and Selectors for points or intervals of regular, irregular, forward and reverse lookups.

On AbstractDimArray construction, Sampled lookup is assigned for all lookups of AbstractRange not assigned to Categorical.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

Example

Create an array with Interval sampling, and Regular span for a vector with known spacing.

We set the locus of the Intervals to Start specifying that the lookup values are for the locus at the start of each interval.

julia
using DimensionalData, DimensionalData.Lookups
@@ -20,9 +20,9 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
   80    1.0  1.0  1.0   1.0
   60    1.0  1.0  1.0   1.0
   40    1.0  1.0  1.0   1.0
-  20    1.0  1.0  1.0   1.0

source

`,11))]),i("details",y,[i("summary",null,[s[15]||(s[15]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractCyclic",href:"#DimensionalData.Dimensions.Lookups.AbstractCyclic"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractCyclic")],-1)),s[16]||(s[16]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[17]||(s[17]=t('
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source

',4))]),i("details",E,[i("summary",null,[s[18]||(s[18]=i("a",{id:"DimensionalData.Dimensions.Lookups.Cyclic",href:"#DimensionalData.Dimensions.Lookups.Cyclic"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Cyclic")],-1)),s[19]||(s[19]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=t(`
julia
Cyclic <: AbstractCyclic
+  20    1.0  1.0  1.0   1.0

source

`,11))]),i("details",y,[i("summary",null,[s[15]||(s[15]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractCyclic",href:"#DimensionalData.Dimensions.Lookups.AbstractCyclic"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractCyclic")],-1)),s[16]||(s[16]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[17]||(s[17]=t('
julia
AbstractCyclic <: AbstractSampled

An abstract supertype for cyclic lookups.

These are AbstractSampled lookups that are cyclic for Selectors.

source

',4))]),i("details",E,[i("summary",null,[s[18]||(s[18]=i("a",{id:"DimensionalData.Dimensions.Lookups.Cyclic",href:"#DimensionalData.Dimensions.Lookups.Cyclic"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Cyclic")],-1)),s[19]||(s[19]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=t(`
julia
Cyclic <: AbstractCyclic
 
-Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

  • cycle: the length of the cycle. This does not have to exactly match the data, the step size is Week(1) the cycle can be Years(1).

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source

`,8))]),i("details",m,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractCategorical",href:"#DimensionalData.Dimensions.Lookups.AbstractCategorical"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractCategorical")],-1)),s[22]||(s[22]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=t('
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source

',5))]),i("details",D,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.Lookups.Categorical",href:"#DimensionalData.Dimensions.Lookups.Categorical"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Categorical")],-1)),s[25]||(s[25]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=t(`
julia
Categorical <: AbstractCategorical
+Cyclic(data; order=AutoOrder(), span=AutoSpan(), sampling=Points(), metadata=NoMetadata(), cycle)

A Cyclic lookup is similar to Sampled but out of range Selectors At, Near, Contains will cycle the values to typemin or typemax over the length of cycle. Where and .. work as for Sampled.

This is useful when we are using mean annual datasets over a real time-span, or for wrapping longitudes so that -360 and 360 are the same.

Arguments

  • data: An AbstractVector of lookup values, matching the length of the curresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. These can be provided explicitly if they are known and performance is important.

  • span: indicates the size of intervals or distance between points, and will be set to Regular for AbstractRange and Irregular for AbstractArray, unless assigned manually.

  • sampling: is assigned to Points, unless set to Intervals manually. Using Intervals will change the behaviour of bounds and Selectorss to take account for the full size of the interval, rather than the point alone.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

  • cycle: the length of the cycle. This does not have to exactly match the data, the step size is Week(1) the cycle can be Years(1).

Notes

  1. If you use dates and e.g. cycle over a Year, every year will have the number and spacing of Weeks and Days as the cycle year. Using At may not be reliable in terms of exact dates, as it will be applied to the specified date plus or minus n years.

  2. Indexing into a Cycled with any AbstractArray or AbstractRange will return a Sampled as the full cycle is likely no longer available.

  3. .. or Between selectors do not work in a cycled way: they work as for Sampled. This may change in future to return cycled values, but there are problems with this, such as leap years breaking correct date cycling of a single year. If you actually need this behaviour, please make a GitHub issue.

source

`,8))]),i("details",m,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractCategorical",href:"#DimensionalData.Dimensions.Lookups.AbstractCategorical"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractCategorical")],-1)),s[22]||(s[22]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=t('
julia
AbstractCategorical <: Aligned

Lookups where the values are categories.

Categorical is the provided concrete implementation. But this can easily be extended, all methods are defined for AbstractCategorical.

All AbstractCategorical must provide a rebuild method with data, order and metadata keyword arguments.

source

',5))]),i("details",D,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.Lookups.Categorical",href:"#DimensionalData.Dimensions.Lookups.Categorical"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Categorical")],-1)),s[25]||(s[25]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=t(`
julia
Categorical <: AbstractCategorical
 
 Categorical(o::Order)
 Categorical(; order=Unordered())

A Lookup where the values are categories.

This will be automatically assigned if the lookup contains AbstractString, Symbol or Char. Otherwise it can be assigned manually.

Order will be determined automatically where possible.

Arguments

  • data: An AbstractVector matching the length of the corresponding array axis.

  • order: Order) indicating the order of the lookup, AutoOrder by default, detected from the order of data to be ForwardOrdered, ReverseOrdered or Unordered. Can be provided if this is known and performance is important.

  • metadata: a Dict or Metadata wrapper that holds any metadata object adding more information about the array axis - useful for extending DimensionalData for specific contexts, like geospatial data in Rasters.jl. By default it is NoMetadata().

Example

Create an array with [Interval] sampling.

julia
using DimensionalData
@@ -34,7 +34,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 # output
 
 Categorical{String} ["one", "two", "three"] Unordered,
-Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source

`,10))]),i("details",F,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Lookups.Unaligned",href:"#DimensionalData.Dimensions.Lookups.Unaligned"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Unaligned")],-1)),s[28]||(s[28]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[29]||(s[29]=t('
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source

',4))]),i("details",C,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.Lookups.Transformed",href:"#DimensionalData.Dimensions.Lookups.Transformed"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Transformed")],-1)),s[31]||(s[31]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[32]||(s[32]=t(`
julia
Transformed <: Unaligned
+Categorical{Symbol} [:a, :b, :c, :d] ForwardOrdered

source

`,10))]),i("details",F,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Lookups.Unaligned",href:"#DimensionalData.Dimensions.Lookups.Unaligned"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Unaligned")],-1)),s[28]||(s[28]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[29]||(s[29]=t('
julia
Unaligned <: Lookup

Abstract supertype for Lookup where the lookup is not aligned to the grid.

Indexing an Unaligned with Selectors must provide all other Unaligned dimensions.

source

',4))]),i("details",C,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.Lookups.Transformed",href:"#DimensionalData.Dimensions.Lookups.Transformed"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Transformed")],-1)),s[31]||(s[31]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[32]||(s[32]=t(`
julia
Transformed <: Unaligned
 
 Transformed(f, dim::Dimension; metadata=NoMetadata())

Lookup that uses an affine transformation to convert dimensions from dims(lookup) to dims(array). This can be useful when the dimensions are e.g. rotated from a more commonly used axis.

Any function can be used to do the transformation, but transformations from CoordinateTransformations.jl may be useful.

Arguments

  • f: transformation function

  • dim: a dimension to transform to.

Keyword Arguments

  • metadata:

Example

julia
using DimensionalData, DimensionalData.Lookups, CoordinateTransformations
 
@@ -47,9 +47,9 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 da[X(At(6.0)), Y(At(2.0))]
 
 # output
-9

source

`,10))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.MergedLookup",href:"#DimensionalData.Dimensions.MergedLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.MergedLookup")],-1)),s[34]||(s[34]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[35]||(s[35]=t(`
julia
MergedLookup <: Lookup
+9

source

`,10))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.MergedLookup",href:"#DimensionalData.Dimensions.MergedLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.MergedLookup")],-1)),s[34]||(s[34]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[35]||(s[35]=t(`
julia
MergedLookup <: Lookup
 
-MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

  • data: A Vector of Tuple.

  • dims: A Tuple of Dimension indicating the dimensions in the tuples in data.

Keywords

  • metadata: a Dict or Metadata object to attach dimension metadata.

source

`,8))]),i("details",f,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.Lookups.NoLookup",href:"#DimensionalData.Dimensions.Lookups.NoLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.NoLookup")],-1)),s[37]||(s[37]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[38]||(s[38]=t(`
julia
NoLookup <: Lookup
+MergedLookup(data, dims; [metadata])

A Lookup that holds multiple combined dimensions.

MergedLookup can be indexed with Selectors like At, Between, and Where although Near has undefined meaning.

Arguments

  • data: A Vector of Tuple.

  • dims: A Tuple of Dimension indicating the dimensions in the tuples in data.

Keywords

  • metadata: a Dict or Metadata object to attach dimension metadata.

source

`,8))]),i("details",f,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.Lookups.NoLookup",href:"#DimensionalData.Dimensions.Lookups.NoLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.NoLookup")],-1)),s[37]||(s[37]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[38]||(s[38]=t(`
julia
NoLookup <: Lookup
 
 NoLookup()

A Lookup that is identical to the array axis. Selectors can't be used on this lookup.

Example

Defining a DimArray without passing lookup values to the dimensions, it will be assigned NoLookup:

julia
using DimensionalData
 
@@ -64,26 +64,26 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 
 # output
 
-NoLookup, NoLookup

source

`,8))]),i("details",v,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoLookup",href:"#DimensionalData.Dimensions.Lookups.AutoLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoLookup")],-1)),s[40]||(s[40]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[41]||(s[41]=t(`
julia
AutoLookup <: Lookup
+NoLookup, NoLookup

source

`,8))]),i("details",v,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoLookup",href:"#DimensionalData.Dimensions.Lookups.AutoLookup"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoLookup")],-1)),s[40]||(s[40]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[41]||(s[41]=t(`
julia
AutoLookup <: Lookup
 
 AutoLookup()
-AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source

`,4))]),i("details",j,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoValues",href:"#DimensionalData.Dimensions.Lookups.AutoValues"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoValues")],-1)),s[43]||(s[43]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=t('
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source

',3))]),s[175]||(s[175]=i("p",null,[a("The generic value getter "),i("code",null,"val")],-1)),i("details",B,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.Dimensions.Lookups.val",href:"#DimensionalData.Dimensions.Lookups.val"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.val")],-1)),s[46]||(s[46]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=t(`
julia
val(x)
-val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source

`,5))]),s[176]||(s[176]=i("p",null,"Lookup methods:",-1)),i("details",L,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.Dimensions.Lookups.bounds",href:"#DimensionalData.Dimensions.Lookups.bounds"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.bounds")],-1)),s[49]||(s[49]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=t(`
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
+AutoLookup(values=AutoValues(); kw...)

Automatic Lookup, the default lookup. It will be converted automatically to another Lookup when it is possible to detect it from the lookup values.

Keywords will be used in the detected Lookup constructor.

source

`,4))]),i("details",j,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoValues",href:"#DimensionalData.Dimensions.Lookups.AutoValues"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoValues")],-1)),s[43]||(s[43]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=t('
julia
AutoValues

Detect Lookup values from the context. This is used in NoLookup to simply use the array axis as the index when the array is constructed, and in set to change the Lookup type without changing the index values.

source

',3))]),s[175]||(s[175]=i("p",null,[a("The generic value getter "),i("code",null,"val")],-1)),i("details",B,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.Dimensions.Lookups.val",href:"#DimensionalData.Dimensions.Lookups.val"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.val")],-1)),s[46]||(s[46]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=t(`
julia
val(x)
+val(dims::Tuple) => Tuple

Return the contained value of a wrapper object.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

Objects that don't define a val method are returned unaltered.

source

`,5))]),s[176]||(s[176]=i("p",null,"Lookup methods:",-1)),i("details",L,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.Dimensions.Lookups.bounds",href:"#DimensionalData.Dimensions.Lookups.bounds"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.bounds")],-1)),s[49]||(s[49]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=t(`
julia
bounds(xs, [dims::Tuple]) => Tuple{Vararg{Tuple{T,T}}}
 bounds(xs::Tuple) => Tuple{Vararg{Tuple{T,T}}}
 bounds(x, dim) => Tuple{T,T}
-bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source

`,5))]),i("details",A,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.Dimensions.Lookups.hasselection",href:"#DimensionalData.Dimensions.Lookups.hasselection"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.hasselection")],-1)),s[52]||(s[52]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=t(`
julia
hasselection(x, selector) => Bool
-hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source

`,3))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.Dimensions.Lookups.sampling",href:"#DimensionalData.Dimensions.Lookups.sampling"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.sampling")],-1)),s[55]||(s[55]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=t(`
julia
sampling(x, [dims::Tuple]) => Tuple
+bounds(dim::Union{Dimension,Lookup}) => Tuple{T,T}

Return the bounds of all dimensions of an object, of a specific dimension, or of a tuple of dimensions.

If bounds are not known, one or both values may be nothing.

dims can be a Dimension, a dimension type, or a tuple of either.

source

`,5))]),i("details",A,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.Dimensions.Lookups.hasselection",href:"#DimensionalData.Dimensions.Lookups.hasselection"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.hasselection")],-1)),s[52]||(s[52]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=t(`
julia
hasselection(x, selector) => Bool
+hasselection(x, selectors::Tuple) => Bool

Check if indexing into x with selectors can be performed, where x is some object with a dims method, and selectors is a Selector or Dimension or a tuple of either.

source

`,3))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.Dimensions.Lookups.sampling",href:"#DimensionalData.Dimensions.Lookups.sampling"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.sampling")],-1)),s[55]||(s[55]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=t(`
julia
sampling(x, [dims::Tuple]) => Tuple
 sampling(x, dim) => Sampling
 sampling(xs::Tuple) => Tuple{Vararg{Sampling}}
-sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",T,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.Dimensions.Lookups.span",href:"#DimensionalData.Dimensions.Lookups.span"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.span")],-1)),s[58]||(s[58]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=t(`
julia
span(x, [dims::Tuple]) => Tuple
+sampling(x:Union{Dimension,Lookup}) => Sampling

Return the Sampling for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",T,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.Dimensions.Lookups.span",href:"#DimensionalData.Dimensions.Lookups.span"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.span")],-1)),s[58]||(s[58]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=t(`
julia
span(x, [dims::Tuple]) => Tuple
 span(x, dim) => Span
 span(xs::Tuple) => Tuple{Vararg{Span,N}}
-span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",w,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.Dimensions.Lookups.order",href:"#DimensionalData.Dimensions.Lookups.order"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.order")],-1)),s[61]||(s[61]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=t(`
julia
order(x, [dims::Tuple]) => Tuple
+span(x::Union{Dimension,Lookup}) => Span

Return the Span for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",w,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.Dimensions.Lookups.order",href:"#DimensionalData.Dimensions.Lookups.order"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.order")],-1)),s[61]||(s[61]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=t(`
julia
order(x, [dims::Tuple]) => Tuple
 order(xs::Tuple) => Tuple
-order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",S,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DimensionalData.Dimensions.Lookups.locus",href:"#DimensionalData.Dimensions.Lookups.locus"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.locus")],-1)),s[64]||(s[64]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=t(`
julia
locus(x, [dims::Tuple]) => Tuple
+order(x::Union{Dimension,Lookup}) => Order

Return the Ordering of the dimension lookup for each dimension: ForwardOrdered, ReverseOrdered, or Unordered

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",S,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DimensionalData.Dimensions.Lookups.locus",href:"#DimensionalData.Dimensions.Lookups.locus"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.locus")],-1)),s[64]||(s[64]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=t(`
julia
locus(x, [dims::Tuple]) => Tuple
 locus(x, dim) => Locus
 locus(xs::Tuple) => Tuple{Vararg{Locus,N}}
-locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",O,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.Dimensions.Lookups.shiftlocus",href:"#DimensionalData.Dimensions.Lookups.shiftlocus"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.shiftlocus")],-1)),s[67]||(s[67]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=t('
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source

',4))]),s[177]||(s[177]=i("h2",{id:"selectors",tabindex:"-1"},[a("Selectors "),i("a",{class:"header-anchor",href:"#selectors","aria-label":'Permalink to "Selectors"'},"​")],-1)),i("details",I,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Dimensions.Lookups.Selector",href:"#DimensionalData.Dimensions.Lookups.Selector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Selector")],-1)),s[70]||(s[70]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[71]||(s[71]=t('
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension lookup, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

  • Not: as in Not(At(x))

And IntervalSets.jl Interval can be used instead of Between

  • ..

  • Interval

  • OpenInterval

  • ClosedInterval

source

',10))]),i("details",q,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.Dimensions.Lookups.IntSelector",href:"#DimensionalData.Dimensions.Lookups.IntSelector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.IntSelector")],-1)),s[73]||(s[73]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[74]||(s[74]=t('
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source

',5))]),i("details",z,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.Dimensions.Lookups.ArraySelector",href:"#DimensionalData.Dimensions.Lookups.ArraySelector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ArraySelector")],-1)),s[76]||(s[76]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[77]||(s[77]=t('
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source

',5))]),i("details",P,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.Dimensions.Lookups.At",href:"#DimensionalData.Dimensions.Lookups.At"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.At")],-1)),s[79]||(s[79]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=t(`
julia
At <: IntSelector
+locus(x::Union{Dimension,Lookup}) => Locus

Return the Position of lookup values for each dimension.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",O,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.Dimensions.Lookups.shiftlocus",href:"#DimensionalData.Dimensions.Lookups.shiftlocus"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.shiftlocus")],-1)),s[67]||(s[67]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=t('
julia
shiftlocus(locus::Locus, x)

Shift the values of x from the current locus to the new locus.

We only shift Sampled, Regular or Explicit, Intervals.

source

',4))]),s[177]||(s[177]=i("h2",{id:"selectors",tabindex:"-1"},[a("Selectors "),i("a",{class:"header-anchor",href:"#selectors","aria-label":'Permalink to "Selectors"'},"​")],-1)),i("details",I,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Dimensions.Lookups.Selector",href:"#DimensionalData.Dimensions.Lookups.Selector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Selector")],-1)),s[70]||(s[70]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[71]||(s[71]=t('
julia
Selector

Abstract supertype for all selectors.

Selectors are wrappers that indicate that passed values are not the array indices, but values to be selected from the dimension lookup, such as DateTime objects for a Ti dimension.

Selectors provided in DimensionalData are:

Note: Selectors can be modified using:

  • Not: as in Not(At(x))

And IntervalSets.jl Interval can be used instead of Between

  • ..

  • Interval

  • OpenInterval

  • ClosedInterval

source

',10))]),i("details",q,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.Dimensions.Lookups.IntSelector",href:"#DimensionalData.Dimensions.Lookups.IntSelector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.IntSelector")],-1)),s[73]||(s[73]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[74]||(s[74]=t('
julia
IntSelector <: Selector

Abstract supertype for Selectors that return a single Int index.

IntSelectors provided by DimensionalData are:

source

',5))]),i("details",z,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.Dimensions.Lookups.ArraySelector",href:"#DimensionalData.Dimensions.Lookups.ArraySelector"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ArraySelector")],-1)),s[76]||(s[76]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[77]||(s[77]=t('
julia
ArraySelector <: Selector

Abstract supertype for Selectors that return an AbstractArray.

ArraySelectors provided by DimensionalData are:

source

',5))]),i("details",P,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.Dimensions.Lookups.At",href:"#DimensionalData.Dimensions.Lookups.At"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.At")],-1)),s[79]||(s[79]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=t(`
julia
At <: IntSelector
 
 At(x; atol=nothing, rtol=nothing)
 At(a, b; kw...)

Selector that exactly matches the value on the passed-in dimensions, or throws an error. For ranges and arrays, every intermediate value must match an existing value - not just the end points.

x can be any value to select a single index, or a Vector of values to select vector of indices. If two values a and b are used, the range between them will be selected.

Keyword atol is passed to isapprox.

Example

julia
using DimensionalData
@@ -93,7 +93,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 
 # output
 
-5

source

`,7))]),i("details",N,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.Dimensions.Lookups.Near",href:"#DimensionalData.Dimensions.Lookups.Near"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Near")],-1)),s[82]||(s[82]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[83]||(s[83]=t(`
julia
Near <: IntSelector
+5

source

`,7))]),i("details",N,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.Dimensions.Lookups.Near",href:"#DimensionalData.Dimensions.Lookups.Near"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Near")],-1)),s[82]||(s[82]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[83]||(s[83]=t(`
julia
Near <: IntSelector
 
 Near(x)
 Near(a, b)

Selector that selects the nearest index to x.

With Points this is simply the lookup values nearest to the x, however with Intervals it is the interval center nearest to x. This will be offset from the index value for Start and End locus.

x can be any value to select a single index, or a Vector of values to select vector of indices. If two values a and b are used, the range between the nearsest value to each of them will be selected.

Example

julia
using DimensionalData
@@ -102,7 +102,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 A[X(Near(23)), Y(Near(5.1))]
 
 # output
-4

source

`,7))]),i("details",R,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.Dimensions.Lookups.Between",href:"#DimensionalData.Dimensions.Lookups.Between"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Between")],-1)),s[85]||(s[85]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[86]||(s[86]=t(`
julia
Between <: ArraySelector
+4

source

`,7))]),i("details",R,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.Dimensions.Lookups.Between",href:"#DimensionalData.Dimensions.Lookups.Between"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Between")],-1)),s[85]||(s[85]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[86]||(s[86]=t(`
julia
Between <: ArraySelector
 
 Between(a, b)

Depreciated: use a..b instead of Between(a, b). Other Interval objects from IntervalSets.jl, like \`OpenInterval(a, b) will also work, giving the correct open/closed boundaries.

Between will e removed in future to avoid clashes with DataFrames.Between.

Selector that retrieve all indices located between 2 values, evaluated with >= for the lower value, and < for the upper value. This means the same value will not be counted twice in 2 adjacent Between selections.

For Intervals the whole interval must be lie between the values. For Points the points must fall between the values. Different Sampling types may give different results with the same input - this is the intended behaviour.

Between for Irregular intervals is a little complicated. The interval is the distance between a value and the next (for Start locus) or previous (for End locus) value.

For Center, we take the mid point between two index values as the start and end of each interval. This may or may not make sense for the values in your index, so use Between with Irregular Intervals(Center()) with caution.

Example

julia
using DimensionalData
 
@@ -118,7 +118,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source

`,10))]),i("details",M,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.Dimensions.Lookups.Touches",href:"#DimensionalData.Dimensions.Lookups.Touches"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Touches")],-1)),s[88]||(s[88]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[89]||(s[89]=t(`
julia
Touches <: ArraySelector
+ 20    4  5

source

`,10))]),i("details",M,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.Dimensions.Lookups.Touches",href:"#DimensionalData.Dimensions.Lookups.Touches"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Touches")],-1)),s[88]||(s[88]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[89]||(s[89]=t(`
julia
Touches <: ArraySelector
 
 Touches(a, b)

Selector that retrieves all indices touching the closed interval 2 values, for the maximum possible area that could interact with the supplied range.

This can be better than .. when e.g. subsetting an area to rasterize, as you may wish to include pixels that just touch the area, rather than those that fall within it.

Touches is different to using closed intervals when the lookups also contain intervals - if any of the intervals touch, they are included. With .. they are discarded unless the whole cell interval falls inside the selector interval.

Example

julia
using DimensionalData
 
@@ -133,7 +133,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
  Y Sampled{Int64} 5:6 ForwardOrdered Regular Points
 └────────────────────────────────────────────────────────────┘
   5  6
- 20    4  5

source

`,7))]),i("details",U,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.Lookups.Contains",href:"#DimensionalData.Dimensions.Lookups.Contains"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Contains")],-1)),s[91]||(s[91]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[92]||(s[92]=t(`
julia
Contains <: IntSelector
+ 20    4  5

source

`,7))]),i("details",U,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.Lookups.Contains",href:"#DimensionalData.Dimensions.Lookups.Contains"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Contains")],-1)),s[91]||(s[91]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[92]||(s[92]=t(`
julia
Contains <: IntSelector
 
 Contains(x)
 Contains(a, b)

Selector that selects the interval the value is contained by. If the interval is not present in the lookup, an error will be thrown.

Can only be used for Intervals or Categorical. For Categorical it falls back to using At. Contains should not be confused with Base.contains - use Where(contains(x)) to check for if values are contain in categorical values like strings.

x can be any value to select a single index, or a Vector of values to select vector of indices. If two values a and b are used, the range between them will be selected.

Example

julia
using DimensionalData; const DD = DimensionalData
@@ -143,7 +143,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 A[X(Contains(8)), Y(Contains(6.8))]
 
 # output
-3

source

`,7))]),i("details",X,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.Lookups.Where",href:"#DimensionalData.Dimensions.Lookups.Where"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Where")],-1)),s[94]||(s[94]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[95]||(s[95]=t(`
julia
Where <: ArraySelector
+3

source

`,7))]),i("details",X,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.Lookups.Where",href:"#DimensionalData.Dimensions.Lookups.Where"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Where")],-1)),s[94]||(s[94]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[95]||(s[95]=t(`
julia
Where <: ArraySelector
 
 Where(f::Function)

Selector that filters a dimension lookup by any function that accepts a single value and returns a Bool.

Example

julia
using DimensionalData
 
@@ -159,7 +159,7 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
  Y Sampled{Int64} [19, 21] ForwardOrdered Irregular Points
 └─────────────────────────────────────────────────────────────┘
   19  21
- 20     4   6

source

`,5))]),i("details",Y,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.Dimensions.Lookups.All",href:"#DimensionalData.Dimensions.Lookups.All"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.All")],-1)),s[97]||(s[97]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[98]||(s[98]=t(`
julia
All <: Selector
+ 20     4   6

source

`,5))]),i("details",Y,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.Dimensions.Lookups.All",href:"#DimensionalData.Dimensions.Lookups.All"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.All")],-1)),s[97]||(s[97]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[98]||(s[98]=t(`
julia
All <: Selector
 
 All(selectors::Selector...)

Selector that combines the results of other selectors. The indices used will be the union of all result sorted in ascending order.

Example

julia
using DimensionalData, Unitful
 
@@ -177,42 +177,42 @@ import{_ as l,c as p,j as i,a,G as e,a4 as t,B as o,o as h}from"./chunks/framewo
 └──────────────────────────────────────────────────────────────────────────────┘
   1 s  6 s  91 s  96 s
  10.0    1    2    19    20
- 50.0    3    6    57    60

source

`,5))]),s[178]||(s[178]=i("h2",{id:"Lookup-traits",tabindex:"-1"},[a("Lookup traits "),i("a",{class:"header-anchor",href:"#Lookup-traits","aria-label":'Permalink to "Lookup traits {#Lookup-traits}"'},"​")],-1)),i("details",V,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.Dimensions.Lookups.LookupTrait",href:"#DimensionalData.Dimensions.Lookups.LookupTrait"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.LookupTrait")],-1)),s[100]||(s[100]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[101]||(s[101]=t('
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source

',5))]),s[179]||(s[179]=i("h3",{id:"order",tabindex:"-1"},[a("Order "),i("a",{class:"header-anchor",href:"#order","aria-label":'Permalink to "Order"'},"​")],-1)),i("details",W,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.Dimensions.Lookups.Order",href:"#DimensionalData.Dimensions.Lookups.Order"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Order")],-1)),s[103]||(s[103]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[104]||(s[104]=t('
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source

',3))]),i("details",G,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.Dimensions.Lookups.Ordered",href:"#DimensionalData.Dimensions.Lookups.Ordered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Ordered")],-1)),s[106]||(s[106]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[107]||(s[107]=t('
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source

',3))]),i("details",K,[i("summary",null,[s[108]||(s[108]=i("a",{id:"DimensionalData.Dimensions.Lookups.ForwardOrdered",href:"#DimensionalData.Dimensions.Lookups.ForwardOrdered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ForwardOrdered")],-1)),s[109]||(s[109]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[110]||(s[110]=t(`
julia
ForwardOrdered <: Ordered
+ 50.0    3    6    57    60

source

`,5))]),s[178]||(s[178]=i("h2",{id:"Lookup-traits",tabindex:"-1"},[a("Lookup traits "),i("a",{class:"header-anchor",href:"#Lookup-traits","aria-label":'Permalink to "Lookup traits {#Lookup-traits}"'},"​")],-1)),i("details",V,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.Dimensions.Lookups.LookupTrait",href:"#DimensionalData.Dimensions.Lookups.LookupTrait"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.LookupTrait")],-1)),s[100]||(s[100]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[101]||(s[101]=t('
julia
LookupTrait

Abstract supertype of all traits of a Lookup.

These modify the behaviour of the lookup index.

The term "Trait" is used loosely - these may be fields of an object of traits hard-coded to specific types.

source

',5))]),s[179]||(s[179]=i("h3",{id:"order",tabindex:"-1"},[a("Order "),i("a",{class:"header-anchor",href:"#order","aria-label":'Permalink to "Order"'},"​")],-1)),i("details",W,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.Dimensions.Lookups.Order",href:"#DimensionalData.Dimensions.Lookups.Order"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Order")],-1)),s[103]||(s[103]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[104]||(s[104]=t('
julia
Order <: LookupTrait

Traits for the order of a Lookup. These determine how searchsorted finds values in the index, and how objects are plotted.

source

',3))]),i("details",G,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.Dimensions.Lookups.Ordered",href:"#DimensionalData.Dimensions.Lookups.Ordered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Ordered")],-1)),s[106]||(s[106]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[107]||(s[107]=t('
julia
Ordered <: Order

Supertype for the order of an ordered Lookup, including ForwardOrdered and ReverseOrdered.

source

',3))]),i("details",K,[i("summary",null,[s[108]||(s[108]=i("a",{id:"DimensionalData.Dimensions.Lookups.ForwardOrdered",href:"#DimensionalData.Dimensions.Lookups.ForwardOrdered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ForwardOrdered")],-1)),s[109]||(s[109]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[110]||(s[110]=t(`
julia
ForwardOrdered <: Ordered
 
-ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source

`,3))]),i("details",$,[i("summary",null,[s[111]||(s[111]=i("a",{id:"DimensionalData.Dimensions.Lookups.ReverseOrdered",href:"#DimensionalData.Dimensions.Lookups.ReverseOrdered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ReverseOrdered")],-1)),s[112]||(s[112]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[113]||(s[113]=t(`
julia
ReverseOrdered <: Ordered
+ForwardOrdered()

Indicates that the Lookup index is in the normal forward order.

source

`,3))]),i("details",$,[i("summary",null,[s[111]||(s[111]=i("a",{id:"DimensionalData.Dimensions.Lookups.ReverseOrdered",href:"#DimensionalData.Dimensions.Lookups.ReverseOrdered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.ReverseOrdered")],-1)),s[112]||(s[112]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[113]||(s[113]=t(`
julia
ReverseOrdered <: Ordered
 
-ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source

`,3))]),i("details",H,[i("summary",null,[s[114]||(s[114]=i("a",{id:"DimensionalData.Dimensions.Lookups.Unordered",href:"#DimensionalData.Dimensions.Lookups.Unordered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Unordered")],-1)),s[115]||(s[115]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[116]||(s[116]=t(`
julia
Unordered <: Order
+ReverseOrdered()

Indicates that the Lookup index is in the reverse order.

source

`,3))]),i("details",H,[i("summary",null,[s[114]||(s[114]=i("a",{id:"DimensionalData.Dimensions.Lookups.Unordered",href:"#DimensionalData.Dimensions.Lookups.Unordered"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Unordered")],-1)),s[115]||(s[115]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[116]||(s[116]=t(`
julia
Unordered <: Order
 
-Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source

`,4))]),i("details",J,[i("summary",null,[s[117]||(s[117]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoOrder",href:"#DimensionalData.Dimensions.Lookups.AutoOrder"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoOrder")],-1)),s[118]||(s[118]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[119]||(s[119]=t(`
julia
AutoOrder <: Order
+Unordered()

Indicates that Lookup is unordered.

This means the index cannot be searched with searchsortedfirst or similar optimised methods - instead it will use findfirst.

source

`,4))]),i("details",J,[i("summary",null,[s[117]||(s[117]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoOrder",href:"#DimensionalData.Dimensions.Lookups.AutoOrder"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoOrder")],-1)),s[118]||(s[118]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[119]||(s[119]=t(`
julia
AutoOrder <: Order
 
-AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source

`,3))]),s[180]||(s[180]=i("h3",{id:"span",tabindex:"-1"},[a("Span "),i("a",{class:"header-anchor",href:"#span","aria-label":'Permalink to "Span"'},"​")],-1)),i("details",Q,[i("summary",null,[s[120]||(s[120]=i("a",{id:"DimensionalData.Dimensions.Lookups.Span",href:"#DimensionalData.Dimensions.Lookups.Span"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Span")],-1)),s[121]||(s[121]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[122]||(s[122]=t('
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source

',3))]),i("details",Z,[i("summary",null,[s[123]||(s[123]=i("a",{id:"DimensionalData.Dimensions.Lookups.Regular",href:"#DimensionalData.Dimensions.Lookups.Regular"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Regular")],-1)),s[124]||(s[124]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[125]||(s[125]=t(`
julia
Regular <: Span
+AutoOrder()

Specifies that the Order of a Lookup will be found automatically where possible.

source

`,3))]),s[180]||(s[180]=i("h3",{id:"span",tabindex:"-1"},[a("Span "),i("a",{class:"header-anchor",href:"#span","aria-label":'Permalink to "Span"'},"​")],-1)),i("details",Q,[i("summary",null,[s[120]||(s[120]=i("a",{id:"DimensionalData.Dimensions.Lookups.Span",href:"#DimensionalData.Dimensions.Lookups.Span"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Span")],-1)),s[121]||(s[121]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[122]||(s[122]=t('
julia
Span <: LookupTrait

Defines the type of span used in a Sampling index. These are Regular or Irregular.

source

',3))]),i("details",Z,[i("summary",null,[s[123]||(s[123]=i("a",{id:"DimensionalData.Dimensions.Lookups.Regular",href:"#DimensionalData.Dimensions.Lookups.Regular"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Regular")],-1)),s[124]||(s[124]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[125]||(s[125]=t(`
julia
Regular <: Span
 
-Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source

`,3))]),i("details",_,[i("summary",null,[s[126]||(s[126]=i("a",{id:"DimensionalData.Dimensions.Lookups.Irregular",href:"#DimensionalData.Dimensions.Lookups.Irregular"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Irregular")],-1)),s[127]||(s[127]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[128]||(s[128]=t(`
julia
Irregular <: Span
+Regular(step=AutoStep())

Points or Intervals that have a fixed, regular step.

source

`,3))]),i("details",_,[i("summary",null,[s[126]||(s[126]=i("a",{id:"DimensionalData.Dimensions.Lookups.Irregular",href:"#DimensionalData.Dimensions.Lookups.Irregular"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Irregular")],-1)),s[127]||(s[127]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[128]||(s[128]=t(`
julia
Irregular <: Span
 
 Irregular(bounds::Tuple)
-Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source

`,3))]),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"DimensionalData.Dimensions.Lookups.Explicit",href:"#DimensionalData.Dimensions.Lookups.Explicit"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Explicit")],-1)),s[130]||(s[130]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[131]||(s[131]=t('
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source

',4))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoSpan",href:"#DimensionalData.Dimensions.Lookups.AutoSpan"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoSpan")],-1)),s[133]||(s[133]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[134]||(s[134]=t(`
julia
AutoSpan <: Span
+Irregular(lowerbound, upperbound)

Points or Intervals that have an Irregular step size. To enable bounds tracking and accurate selectors, the starting bounds are provided as a 2 tuple, or 2 arguments. (nothing, nothing) is acceptable input, the bounds will be guessed from the index, but may be inaccurate.

source

`,3))]),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"DimensionalData.Dimensions.Lookups.Explicit",href:"#DimensionalData.Dimensions.Lookups.Explicit"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Explicit")],-1)),s[130]||(s[130]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[131]||(s[131]=t('
julia
Explicit(bounds::AbstractMatrix)

Intervals where the span is explicitly listed for every interval.

This uses a matrix where with length 2 columns for each index value, holding the lower and upper bounds for that specific index.

source

',4))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoSpan",href:"#DimensionalData.Dimensions.Lookups.AutoSpan"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoSpan")],-1)),s[133]||(s[133]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[134]||(s[134]=t(`
julia
AutoSpan <: Span
 
-AutoSpan()

The span will be guessed and replaced in format or set.

source

`,3))]),s[181]||(s[181]=i("h3",{id:"sampling",tabindex:"-1"},[a("Sampling "),i("a",{class:"header-anchor",href:"#sampling","aria-label":'Permalink to "Sampling"'},"​")],-1)),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"DimensionalData.Dimensions.Lookups.Sampling",href:"#DimensionalData.Dimensions.Lookups.Sampling"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Sampling")],-1)),s[136]||(s[136]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[137]||(s[137]=t('
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source

',3))]),i("details",ns,[i("summary",null,[s[138]||(s[138]=i("a",{id:"DimensionalData.Dimensions.Lookups.Points",href:"#DimensionalData.Dimensions.Lookups.Points"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Points")],-1)),s[139]||(s[139]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[140]||(s[140]=t(`
julia
Points <: Sampling
+AutoSpan()

The span will be guessed and replaced in format or set.

source

`,3))]),s[181]||(s[181]=i("h3",{id:"sampling",tabindex:"-1"},[a("Sampling "),i("a",{class:"header-anchor",href:"#sampling","aria-label":'Permalink to "Sampling"'},"​")],-1)),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"DimensionalData.Dimensions.Lookups.Sampling",href:"#DimensionalData.Dimensions.Lookups.Sampling"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Sampling")],-1)),s[136]||(s[136]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[137]||(s[137]=t('
julia
Sampling <: LookupTrait

Indicates the sampling method used by the index: Points or Intervals.

source

',3))]),i("details",ns,[i("summary",null,[s[138]||(s[138]=i("a",{id:"DimensionalData.Dimensions.Lookups.Points",href:"#DimensionalData.Dimensions.Lookups.Points"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Points")],-1)),s[139]||(s[139]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[140]||(s[140]=t(`
julia
Points <: Sampling
 
-Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source

`,4))]),i("details",es,[i("summary",null,[s[141]||(s[141]=i("a",{id:"DimensionalData.Dimensions.Lookups.Intervals",href:"#DimensionalData.Dimensions.Lookups.Intervals"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Intervals")],-1)),s[142]||(s[142]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[143]||(s[143]=t(`
julia
Intervals <: Sampling
+Points()

Sampling lookup where single samples at exact points.

These are always plotted at the center of array cells.

source

`,4))]),i("details",es,[i("summary",null,[s[141]||(s[141]=i("a",{id:"DimensionalData.Dimensions.Lookups.Intervals",href:"#DimensionalData.Dimensions.Lookups.Intervals"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Intervals")],-1)),s[142]||(s[142]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[143]||(s[143]=t(`
julia
Intervals <: Sampling
 
-Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source

`,4))]),s[182]||(s[182]=i("h3",{id:"positions",tabindex:"-1"},[a("Positions "),i("a",{class:"header-anchor",href:"#positions","aria-label":'Permalink to "Positions"'},"​")],-1)),i("details",ts,[i("summary",null,[s[144]||(s[144]=i("a",{id:"DimensionalData.Dimensions.Lookups.Position",href:"#DimensionalData.Dimensions.Lookups.Position"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Position")],-1)),s[145]||(s[145]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[146]||(s[146]=t('
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source

',5))]),i("details",ls,[i("summary",null,[s[147]||(s[147]=i("a",{id:"DimensionalData.Dimensions.Lookups.Center",href:"#DimensionalData.Dimensions.Lookups.Center"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Center")],-1)),s[148]||(s[148]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[149]||(s[149]=t(`
julia
Center <: Position
+Intervals(locus::Position)

Sampling specifying that sampled values are the mean (or similar) value over an interval, rather than at one specific point.

Intervals require a locus of Start, Center or End to define the location in the interval that the index values refer to.

source

`,4))]),s[182]||(s[182]=i("h3",{id:"positions",tabindex:"-1"},[a("Positions "),i("a",{class:"header-anchor",href:"#positions","aria-label":'Permalink to "Positions"'},"​")],-1)),i("details",ts,[i("summary",null,[s[144]||(s[144]=i("a",{id:"DimensionalData.Dimensions.Lookups.Position",href:"#DimensionalData.Dimensions.Lookups.Position"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Position")],-1)),s[145]||(s[145]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[146]||(s[146]=t('
julia
Position <: LookupTrait

Abstract supertype of types that indicate the locus of index values where they represent Intervals.

These allow for values array cells to align with the Start, Center, or End of values in the lookup index.

This means they can be plotted with correct axis markers, and allows automatic conversions to between formats with different standards (such as NetCDF and GeoTiff).

source

',5))]),i("details",ls,[i("summary",null,[s[147]||(s[147]=i("a",{id:"DimensionalData.Dimensions.Lookups.Center",href:"#DimensionalData.Dimensions.Lookups.Center"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Center")],-1)),s[148]||(s[148]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[149]||(s[149]=t(`
julia
Center <: Position
 
-Center()

Used to specify lookup values correspond to the center locus in an interval.

source

`,3))]),i("details",ps,[i("summary",null,[s[150]||(s[150]=i("a",{id:"DimensionalData.Dimensions.Lookups.Start",href:"#DimensionalData.Dimensions.Lookups.Start"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Start")],-1)),s[151]||(s[151]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[152]||(s[152]=t(`
julia
Start <: Position
+Center()

Used to specify lookup values correspond to the center locus in an interval.

source

`,3))]),i("details",ps,[i("summary",null,[s[150]||(s[150]=i("a",{id:"DimensionalData.Dimensions.Lookups.Start",href:"#DimensionalData.Dimensions.Lookups.Start"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Start")],-1)),s[151]||(s[151]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[152]||(s[152]=t(`
julia
Start <: Position
 
-Start()

Used to specify lookup values correspond to the start locus of an interval.

source

`,3))]),i("details",os,[i("summary",null,[s[153]||(s[153]=i("a",{id:"DimensionalData.Dimensions.Lookups.Begin",href:"#DimensionalData.Dimensions.Lookups.Begin"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Begin")],-1)),s[154]||(s[154]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[155]||(s[155]=t(`
julia
Begin <: Position
+Start()

Used to specify lookup values correspond to the start locus of an interval.

source

`,3))]),i("details",os,[i("summary",null,[s[153]||(s[153]=i("a",{id:"DimensionalData.Dimensions.Lookups.Begin",href:"#DimensionalData.Dimensions.Lookups.Begin"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Begin")],-1)),s[154]||(s[154]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[155]||(s[155]=t(`
julia
Begin <: Position
 
-Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source

`,4))]),i("details",hs,[i("summary",null,[s[156]||(s[156]=i("a",{id:"DimensionalData.Dimensions.Lookups.End",href:"#DimensionalData.Dimensions.Lookups.End"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.End")],-1)),s[157]||(s[157]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[158]||(s[158]=t(`
julia
End <: Position
+Begin()

Used to specify the begin index of a Dimension axis, as regular begin will not work with named dimensions.

Can be used with : to create a BeginEndRange or BeginEndStepRange.

source

`,4))]),i("details",hs,[i("summary",null,[s[156]||(s[156]=i("a",{id:"DimensionalData.Dimensions.Lookups.End",href:"#DimensionalData.Dimensions.Lookups.End"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.End")],-1)),s[157]||(s[157]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[158]||(s[158]=t(`
julia
End <: Position
 
-End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source

`,4))]),i("details",ks,[i("summary",null,[s[159]||(s[159]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoPosition",href:"#DimensionalData.Dimensions.Lookups.AutoPosition"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoPosition")],-1)),s[160]||(s[160]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[161]||(s[161]=t(`
julia
AutoPosition <: Position
+End()

Used to specify the end index of a Dimension axis, as regular end will not work with named dimensions. Can be used with : to create a BeginEndRange or BeginEndStepRange.

Also used to specify lookup values correspond to the end locus of an interval.

source

`,4))]),i("details",ks,[i("summary",null,[s[159]||(s[159]=i("a",{id:"DimensionalData.Dimensions.Lookups.AutoPosition",href:"#DimensionalData.Dimensions.Lookups.AutoPosition"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AutoPosition")],-1)),s[160]||(s[160]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[161]||(s[161]=t(`
julia
AutoPosition <: Position
 
-AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source

`,3))]),s[183]||(s[183]=i("h2",{id:"metadata",tabindex:"-1"},[a("Metadata "),i("a",{class:"header-anchor",href:"#metadata","aria-label":'Permalink to "Metadata"'},"​")],-1)),i("details",rs,[i("summary",null,[s[162]||(s[162]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractMetadata",href:"#DimensionalData.Dimensions.Lookups.AbstractMetadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractMetadata")],-1)),s[163]||(s[163]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[164]||(s[164]=t('
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source

',5))]),i("details",ds,[i("summary",null,[s[165]||(s[165]=i("a",{id:"DimensionalData.Dimensions.Lookups.Metadata",href:"#DimensionalData.Dimensions.Lookups.Metadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Metadata")],-1)),s[166]||(s[166]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[167]||(s[167]=t(`
julia
Metadata <: AbstractMetadata
+AutoPosition()

Indicates a interval where the index locus is not yet known. This will be filled with a default value on object construction.

source

`,3))]),s[183]||(s[183]=i("h2",{id:"metadata",tabindex:"-1"},[a("Metadata "),i("a",{class:"header-anchor",href:"#metadata","aria-label":'Permalink to "Metadata"'},"​")],-1)),i("details",rs,[i("summary",null,[s[162]||(s[162]=i("a",{id:"DimensionalData.Dimensions.Lookups.AbstractMetadata",href:"#DimensionalData.Dimensions.Lookups.AbstractMetadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.AbstractMetadata")],-1)),s[163]||(s[163]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[164]||(s[164]=t('
julia
AbstractMetadata{X,T}

Abstract supertype for all metadata wrappers.

Metadata wrappers allow tracking the contents and origin of metadata. This can facilitate conversion between metadata types (for saving a file to a different format) or simply saving data back to the same file type with identical metadata.

Using a wrapper instead of Dict or NamedTuple also lets us pass metadata objects to set without ambiguity about where to put them.

source

',5))]),i("details",ds,[i("summary",null,[s[165]||(s[165]=i("a",{id:"DimensionalData.Dimensions.Lookups.Metadata",href:"#DimensionalData.Dimensions.Lookups.Metadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.Metadata")],-1)),s[166]||(s[166]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[167]||(s[167]=t(`
julia
Metadata <: AbstractMetadata
 
 Metadata{X}(val::Union{Dict,NamedTuple})
 Metadata{X}(pairs::Pair...) => Metadata{Dict}
-Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source

`,3))]),i("details",gs,[i("summary",null,[s[168]||(s[168]=i("a",{id:"DimensionalData.Dimensions.Lookups.NoMetadata",href:"#DimensionalData.Dimensions.Lookups.NoMetadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.NoMetadata")],-1)),s[169]||(s[169]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[170]||(s[170]=t(`
julia
NoMetadata <: AbstractMetadata
+Metadata{X}(; kw...) => Metadata{NamedTuple}

General Metadata object. The X type parameter categorises the metadata for method dispatch, if required.

source

`,3))]),i("details",gs,[i("summary",null,[s[168]||(s[168]=i("a",{id:"DimensionalData.Dimensions.Lookups.NoMetadata",href:"#DimensionalData.Dimensions.Lookups.NoMetadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.NoMetadata")],-1)),s[169]||(s[169]=a()),e(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[170]||(s[170]=t(`
julia
NoMetadata <: AbstractMetadata
 
-NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source

`,3))]),i("details",cs,[i("summary",null,[s[171]||(s[171]=i("a",{id:"DimensionalData.Dimensions.Lookups.units",href:"#DimensionalData.Dimensions.Lookups.units"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.units")],-1)),s[172]||(s[172]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[173]||(s[173]=t(`
julia
units(x) => Union{Nothing,Any}
+NoMetadata()

Indicates an object has no metadata. But unlike using nothing, get, keys and haskey will still work on it, get always returning the fallback argument. keys returns () while haskey always returns false.

source

`,3))]),i("details",cs,[i("summary",null,[s[171]||(s[171]=i("a",{id:"DimensionalData.Dimensions.Lookups.units",href:"#DimensionalData.Dimensions.Lookups.units"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.units")],-1)),s[172]||(s[172]=a()),e(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[173]||(s[173]=t(`
julia
units(x) => Union{Nothing,Any}
 units(xs:Tuple) => Tuple
 unit(A::AbstractDimArray, dims::Tuple) => Tuple
-unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,5))])])}const fs=l(k,[["render",us]]);export{bs as __pageData,fs as default}; +unit(A::AbstractDimArray, dim) => Union{Nothing,Any}

Get the units of an array or Dimension, or a tuple of of either.

Units do not have a set field, and may or may not be included in metadata. This method is to facilitate use in labels and plots when units are available, not a guarantee that they will be. If not available, nothing is returned.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,5))])])}const fs=l(k,[["render",us]]);export{bs as __pageData,fs as default}; diff --git a/dev/assets/api_reference.md.Cbzd03zL.js b/dev/assets/api_reference.md.CbFETIiO.js similarity index 98% rename from dev/assets/api_reference.md.Cbzd03zL.js rename to dev/assets/api_reference.md.CbFETIiO.js index ce337a054..b7f4d5607 100644 --- a/dev/assets/api_reference.md.Cbzd03zL.js +++ b/dev/assets/api_reference.md.CbFETIiO.js @@ -1,4 +1,4 @@ -import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framework.B8l2DGq3.js";const ms=JSON.parse('{"title":"API Reference","description":"","frontmatter":{},"headers":[],"relativePath":"api/reference.md","filePath":"api/reference.md","lastUpdated":null}'),d={name:"api/reference.md"},r={class:"jldocstring custom-block",open:""},o={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""};function os(gs,s,Es,ys,cs,Fs){const n=k("Badge");return p(),h("div",null,[s[165]||(s[165]=i("h1",{id:"API-Reference",tabindex:"-1"},[a("API Reference "),i("a",{class:"header-anchor",href:"#API-Reference","aria-label":'Permalink to "API Reference {#API-Reference}"'},"​")],-1)),s[166]||(s[166]=i("h2",{id:"arrays",tabindex:"-1"},[a("Arrays "),i("a",{class:"header-anchor",href:"#arrays","aria-label":'Permalink to "Arrays"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.AbstractBasicDimArray",href:"#DimensionalData.AbstractBasicDimArray"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractBasicDimArray")],-1)),s[1]||(s[1]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=l('
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source

',4))]),i("details",o,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.AbstractDimArray",href:"#DimensionalData.AbstractDimArray"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimArray")],-1)),s[4]||(s[4]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=l('
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source

',8))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.DimArray",href:"#DimensionalData.DimArray"},[i("span",{class:"jlbinding"},"DimensionalData.DimArray")],-1)),s[7]||(s[7]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=l(`
julia
DimArray <: AbstractDimArray
+import{_ as h,c as e,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framework.BAAK0EyE.js";const ms=JSON.parse('{"title":"API Reference","description":"","frontmatter":{},"headers":[],"relativePath":"api/reference.md","filePath":"api/reference.md","lastUpdated":null}'),r={name:"api/reference.md"},d={class:"jldocstring custom-block",open:""},o={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""};function os(gs,s,Es,ys,cs,Fs){const n=k("Badge");return p(),e("div",null,[s[165]||(s[165]=i("h1",{id:"API-Reference",tabindex:"-1"},[a("API Reference "),i("a",{class:"header-anchor",href:"#API-Reference","aria-label":'Permalink to "API Reference {#API-Reference}"'},"​")],-1)),s[166]||(s[166]=i("h2",{id:"arrays",tabindex:"-1"},[a("Arrays "),i("a",{class:"header-anchor",href:"#arrays","aria-label":'Permalink to "Arrays"'},"​")],-1)),i("details",d,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.AbstractBasicDimArray",href:"#DimensionalData.AbstractBasicDimArray"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractBasicDimArray")],-1)),s[1]||(s[1]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=l('
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source

',4))]),i("details",o,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.AbstractDimArray",href:"#DimensionalData.AbstractDimArray"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimArray")],-1)),s[4]||(s[4]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=l('
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source

',8))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.DimArray",href:"#DimensionalData.DimArray"},[i("span",{class:"jlbinding"},"DimensionalData.DimArray")],-1)),s[7]||(s[7]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=l(`
julia
DimArray <: AbstractDimArray
 
 DimArray(data, dims, refdims, name, metadata)
 DimArray(data, dims::Tuple; refdims=(), name=NoName(), metadata=NoMetadata())

The main concrete subtype of AbstractDimArray.

DimArray maintains and updates its Dimensions through transformations and moves dimensions to reference dimension refdims after reducing operations (like e.g. mean).

Arguments

  • data: An AbstractArray.

  • dims: A Tuple of Dimension

  • name: A string name for the array. Shows in plots and tables.

  • refdims: refence dimensions. Usually set programmatically to track past slices and reductions of dimension for labelling and reconstruction.

  • metadata: Dict or Metadata object, or NoMetadata()

Indexing can be done with all regular indices, or with Dimensions and/or Selectors.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

Example:

julia
julia> using Dates, DimensionalData
@@ -27,7 +27,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
  20  0.774092
  30  0.823656
  40  0.637077
- 50  0.692235

source

`,10))]),s[167]||(s[167]=i("p",null,[a("Shorthand "),i("code",null,"AbstractDimArray"),a(" constructors:")],-1)),i("details",E,[i("summary",null,[s[9]||(s[9]=i("a",{id:"Base.fill",href:"#Base.fill"},[i("span",{class:"jlbinding"},"Base.fill")],-1)),s[10]||(s[10]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=l(`
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
+ 50  0.692235

source

`,10))]),s[167]||(s[167]=i("p",null,[a("Shorthand "),i("code",null,"AbstractDimArray"),a(" constructors:")],-1)),i("details",E,[i("summary",null,[s[9]||(s[9]=i("a",{id:"Base.fill",href:"#Base.fill"},[i("span",{class:"jlbinding"},"Base.fill")],-1)),s[10]||(s[10]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=l(`
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
 Base.fill(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray with a fill value of x.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData, Random; Random.seed!(123);
 
 julia> rand(Bool, X(2), Y(4))
@@ -37,7 +37,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
  X,  Y
 └──────────────────────┘
  0  0  0  0
- 1  0  0  1

source

`,8))]),i("details",y,[i("summary",null,[s[12]||(s[12]=i("a",{id:"Base.rand",href:"#Base.rand"},[i("span",{class:"jlbinding"},"Base.rand")],-1)),s[13]||(s[13]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=l(`
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
+ 1  0  0  1

source

`,8))]),i("details",y,[i("summary",null,[s[12]||(s[12]=i("a",{id:"Base.rand",href:"#Base.rand"},[i("span",{class:"jlbinding"},"Base.rand")],-1)),s[13]||(s[13]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=l(`
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
 Base.rand(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Dimension...; kw...) => DimArray

Create a DimArray of random values.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
@@ -61,7 +61,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   100.0       150.0       200.0
   :a    0.443494    0.253849    0.867547
   :b    0.745673    0.334152    0.0802658
-  :c    0.512083    0.427328    0.311448

source

`,8))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"Base.zeros",href:"#Base.zeros"},[i("span",{class:"jlbinding"},"Base.zeros")],-1)),s[16]||(s[16]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=l(`
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
+  :c    0.512083    0.427328    0.311448

source

`,8))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"Base.zeros",href:"#Base.zeros"},[i("span",{class:"jlbinding"},"Base.zeros")],-1)),s[16]||(s[16]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=l(`
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
 Base.zeros(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of zeros.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> zeros(Bool, X(2), Y(4))
@@ -83,7 +83,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   100.0  150.0  200.0
   :a    0.0    0.0    0.0
   :b    0.0    0.0    0.0
-  :c    0.0    0.0    0.0

source

`,8))]),i("details",F,[i("summary",null,[s[18]||(s[18]=i("a",{id:"Base.ones",href:"#Base.ones"},[i("span",{class:"jlbinding"},"Base.ones")],-1)),s[19]||(s[19]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[20]||(s[20]=l(`
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
+  :c    0.0    0.0    0.0

source

`,8))]),i("details",F,[i("summary",null,[s[18]||(s[18]=i("a",{id:"Base.ones",href:"#Base.ones"},[i("span",{class:"jlbinding"},"Base.ones")],-1)),s[19]||(s[19]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[20]||(s[20]=l(`
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
 Base.ones(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of ones.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> ones(Bool, X(2), Y(4))
@@ -105,8 +105,8 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   100.0  150.0  200.0
   :a    1.0    1.0    1.0
   :b    1.0    1.0    1.0
-  :c    1.0    1.0    1.0

source

`,8))]),s[168]||(s[168]=i("p",null,"Functions for getting information from objects:",-1)),i("details",C,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.dims",href:"#DimensionalData.Dimensions.dims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims")],-1)),s[22]||(s[22]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=l(`
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+  :c    1.0    1.0    1.0

source

`,8))]),s[168]||(s[168]=i("p",null,"Functions for getting information from objects:",-1)),i("details",C,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.dims",href:"#DimensionalData.Dimensions.dims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims")],-1)),s[22]||(s[22]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=l(`
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

  • x: any object with a dims method, or a Tuple of Dimension.

  • query: Tuple or a single Dimension or Dimension Type.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -120,13 +120,13 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
-( X,  Y)

source

`,13))]),i("details",m,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.refdims",href:"#DimensionalData.Dimensions.refdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.refdims")],-1)),s[25]||(s[25]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=l(`
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source

`,5))]),i("details",u,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Lookups.metadata",href:"#DimensionalData.Dimensions.Lookups.metadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.metadata")],-1)),s[28]||(s[28]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=l(`
julia
metadata(x) => (object metadata)
+( X,  Y)

source

`,13))]),i("details",m,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.refdims",href:"#DimensionalData.Dimensions.refdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.refdims")],-1)),s[25]||(s[25]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=l(`
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source

`,5))]),i("details",u,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Lookups.metadata",href:"#DimensionalData.Dimensions.Lookups.metadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.metadata")],-1)),s[28]||(s[28]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=l(`
julia
metadata(x) => (object metadata)
 metadata(x, dims::Tuple)  => Tuple (Dimension metadata)
-metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",D,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.name",href:"#DimensionalData.Dimensions.name"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.name")],-1)),s[31]||(s[31]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[32]||(s[32]=l(`
julia
name(x) => Symbol
+metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",D,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.name",href:"#DimensionalData.Dimensions.name"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.name")],-1)),s[31]||(s[31]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[32]||(s[32]=l(`
julia
name(x) => Symbol
 name(xs:Tuple) => NTuple{N,Symbol}
 name(x, dims::Tuple) => NTuple{N,Symbol}
-name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.otherdims",href:"#DimensionalData.Dimensions.otherdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.otherdims")],-1)),s[34]||(s[34]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[35]||(s[35]=l(`
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.otherdims",href:"#DimensionalData.Dimensions.otherdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.otherdims")],-1)),s[34]||(s[34]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[35]||(s[35]=l(`
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -134,7 +134,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 ( Y,  Z)
 
 julia> otherdims(A, (Y, Z))
-( X)

source

`,8))]),i("details",B,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.dimnum",href:"#DimensionalData.Dimensions.dimnum"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimnum")],-1)),s[37]||(s[37]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=l(`
julia
dimnum(x, query::Tuple) => NTuple{Int}
+( X)

source

`,8))]),i("details",B,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.dimnum",href:"#DimensionalData.Dimensions.dimnum"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimnum")],-1)),s[37]||(s[37]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=l(`
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple, Array or single Dimension or dimension Type.

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -143,7 +143,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source

`,8))]),i("details",A,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.hasdim",href:"#DimensionalData.Dimensions.hasdim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.hasdim")],-1)),s[40]||(s[40]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=l(`
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source

`,8))]),i("details",A,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.hasdim",href:"#DimensionalData.Dimensions.hasdim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.hasdim")],-1)),s[40]||(s[40]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=l(`
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -156,7 +156,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source

`,8))]),s[169]||(s[169]=i("h2",{id:"Multi-array-datasets",tabindex:"-1"},[a("Multi-array datasets "),i("a",{class:"header-anchor",href:"#Multi-array-datasets","aria-label":'Permalink to "Multi-array datasets {#Multi-array-datasets}"'},"​")],-1)),i("details",f,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.AbstractDimStack",href:"#DimensionalData.AbstractDimStack"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimStack")],-1)),s[43]||(s[43]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=l('
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source

',10))]),i("details",j,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.DimStack",href:"#DimensionalData.DimStack"},[i("span",{class:"jlbinding"},"DimensionalData.DimStack")],-1)),s[46]||(s[46]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[47]||(s[47]=l(`
julia
DimStack <: AbstractDimStack
+false

source

`,8))]),s[169]||(s[169]=i("h2",{id:"Multi-array-datasets",tabindex:"-1"},[a("Multi-array datasets "),i("a",{class:"header-anchor",href:"#Multi-array-datasets","aria-label":'Permalink to "Multi-array datasets {#Multi-array-datasets}"'},"​")],-1)),i("details",f,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.AbstractDimStack",href:"#DimensionalData.AbstractDimStack"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimStack")],-1)),s[43]||(s[43]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=l('
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source

',10))]),i("details",j,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.DimStack",href:"#DimensionalData.DimStack"},[i("span",{class:"jlbinding"},"DimensionalData.DimStack")],-1)),s[46]||(s[46]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[47]||(s[47]=l(`
julia
DimStack <: AbstractDimStack
 
 DimStack(data::AbstractDimArray...; kw...)
 DimStack(data::Tuple{Vararg{AbstractDimArray}}; kw...)
@@ -183,7 +183,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 (one = 4.0, two = 8.0, three = 12.0)
 
 julia> s[X(At(:a))] isa DimStack
-true

source

`,16))]),s[170]||(s[170]=i("h2",{id:"Dimension-generators",tabindex:"-1"},[a("Dimension generators "),i("a",{class:"header-anchor",href:"#Dimension-generators","aria-label":'Permalink to "Dimension generators {#Dimension-generators}"'},"​")],-1)),i("details",v,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.DimIndices",href:"#DimensionalData.DimIndices"},[i("span",{class:"jlbinding"},"DimensionalData.DimIndices")],-1)),s[49]||(s[49]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[50]||(s[50]=l(`
julia
DimIndices <: AbstractArray
+true

source

`,16))]),s[170]||(s[170]=i("h2",{id:"Dimension-generators",tabindex:"-1"},[a("Dimension generators "),i("a",{class:"header-anchor",href:"#Dimension-generators","aria-label":'Permalink to "Dimension generators {#Dimension-generators}"'},"​")],-1)),i("details",v,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.DimIndices",href:"#DimensionalData.DimIndices"},[i("span",{class:"jlbinding"},"DimensionalData.DimIndices")],-1)),s[49]||(s[49]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[50]||(s[50]=l(`
julia
DimIndices <: AbstractArray
 
 DimIndices(x)
 DimIndices(dims::Tuple)
@@ -220,7 +220,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 └─────────────────────────────────────────────────────────────────┘
    'a'       'c'
  0.0  0.9063    0.0991336
- 0.6  0.745673  0.692209

source

`,9))]),i("details",w,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.DimSelectors",href:"#DimensionalData.DimSelectors"},[i("span",{class:"jlbinding"},"DimensionalData.DimSelectors")],-1)),s[52]||(s[52]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[53]||(s[53]=l(`
julia
DimSelectors <: AbstractArray
+ 0.6  0.745673  0.692209

source

`,9))]),i("details",w,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.DimSelectors",href:"#DimensionalData.DimSelectors"},[i("span",{class:"jlbinding"},"DimensionalData.DimSelectors")],-1)),s[52]||(s[52]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[53]||(s[53]=l(`
julia
DimSelectors <: AbstractArray
 
 DimSelectors(x; selectors, atol...)
 DimSelectors(dims::Tuple; selectors, atol...)
@@ -238,11 +238,11 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   1.0        11.0       21.0
   1.0  0.691162    0.218579   0.539076
  10.0  0.0303789   0.420756   0.485687
- 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source

`,10))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.DimPoints",href:"#DimensionalData.DimPoints"},[i("span",{class:"jlbinding"},"DimensionalData.DimPoints")],-1)),s[55]||(s[55]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[56]||(s[56]=l(`
julia
DimPoints <: AbstractArray
+ 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source

`,10))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.DimPoints",href:"#DimensionalData.DimPoints"},[i("span",{class:"jlbinding"},"DimensionalData.DimPoints")],-1)),s[55]||(s[55]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[56]||(s[56]=l(`
julia
DimPoints <: AbstractArray
 
 DimPoints(x; order)
 DimPoints(dims::Tuple; order)
-DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source

`,6))]),s[171]||(s[171]=i("h2",{id:"Tables.jl/TableTraits.jl-interface",tabindex:"-1"},[a("Tables.jl/TableTraits.jl interface "),i("a",{class:"header-anchor",href:"#Tables.jl/TableTraits.jl-interface","aria-label":'Permalink to "Tables.jl/TableTraits.jl interface {#Tables.jl/TableTraits.jl-interface}"'},"​")],-1)),i("details",T,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.AbstractDimTable",href:"#DimensionalData.AbstractDimTable"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimTable")],-1)),s[58]||(s[58]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[59]||(s[59]=l('
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source

',3))]),i("details",L,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.DimTable",href:"#DimensionalData.DimTable"},[i("span",{class:"jlbinding"},"DimensionalData.DimTable")],-1)),s[61]||(s[61]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[62]||(s[62]=l(`
julia
DimTable <: AbstractDimTable
+DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source

`,6))]),s[171]||(s[171]=i("h2",{id:"Tables.jl/TableTraits.jl-interface",tabindex:"-1"},[a("Tables.jl/TableTraits.jl interface "),i("a",{class:"header-anchor",href:"#Tables.jl/TableTraits.jl-interface","aria-label":'Permalink to "Tables.jl/TableTraits.jl interface {#Tables.jl/TableTraits.jl-interface}"'},"​")],-1)),i("details",T,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.AbstractDimTable",href:"#DimensionalData.AbstractDimTable"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimTable")],-1)),s[58]||(s[58]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[59]||(s[59]=l('
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source

',3))]),i("details",L,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.DimTable",href:"#DimensionalData.DimTable"},[i("span",{class:"jlbinding"},"DimensionalData.DimTable")],-1)),s[61]||(s[61]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[62]||(s[62]=l(`
julia
DimTable <: AbstractDimTable
 
 DimTable(s::AbstractDimStack; mergedims=nothing)
 DimTable(x::AbstractDimArray; layersfrom=nothing, mergedims=nothing)
@@ -272,7 +272,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 
-julia>

source

`,10))]),s[172]||(s[172]=i("h1",{id:"Group-by-methods",tabindex:"-1"},[a("Group by methods "),i("a",{class:"header-anchor",href:"#Group-by-methods","aria-label":'Permalink to "Group by methods {#Group-by-methods}"'},"​")],-1)),s[173]||(s[173]=i("p",null,"For transforming DimensionalData objects:",-1)),i("details",S,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DataAPI.groupby",href:"#DataAPI.groupby"},[i("span",{class:"jlbinding"},"DataAPI.groupby")],-1)),s[64]||(s[64]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=l(`
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
+julia>

source

`,10))]),s[172]||(s[172]=i("h1",{id:"Group-by-methods",tabindex:"-1"},[a("Group by methods "),i("a",{class:"header-anchor",href:"#Group-by-methods","aria-label":'Permalink to "Group by methods {#Group-by-methods}"'},"​")],-1)),s[173]||(s[173]=i("p",null,"For transforming DimensionalData objects:",-1)),i("details",S,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DataAPI.groupby",href:"#DataAPI.groupby"},[i("span",{class:"jlbinding"},"DataAPI.groupby")],-1)),s[64]||(s[64]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=l(`
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
 groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Dimension{<:Callable}...)

Group A by grouping functions or Bins over multiple dimensions.

Arguments

  • A: any AbstractDimArray or AbstractDimStack.

  • dims: Pairs such as groups = groupby(A, :dimname => groupingfunction) or wrapped Dimensions like groups = groupby(A, DimType(groupingfunction)). Instead of a grouping function Bins can be used to specify group bins.

Return value

A DimGroupByArray is returned, which is basically a regular AbstractDimArray but holding the grouped AbstractDimArray or AbstractDimStack. Its dims hold the sorted values returned by the grouping function/s.

Base julia and package methods work on DimGroupByArray as for any other AbstractArray of AbstractArray.

It is common to broadcast or map a reducing function over groups, such as mean or sum, like mean.(groups) or map(mean, groups). This will return a regular DimArray, or DimGroupByArray if dims keyword is used in the reducing function or it otherwise returns an AbstractDimArray or AbstractDimStack.

Example

Group some data along the time dimension:

julia
julia> using DimensionalData, Dates
 
 julia> A = rand(X(1:0.1:20), Y(1:20), Ti(DateTime(2000):Day(3):DateTime(2003)));
@@ -325,8 +325,8 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 
  10        0.501105     0.500644
  11        0.498606     0.498801
- 12        0.501643     0.499298

source

`,18))]),i("details",I,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.DimGroupByArray",href:"#DimensionalData.DimGroupByArray"},[i("span",{class:"jlbinding"},"DimensionalData.DimGroupByArray")],-1)),s[67]||(s[67]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[68]||(s[68]=l('
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source

',5))]),i("details",O,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Bins",href:"#DimensionalData.Bins"},[i("span",{class:"jlbinding"},"DimensionalData.Bins")],-1)),s[70]||(s[70]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[71]||(s[71]=l(`
julia
Bins(f, bins; labels, pad)
-Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

`,7))]),i("details",N,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.ranges",href:"#DimensionalData.ranges"},[i("span",{class:"jlbinding"},"DimensionalData.ranges")],-1)),s[73]||(s[73]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[74]||(s[74]=l('
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source

',3))]),i("details",q,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.intervals",href:"#DimensionalData.intervals"},[i("span",{class:"jlbinding"},"DimensionalData.intervals")],-1)),s[76]||(s[76]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[77]||(s[77]=l('
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source

',3))]),i("details",z,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.CyclicBins",href:"#DimensionalData.CyclicBins"},[i("span",{class:"jlbinding"},"DimensionalData.CyclicBins")],-1)),s[79]||(s[79]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=l('
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

',7))]),i("details",X,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.seasons",href:"#DimensionalData.seasons"},[i("span",{class:"jlbinding"},"DimensionalData.seasons")],-1)),s[82]||(s[82]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[83]||(s[83]=l('
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected quarters.

source

',5))]),i("details",Y,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.months",href:"#DimensionalData.months"},[i("span",{class:"jlbinding"},"DimensionalData.months")],-1)),s[85]||(s[85]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[86]||(s[86]=l('
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source

',6))]),i("details",P,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.hours",href:"#DimensionalData.hours"},[i("span",{class:"jlbinding"},"DimensionalData.hours")],-1)),s[88]||(s[88]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[89]||(s[89]=l('
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source

',6))]),s[174]||(s[174]=i("h1",{id:"Utility-methods",tabindex:"-1"},[a("Utility methods "),i("a",{class:"header-anchor",href:"#Utility-methods","aria-label":'Permalink to "Utility methods {#Utility-methods}"'},"​")],-1)),s[175]||(s[175]=i("p",null,"For transforming DimensionalData objects:",-1)),i("details",R,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.Lookups.set",href:"#DimensionalData.Dimensions.Lookups.set"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.set")],-1)),s[91]||(s[91]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[92]||(s[92]=l(`
julia
set(x, val)
+ 12        0.501643     0.499298

source

`,18))]),i("details",I,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.DimGroupByArray",href:"#DimensionalData.DimGroupByArray"},[i("span",{class:"jlbinding"},"DimensionalData.DimGroupByArray")],-1)),s[67]||(s[67]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[68]||(s[68]=l('
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source

',5))]),i("details",O,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Bins",href:"#DimensionalData.Bins"},[i("span",{class:"jlbinding"},"DimensionalData.Bins")],-1)),s[70]||(s[70]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[71]||(s[71]=l(`
julia
Bins(f, bins; labels, pad)
+Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

`,7))]),i("details",N,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.ranges",href:"#DimensionalData.ranges"},[i("span",{class:"jlbinding"},"DimensionalData.ranges")],-1)),s[73]||(s[73]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[74]||(s[74]=l('
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source

',3))]),i("details",q,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.intervals",href:"#DimensionalData.intervals"},[i("span",{class:"jlbinding"},"DimensionalData.intervals")],-1)),s[76]||(s[76]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[77]||(s[77]=l('
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source

',3))]),i("details",z,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.CyclicBins",href:"#DimensionalData.CyclicBins"},[i("span",{class:"jlbinding"},"DimensionalData.CyclicBins")],-1)),s[79]||(s[79]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=l('
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

',7))]),i("details",X,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.seasons",href:"#DimensionalData.seasons"},[i("span",{class:"jlbinding"},"DimensionalData.seasons")],-1)),s[82]||(s[82]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[83]||(s[83]=l('
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected quarters.

source

',5))]),i("details",Y,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.months",href:"#DimensionalData.months"},[i("span",{class:"jlbinding"},"DimensionalData.months")],-1)),s[85]||(s[85]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[86]||(s[86]=l('
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source

',6))]),i("details",P,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.hours",href:"#DimensionalData.hours"},[i("span",{class:"jlbinding"},"DimensionalData.hours")],-1)),s[88]||(s[88]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[89]||(s[89]=l('
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source

',6))]),s[174]||(s[174]=i("h1",{id:"Utility-methods",tabindex:"-1"},[a("Utility methods "),i("a",{class:"header-anchor",href:"#Utility-methods","aria-label":'Permalink to "Utility methods {#Utility-methods}"'},"​")],-1)),s[175]||(s[175]=i("p",null,"For transforming DimensionalData objects:",-1)),i("details",R,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.Lookups.set",href:"#DimensionalData.Dimensions.Lookups.set"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.set")],-1)),s[91]||(s[91]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[92]||(s[92]=l(`
julia
set(x, val)
 set(x, args::Pairs...) => x with updated field/s
 set(x, args...; kw...) => x with updated field/s
 set(x, args::Tuple{Vararg{Dimension}}; kw...) => x with updated field/s
@@ -387,11 +387,11 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   -20.0  -10.0  0.0  10.0
  10.0    0.0    0.0  0.0   0.0
  20.0    0.0    0.0  0.0   0.0
- 30.0    0.0    0.0  0.0   0.0

source

`,20))]),i("details",G,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.Lookups.rebuild",href:"#DimensionalData.Dimensions.Lookups.rebuild"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.rebuild")],-1)),s[94]||(s[94]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[95]||(s[95]=l('
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source

',18))]),i("details",V,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.modify",href:"#DimensionalData.modify"},[i("span",{class:"jlbinding"},"DimensionalData.modify")],-1)),s[97]||(s[97]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[98]||(s[98]=l(`
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
+ 30.0    0.0    0.0  0.0   0.0

source

`,20))]),i("details",G,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.Lookups.rebuild",href:"#DimensionalData.Dimensions.Lookups.rebuild"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.rebuild")],-1)),s[94]||(s[94]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[95]||(s[95]=l('
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source

',18))]),i("details",V,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.modify",href:"#DimensionalData.modify"},[i("span",{class:"jlbinding"},"DimensionalData.modify")],-1)),s[97]||(s[97]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[98]||(s[98]=l(`
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
 modify(f, s::AbstractDimStack) => AbstractDimStack
 modify(f, dim::Dimension) => Dimension
 modify(f, x, lookupdim::Dimension) => typeof(x)

Modify the parent data, rebuilding the object wrapper without change. f must return a AbstractArray of the same size as the original.

This method is mostly useful as a way of swapping the parent array type of an object.

Example

If we have a previously-defined DimArray, we can copy it to an Nvidia GPU with:

julia
A = DimArray(rand(100, 100), (X, Y))
-modify(CuArray, A)

This also works for all the data layers in a DimStack.

source

`,8))]),i("details",M,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.@d",href:"#DimensionalData.@d"},[i("span",{class:"jlbinding"},"DimensionalData.@d")],-1)),s[100]||(s[100]=a()),t(n,{type:"info",class:"jlObjectType jlMacro",text:"Macro"})]),s[101]||(s[101]=l(`
julia
@d broadcast_expression options

Dimensional broadcast macro extending Base Julia broadcasting to work with missing and permuted dimensions.

Will permute and resshape singleton dimensions so that all AbstractDimArray in a broadcast will broadcast over matching dimensions.

It is possible to pass options as the second argument of the macro to control the behaviour, as a single assignment or as a NamedTuple. Options names must be written explicitly, not passed in namedtuple variable.

Options

  • dims: Pass a Tuple of Dimensions, Dimension types or Symbols to fix the dimension order of the output array. Otherwise dimensions will be in order of appearance. If dims with lookups are passed, these will be applied to the returned array with set.

  • strict: true or false. Check that all lookup values match explicitly.

All other keywords are passed to DimensionalData.rebuild. This means name, metadata, etc for the returned array can be set here, or for example missingval in Rasters.jl.

Example

julia
using DimensionalData
+modify(CuArray, A)

This also works for all the data layers in a DimStack.

source

`,8))]),i("details",M,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.@d",href:"#DimensionalData.@d"},[i("span",{class:"jlbinding"},"DimensionalData.@d")],-1)),s[100]||(s[100]=a()),t(n,{type:"info",class:"jlObjectType jlMacro",text:"Macro"})]),s[101]||(s[101]=l(`
julia
@d broadcast_expression options

Dimensional broadcast macro extending Base Julia broadcasting to work with missing and permuted dimensions.

Will permute and resshape singleton dimensions so that all AbstractDimArray in a broadcast will broadcast over matching dimensions.

It is possible to pass options as the second argument of the macro to control the behaviour, as a single assignment or as a NamedTuple. Options names must be written explicitly, not passed in namedtuple variable.

Options

  • dims: Pass a Tuple of Dimensions, Dimension types or Symbols to fix the dimension order of the output array. Otherwise dimensions will be in order of appearance. If dims with lookups are passed, these will be applied to the returned array with set.

  • strict: true or false. Check that all lookup values match explicitly.

All other keywords are passed to DimensionalData.rebuild. This means name, metadata, etc for the returned array can be set here, or for example missingval in Rasters.jl.

Example

julia
using DimensionalData
 da1 = ones(X(3))
 da2 = fill(2, Y(4), X(3))
 
@@ -403,7 +403,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 
 @d @. da1 * da2
 # Use parentheses areound \`@.\` if you need to pass options
-@d (@. da1 * da2 .+ 5) dims=(Y, X)

source

`,13))]),i("details",U,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.broadcast_dims",href:"#DimensionalData.broadcast_dims"},[i("span",{class:"jlbinding"},"DimensionalData.broadcast_dims")],-1)),s[103]||(s[103]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[104]||(s[104]=l('
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source

',6))]),i("details",Z,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.broadcast_dims!",href:"#DimensionalData.broadcast_dims!"},[i("span",{class:"jlbinding"},"DimensionalData.broadcast_dims!")],-1)),s[106]||(s[106]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[107]||(s[107]=l('
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source

',6))]),i("details",K,[i("summary",null,[s[108]||(s[108]=i("a",{id:"DimensionalData.mergedims",href:"#DimensionalData.mergedims"},[i("span",{class:"jlbinding"},"DimensionalData.mergedims")],-1)),s[109]||(s[109]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[110]||(s[110]=l(`
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
+@d (@. da1 * da2 .+ 5) dims=(Y, X)

source

`,13))]),i("details",U,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.broadcast_dims",href:"#DimensionalData.broadcast_dims"},[i("span",{class:"jlbinding"},"DimensionalData.broadcast_dims")],-1)),s[103]||(s[103]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[104]||(s[104]=l('
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source

',6))]),i("details",Z,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.broadcast_dims!",href:"#DimensionalData.broadcast_dims!"},[i("span",{class:"jlbinding"},"DimensionalData.broadcast_dims!")],-1)),s[106]||(s[106]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[107]||(s[107]=l('
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source

',6))]),i("details",K,[i("summary",null,[s[108]||(s[108]=i("a",{id:"DimensionalData.mergedims",href:"#DimensionalData.mergedims"},[i("span",{class:"jlbinding"},"DimensionalData.mergedims")],-1)),s[109]||(s[109]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[110]||(s[110]=l(`
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
 
 julia> ds = (X(0:0.1:0.4), Y(10:10:100), Ti([0, 3, 4]))
 ( X  0.0:0.1:0.4,
@@ -412,9 +412,9 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 
 julia> mergedims(ds, (X, Y) => :space)
 ( Ti    [0, 3, 4],
- space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)] ( X,  Y))

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
-mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source

`,11))]),i("details",W,[i("summary",null,[s[111]||(s[111]=i("a",{id:"DimensionalData.unmergedims",href:"#DimensionalData.unmergedims"},[i("span",{class:"jlbinding"},"DimensionalData.unmergedims")],-1)),s[112]||(s[112]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[113]||(s[113]=l(`
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
-unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source

`,6))]),i("details",J,[i("summary",null,[s[114]||(s[114]=i("a",{id:"DimensionalData.reorder",href:"#DimensionalData.reorder"},[i("span",{class:"jlbinding"},"DimensionalData.reorder")],-1)),s[115]||(s[115]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[116]||(s[116]=l(`
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
+ space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)] ( X,  Y))

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
+mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source

`,11))]),i("details",W,[i("summary",null,[s[111]||(s[111]=i("a",{id:"DimensionalData.unmergedims",href:"#DimensionalData.unmergedims"},[i("span",{class:"jlbinding"},"DimensionalData.unmergedims")],-1)),s[112]||(s[112]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[113]||(s[113]=l(`
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
+unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source

`,6))]),i("details",J,[i("summary",null,[s[114]||(s[114]=i("a",{id:"DimensionalData.reorder",href:"#DimensionalData.reorder"},[i("span",{class:"jlbinding"},"DimensionalData.reorder")],-1)),s[115]||(s[115]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[116]||(s[116]=l(`
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
 reorder(A::Union{AbstractDimArray,AbstractDimStack}, order)
 reorder(A::Dimension, order::Order)

Reorder every dims index/array to order, or reorder index for the given dimension(s) in order.

order can be an Order, Dimension => Order pairs. A Tuple of Dimensions or any object that defines dims can be used in which case the dimensions of this object are used for reordering.

If no axis reversal is required the same objects will be returned, without allocation.

Example

julia
using DimensionalData
 
@@ -428,7 +428,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 reorder(rev, da) == da
 
 # output
-true

source

`,7))]),s[176]||(s[176]=i("h1",{id:"Global-lookup-strictness-settings",tabindex:"-1"},[a("Global lookup strictness settings "),i("a",{class:"header-anchor",href:"#Global-lookup-strictness-settings","aria-label":'Permalink to "Global lookup strictness settings {#Global-lookup-strictness-settings}"'},"​")],-1)),s[177]||(s[177]=i("p",null,[a("Control how strict DimensionalData when comparing "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Lookup"},[i("code",null,"Lookup")]),a("s before doing broadcasts and matrix multipications.")],-1)),s[178]||(s[178]=i("p",null,[a("In some cases (especially "),i("code",null,"DimVector"),a(" and small "),i("code",null,"DimArray"),a(") checking lookup values match may be too costly compared to the operations. You can turn check the current setting and turn them on or off with these methods.")],-1)),i("details",$,[i("summary",null,[s[117]||(s[117]=i("a",{id:"DimensionalData.strict_broadcast",href:"#DimensionalData.strict_broadcast"},[i("span",{class:"jlbinding"},"DimensionalData.strict_broadcast")],-1)),s[118]||(s[118]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[119]||(s[119]=l('
julia
strict_broadcast()

Check if strict broadcasting checks are active.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

',6))]),i("details",H,[i("summary",null,[s[120]||(s[120]=i("a",{id:"DimensionalData.strict_broadcast!",href:"#DimensionalData.strict_broadcast!"},[i("span",{class:"jlbinding"},"DimensionalData.strict_broadcast!")],-1)),s[121]||(s[121]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[122]||(s[122]=l('
julia
strict_broadcast!(x::Bool)

Set global broadcasting checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

',6))]),i("details",Q,[i("summary",null,[s[123]||(s[123]=i("a",{id:"DimensionalData.strict_matmul",href:"#DimensionalData.strict_matmul"},[i("span",{class:"jlbinding"},"DimensionalData.strict_matmul")],-1)),s[124]||(s[124]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[125]||(s[125]=l('
julia
strict_matmul()

Check if strickt broadcasting checks are active.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

',5))]),i("details",_,[i("summary",null,[s[126]||(s[126]=i("a",{id:"DimensionalData.strict_matmul!",href:"#DimensionalData.strict_matmul!"},[i("span",{class:"jlbinding"},"DimensionalData.strict_matmul!")],-1)),s[127]||(s[127]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[128]||(s[128]=l('
julia
strict_matmul!(x::Bool)

Set global matrix multiplication checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

',5))]),s[179]||(s[179]=i("p",null,"Base methods",-1)),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"Base.cat",href:"#Base.cat"},[i("span",{class:"jlbinding"},"Base.cat")],-1)),s[130]||(s[130]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[131]||(s[131]=l('
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source

',8))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"Base.copy!",href:"#Base.copy!"},[i("span",{class:"jlbinding"},"Base.copy!")],-1)),s[133]||(s[133]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[134]||(s[134]=l('
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source

',12))]),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"Base.eachslice",href:"#Base.eachslice"},[i("span",{class:"jlbinding"},"Base.eachslice")],-1)),s[136]||(s[136]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[137]||(s[137]=l(`
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
+true

source

`,7))]),s[176]||(s[176]=i("h1",{id:"Global-lookup-strictness-settings",tabindex:"-1"},[a("Global lookup strictness settings "),i("a",{class:"header-anchor",href:"#Global-lookup-strictness-settings","aria-label":'Permalink to "Global lookup strictness settings {#Global-lookup-strictness-settings}"'},"​")],-1)),s[177]||(s[177]=i("p",null,[a("Control how strict DimensionalData when comparing "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Lookup"},[i("code",null,"Lookup")]),a("s before doing broadcasts and matrix multipications.")],-1)),s[178]||(s[178]=i("p",null,[a("In some cases (especially "),i("code",null,"DimVector"),a(" and small "),i("code",null,"DimArray"),a(") checking lookup values match may be too costly compared to the operations. You can turn check the current setting and turn them on or off with these methods.")],-1)),i("details",$,[i("summary",null,[s[117]||(s[117]=i("a",{id:"DimensionalData.strict_broadcast",href:"#DimensionalData.strict_broadcast"},[i("span",{class:"jlbinding"},"DimensionalData.strict_broadcast")],-1)),s[118]||(s[118]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[119]||(s[119]=l('
julia
strict_broadcast()

Check if strict broadcasting checks are active.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

',6))]),i("details",H,[i("summary",null,[s[120]||(s[120]=i("a",{id:"DimensionalData.strict_broadcast!",href:"#DimensionalData.strict_broadcast!"},[i("span",{class:"jlbinding"},"DimensionalData.strict_broadcast!")],-1)),s[121]||(s[121]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[122]||(s[122]=l('
julia
strict_broadcast!(x::Bool)

Set global broadcasting checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

',6))]),i("details",Q,[i("summary",null,[s[123]||(s[123]=i("a",{id:"DimensionalData.strict_matmul",href:"#DimensionalData.strict_matmul"},[i("span",{class:"jlbinding"},"DimensionalData.strict_matmul")],-1)),s[124]||(s[124]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[125]||(s[125]=l('
julia
strict_matmul()

Check if strickt broadcasting checks are active.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

',5))]),i("details",_,[i("summary",null,[s[126]||(s[126]=i("a",{id:"DimensionalData.strict_matmul!",href:"#DimensionalData.strict_matmul!"},[i("span",{class:"jlbinding"},"DimensionalData.strict_matmul!")],-1)),s[127]||(s[127]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[128]||(s[128]=l('
julia
strict_matmul!(x::Bool)

Set global matrix multiplication checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

',5))]),s[179]||(s[179]=i("p",null,"Base methods",-1)),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"Base.cat",href:"#Base.cat"},[i("span",{class:"jlbinding"},"Base.cat")],-1)),s[130]||(s[130]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[131]||(s[131]=l('
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source

',8))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"Base.copy!",href:"#Base.copy!"},[i("span",{class:"jlbinding"},"Base.copy!")],-1)),s[133]||(s[133]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[134]||(s[134]=l('
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source

',12))]),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"Base.eachslice",href:"#Base.eachslice"},[i("span",{class:"jlbinding"},"Base.eachslice")],-1)),s[136]||(s[136]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[137]||(s[137]=l(`
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
            x=DimArray(randn(2, 3, 4), (X([:x1, :x2]), Y(1:3), Z)),
            y=DimArray(randn(2, 3, 5), (X([:x1, :x2]), Y(1:3), Ti))
        ));
@@ -451,13 +451,13 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 ├──────────────────────────────────────────────── layers ┤
   :x eltype: Float64 dims: Y size: 3
   :y eltype: Float64 dims: Y, Ti size: 3×5
-└────────────────────────────────────────────────────────┘

source

`,10))]),s[180]||(s[180]=i("p",null,[a("Most base methods work as expected, using "),i("code",null,"Dimension"),a(" wherever a "),i("code",null,"dims"),a(" keyword is used. They are not all specifically documented here.")],-1)),s[181]||(s[181]=i("h2",{id:"name",tabindex:"-1"},[a("Name "),i("a",{class:"header-anchor",href:"#name","aria-label":'Permalink to "Name"'},"​")],-1)),i("details",ns,[i("summary",null,[s[138]||(s[138]=i("a",{id:"DimensionalData.AbstractName",href:"#DimensionalData.AbstractName"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractName")],-1)),s[139]||(s[139]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[140]||(s[140]=l('
julia
AbstractName

Abstract supertype for name wrappers.

source

',3))]),i("details",ts,[i("summary",null,[s[141]||(s[141]=i("a",{id:"DimensionalData.Name",href:"#DimensionalData.Name"},[i("span",{class:"jlbinding"},"DimensionalData.Name")],-1)),s[142]||(s[142]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[143]||(s[143]=l(`
julia
Name <: AbstractName
+└────────────────────────────────────────────────────────┘

source

`,10))]),s[180]||(s[180]=i("p",null,[a("Most base methods work as expected, using "),i("code",null,"Dimension"),a(" wherever a "),i("code",null,"dims"),a(" keyword is used. They are not all specifically documented here.")],-1)),s[181]||(s[181]=i("h2",{id:"name",tabindex:"-1"},[a("Name "),i("a",{class:"header-anchor",href:"#name","aria-label":'Permalink to "Name"'},"​")],-1)),i("details",ns,[i("summary",null,[s[138]||(s[138]=i("a",{id:"DimensionalData.AbstractName",href:"#DimensionalData.AbstractName"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractName")],-1)),s[139]||(s[139]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[140]||(s[140]=l('
julia
AbstractName

Abstract supertype for name wrappers.

source

',3))]),i("details",ts,[i("summary",null,[s[141]||(s[141]=i("a",{id:"DimensionalData.Name",href:"#DimensionalData.Name"},[i("span",{class:"jlbinding"},"DimensionalData.Name")],-1)),s[142]||(s[142]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[143]||(s[143]=l(`
julia
Name <: AbstractName
 
 Name(name::Union{Symbol,Name) => Name
-Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source

`,3))]),i("details",ls,[i("summary",null,[s[144]||(s[144]=i("a",{id:"DimensionalData.NoName",href:"#DimensionalData.NoName"},[i("span",{class:"jlbinding"},"DimensionalData.NoName")],-1)),s[145]||(s[145]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[146]||(s[146]=l(`
julia
NoName <: AbstractName
+Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source

`,3))]),i("details",ls,[i("summary",null,[s[144]||(s[144]=i("a",{id:"DimensionalData.NoName",href:"#DimensionalData.NoName"},[i("span",{class:"jlbinding"},"DimensionalData.NoName")],-1)),s[145]||(s[145]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[146]||(s[146]=l(`
julia
NoName <: AbstractName
 
-NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source

`,3))]),s[182]||(s[182]=i("h2",{id:"Internal-interface",tabindex:"-1"},[a("Internal interface "),i("a",{class:"header-anchor",href:"#Internal-interface","aria-label":'Permalink to "Internal interface {#Internal-interface}"'},"​")],-1)),i("details",es,[i("summary",null,[s[147]||(s[147]=i("a",{id:"DimensionalData.DimArrayInterface",href:"#DimensionalData.DimArrayInterface"},[i("span",{class:"jlbinding"},"DimensionalData.DimArrayInterface")],-1)),s[148]||(s[148]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[149]||(s[149]=l('
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

',11))]),i("details",hs,[i("summary",null,[s[150]||(s[150]=i("a",{id:"DimensionalData.DimStackInterface",href:"#DimensionalData.DimStackInterface"},[i("span",{class:"jlbinding"},"DimensionalData.DimStackInterface")],-1)),s[151]||(s[151]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[152]||(s[152]=l('
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

',11))]),i("details",ks,[i("summary",null,[s[153]||(s[153]=i("a",{id:"DimensionalData.rebuild_from_arrays",href:"#DimensionalData.rebuild_from_arrays"},[i("span",{class:"jlbinding"},"DimensionalData.rebuild_from_arrays")],-1)),s[154]||(s[154]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[155]||(s[155]=l('
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source

',6))]),i("details",ps,[i("summary",null,[s[156]||(s[156]=i("a",{id:"DimensionalData.show_main",href:"#DimensionalData.show_main"},[i("span",{class:"jlbinding"},"DimensionalData.show_main")],-1)),s[157]||(s[157]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[158]||(s[158]=l(`
julia
show_main(io::IO, mime, A::AbstractDimArray)
-show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source

`,6))]),i("details",ds,[i("summary",null,[s[159]||(s[159]=i("a",{id:"DimensionalData.show_after",href:"#DimensionalData.show_after"},[i("span",{class:"jlbinding"},"DimensionalData.show_after")],-1)),s[160]||(s[160]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[161]||(s[161]=l(`
julia
show_after(io::IO, mime, A::AbstractDimArray)
-show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source

`,11))]),i("details",rs,[i("summary",null,[s[162]||(s[162]=i("a",{id:"DimensionalData.refdims_title",href:"#DimensionalData.refdims_title"},[i("span",{class:"jlbinding"},"DimensionalData.refdims_title")],-1)),s[163]||(s[163]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[164]||(s[164]=l(`
julia
refdims_title(A::AbstractDimArray)
+NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source

`,3))]),s[182]||(s[182]=i("h2",{id:"Internal-interface",tabindex:"-1"},[a("Internal interface "),i("a",{class:"header-anchor",href:"#Internal-interface","aria-label":'Permalink to "Internal interface {#Internal-interface}"'},"​")],-1)),i("details",hs,[i("summary",null,[s[147]||(s[147]=i("a",{id:"DimensionalData.DimArrayInterface",href:"#DimensionalData.DimArrayInterface"},[i("span",{class:"jlbinding"},"DimensionalData.DimArrayInterface")],-1)),s[148]||(s[148]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[149]||(s[149]=l('
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

',11))]),i("details",es,[i("summary",null,[s[150]||(s[150]=i("a",{id:"DimensionalData.DimStackInterface",href:"#DimensionalData.DimStackInterface"},[i("span",{class:"jlbinding"},"DimensionalData.DimStackInterface")],-1)),s[151]||(s[151]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[152]||(s[152]=l('
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

',11))]),i("details",ks,[i("summary",null,[s[153]||(s[153]=i("a",{id:"DimensionalData.rebuild_from_arrays",href:"#DimensionalData.rebuild_from_arrays"},[i("span",{class:"jlbinding"},"DimensionalData.rebuild_from_arrays")],-1)),s[154]||(s[154]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[155]||(s[155]=l('
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source

',6))]),i("details",ps,[i("summary",null,[s[156]||(s[156]=i("a",{id:"DimensionalData.show_main",href:"#DimensionalData.show_main"},[i("span",{class:"jlbinding"},"DimensionalData.show_main")],-1)),s[157]||(s[157]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[158]||(s[158]=l(`
julia
show_main(io::IO, mime, A::AbstractDimArray)
+show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source

`,6))]),i("details",rs,[i("summary",null,[s[159]||(s[159]=i("a",{id:"DimensionalData.show_after",href:"#DimensionalData.show_after"},[i("span",{class:"jlbinding"},"DimensionalData.show_after")],-1)),s[160]||(s[160]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[161]||(s[161]=l(`
julia
show_after(io::IO, mime, A::AbstractDimArray)
+show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source

`,11))]),i("details",ds,[i("summary",null,[s[162]||(s[162]=i("a",{id:"DimensionalData.refdims_title",href:"#DimensionalData.refdims_title"},[i("span",{class:"jlbinding"},"DimensionalData.refdims_title")],-1)),s[163]||(s[163]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[164]||(s[164]=l(`
julia
refdims_title(A::AbstractDimArray)
 refdims_title(refdims::Tuple)
-refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source

`,3))])])}const us=e(d,[["render",os]]);export{ms as __pageData,us as default}; +refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source

`,3))])])}const us=h(r,[["render",os]]);export{ms as __pageData,us as default}; diff --git a/dev/assets/api_reference.md.Cbzd03zL.lean.js b/dev/assets/api_reference.md.CbFETIiO.lean.js similarity index 98% rename from dev/assets/api_reference.md.Cbzd03zL.lean.js rename to dev/assets/api_reference.md.CbFETIiO.lean.js index ce337a054..b7f4d5607 100644 --- a/dev/assets/api_reference.md.Cbzd03zL.lean.js +++ b/dev/assets/api_reference.md.CbFETIiO.lean.js @@ -1,4 +1,4 @@ -import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framework.B8l2DGq3.js";const ms=JSON.parse('{"title":"API Reference","description":"","frontmatter":{},"headers":[],"relativePath":"api/reference.md","filePath":"api/reference.md","lastUpdated":null}'),d={name:"api/reference.md"},r={class:"jldocstring custom-block",open:""},o={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""};function os(gs,s,Es,ys,cs,Fs){const n=k("Badge");return p(),h("div",null,[s[165]||(s[165]=i("h1",{id:"API-Reference",tabindex:"-1"},[a("API Reference "),i("a",{class:"header-anchor",href:"#API-Reference","aria-label":'Permalink to "API Reference {#API-Reference}"'},"​")],-1)),s[166]||(s[166]=i("h2",{id:"arrays",tabindex:"-1"},[a("Arrays "),i("a",{class:"header-anchor",href:"#arrays","aria-label":'Permalink to "Arrays"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.AbstractBasicDimArray",href:"#DimensionalData.AbstractBasicDimArray"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractBasicDimArray")],-1)),s[1]||(s[1]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=l('
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source

',4))]),i("details",o,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.AbstractDimArray",href:"#DimensionalData.AbstractDimArray"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimArray")],-1)),s[4]||(s[4]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=l('
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source

',8))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.DimArray",href:"#DimensionalData.DimArray"},[i("span",{class:"jlbinding"},"DimensionalData.DimArray")],-1)),s[7]||(s[7]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=l(`
julia
DimArray <: AbstractDimArray
+import{_ as h,c as e,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framework.BAAK0EyE.js";const ms=JSON.parse('{"title":"API Reference","description":"","frontmatter":{},"headers":[],"relativePath":"api/reference.md","filePath":"api/reference.md","lastUpdated":null}'),r={name:"api/reference.md"},d={class:"jldocstring custom-block",open:""},o={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""};function os(gs,s,Es,ys,cs,Fs){const n=k("Badge");return p(),e("div",null,[s[165]||(s[165]=i("h1",{id:"API-Reference",tabindex:"-1"},[a("API Reference "),i("a",{class:"header-anchor",href:"#API-Reference","aria-label":'Permalink to "API Reference {#API-Reference}"'},"​")],-1)),s[166]||(s[166]=i("h2",{id:"arrays",tabindex:"-1"},[a("Arrays "),i("a",{class:"header-anchor",href:"#arrays","aria-label":'Permalink to "Arrays"'},"​")],-1)),i("details",d,[i("summary",null,[s[0]||(s[0]=i("a",{id:"DimensionalData.AbstractBasicDimArray",href:"#DimensionalData.AbstractBasicDimArray"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractBasicDimArray")],-1)),s[1]||(s[1]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=l('
julia
AbstractBasicDimArray <: AbstractArray

The abstract supertype for all arrays with a dims method that returns a Tuple of Dimension

Only keyword rebuild is guaranteed to work with AbstractBasicDimArray.

source

',4))]),i("details",o,[i("summary",null,[s[3]||(s[3]=i("a",{id:"DimensionalData.AbstractDimArray",href:"#DimensionalData.AbstractDimArray"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimArray")],-1)),s[4]||(s[4]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=l('
julia
AbstractDimArray <: AbstractBasicArray

Abstract supertype for all "dim" arrays.

These arrays return a Tuple of Dimension from a dims method, and can be rebuilt using rebuild.

parent must return the source array.

They should have metadata, name and refdims methods, although these are optional.

A rebuild method for AbstractDimArray must accept data, dims, refdims, name, metadata arguments.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

source

',8))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"DimensionalData.DimArray",href:"#DimensionalData.DimArray"},[i("span",{class:"jlbinding"},"DimensionalData.DimArray")],-1)),s[7]||(s[7]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=l(`
julia
DimArray <: AbstractDimArray
 
 DimArray(data, dims, refdims, name, metadata)
 DimArray(data, dims::Tuple; refdims=(), name=NoName(), metadata=NoMetadata())

The main concrete subtype of AbstractDimArray.

DimArray maintains and updates its Dimensions through transformations and moves dimensions to reference dimension refdims after reducing operations (like e.g. mean).

Arguments

  • data: An AbstractArray.

  • dims: A Tuple of Dimension

  • name: A string name for the array. Shows in plots and tables.

  • refdims: refence dimensions. Usually set programmatically to track past slices and reductions of dimension for labelling and reconstruction.

  • metadata: Dict or Metadata object, or NoMetadata()

Indexing can be done with all regular indices, or with Dimensions and/or Selectors.

Indexing AbstractDimArray with non-range AbstractArray has undefined effects on the Dimension index. Use forward-ordered arrays only"

Example:

julia
julia> using Dates, DimensionalData
@@ -27,7 +27,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
  20  0.774092
  30  0.823656
  40  0.637077
- 50  0.692235

source

`,10))]),s[167]||(s[167]=i("p",null,[a("Shorthand "),i("code",null,"AbstractDimArray"),a(" constructors:")],-1)),i("details",E,[i("summary",null,[s[9]||(s[9]=i("a",{id:"Base.fill",href:"#Base.fill"},[i("span",{class:"jlbinding"},"Base.fill")],-1)),s[10]||(s[10]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=l(`
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
+ 50  0.692235

source

`,10))]),s[167]||(s[167]=i("p",null,[a("Shorthand "),i("code",null,"AbstractDimArray"),a(" constructors:")],-1)),i("details",E,[i("summary",null,[s[9]||(s[9]=i("a",{id:"Base.fill",href:"#Base.fill"},[i("span",{class:"jlbinding"},"Base.fill")],-1)),s[10]||(s[10]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=l(`
julia
Base.fill(x, dims::Dimension...; kw...) => DimArray
 Base.fill(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray with a fill value of x.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData, Random; Random.seed!(123);
 
 julia> rand(Bool, X(2), Y(4))
@@ -37,7 +37,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
  X,  Y
 └──────────────────────┘
  0  0  0  0
- 1  0  0  1

source

`,8))]),i("details",y,[i("summary",null,[s[12]||(s[12]=i("a",{id:"Base.rand",href:"#Base.rand"},[i("span",{class:"jlbinding"},"Base.rand")],-1)),s[13]||(s[13]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=l(`
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
+ 1  0  0  1

source

`,8))]),i("details",y,[i("summary",null,[s[12]||(s[12]=i("a",{id:"Base.rand",href:"#Base.rand"},[i("span",{class:"jlbinding"},"Base.rand")],-1)),s[13]||(s[13]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=l(`
julia
Base.rand(x, dims::Dimension...; kw...) => DimArray
 Base.rand(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray
 Base.rand(r::AbstractRNG, x, dims::Dimension...; kw...) => DimArray

Create a DimArray of random values.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
@@ -61,7 +61,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   100.0       150.0       200.0
   :a    0.443494    0.253849    0.867547
   :b    0.745673    0.334152    0.0802658
-  :c    0.512083    0.427328    0.311448

source

`,8))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"Base.zeros",href:"#Base.zeros"},[i("span",{class:"jlbinding"},"Base.zeros")],-1)),s[16]||(s[16]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=l(`
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
+  :c    0.512083    0.427328    0.311448

source

`,8))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"Base.zeros",href:"#Base.zeros"},[i("span",{class:"jlbinding"},"Base.zeros")],-1)),s[16]||(s[16]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=l(`
julia
Base.zeros(x, dims::Dimension...; kw...) => DimArray
 Base.zeros(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of zeros.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> zeros(Bool, X(2), Y(4))
@@ -83,7 +83,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   100.0  150.0  200.0
   :a    0.0    0.0    0.0
   :b    0.0    0.0    0.0
-  :c    0.0    0.0    0.0

source

`,8))]),i("details",F,[i("summary",null,[s[18]||(s[18]=i("a",{id:"Base.ones",href:"#Base.ones"},[i("span",{class:"jlbinding"},"Base.ones")],-1)),s[19]||(s[19]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[20]||(s[20]=l(`
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
+  :c    0.0    0.0    0.0

source

`,8))]),i("details",F,[i("summary",null,[s[18]||(s[18]=i("a",{id:"Base.ones",href:"#Base.ones"},[i("span",{class:"jlbinding"},"Base.ones")],-1)),s[19]||(s[19]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[20]||(s[20]=l(`
julia
Base.ones(x, dims::Dimension...; kw...) => DimArray
 Base.ones(x, dims::Tuple{Vararg{Dimension}}; kw...) => DimArray

Create a DimArray of ones.

There are two kinds of Dimension value acepted:

  • A Dimension holding an AbstractVector will set the dimension index to that AbstractVector, and detect the dimension lookup.

  • A Dimension holding an Integer will set the length of the axis, and set the dimension lookup to NoLookup.

Keywords are the same as for DimArray.

Example

julia
julia> using DimensionalData
 
 julia> ones(Bool, X(2), Y(4))
@@ -105,8 +105,8 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   100.0  150.0  200.0
   :a    1.0    1.0    1.0
   :b    1.0    1.0    1.0
-  :c    1.0    1.0    1.0

source

`,8))]),s[168]||(s[168]=i("p",null,"Functions for getting information from objects:",-1)),i("details",C,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.dims",href:"#DimensionalData.Dimensions.dims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims")],-1)),s[22]||(s[22]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=l(`
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
+  :c    1.0    1.0    1.0

source

`,8))]),s[168]||(s[168]=i("p",null,"Functions for getting information from objects:",-1)),i("details",C,[i("summary",null,[s[21]||(s[21]=i("a",{id:"DimensionalData.Dimensions.dims",href:"#DimensionalData.Dimensions.dims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dims")],-1)),s[22]||(s[22]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=l(`
julia
dims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+dims(x, dim) => Dimension

Return a tuple of Dimensions for an object, in the order that matches the axes or columns of the underlying data.

dims can be Dimension, Dimension types, or Symbols for Dim{Symbol}.

The default is to return nothing.

source

julia
dims(x, query) => Tuple{Vararg{Dimension}}
 dims(x, query...) => Tuple{Vararg{Dimension}}

Get the dimension(s) matching the type(s) of the query dimension.

Lookup can be an Int or an Dimension, or a tuple containing any combination of either.

Arguments

  • x: any object with a dims method, or a Tuple of Dimension.

  • query: Tuple or a single Dimension or Dimension Type.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(2, 3, 2), (X, Y, Z))
@@ -120,13 +120,13 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
  1.0  1.0  1.0
 
 julia> dims(A, (X, Y))
-( X,  Y)

source

`,13))]),i("details",m,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.refdims",href:"#DimensionalData.Dimensions.refdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.refdims")],-1)),s[25]||(s[25]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=l(`
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
-refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source

`,5))]),i("details",u,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Lookups.metadata",href:"#DimensionalData.Dimensions.Lookups.metadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.metadata")],-1)),s[28]||(s[28]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=l(`
julia
metadata(x) => (object metadata)
+( X,  Y)

source

`,13))]),i("details",m,[i("summary",null,[s[24]||(s[24]=i("a",{id:"DimensionalData.Dimensions.refdims",href:"#DimensionalData.Dimensions.refdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.refdims")],-1)),s[25]||(s[25]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=l(`
julia
refdims(x, [dims::Tuple]) => Tuple{Vararg{Dimension}}
+refdims(x, dim) => Dimension

Reference dimensions for an array that is a slice or view of another array with more dimensions.

slicedims(a, dims) returns a tuple containing the current new dimensions and the new reference dimensions. Refdims can be stored in a field or discarded, as it is mostly to give context to plots. Ignoring refdims will simply leave some captions empty.

The default is to return an empty Tuple ().

source

`,5))]),i("details",u,[i("summary",null,[s[27]||(s[27]=i("a",{id:"DimensionalData.Dimensions.Lookups.metadata",href:"#DimensionalData.Dimensions.Lookups.metadata"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.metadata")],-1)),s[28]||(s[28]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=l(`
julia
metadata(x) => (object metadata)
 metadata(x, dims::Tuple)  => Tuple (Dimension metadata)
-metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",D,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.name",href:"#DimensionalData.Dimensions.name"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.name")],-1)),s[31]||(s[31]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[32]||(s[32]=l(`
julia
name(x) => Symbol
+metadata(xs::Tuple) => Tuple

Returns the metadata for an object or for the specified dimension(s)

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",D,[i("summary",null,[s[30]||(s[30]=i("a",{id:"DimensionalData.Dimensions.name",href:"#DimensionalData.Dimensions.name"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.name")],-1)),s[31]||(s[31]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[32]||(s[32]=l(`
julia
name(x) => Symbol
 name(xs:Tuple) => NTuple{N,Symbol}
 name(x, dims::Tuple) => NTuple{N,Symbol}
-name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.otherdims",href:"#DimensionalData.Dimensions.otherdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.otherdims")],-1)),s[34]||(s[34]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[35]||(s[35]=l(`
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
+name(x, dim) => Symbol

Get the name of an array or Dimension, or a tuple of of either as a Symbol.

Second argument dims can be Dimensions, Dimension types, or Symbols for Dim{Symbol}.

source

`,4))]),i("details",b,[i("summary",null,[s[33]||(s[33]=i("a",{id:"DimensionalData.Dimensions.otherdims",href:"#DimensionalData.Dimensions.otherdims"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.otherdims")],-1)),s[34]||(s[34]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[35]||(s[35]=l(`
julia
otherdims(x, query) => Tuple{Vararg{Dimension,N}}

Get the dimensions of an object not in query.

Arguments

  • x: any object with a dims method, a Tuple of Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

A tuple holding the unmatched dimensions is always returned.

Example

julia
julia> using DimensionalData, DimensionalData.Dimensions
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
 
@@ -134,7 +134,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 ( Y,  Z)
 
 julia> otherdims(A, (Y, Z))
-( X)

source

`,8))]),i("details",B,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.dimnum",href:"#DimensionalData.Dimensions.dimnum"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimnum")],-1)),s[37]||(s[37]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=l(`
julia
dimnum(x, query::Tuple) => NTuple{Int}
+( X)

source

`,8))]),i("details",B,[i("summary",null,[s[36]||(s[36]=i("a",{id:"DimensionalData.Dimensions.dimnum",href:"#DimensionalData.Dimensions.dimnum"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.dimnum")],-1)),s[37]||(s[37]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=l(`
julia
dimnum(x, query::Tuple) => NTuple{Int}
 dimnum(x, query) => Int

Get the number(s) of Dimension(s) as ordered in the dimensions of an object.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple, Array or single Dimension or dimension Type.

The return type will be a Tuple of Int or a single Int, depending on whether query is a Tuple or single Dimension.

Example

julia
julia> using DimensionalData
 
 julia> A = DimArray(ones(10, 10, 10), (X, Y, Z));
@@ -143,7 +143,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 (3, 1, 2)
 
 julia> dimnum(A, Y)
-2

source

`,8))]),i("details",A,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.hasdim",href:"#DimensionalData.Dimensions.hasdim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.hasdim")],-1)),s[40]||(s[40]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=l(`
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
+2

source

`,8))]),i("details",A,[i("summary",null,[s[39]||(s[39]=i("a",{id:"DimensionalData.Dimensions.hasdim",href:"#DimensionalData.Dimensions.hasdim"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.hasdim")],-1)),s[40]||(s[40]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=l(`
julia
hasdim([f], x, query::Tuple) => NTuple{Bool}
 hasdim([f], x, query...) => NTuple{Bool}
 hasdim([f], x, query) => Bool

Check if an object x has dimensions that match or inherit from the query dimensions.

Arguments

  • x: any object with a dims method, a Tuple of Dimension or a single Dimension.

  • query: Tuple or single Dimension or dimension Type.

  • f: <: by default, but can be >: to match abstract types to concrete types.

Check if an object or tuple contains an Dimension, or a tuple of dimensions.

Example

julia
julia> using DimensionalData
 
@@ -156,7 +156,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 (true, true, true)
 
 julia> hasdim(A, Ti)
-false

source

`,8))]),s[169]||(s[169]=i("h2",{id:"Multi-array-datasets",tabindex:"-1"},[a("Multi-array datasets "),i("a",{class:"header-anchor",href:"#Multi-array-datasets","aria-label":'Permalink to "Multi-array datasets {#Multi-array-datasets}"'},"​")],-1)),i("details",f,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.AbstractDimStack",href:"#DimensionalData.AbstractDimStack"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimStack")],-1)),s[43]||(s[43]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=l('
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source

',10))]),i("details",j,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.DimStack",href:"#DimensionalData.DimStack"},[i("span",{class:"jlbinding"},"DimensionalData.DimStack")],-1)),s[46]||(s[46]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[47]||(s[47]=l(`
julia
DimStack <: AbstractDimStack
+false

source

`,8))]),s[169]||(s[169]=i("h2",{id:"Multi-array-datasets",tabindex:"-1"},[a("Multi-array datasets "),i("a",{class:"header-anchor",href:"#Multi-array-datasets","aria-label":'Permalink to "Multi-array datasets {#Multi-array-datasets}"'},"​")],-1)),i("details",f,[i("summary",null,[s[42]||(s[42]=i("a",{id:"DimensionalData.AbstractDimStack",href:"#DimensionalData.AbstractDimStack"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimStack")],-1)),s[43]||(s[43]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=l('
julia
AbstractDimStack

Abstract supertype for dimensional stacks.

These have multiple layers of data, but share dimensions.

Notably, their behaviour lies somewhere between a DimArray and a NamedTuple:

  • indexing with a Symbol as in dimstack[:symbol] returns a DimArray layer.

  • iteration and map apply over array layers, as indexed with a Symbol.

  • getindex and many base methods are applied as for DimArray - to avoid the need to always use map.

This design gives very succinct code when working with many-layered, mixed-dimension objects. But it may be jarring initially - the most surprising outcome is that dimstack[1] will return a NamedTuple of values for the first index in all layers, while first(dimstack) will return the first value of the iterator - the DimArray for the first layer.

See DimStack for the concrete implementation. Most methods are defined on the abstract type.

To extend AbstractDimStack, implement argument and keyword version of rebuild and also rebuild_from_arrays.

The constructor of an AbstractDimStack must accept a NamedTuple.

source

',10))]),i("details",j,[i("summary",null,[s[45]||(s[45]=i("a",{id:"DimensionalData.DimStack",href:"#DimensionalData.DimStack"},[i("span",{class:"jlbinding"},"DimensionalData.DimStack")],-1)),s[46]||(s[46]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[47]||(s[47]=l(`
julia
DimStack <: AbstractDimStack
 
 DimStack(data::AbstractDimArray...; kw...)
 DimStack(data::Tuple{Vararg{AbstractDimArray}}; kw...)
@@ -183,7 +183,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 (one = 4.0, two = 8.0, three = 12.0)
 
 julia> s[X(At(:a))] isa DimStack
-true

source

`,16))]),s[170]||(s[170]=i("h2",{id:"Dimension-generators",tabindex:"-1"},[a("Dimension generators "),i("a",{class:"header-anchor",href:"#Dimension-generators","aria-label":'Permalink to "Dimension generators {#Dimension-generators}"'},"​")],-1)),i("details",v,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.DimIndices",href:"#DimensionalData.DimIndices"},[i("span",{class:"jlbinding"},"DimensionalData.DimIndices")],-1)),s[49]||(s[49]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[50]||(s[50]=l(`
julia
DimIndices <: AbstractArray
+true

source

`,16))]),s[170]||(s[170]=i("h2",{id:"Dimension-generators",tabindex:"-1"},[a("Dimension generators "),i("a",{class:"header-anchor",href:"#Dimension-generators","aria-label":'Permalink to "Dimension generators {#Dimension-generators}"'},"​")],-1)),i("details",v,[i("summary",null,[s[48]||(s[48]=i("a",{id:"DimensionalData.DimIndices",href:"#DimensionalData.DimIndices"},[i("span",{class:"jlbinding"},"DimensionalData.DimIndices")],-1)),s[49]||(s[49]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[50]||(s[50]=l(`
julia
DimIndices <: AbstractArray
 
 DimIndices(x)
 DimIndices(dims::Tuple)
@@ -220,7 +220,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 └─────────────────────────────────────────────────────────────────┘
    'a'       'c'
  0.0  0.9063    0.0991336
- 0.6  0.745673  0.692209

source

`,9))]),i("details",w,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.DimSelectors",href:"#DimensionalData.DimSelectors"},[i("span",{class:"jlbinding"},"DimensionalData.DimSelectors")],-1)),s[52]||(s[52]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[53]||(s[53]=l(`
julia
DimSelectors <: AbstractArray
+ 0.6  0.745673  0.692209

source

`,9))]),i("details",w,[i("summary",null,[s[51]||(s[51]=i("a",{id:"DimensionalData.DimSelectors",href:"#DimensionalData.DimSelectors"},[i("span",{class:"jlbinding"},"DimensionalData.DimSelectors")],-1)),s[52]||(s[52]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[53]||(s[53]=l(`
julia
DimSelectors <: AbstractArray
 
 DimSelectors(x; selectors, atol...)
 DimSelectors(dims::Tuple; selectors, atol...)
@@ -238,11 +238,11 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   1.0        11.0       21.0
   1.0  0.691162    0.218579   0.539076
  10.0  0.0303789   0.420756   0.485687
- 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source

`,10))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.DimPoints",href:"#DimensionalData.DimPoints"},[i("span",{class:"jlbinding"},"DimensionalData.DimPoints")],-1)),s[55]||(s[55]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[56]||(s[56]=l(`
julia
DimPoints <: AbstractArray
+ 22.0  0.0967863   0.864856   0.870485

Using At would make sure we only use exact interpolation, while Contains with sampling of Intervals would make sure that each values is taken only from an Interval that is present in the lookups.

source

`,10))]),i("details",x,[i("summary",null,[s[54]||(s[54]=i("a",{id:"DimensionalData.DimPoints",href:"#DimensionalData.DimPoints"},[i("span",{class:"jlbinding"},"DimensionalData.DimPoints")],-1)),s[55]||(s[55]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[56]||(s[56]=l(`
julia
DimPoints <: AbstractArray
 
 DimPoints(x; order)
 DimPoints(dims::Tuple; order)
-DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source

`,6))]),s[171]||(s[171]=i("h2",{id:"Tables.jl/TableTraits.jl-interface",tabindex:"-1"},[a("Tables.jl/TableTraits.jl interface "),i("a",{class:"header-anchor",href:"#Tables.jl/TableTraits.jl-interface","aria-label":'Permalink to "Tables.jl/TableTraits.jl interface {#Tables.jl/TableTraits.jl-interface}"'},"​")],-1)),i("details",T,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.AbstractDimTable",href:"#DimensionalData.AbstractDimTable"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimTable")],-1)),s[58]||(s[58]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[59]||(s[59]=l('
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source

',3))]),i("details",L,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.DimTable",href:"#DimensionalData.DimTable"},[i("span",{class:"jlbinding"},"DimensionalData.DimTable")],-1)),s[61]||(s[61]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[62]||(s[62]=l(`
julia
DimTable <: AbstractDimTable
+DimPoints(dims::Dimension; order)

Like CartesianIndices, but for the point values of the dimension index. Behaves as an Array of Tuple lookup values (whatever they are) for all combinations of the lookup values of dims.

Either a Dimension, a Tuple of Dimension or an object x that defines a dims method can be passed in.

Keywords

  • order: determines the order of the points, the same as the order of dims by default.

source

`,6))]),s[171]||(s[171]=i("h2",{id:"Tables.jl/TableTraits.jl-interface",tabindex:"-1"},[a("Tables.jl/TableTraits.jl interface "),i("a",{class:"header-anchor",href:"#Tables.jl/TableTraits.jl-interface","aria-label":'Permalink to "Tables.jl/TableTraits.jl interface {#Tables.jl/TableTraits.jl-interface}"'},"​")],-1)),i("details",T,[i("summary",null,[s[57]||(s[57]=i("a",{id:"DimensionalData.AbstractDimTable",href:"#DimensionalData.AbstractDimTable"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractDimTable")],-1)),s[58]||(s[58]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[59]||(s[59]=l('
julia
AbstractDimTable <: Tables.AbstractColumns

Abstract supertype for dim tables

source

',3))]),i("details",L,[i("summary",null,[s[60]||(s[60]=i("a",{id:"DimensionalData.DimTable",href:"#DimensionalData.DimTable"},[i("span",{class:"jlbinding"},"DimensionalData.DimTable")],-1)),s[61]||(s[61]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[62]||(s[62]=l(`
julia
DimTable <: AbstractDimTable
 
 DimTable(s::AbstractDimStack; mergedims=nothing)
 DimTable(x::AbstractDimArray; layersfrom=nothing, mergedims=nothing)
@@ -272,7 +272,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 
-julia>

source

`,10))]),s[172]||(s[172]=i("h1",{id:"Group-by-methods",tabindex:"-1"},[a("Group by methods "),i("a",{class:"header-anchor",href:"#Group-by-methods","aria-label":'Permalink to "Group by methods {#Group-by-methods}"'},"​")],-1)),s[173]||(s[173]=i("p",null,"For transforming DimensionalData objects:",-1)),i("details",S,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DataAPI.groupby",href:"#DataAPI.groupby"},[i("span",{class:"jlbinding"},"DataAPI.groupby")],-1)),s[64]||(s[64]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=l(`
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
+julia>

source

`,10))]),s[172]||(s[172]=i("h1",{id:"Group-by-methods",tabindex:"-1"},[a("Group by methods "),i("a",{class:"header-anchor",href:"#Group-by-methods","aria-label":'Permalink to "Group by methods {#Group-by-methods}"'},"​")],-1)),s[173]||(s[173]=i("p",null,"For transforming DimensionalData objects:",-1)),i("details",S,[i("summary",null,[s[63]||(s[63]=i("a",{id:"DataAPI.groupby",href:"#DataAPI.groupby"},[i("span",{class:"jlbinding"},"DataAPI.groupby")],-1)),s[64]||(s[64]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=l(`
julia
groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Pair...)
 groupby(A::Union{AbstractDimArray,AbstractDimStack}, dims::Dimension{<:Callable}...)

Group A by grouping functions or Bins over multiple dimensions.

Arguments

  • A: any AbstractDimArray or AbstractDimStack.

  • dims: Pairs such as groups = groupby(A, :dimname => groupingfunction) or wrapped Dimensions like groups = groupby(A, DimType(groupingfunction)). Instead of a grouping function Bins can be used to specify group bins.

Return value

A DimGroupByArray is returned, which is basically a regular AbstractDimArray but holding the grouped AbstractDimArray or AbstractDimStack. Its dims hold the sorted values returned by the grouping function/s.

Base julia and package methods work on DimGroupByArray as for any other AbstractArray of AbstractArray.

It is common to broadcast or map a reducing function over groups, such as mean or sum, like mean.(groups) or map(mean, groups). This will return a regular DimArray, or DimGroupByArray if dims keyword is used in the reducing function or it otherwise returns an AbstractDimArray or AbstractDimStack.

Example

Group some data along the time dimension:

julia
julia> using DimensionalData, Dates
 
 julia> A = rand(X(1:0.1:20), Y(1:20), Ti(DateTime(2000):Day(3):DateTime(2003)));
@@ -325,8 +325,8 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 
  10        0.501105     0.500644
  11        0.498606     0.498801
- 12        0.501643     0.499298

source

`,18))]),i("details",I,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.DimGroupByArray",href:"#DimensionalData.DimGroupByArray"},[i("span",{class:"jlbinding"},"DimensionalData.DimGroupByArray")],-1)),s[67]||(s[67]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[68]||(s[68]=l('
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source

',5))]),i("details",O,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Bins",href:"#DimensionalData.Bins"},[i("span",{class:"jlbinding"},"DimensionalData.Bins")],-1)),s[70]||(s[70]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[71]||(s[71]=l(`
julia
Bins(f, bins; labels, pad)
-Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

`,7))]),i("details",N,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.ranges",href:"#DimensionalData.ranges"},[i("span",{class:"jlbinding"},"DimensionalData.ranges")],-1)),s[73]||(s[73]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[74]||(s[74]=l('
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source

',3))]),i("details",q,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.intervals",href:"#DimensionalData.intervals"},[i("span",{class:"jlbinding"},"DimensionalData.intervals")],-1)),s[76]||(s[76]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[77]||(s[77]=l('
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source

',3))]),i("details",z,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.CyclicBins",href:"#DimensionalData.CyclicBins"},[i("span",{class:"jlbinding"},"DimensionalData.CyclicBins")],-1)),s[79]||(s[79]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=l('
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

',7))]),i("details",X,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.seasons",href:"#DimensionalData.seasons"},[i("span",{class:"jlbinding"},"DimensionalData.seasons")],-1)),s[82]||(s[82]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[83]||(s[83]=l('
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected quarters.

source

',5))]),i("details",Y,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.months",href:"#DimensionalData.months"},[i("span",{class:"jlbinding"},"DimensionalData.months")],-1)),s[85]||(s[85]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[86]||(s[86]=l('
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source

',6))]),i("details",P,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.hours",href:"#DimensionalData.hours"},[i("span",{class:"jlbinding"},"DimensionalData.hours")],-1)),s[88]||(s[88]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[89]||(s[89]=l('
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source

',6))]),s[174]||(s[174]=i("h1",{id:"Utility-methods",tabindex:"-1"},[a("Utility methods "),i("a",{class:"header-anchor",href:"#Utility-methods","aria-label":'Permalink to "Utility methods {#Utility-methods}"'},"​")],-1)),s[175]||(s[175]=i("p",null,"For transforming DimensionalData objects:",-1)),i("details",R,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.Lookups.set",href:"#DimensionalData.Dimensions.Lookups.set"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.set")],-1)),s[91]||(s[91]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[92]||(s[92]=l(`
julia
set(x, val)
+ 12        0.501643     0.499298

source

`,18))]),i("details",I,[i("summary",null,[s[66]||(s[66]=i("a",{id:"DimensionalData.DimGroupByArray",href:"#DimensionalData.DimGroupByArray"},[i("span",{class:"jlbinding"},"DimensionalData.DimGroupByArray")],-1)),s[67]||(s[67]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[68]||(s[68]=l('
julia
DimGroupByArray <: AbstractDimArray

DimGroupByArray is essentially a DimArray but holding the results of a groupby operation.

Its dimensions are the sorted results of the grouping functions used in groupby.

This wrapper allows for specialisations on later broadcast or reducing operations, e.g. for chunk reading with DiskArrays.jl, because we know the data originates from a single array.

source

',5))]),i("details",O,[i("summary",null,[s[69]||(s[69]=i("a",{id:"DimensionalData.Bins",href:"#DimensionalData.Bins"},[i("span",{class:"jlbinding"},"DimensionalData.Bins")],-1)),s[70]||(s[70]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[71]||(s[71]=l(`
julia
Bins(f, bins; labels, pad)
+Bins(bins; labels, pad)

Specify bins to reduce groups after applying function f.

  • f: a grouping function of the lookup values, by default identity.

  • bins:

    • an Integer will divide the group values into equally spaced sections.

    • an AbstractArray of values will be treated as exact matches for the return value of f. For example, 1:3 will create 3 bins - 1, 2, 3.

    • an AbstractArray of IntervalSets.Interval can be used to explicitly define the intervals. Overlapping intervals have undefined behaviour.

Keywords

  • pad: fraction of the total interval to pad at each end when Bins contains an Integer. This avoids losing the edge values. Note this is a messy solution - it will often be prefereble to manually specify a Vector of chosen Intervals rather than relying on passing an Integer and pad.

  • labels: a list of descriptive labels for the bins. The labels need to have the same length as bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

`,7))]),i("details",N,[i("summary",null,[s[72]||(s[72]=i("a",{id:"DimensionalData.ranges",href:"#DimensionalData.ranges"},[i("span",{class:"jlbinding"},"DimensionalData.ranges")],-1)),s[73]||(s[73]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[74]||(s[74]=l('
julia
ranges(A::AbstractRange{<:Integer})

Generate a Vector of UnitRange with length step(A)

source

',3))]),i("details",q,[i("summary",null,[s[75]||(s[75]=i("a",{id:"DimensionalData.intervals",href:"#DimensionalData.intervals"},[i("span",{class:"jlbinding"},"DimensionalData.intervals")],-1)),s[76]||(s[76]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[77]||(s[77]=l('
julia
intervals(A::AbstractRange)

Generate a Vector of UnitRange with length step(A)

source

',3))]),i("details",z,[i("summary",null,[s[78]||(s[78]=i("a",{id:"DimensionalData.CyclicBins",href:"#DimensionalData.CyclicBins"},[i("span",{class:"jlbinding"},"DimensionalData.CyclicBins")],-1)),s[79]||(s[79]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=l('
julia
CyclicBins(f; cycle, start, step, labels)

Cyclic bins to reduce groups after applying function f. Groups can wrap around the cycle. This is used for grouping in seasons, months and hours but can also be used for custom cycles.

  • f: a grouping function of the lookup values, by default identity.

Keywords

  • cycle: the length of the cycle, in return values of f.

  • start: the start of the cycle: a return value of f.

  • step the number of sequential values to group.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected bins.

When the return value of f is a tuple, binning is applied to the last value of the tuples.

source

',7))]),i("details",X,[i("summary",null,[s[81]||(s[81]=i("a",{id:"DimensionalData.seasons",href:"#DimensionalData.seasons"},[i("span",{class:"jlbinding"},"DimensionalData.seasons")],-1)),s[82]||(s[82]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[83]||(s[83]=l('
julia
seasons(; [start=Dates.December, labels])

Generates CyclicBins for three month periods.

Keywords

  • start: By default seasons start in December, but any integer 1:12 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected quarters.

source

',5))]),i("details",Y,[i("summary",null,[s[84]||(s[84]=i("a",{id:"DimensionalData.months",href:"#DimensionalData.months"},[i("span",{class:"jlbinding"},"DimensionalData.months")],-1)),s[85]||(s[85]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[86]||(s[86]=l('
julia
months(step; [start=Dates.January, labels])

Generates CyclicBins for grouping to arbitrary month periods. These can wrap around the end of a year.

  • step the number of months to group.

Keywords

  • start: By default months start in January, but any integer 1:12 can be used.

  • labels: either a vector of labels matching the number of groups, or a function that generates labels from Vector{Int} of the selected months.

source

',6))]),i("details",P,[i("summary",null,[s[87]||(s[87]=i("a",{id:"DimensionalData.hours",href:"#DimensionalData.hours"},[i("span",{class:"jlbinding"},"DimensionalData.hours")],-1)),s[88]||(s[88]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[89]||(s[89]=l('
julia
hours(step; [start=0, labels])

Generates CyclicBins for grouping to arbitrary hour periods. These can wrap around the end of the day.

  • steps the number of hours to group.

Keywords

  • start: By default seasons start at 0, but any integer 1:24 can be used.

  • labels: either a vector of four labels, or a function that generates labels from Vector{Int} of the selected hours of the day.

source

',6))]),s[174]||(s[174]=i("h1",{id:"Utility-methods",tabindex:"-1"},[a("Utility methods "),i("a",{class:"header-anchor",href:"#Utility-methods","aria-label":'Permalink to "Utility methods {#Utility-methods}"'},"​")],-1)),s[175]||(s[175]=i("p",null,"For transforming DimensionalData objects:",-1)),i("details",R,[i("summary",null,[s[90]||(s[90]=i("a",{id:"DimensionalData.Dimensions.Lookups.set",href:"#DimensionalData.Dimensions.Lookups.set"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.set")],-1)),s[91]||(s[91]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[92]||(s[92]=l(`
julia
set(x, val)
 set(x, args::Pairs...) => x with updated field/s
 set(x, args...; kw...) => x with updated field/s
 set(x, args::Tuple{Vararg{Dimension}}; kw...) => x with updated field/s
@@ -387,11 +387,11 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
   -20.0  -10.0  0.0  10.0
  10.0    0.0    0.0  0.0   0.0
  20.0    0.0    0.0  0.0   0.0
- 30.0    0.0    0.0  0.0   0.0

source

`,20))]),i("details",G,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.Lookups.rebuild",href:"#DimensionalData.Dimensions.Lookups.rebuild"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.rebuild")],-1)),s[94]||(s[94]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[95]||(s[95]=l('
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source

',18))]),i("details",V,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.modify",href:"#DimensionalData.modify"},[i("span",{class:"jlbinding"},"DimensionalData.modify")],-1)),s[97]||(s[97]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[98]||(s[98]=l(`
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
+ 30.0    0.0    0.0  0.0   0.0

source

`,20))]),i("details",G,[i("summary",null,[s[93]||(s[93]=i("a",{id:"DimensionalData.Dimensions.Lookups.rebuild",href:"#DimensionalData.Dimensions.Lookups.rebuild"},[i("span",{class:"jlbinding"},"DimensionalData.Dimensions.Lookups.rebuild")],-1)),s[94]||(s[94]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[95]||(s[95]=l('
julia
rebuild(x; kw...)

Rebuild an object struct with updated field values.

x can be a AbstractDimArray, a Dimension, Lookup or other custom types.

This is an abstraction that allows inbuilt and custom types to be rebuilt to update their fields, as most objects in DimensionalData.jl are immutable.

Rebuild is mostly automated using ConstructionBase.setproperties. It should only be defined if your object has fields with with different names to DimensionalData objects. Try not to do that!

The arguments required are defined for the abstract type that has a rebuild method.

AbstractBasicDimArray:

  • dims: a Tuple of Dimension

AbstractDimArray:

  • data: the parent object - an AbstractArray

  • dims: a Tuple of Dimension

  • refdims: a Tuple of Dimension

  • name: A Symbol, or NoName and Name on GPU.

  • metadata: A Dict-like object

AbstractDimStack:

  • data: the parent object, often a NamedTuple

  • dims, refdims, metadata

Dimension:

  • val: anything.

Lookup:

  • data: the parent object, an AbstractArray

  • Note: argument rebuild is deprecated on AbstractDimArray and

AbstractDimStack in favour of always using the keyword version. In future the argument version will only be used on Dimension, which only have one argument.

source

',18))]),i("details",V,[i("summary",null,[s[96]||(s[96]=i("a",{id:"DimensionalData.modify",href:"#DimensionalData.modify"},[i("span",{class:"jlbinding"},"DimensionalData.modify")],-1)),s[97]||(s[97]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[98]||(s[98]=l(`
julia
modify(f, A::AbstractDimArray) => AbstractDimArray
 modify(f, s::AbstractDimStack) => AbstractDimStack
 modify(f, dim::Dimension) => Dimension
 modify(f, x, lookupdim::Dimension) => typeof(x)

Modify the parent data, rebuilding the object wrapper without change. f must return a AbstractArray of the same size as the original.

This method is mostly useful as a way of swapping the parent array type of an object.

Example

If we have a previously-defined DimArray, we can copy it to an Nvidia GPU with:

julia
A = DimArray(rand(100, 100), (X, Y))
-modify(CuArray, A)

This also works for all the data layers in a DimStack.

source

`,8))]),i("details",M,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.@d",href:"#DimensionalData.@d"},[i("span",{class:"jlbinding"},"DimensionalData.@d")],-1)),s[100]||(s[100]=a()),t(n,{type:"info",class:"jlObjectType jlMacro",text:"Macro"})]),s[101]||(s[101]=l(`
julia
@d broadcast_expression options

Dimensional broadcast macro extending Base Julia broadcasting to work with missing and permuted dimensions.

Will permute and resshape singleton dimensions so that all AbstractDimArray in a broadcast will broadcast over matching dimensions.

It is possible to pass options as the second argument of the macro to control the behaviour, as a single assignment or as a NamedTuple. Options names must be written explicitly, not passed in namedtuple variable.

Options

  • dims: Pass a Tuple of Dimensions, Dimension types or Symbols to fix the dimension order of the output array. Otherwise dimensions will be in order of appearance. If dims with lookups are passed, these will be applied to the returned array with set.

  • strict: true or false. Check that all lookup values match explicitly.

All other keywords are passed to DimensionalData.rebuild. This means name, metadata, etc for the returned array can be set here, or for example missingval in Rasters.jl.

Example

julia
using DimensionalData
+modify(CuArray, A)

This also works for all the data layers in a DimStack.

source

`,8))]),i("details",M,[i("summary",null,[s[99]||(s[99]=i("a",{id:"DimensionalData.@d",href:"#DimensionalData.@d"},[i("span",{class:"jlbinding"},"DimensionalData.@d")],-1)),s[100]||(s[100]=a()),t(n,{type:"info",class:"jlObjectType jlMacro",text:"Macro"})]),s[101]||(s[101]=l(`
julia
@d broadcast_expression options

Dimensional broadcast macro extending Base Julia broadcasting to work with missing and permuted dimensions.

Will permute and resshape singleton dimensions so that all AbstractDimArray in a broadcast will broadcast over matching dimensions.

It is possible to pass options as the second argument of the macro to control the behaviour, as a single assignment or as a NamedTuple. Options names must be written explicitly, not passed in namedtuple variable.

Options

  • dims: Pass a Tuple of Dimensions, Dimension types or Symbols to fix the dimension order of the output array. Otherwise dimensions will be in order of appearance. If dims with lookups are passed, these will be applied to the returned array with set.

  • strict: true or false. Check that all lookup values match explicitly.

All other keywords are passed to DimensionalData.rebuild. This means name, metadata, etc for the returned array can be set here, or for example missingval in Rasters.jl.

Example

julia
using DimensionalData
 da1 = ones(X(3))
 da2 = fill(2, Y(4), X(3))
 
@@ -403,7 +403,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 
 @d @. da1 * da2
 # Use parentheses areound \`@.\` if you need to pass options
-@d (@. da1 * da2 .+ 5) dims=(Y, X)

source

`,13))]),i("details",U,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.broadcast_dims",href:"#DimensionalData.broadcast_dims"},[i("span",{class:"jlbinding"},"DimensionalData.broadcast_dims")],-1)),s[103]||(s[103]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[104]||(s[104]=l('
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source

',6))]),i("details",Z,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.broadcast_dims!",href:"#DimensionalData.broadcast_dims!"},[i("span",{class:"jlbinding"},"DimensionalData.broadcast_dims!")],-1)),s[106]||(s[106]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[107]||(s[107]=l('
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source

',6))]),i("details",K,[i("summary",null,[s[108]||(s[108]=i("a",{id:"DimensionalData.mergedims",href:"#DimensionalData.mergedims"},[i("span",{class:"jlbinding"},"DimensionalData.mergedims")],-1)),s[109]||(s[109]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[110]||(s[110]=l(`
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
+@d (@. da1 * da2 .+ 5) dims=(Y, X)

source

`,13))]),i("details",U,[i("summary",null,[s[102]||(s[102]=i("a",{id:"DimensionalData.broadcast_dims",href:"#DimensionalData.broadcast_dims"},[i("span",{class:"jlbinding"},"DimensionalData.broadcast_dims")],-1)),s[103]||(s[103]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[104]||(s[104]=l('
julia
broadcast_dims(f, sources::AbstractDimArray...) => AbstractDimArray

Broadcast function f over the AbstractDimArrays in sources, permuting and reshaping dimensions to match where required. The result will contain all the dimensions in all passed in arrays in the order in which they are found.

Arguments

  • sources: AbstractDimArrays to broadcast over with f.

This is like broadcasting over every slice of A if it is sliced by the dimensions of B.

source

',6))]),i("details",Z,[i("summary",null,[s[105]||(s[105]=i("a",{id:"DimensionalData.broadcast_dims!",href:"#DimensionalData.broadcast_dims!"},[i("span",{class:"jlbinding"},"DimensionalData.broadcast_dims!")],-1)),s[106]||(s[106]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[107]||(s[107]=l('
julia
broadcast_dims!(f, dest::AbstractDimArray, sources::AbstractDimArray...) => dest

Broadcast function f over the AbstractDimArrays in sources, writing to dest. sources are permuting and reshaping dimensions to match where required.

The result will contain all the dimensions in all passed in arrays, in the order in which they are found.

Arguments

  • dest: AbstractDimArray to update.

  • sources: AbstractDimArrays to broadcast over with f.

source

',6))]),i("details",K,[i("summary",null,[s[108]||(s[108]=i("a",{id:"DimensionalData.mergedims",href:"#DimensionalData.mergedims"},[i("span",{class:"jlbinding"},"DimensionalData.mergedims")],-1)),s[109]||(s[109]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[110]||(s[110]=l(`
julia
mergedims(old_dims => new_dim) => Dimension

Return a dimension new_dim whose indices are a MergedLookup of the indices of old_dims.

source

julia
mergedims(dims, old_dims => new_dim, others::Pair...) => dims_new

If dimensions old_dims, new_dim, etc. are found in dims, then return new dims_new where all dims in old_dims have been combined into a single dim new_dim. The returned dimension will keep only the name of new_dim. Its coords will be a MergedLookup of the coords of the dims in old_dims. New dimensions are always placed at the end of dims_new. others contains other dimension pairs to be merged.

Example

julia
julia> using DimensionalData
 
 julia> ds = (X(0:0.1:0.4), Y(10:10:100), Ti([0, 3, 4]))
 ( X  0.0:0.1:0.4,
@@ -412,9 +412,9 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 
 julia> mergedims(ds, (X, Y) => :space)
 ( Ti    [0, 3, 4],
- space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)] ( X,  Y))

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
-mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source

`,11))]),i("details",W,[i("summary",null,[s[111]||(s[111]=i("a",{id:"DimensionalData.unmergedims",href:"#DimensionalData.unmergedims"},[i("span",{class:"jlbinding"},"DimensionalData.unmergedims")],-1)),s[112]||(s[112]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[113]||(s[113]=l(`
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
-unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source

`,6))]),i("details",J,[i("summary",null,[s[114]||(s[114]=i("a",{id:"DimensionalData.reorder",href:"#DimensionalData.reorder"},[i("span",{class:"jlbinding"},"DimensionalData.reorder")],-1)),s[115]||(s[115]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[116]||(s[116]=l(`
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
+ space MergedLookup{Tuple{Float64, Int64}} [(0.0, 10), (0.1, 10), , (0.3, 100), (0.4, 100)] ( X,  Y))

source

julia
mergedims(A::AbstractDimArray, dim_pairs::Pair...) => AbstractDimArray
+mergedims(A::AbstractDimStack, dim_pairs::Pair...) => AbstractDimStack

Return a new array or stack whose dimensions are the result of mergedims(dims(A), dim_pairs).

source

`,11))]),i("details",W,[i("summary",null,[s[111]||(s[111]=i("a",{id:"DimensionalData.unmergedims",href:"#DimensionalData.unmergedims"},[i("span",{class:"jlbinding"},"DimensionalData.unmergedims")],-1)),s[112]||(s[112]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[113]||(s[113]=l(`
julia
unmergedims(merged_dims::Tuple{Vararg{Dimension}}) => Tuple{Vararg{Dimension}}

Return the unmerged dimensions from a tuple of merged dimensions. However, the order of the original dimensions are not necessarily preserved.

source

julia
unmergedims(A::AbstractDimArray, original_dims) => AbstractDimArray
+unmergedims(A::AbstractDimStack, original_dims) => AbstractDimStack

Return a new array or stack whose dimensions are restored to their original prior to calling mergedims(A, dim_pairs).

source

`,6))]),i("details",J,[i("summary",null,[s[114]||(s[114]=i("a",{id:"DimensionalData.reorder",href:"#DimensionalData.reorder"},[i("span",{class:"jlbinding"},"DimensionalData.reorder")],-1)),s[115]||(s[115]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[116]||(s[116]=l(`
julia
reorder(A::Union{AbstractDimArray,AbstractDimStack}, order::Pair...)
 reorder(A::Union{AbstractDimArray,AbstractDimStack}, order)
 reorder(A::Dimension, order::Order)

Reorder every dims index/array to order, or reorder index for the given dimension(s) in order.

order can be an Order, Dimension => Order pairs. A Tuple of Dimensions or any object that defines dims can be used in which case the dimensions of this object are used for reordering.

If no axis reversal is required the same objects will be returned, without allocation.

Example

julia
using DimensionalData
 
@@ -428,7 +428,7 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 reorder(rev, da) == da
 
 # output
-true

source

`,7))]),s[176]||(s[176]=i("h1",{id:"Global-lookup-strictness-settings",tabindex:"-1"},[a("Global lookup strictness settings "),i("a",{class:"header-anchor",href:"#Global-lookup-strictness-settings","aria-label":'Permalink to "Global lookup strictness settings {#Global-lookup-strictness-settings}"'},"​")],-1)),s[177]||(s[177]=i("p",null,[a("Control how strict DimensionalData when comparing "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Lookup"},[i("code",null,"Lookup")]),a("s before doing broadcasts and matrix multipications.")],-1)),s[178]||(s[178]=i("p",null,[a("In some cases (especially "),i("code",null,"DimVector"),a(" and small "),i("code",null,"DimArray"),a(") checking lookup values match may be too costly compared to the operations. You can turn check the current setting and turn them on or off with these methods.")],-1)),i("details",$,[i("summary",null,[s[117]||(s[117]=i("a",{id:"DimensionalData.strict_broadcast",href:"#DimensionalData.strict_broadcast"},[i("span",{class:"jlbinding"},"DimensionalData.strict_broadcast")],-1)),s[118]||(s[118]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[119]||(s[119]=l('
julia
strict_broadcast()

Check if strict broadcasting checks are active.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

',6))]),i("details",H,[i("summary",null,[s[120]||(s[120]=i("a",{id:"DimensionalData.strict_broadcast!",href:"#DimensionalData.strict_broadcast!"},[i("span",{class:"jlbinding"},"DimensionalData.strict_broadcast!")],-1)),s[121]||(s[121]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[122]||(s[122]=l('
julia
strict_broadcast!(x::Bool)

Set global broadcasting checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

',6))]),i("details",Q,[i("summary",null,[s[123]||(s[123]=i("a",{id:"DimensionalData.strict_matmul",href:"#DimensionalData.strict_matmul"},[i("span",{class:"jlbinding"},"DimensionalData.strict_matmul")],-1)),s[124]||(s[124]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[125]||(s[125]=l('
julia
strict_matmul()

Check if strickt broadcasting checks are active.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

',5))]),i("details",_,[i("summary",null,[s[126]||(s[126]=i("a",{id:"DimensionalData.strict_matmul!",href:"#DimensionalData.strict_matmul!"},[i("span",{class:"jlbinding"},"DimensionalData.strict_matmul!")],-1)),s[127]||(s[127]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[128]||(s[128]=l('
julia
strict_matmul!(x::Bool)

Set global matrix multiplication checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

',5))]),s[179]||(s[179]=i("p",null,"Base methods",-1)),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"Base.cat",href:"#Base.cat"},[i("span",{class:"jlbinding"},"Base.cat")],-1)),s[130]||(s[130]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[131]||(s[131]=l('
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source

',8))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"Base.copy!",href:"#Base.copy!"},[i("span",{class:"jlbinding"},"Base.copy!")],-1)),s[133]||(s[133]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[134]||(s[134]=l('
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source

',12))]),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"Base.eachslice",href:"#Base.eachslice"},[i("span",{class:"jlbinding"},"Base.eachslice")],-1)),s[136]||(s[136]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[137]||(s[137]=l(`
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
+true

source

`,7))]),s[176]||(s[176]=i("h1",{id:"Global-lookup-strictness-settings",tabindex:"-1"},[a("Global lookup strictness settings "),i("a",{class:"header-anchor",href:"#Global-lookup-strictness-settings","aria-label":'Permalink to "Global lookup strictness settings {#Global-lookup-strictness-settings}"'},"​")],-1)),s[177]||(s[177]=i("p",null,[a("Control how strict DimensionalData when comparing "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Lookup"},[i("code",null,"Lookup")]),a("s before doing broadcasts and matrix multipications.")],-1)),s[178]||(s[178]=i("p",null,[a("In some cases (especially "),i("code",null,"DimVector"),a(" and small "),i("code",null,"DimArray"),a(") checking lookup values match may be too costly compared to the operations. You can turn check the current setting and turn them on or off with these methods.")],-1)),i("details",$,[i("summary",null,[s[117]||(s[117]=i("a",{id:"DimensionalData.strict_broadcast",href:"#DimensionalData.strict_broadcast"},[i("span",{class:"jlbinding"},"DimensionalData.strict_broadcast")],-1)),s[118]||(s[118]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[119]||(s[119]=l('
julia
strict_broadcast()

Check if strict broadcasting checks are active.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

',6))]),i("details",H,[i("summary",null,[s[120]||(s[120]=i("a",{id:"DimensionalData.strict_broadcast!",href:"#DimensionalData.strict_broadcast!"},[i("span",{class:"jlbinding"},"DimensionalData.strict_broadcast!")],-1)),s[121]||(s[121]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[122]||(s[122]=l('
julia
strict_broadcast!(x::Bool)

Set global broadcasting checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before brodcasting, to ensure that dimensions match closely.

An exception to this rule is when dimension are of length one, as these is ignored in broadcasts.

We always check that dimension names match in broadcasts. If you don't want this either, explicitly use parent(A) before broadcasting to remove the AbstractDimArray wrapper completely.

source

',6))]),i("details",Q,[i("summary",null,[s[123]||(s[123]=i("a",{id:"DimensionalData.strict_matmul",href:"#DimensionalData.strict_matmul"},[i("span",{class:"jlbinding"},"DimensionalData.strict_matmul")],-1)),s[124]||(s[124]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[125]||(s[125]=l('
julia
strict_matmul()

Check if strickt broadcasting checks are active.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

',5))]),i("details",_,[i("summary",null,[s[126]||(s[126]=i("a",{id:"DimensionalData.strict_matmul!",href:"#DimensionalData.strict_matmul!"},[i("span",{class:"jlbinding"},"DimensionalData.strict_matmul!")],-1)),s[127]||(s[127]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[128]||(s[128]=l('
julia
strict_matmul!(x::Bool)

Set global matrix multiplication checks to strict, or not for all AbstractDimArray.

With strict=true we check Lookup Order and values before attempting matrix multiplication, to ensure that dimensions match closely.

We always check that dimension names match in matrix multiplication. If you don't want this either, explicitly use parent(A) before multiplying to remove the AbstractDimArray wrapper completely.

source

',5))]),s[179]||(s[179]=i("p",null,"Base methods",-1)),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"Base.cat",href:"#Base.cat"},[i("span",{class:"jlbinding"},"Base.cat")],-1)),s[130]||(s[130]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[131]||(s[131]=l('
julia
Base.cat(stacks::AbstractDimStack...; [keys=keys(stacks[1])], dims)

Concatenate all or a subset of layers for all passed in stacks.

Keywords

  • keys: Tuple of Symbol for the stack keys to concatenate.

  • dims: Dimension of child array to concatenate on.

Example

Concatenate the :sea_surface_temp and :humidity layers in the time dimension:

julia
cat(stacks...; keys=(:sea_surface_temp, :humidity), dims=Ti)

source

',8))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"Base.copy!",href:"#Base.copy!"},[i("span",{class:"jlbinding"},"Base.copy!")],-1)),s[133]||(s[133]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[134]||(s[134]=l('
julia
Base.copy!(dst::AbstractArray, src::AbstractDimStack, key::Key)

Copy the stack layer key to dst, which can be any AbstractArray.

Example

Copy the :humidity layer from stack to array.

julia
copy!(array, stack, :humidity)

source

julia
Base.copy!(dst::AbstractDimStack, src::AbstractDimStack, [keys=keys(dst)])

Copy all or a subset of layers from one stack to another.

Example

Copy just the :sea_surface_temp and :humidity layers from src to dst.

julia
copy!(dst::AbstractDimStack, src::AbstractDimStack, keys=(:sea_surface_temp, :humidity))

source

',12))]),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"Base.eachslice",href:"#Base.eachslice"},[i("span",{class:"jlbinding"},"Base.eachslice")],-1)),s[136]||(s[136]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[137]||(s[137]=l(`
julia
Base.eachslice(A::AbstractDimArray; dims,drop=true)

Create a generator that iterates over dimensions dims of A, returning arrays that select all the data from the other dimensions in A using views.

The generator has size and axes equivalent to those of the provided dims if drop=true. Otherwise it will have the same dimensionality as the underlying array with inner dimensions having size 1.

source

julia
Base.eachslice(stack::AbstractDimStack; dims, drop=true)

Create a generator that iterates over dimensions dims of stack, returning stacks that select all the data from the other dimensions in stack using views.

The generator has size and axes equivalent to those of the provided dims.

Examples

julia
julia> ds = DimStack((
            x=DimArray(randn(2, 3, 4), (X([:x1, :x2]), Y(1:3), Z)),
            y=DimArray(randn(2, 3, 5), (X([:x1, :x2]), Y(1:3), Ti))
        ));
@@ -451,13 +451,13 @@ import{_ as e,c as h,j as i,a,G as t,a4 as l,B as k,o as p}from"./chunks/framewo
 ├──────────────────────────────────────────────── layers ┤
   :x eltype: Float64 dims: Y size: 3
   :y eltype: Float64 dims: Y, Ti size: 3×5
-└────────────────────────────────────────────────────────┘

source

`,10))]),s[180]||(s[180]=i("p",null,[a("Most base methods work as expected, using "),i("code",null,"Dimension"),a(" wherever a "),i("code",null,"dims"),a(" keyword is used. They are not all specifically documented here.")],-1)),s[181]||(s[181]=i("h2",{id:"name",tabindex:"-1"},[a("Name "),i("a",{class:"header-anchor",href:"#name","aria-label":'Permalink to "Name"'},"​")],-1)),i("details",ns,[i("summary",null,[s[138]||(s[138]=i("a",{id:"DimensionalData.AbstractName",href:"#DimensionalData.AbstractName"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractName")],-1)),s[139]||(s[139]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[140]||(s[140]=l('
julia
AbstractName

Abstract supertype for name wrappers.

source

',3))]),i("details",ts,[i("summary",null,[s[141]||(s[141]=i("a",{id:"DimensionalData.Name",href:"#DimensionalData.Name"},[i("span",{class:"jlbinding"},"DimensionalData.Name")],-1)),s[142]||(s[142]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[143]||(s[143]=l(`
julia
Name <: AbstractName
+└────────────────────────────────────────────────────────┘

source

`,10))]),s[180]||(s[180]=i("p",null,[a("Most base methods work as expected, using "),i("code",null,"Dimension"),a(" wherever a "),i("code",null,"dims"),a(" keyword is used. They are not all specifically documented here.")],-1)),s[181]||(s[181]=i("h2",{id:"name",tabindex:"-1"},[a("Name "),i("a",{class:"header-anchor",href:"#name","aria-label":'Permalink to "Name"'},"​")],-1)),i("details",ns,[i("summary",null,[s[138]||(s[138]=i("a",{id:"DimensionalData.AbstractName",href:"#DimensionalData.AbstractName"},[i("span",{class:"jlbinding"},"DimensionalData.AbstractName")],-1)),s[139]||(s[139]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[140]||(s[140]=l('
julia
AbstractName

Abstract supertype for name wrappers.

source

',3))]),i("details",ts,[i("summary",null,[s[141]||(s[141]=i("a",{id:"DimensionalData.Name",href:"#DimensionalData.Name"},[i("span",{class:"jlbinding"},"DimensionalData.Name")],-1)),s[142]||(s[142]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[143]||(s[143]=l(`
julia
Name <: AbstractName
 
 Name(name::Union{Symbol,Name) => Name
-Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source

`,3))]),i("details",ls,[i("summary",null,[s[144]||(s[144]=i("a",{id:"DimensionalData.NoName",href:"#DimensionalData.NoName"},[i("span",{class:"jlbinding"},"DimensionalData.NoName")],-1)),s[145]||(s[145]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[146]||(s[146]=l(`
julia
NoName <: AbstractName
+Name(name::NoName) => NoName

Name wrapper. This lets arrays keep symbol names when the array wrapper needs to be isbits, like for use on GPUs. It makes the name a property of the type. It's not necessary to use in normal use, a symbol is probably easier.

source

`,3))]),i("details",ls,[i("summary",null,[s[144]||(s[144]=i("a",{id:"DimensionalData.NoName",href:"#DimensionalData.NoName"},[i("span",{class:"jlbinding"},"DimensionalData.NoName")],-1)),s[145]||(s[145]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[146]||(s[146]=l(`
julia
NoName <: AbstractName
 
-NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source

`,3))]),s[182]||(s[182]=i("h2",{id:"Internal-interface",tabindex:"-1"},[a("Internal interface "),i("a",{class:"header-anchor",href:"#Internal-interface","aria-label":'Permalink to "Internal interface {#Internal-interface}"'},"​")],-1)),i("details",es,[i("summary",null,[s[147]||(s[147]=i("a",{id:"DimensionalData.DimArrayInterface",href:"#DimensionalData.DimArrayInterface"},[i("span",{class:"jlbinding"},"DimensionalData.DimArrayInterface")],-1)),s[148]||(s[148]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[149]||(s[149]=l('
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

',11))]),i("details",hs,[i("summary",null,[s[150]||(s[150]=i("a",{id:"DimensionalData.DimStackInterface",href:"#DimensionalData.DimStackInterface"},[i("span",{class:"jlbinding"},"DimensionalData.DimStackInterface")],-1)),s[151]||(s[151]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[152]||(s[152]=l('
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

',11))]),i("details",ks,[i("summary",null,[s[153]||(s[153]=i("a",{id:"DimensionalData.rebuild_from_arrays",href:"#DimensionalData.rebuild_from_arrays"},[i("span",{class:"jlbinding"},"DimensionalData.rebuild_from_arrays")],-1)),s[154]||(s[154]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[155]||(s[155]=l('
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source

',6))]),i("details",ps,[i("summary",null,[s[156]||(s[156]=i("a",{id:"DimensionalData.show_main",href:"#DimensionalData.show_main"},[i("span",{class:"jlbinding"},"DimensionalData.show_main")],-1)),s[157]||(s[157]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[158]||(s[158]=l(`
julia
show_main(io::IO, mime, A::AbstractDimArray)
-show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source

`,6))]),i("details",ds,[i("summary",null,[s[159]||(s[159]=i("a",{id:"DimensionalData.show_after",href:"#DimensionalData.show_after"},[i("span",{class:"jlbinding"},"DimensionalData.show_after")],-1)),s[160]||(s[160]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[161]||(s[161]=l(`
julia
show_after(io::IO, mime, A::AbstractDimArray)
-show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source

`,11))]),i("details",rs,[i("summary",null,[s[162]||(s[162]=i("a",{id:"DimensionalData.refdims_title",href:"#DimensionalData.refdims_title"},[i("span",{class:"jlbinding"},"DimensionalData.refdims_title")],-1)),s[163]||(s[163]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[164]||(s[164]=l(`
julia
refdims_title(A::AbstractDimArray)
+NoName()

NoName specifies an array is not named, and is the default name value for all AbstractDimArrays.

source

`,3))]),s[182]||(s[182]=i("h2",{id:"Internal-interface",tabindex:"-1"},[a("Internal interface "),i("a",{class:"header-anchor",href:"#Internal-interface","aria-label":'Permalink to "Internal interface {#Internal-interface}"'},"​")],-1)),i("details",hs,[i("summary",null,[s[147]||(s[147]=i("a",{id:"DimensionalData.DimArrayInterface",href:"#DimensionalData.DimArrayInterface"},[i("span",{class:"jlbinding"},"DimensionalData.DimArrayInterface")],-1)),s[148]||(s[148]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[149]||(s[149]=l('
julia
    DimArrayInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_parent_kw, :rebuild_dims_kw, :rebuild) and optional components (:refdims, :name, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches dimensions of array

  • size: length of dims matches dimensions of array

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • name:

    • rebuild updates name in arg rebuild

    • rebuild updates name in kw rebuild

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

',11))]),i("details",es,[i("summary",null,[s[150]||(s[150]=i("a",{id:"DimensionalData.DimStackInterface",href:"#DimensionalData.DimStackInterface"},[i("span",{class:"jlbinding"},"DimensionalData.DimStackInterface")],-1)),s[151]||(s[151]=a()),t(n,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[152]||(s[152]=l('
julia
    DimStackInterface

An Interfaces.jl Interface with mandatory components (:dims, :refdims_base, :ndims, :size, :rebuild_parent, :rebuild_dims, :rebuild_layerdims, :rebuild_dims_kw, :rebuild_parent_kw, :rebuild_layerdims_kw, :rebuild) and optional components (:refdims, :metadata).

This is an early stage of inteface definition, many things are not yet tested.

Pass constructed AbstractDimArrays as test data.

They must not be zero dimensional, and should test at least 1, 2, and 3 dimensions.

Extended help

Mandatory keys:

  • dims:

    • defines a dims method

    • dims are updated on getindex

  • refdims_base: refdims returns a tuple of Dimension or empty

  • ndims: number of dims matches ndims of stack

  • size: length of dims matches size of stack

  • rebuild_parent: rebuild parent from args

  • rebuild_dims: rebuild paaarnet and dims from args

  • rebuild_layerdims: rebuild paaarnet and dims from args

  • rebuild_dims_kw: rebuild dims from args

  • rebuild_parent_kw: rebuild parent from args

  • rebuild_layerdims_kw: rebuild parent from args

  • rebuild: all rebuild arguments and keywords are accepted

Optional keys:

  • refdims:

    • refdims are updated in args rebuild

    • refdims are updated in kw rebuild

    • dropped dimensions are added to refdims

  • metadata:

    • rebuild updates metadata in arg rebuild

    • rebuild updates metadata in kw rebuild

source

',11))]),i("details",ks,[i("summary",null,[s[153]||(s[153]=i("a",{id:"DimensionalData.rebuild_from_arrays",href:"#DimensionalData.rebuild_from_arrays"},[i("span",{class:"jlbinding"},"DimensionalData.rebuild_from_arrays")],-1)),s[154]||(s[154]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[155]||(s[155]=l('
julia
rebuild_from_arrays(s::AbstractDimStack, das::NamedTuple{<:Any,<:Tuple{Vararg{AbstractDimArray}}}; kw...)

Rebuild an AbstractDimStack from a Tuple or NamedTuple of AbstractDimArray and an existing stack.

Keywords

Keywords are simply the fields of the stack object:

  • data

  • dims

  • refdims

  • metadata

  • layerdims

  • layermetadata

source

',6))]),i("details",ps,[i("summary",null,[s[156]||(s[156]=i("a",{id:"DimensionalData.show_main",href:"#DimensionalData.show_main"},[i("span",{class:"jlbinding"},"DimensionalData.show_main")],-1)),s[157]||(s[157]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[158]||(s[158]=l(`
julia
show_main(io::IO, mime, A::AbstractDimArray)
+show_main(io::IO, mime, A::AbstractDimStack)

Interface methods for adding the main part of show

At the least, you likely want to call:

julia
print_top(io, mime, A)

But read the DimensionalData.jl show.jl code for details.

source

`,6))]),i("details",rs,[i("summary",null,[s[159]||(s[159]=i("a",{id:"DimensionalData.show_after",href:"#DimensionalData.show_after"},[i("span",{class:"jlbinding"},"DimensionalData.show_after")],-1)),s[160]||(s[160]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[161]||(s[161]=l(`
julia
show_after(io::IO, mime, A::AbstractDimArray)
+show_after(io::IO, mime, A::AbstractDimStack)

Interface methods for adding additional show text for AbstractDimArray/AbstractDimStack subtypes.

Always include kw to avoid future breaking changes

Additional keywords may be added at any time.

blockwidth is passed in context

julia
blockwidth = get(io, :blockwidth, 10000)

Note - a ANSI box is left unclosed. This method needs to close it, or add more. blockwidth is the maximum length of the inner text.

Most likely you always want to at least close the show blocks with:

julia
print_block_close(io, blockwidth)

But read the DimensionalData.jl show.jl code for details.

source

`,11))]),i("details",ds,[i("summary",null,[s[162]||(s[162]=i("a",{id:"DimensionalData.refdims_title",href:"#DimensionalData.refdims_title"},[i("span",{class:"jlbinding"},"DimensionalData.refdims_title")],-1)),s[163]||(s[163]=a()),t(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[164]||(s[164]=l(`
julia
refdims_title(A::AbstractDimArray)
 refdims_title(refdims::Tuple)
-refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source

`,3))])])}const us=e(d,[["render",os]]);export{ms as __pageData,us as default}; +refdims_title(refdim::Dimension)

Generate a title string based on reference dimension values.

source

`,3))])])}const us=h(r,[["render",os]]);export{ms as __pageData,us as default}; diff --git a/dev/assets/app.DC0kJGHo.js b/dev/assets/app.DAF6qinH.js similarity index 90% rename from dev/assets/app.DC0kJGHo.js rename to dev/assets/app.DAF6qinH.js index ac0ba290c..75641df83 100644 --- a/dev/assets/app.DC0kJGHo.js +++ b/dev/assets/app.DAF6qinH.js @@ -1 +1 @@ -import{R as p}from"./chunks/theme.b8NutB4I.js";import{R as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as v,d as P,u as R,v as w,s as y,af as C,ag as b,ah as E,ai as S}from"./chunks/framework.B8l2DGq3.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; +import{R as p}from"./chunks/theme.By8UT2IG.js";import{R as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as v,d as P,u as R,v as w,s as y,af as C,ag as b,ah as E,ai as S}from"./chunks/framework.BAAK0EyE.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/dev/assets/basics.md.1otrM5SC.js b/dev/assets/basics.md.NNYczrui.js similarity index 73% rename from dev/assets/basics.md.1otrM5SC.js rename to dev/assets/basics.md.NNYczrui.js index 4705299d3..39e7485aa 100644 --- a/dev/assets/basics.md.1otrM5SC.js +++ b/dev/assets/basics.md.NNYczrui.js @@ -1,4 +1,4 @@ -import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"basics.md","filePath":"basics.md","lastUpdated":null}'),l={name:"basics.md"};function k(t,s,e,p,d,r){return h(),a("div",null,s[0]||(s[0]=[n(`

Installation

If you want to use this package you need to install it first. You can do it using the following commands:

julia
julia> ] # ']' should be pressed
+import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.BAAK0EyE.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"basics.md","filePath":"basics.md","lastUpdated":null}'),l={name:"basics.md"};function k(t,s,e,p,d,r){return h(),a("div",null,s[0]||(s[0]=[n(`

Installation

If you want to use this package you need to install it first. You can do it using the following commands:

julia
julia> ] # ']' should be pressed
 pkg> add DimensionalData

or

julia
julia> using Pkg
 julia> Pkg.add("DimensionalData")

Additionally, it is recommended to check the version that you have installed with the status command.

julia
julia> ]
 pkg> status DimensionalData

Basics

Start using the package:

julia
using DimensionalData

and create your first DimArray

julia
julia> A = DimArray(rand(4,5), (a=1:4, b=1:5))
╭─────────────────────────╮
@@ -7,36 +7,36 @@ import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const y
 a Sampled{Int64} 1:4 ForwardOrdered Regular Points,
 b Sampled{Int64} 1:5 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  1         2          3         4         5
- 1    0.541806  0.0282382  0.762794  0.844547  0.919763
- 2    0.300768  0.247683   0.388243  0.95636   0.383632
- 3    0.70597   0.599558   0.803192  0.675435  0.487578
- 4    0.93479   0.624685   0.774731  0.216524  0.102405

or

julia
julia> C = DimArray(rand(Int8, 10), (alpha='a':'j',))
╭─────────────────────────────╮
+  1          2         3          4          5
+ 1    0.0333106  0.758203  0.973154   0.0710221  0.868064
+ 2    0.52849    0.571821  0.920182   0.545156   0.106593
+ 3    0.70366    0.539028  0.0670111  0.404635   0.799977
+ 4    0.68316    0.965008  0.0781957  0.130775   0.570914

or

julia
julia> C = DimArray(rand(Int8, 10), (alpha='a':'j',))
╭─────────────────────────────╮
 10-element DimArray{Int8,1}
 ├─────────────────────────────┴────────────────────────────────────────── dims ┐
 alpha Categorical{Char} 'a':1:'j' ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
- 'a'  112
- 'b'   85
- 'c'  -86
- 'd'  123
- 'e'   95
- 'f'   59
- 'g'  -91
- 'h'   55
- 'i'  -78
- 'j'  -15

or something a little bit more complicated:

julia
julia> data = rand(Int8, 2, 10, 3) .|> abs
2×10×3 Array{Int8, 3}:
+ 'a'  -21
+ 'b'  101
+ 'c'   51
+ 'd'  -35
+ 'e'  106
+ 'f'   88
+ 'g'  -98
+ 'h'   14
+ 'i'  -73
+ 'j'  -54

or something a little bit more complicated:

julia
julia> data = rand(Int8, 2, 10, 3) .|> abs
2×10×3 Array{Int8, 3}:
 [:, :, 1] =
-  65  110   71  108  76  15  120   65  121  126
- 125   78  118  101  11  32   87  108   49  115
+ 46  76  38  32  120  122  29  57   9  23
+ 78  26   6  50   16  125  11  98  39  95
 
 [:, :, 2] =
- 106  84  74  80   9   26  35  74  28  47
-  87   1  42  54  15  107  77  23  89  34
+  50  101  46  48  76  17    1   69  11  112
+ 105   15  50  90   5  70  107  120  86   15
 
 [:, :, 3] =
- 65  66  113  1  123  16  69  104  -128  26
- 25  13   29  1   21  72  24   48    51  88
julia
julia> B = DimArray(data, (channel=[:left, :right], time=1:10, iter=1:3))
╭─────────────────────────╮
+ 38  59   41  47  41   11  117   82   74   61
+ 76  72  112  89  39  109   86  117  117  120
julia
julia> B = DimArray(data, (channel=[:left, :right], time=1:10, iter=1:3))
╭─────────────────────────╮
 2×10×3 DimArray{Int8,3}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 channel Categorical{Symbol} [:left, :right] ForwardOrdered,
@@ -44,6 +44,6 @@ import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const y
 iter    Sampled{Int64} 1:3 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-        1    2    3    4   5   6    7    8    9   10
-  :left    65  110   71  108  76  15  120   65  121  126
-  :right  125   78  118  101  11  32   87  108   49  115
`,21)]))}const f=i(l,[["render",k]]);export{y as __pageData,f as default}; + 1 2 3 4 5 6 7 8 9 10 + :left 46 76 38 32 120 122 29 57 9 23 + :right 78 26 6 50 16 125 11 98 39 95
`,21)]))}const f=i(l,[["render",k]]);export{y as __pageData,f as default}; diff --git a/dev/assets/basics.md.1otrM5SC.lean.js b/dev/assets/basics.md.NNYczrui.lean.js similarity index 73% rename from dev/assets/basics.md.1otrM5SC.lean.js rename to dev/assets/basics.md.NNYczrui.lean.js index 4705299d3..39e7485aa 100644 --- a/dev/assets/basics.md.1otrM5SC.lean.js +++ b/dev/assets/basics.md.NNYczrui.lean.js @@ -1,4 +1,4 @@ -import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"basics.md","filePath":"basics.md","lastUpdated":null}'),l={name:"basics.md"};function k(t,s,e,p,d,r){return h(),a("div",null,s[0]||(s[0]=[n(`

Installation

If you want to use this package you need to install it first. You can do it using the following commands:

julia
julia> ] # ']' should be pressed
+import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.BAAK0EyE.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"basics.md","filePath":"basics.md","lastUpdated":null}'),l={name:"basics.md"};function k(t,s,e,p,d,r){return h(),a("div",null,s[0]||(s[0]=[n(`

Installation

If you want to use this package you need to install it first. You can do it using the following commands:

julia
julia> ] # ']' should be pressed
 pkg> add DimensionalData

or

julia
julia> using Pkg
 julia> Pkg.add("DimensionalData")

Additionally, it is recommended to check the version that you have installed with the status command.

julia
julia> ]
 pkg> status DimensionalData

Basics

Start using the package:

julia
using DimensionalData

and create your first DimArray

julia
julia> A = DimArray(rand(4,5), (a=1:4, b=1:5))
╭─────────────────────────╮
@@ -7,36 +7,36 @@ import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const y
 a Sampled{Int64} 1:4 ForwardOrdered Regular Points,
 b Sampled{Int64} 1:5 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  1         2          3         4         5
- 1    0.541806  0.0282382  0.762794  0.844547  0.919763
- 2    0.300768  0.247683   0.388243  0.95636   0.383632
- 3    0.70597   0.599558   0.803192  0.675435  0.487578
- 4    0.93479   0.624685   0.774731  0.216524  0.102405

or

julia
julia> C = DimArray(rand(Int8, 10), (alpha='a':'j',))
╭─────────────────────────────╮
+  1          2         3          4          5
+ 1    0.0333106  0.758203  0.973154   0.0710221  0.868064
+ 2    0.52849    0.571821  0.920182   0.545156   0.106593
+ 3    0.70366    0.539028  0.0670111  0.404635   0.799977
+ 4    0.68316    0.965008  0.0781957  0.130775   0.570914

or

julia
julia> C = DimArray(rand(Int8, 10), (alpha='a':'j',))
╭─────────────────────────────╮
 10-element DimArray{Int8,1}
 ├─────────────────────────────┴────────────────────────────────────────── dims ┐
 alpha Categorical{Char} 'a':1:'j' ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
- 'a'  112
- 'b'   85
- 'c'  -86
- 'd'  123
- 'e'   95
- 'f'   59
- 'g'  -91
- 'h'   55
- 'i'  -78
- 'j'  -15

or something a little bit more complicated:

julia
julia> data = rand(Int8, 2, 10, 3) .|> abs
2×10×3 Array{Int8, 3}:
+ 'a'  -21
+ 'b'  101
+ 'c'   51
+ 'd'  -35
+ 'e'  106
+ 'f'   88
+ 'g'  -98
+ 'h'   14
+ 'i'  -73
+ 'j'  -54

or something a little bit more complicated:

julia
julia> data = rand(Int8, 2, 10, 3) .|> abs
2×10×3 Array{Int8, 3}:
 [:, :, 1] =
-  65  110   71  108  76  15  120   65  121  126
- 125   78  118  101  11  32   87  108   49  115
+ 46  76  38  32  120  122  29  57   9  23
+ 78  26   6  50   16  125  11  98  39  95
 
 [:, :, 2] =
- 106  84  74  80   9   26  35  74  28  47
-  87   1  42  54  15  107  77  23  89  34
+  50  101  46  48  76  17    1   69  11  112
+ 105   15  50  90   5  70  107  120  86   15
 
 [:, :, 3] =
- 65  66  113  1  123  16  69  104  -128  26
- 25  13   29  1   21  72  24   48    51  88
julia
julia> B = DimArray(data, (channel=[:left, :right], time=1:10, iter=1:3))
╭─────────────────────────╮
+ 38  59   41  47  41   11  117   82   74   61
+ 76  72  112  89  39  109   86  117  117  120
julia
julia> B = DimArray(data, (channel=[:left, :right], time=1:10, iter=1:3))
╭─────────────────────────╮
 2×10×3 DimArray{Int8,3}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 channel Categorical{Symbol} [:left, :right] ForwardOrdered,
@@ -44,6 +44,6 @@ import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const y
 iter    Sampled{Int64} 1:3 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-        1    2    3    4   5   6    7    8    9   10
-  :left    65  110   71  108  76  15  120   65  121  126
-  :right  125   78  118  101  11  32   87  108   49  115
`,21)]))}const f=i(l,[["render",k]]);export{y as __pageData,f as default}; + 1 2 3 4 5 6 7 8 9 10 + :left 46 76 38 32 120 122 29 57 9 23 + :right 78 26 6 50 16 125 11 98 39 95
`,21)]))}const f=i(l,[["render",k]]);export{y as __pageData,f as default}; diff --git a/dev/assets/broadcasts.md.CVzEqDHf.js b/dev/assets/broadcasts.md.Dz88oNfL.js similarity index 79% rename from dev/assets/broadcasts.md.CVzEqDHf.js rename to dev/assets/broadcasts.md.Dz88oNfL.js index 25f8fd840..e477dfcd8 100644 --- a/dev/assets/broadcasts.md.CVzEqDHf.js +++ b/dev/assets/broadcasts.md.Dz88oNfL.js @@ -1,4 +1,4 @@ -import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g=JSON.parse('{"title":"Dimensional broadcasts with @d and broadcast_dims","description":"","frontmatter":{},"headers":[],"relativePath":"broadcasts.md","filePath":"broadcasts.md","lastUpdated":null}'),h={name:"broadcasts.md"};function l(k,s,t,p,d,f){return e(),a("div",null,s[0]||(s[0]=[n(`

Dimensional broadcasts with @d and broadcast_dims

Broadcasting over AbstractDimArray works as usual with Base Julia broadcasts, except that dimensions are checked for compatibility with eachother, and that values match. Strict checks can be turned of globally with strict_broadcast!(false). To avoid even dimension name checks, broadcast over parent(dimarray).

The @d macro is a dimension-aware extension to regular dot brodcasting. broadcast_dims and broadcast_dims are analagous to Base julia broadcast.

Because we know the names of the dimensions, there is no ambiguity in which one we mean to broadcast together. This means we can permute and reshape dims so that broadcasts that would fail with a regular Array just work with a DimArray.

As an added bonus, broadcast_dims even works on DimStacks. Currently @d does not work on DimStack.

Example: scaling along the time dimension

Define some dimensions:

julia
using DimensionalData
+import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.BAAK0EyE.js";const g=JSON.parse('{"title":"Dimensional broadcasts with @d and broadcast_dims","description":"","frontmatter":{},"headers":[],"relativePath":"broadcasts.md","filePath":"broadcasts.md","lastUpdated":null}'),h={name:"broadcasts.md"};function t(l,s,k,p,d,f){return n(),a("div",null,s[0]||(s[0]=[e(`

Dimensional broadcasts with @d and broadcast_dims

Broadcasting over AbstractDimArray works as usual with Base Julia broadcasts, except that dimensions are checked for compatibility with each other, and that values match. Strict checks can be turned off globally with strict_broadcast!(false). To avoid even dimension name checks, broadcast over parent(dimarray).

The @d macro is a dimension-aware extension to regular dot broadcasting. broadcast_dims is analogous to Base Julia's broadcast.

Because we know the names of the dimensions, there is no ambiguity in which ones we mean to broadcast together. This means we can permute and reshape dims so that broadcasts that would fail with a regular Array just work with a DimArray.

As an added bonus, broadcast_dims even works on DimStacks. Currently, @d does not work on DimStack.

Example: scaling along the time dimension

Define some dimensions:

julia
using DimensionalData
 using Dates
 using Statistics
julia
julia> x, y, t = X(1:100), Y(1:25), Ti(DateTime(2000):Month(1):DateTime(2000, 12))
(X  1:100,
 Y  1:25,
@@ -26,16 +26,16 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1          2         323          24          25
-   1    0.792885   0.896315  0.28708       0.818644    0.568131    0.967865
-   2    0.0959455  0.164724  0.491767      0.515061    0.0416986   0.31065
-   3    0.23546    0.652353  0.201734      0.568302    0.875221    0.651784
-   4    0.2344     0.390033  0.108592      0.69635     0.655684    0.564589
-   ⋮                                   ⋱                           ⋮
-  97    0.192183   0.76163   0.924417      0.0502944   0.736214    0.959028
-  98    0.204551   0.725738  0.511086      0.566557    0.268319    0.790283
-  99    0.250752   0.612779  0.974596      0.246796    0.555456    0.27181
- 100    0.295548   0.364488  0.21714   …   0.687223    0.068913    0.453973

A regular broadcast fails:

julia
julia> scaled = data .* month_scalars
ERROR: DimensionMismatch: arrays could not be broadcast to a common size; got a dimension with lengths 100 and 12

But @d knows to broadcast over the Ti dimension:

julia
julia> scaled = @d data .* month_scalars
╭───────────────────────────────╮
+  1          2         323          24         25
+   1    0.624685   0.909533  0.43314        0.0541549   0.721101   0.600306
+   2    0.546357   0.621601  0.960677       0.129382    0.434374   0.438592
+   3    0.407207   0.861652  0.0837074      0.0725917   0.800084   0.749829
+   4    0.67539    0.637399  0.416444       0.853879    0.988957   0.44724
+   ⋮                                    ⋱                          ⋮
+  97    0.474087   0.475786  0.759047       0.704613    0.706165   0.1279
+  98    0.844262   0.668594  0.431398       0.746465    0.919534   0.398776
+  99    0.0471885  0.788358  0.0145691      0.647328    0.517971   0.910412
+ 100    0.0442448  0.702787  0.585658   …   0.68326     0.774131   0.403955

A regular broadcast fails:

julia
julia> scaled = data .* month_scalars
ERROR: DimensionMismatch: arrays could not be broadcast to a common size: a has axes DimensionalData.Dimensions.DimUnitRange(Base.OneTo(100), X{Sampled{Int64, UnitRange{Int64}, ForwardOrdered, Regular{Int64}, Points, NoMetadata}}([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100])) and b has axes DimensionalData.Dimensions.DimUnitRange(Base.OneTo(12), Ti{Sampled{Dates.DateTime, StepRange{Dates.DateTime, Dates.Month}, ForwardOrdered, Regular{Dates.Month}, Points, NoMetadata}}([Dates.DateTime("2000-01-01T00:00:00"), Dates.DateTime("2000-02-01T00:00:00"), Dates.DateTime("2000-03-01T00:00:00"), Dates.DateTime("2000-04-01T00:00:00"), Dates.DateTime("2000-05-01T00:00:00"), Dates.DateTime("2000-06-01T00:00:00"), Dates.DateTime("2000-07-01T00:00:00"), Dates.DateTime("2000-08-01T00:00:00"), Dates.DateTime("2000-09-01T00:00:00"), Dates.DateTime("2000-10-01T00:00:00"), Dates.DateTime("2000-11-01T00:00:00"), Dates.DateTime("2000-12-01T00:00:00")]))

But @d knows to broadcast over the Ti dimension:

julia
julia> scaled = @d data .* month_scalars
╭───────────────────────────────╮
 100×25×12 DimArray{Float64,3}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 X  Sampled{Int64} 1:100 ForwardOrdered Regular Points,
@@ -43,48 +43,48 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1          2         323          24          25
-   1    0.792885   0.896315  0.28708       0.818644    0.568131    0.967865
-   2    0.0959455  0.164724  0.491767      0.515061    0.0416986   0.31065
-   3    0.23546    0.652353  0.201734      0.568302    0.875221    0.651784
-   4    0.2344     0.390033  0.108592      0.69635     0.655684    0.564589
-   ⋮                                   ⋱                           ⋮
-  97    0.192183   0.76163   0.924417      0.0502944   0.736214    0.959028
-  98    0.204551   0.725738  0.511086      0.566557    0.268319    0.790283
-  99    0.250752   0.612779  0.974596      0.246796    0.555456    0.27181
- 100    0.295548   0.364488  0.21714   …   0.687223    0.068913    0.453973

We can see the means of each month are scaled by the broadcast :

julia
julia> mean(eachslice(data; dims=(X, Y)))
╭────────────────────────────────╮
+  1          2         323          24         25
+   1    0.624685   0.909533  0.43314        0.0541549   0.721101   0.600306
+   2    0.546357   0.621601  0.960677       0.129382    0.434374   0.438592
+   3    0.407207   0.861652  0.0837074      0.0725917   0.800084   0.749829
+   4    0.67539    0.637399  0.416444       0.853879    0.988957   0.44724
+   ⋮                                    ⋱                          ⋮
+  97    0.474087   0.475786  0.759047       0.704613    0.706165   0.1279
+  98    0.844262   0.668594  0.431398       0.746465    0.919534   0.398776
+  99    0.0471885  0.788358  0.0145691      0.647328    0.517971   0.910412
+ 100    0.0442448  0.702787  0.585658   …   0.68326     0.774131   0.403955

We can see the means of each month are scaled by the broadcast :

julia
julia> mean(eachslice(data; dims=(X, Y)))
╭────────────────────────────────╮
 12-element DimArray{Float64,1}
 ├────────────────────────────────┴─────────────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
- 2000-01-01T00:00:00  0.496108
- 2000-02-01T00:00:00  0.49795
- 2000-03-01T00:00:00  0.493708
- 2000-04-01T00:00:00  0.492377
- 2000-05-01T00:00:00  0.496201
- 2000-06-01T00:00:00  0.496665
- 2000-07-01T00:00:00  0.489762
- 2000-08-01T00:00:00  0.503719
- 2000-09-01T00:00:00  0.505946
- 2000-10-01T00:00:00  0.499719
- 2000-11-01T00:00:00  0.490968
- 2000-12-01T00:00:00  0.501068
julia
julia> mean(eachslice(scaled; dims=(X, Y)))
╭────────────────────────────────╮
+ 2000-01-01T00:00:00  0.50854
+ 2000-02-01T00:00:00  0.499674
+ 2000-03-01T00:00:00  0.510863
+ 2000-04-01T00:00:00  0.500818
+ 2000-05-01T00:00:00  0.501124
+ 2000-06-01T00:00:00  0.495215
+ 2000-07-01T00:00:00  0.489497
+ 2000-08-01T00:00:00  0.500495
+ 2000-09-01T00:00:00  0.491479
+ 2000-10-01T00:00:00  0.499282
+ 2000-11-01T00:00:00  0.491202
+ 2000-12-01T00:00:00  0.485718
julia
julia> mean(eachslice(scaled; dims=(X, Y)))
╭────────────────────────────────╮
 12-element DimArray{Float64,1}
 ├────────────────────────────────┴─────────────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
- 2000-01-01T00:00:00  0.496108
- 2000-02-01T00:00:00  0.995899
- 2000-03-01T00:00:00  1.48113
- 2000-04-01T00:00:00  1.96951
- 2000-05-01T00:00:00  2.48101
- 2000-06-01T00:00:00  2.97999
- 2000-07-01T00:00:00  3.42833
- 2000-08-01T00:00:00  4.02976
- 2000-09-01T00:00:00  4.55351
- 2000-10-01T00:00:00  4.99719
- 2000-11-01T00:00:00  5.40065
- 2000-12-01T00:00:00  6.01282

You can also use broadcast_dims the same way:

julia
julia> broadcast_dims(*, data, month_scalars)
╭───────────────────────────────╮
+ 2000-01-01T00:00:00  0.50854
+ 2000-02-01T00:00:00  0.999348
+ 2000-03-01T00:00:00  1.53259
+ 2000-04-01T00:00:00  2.00327
+ 2000-05-01T00:00:00  2.50562
+ 2000-06-01T00:00:00  2.97129
+ 2000-07-01T00:00:00  3.42648
+ 2000-08-01T00:00:00  4.00396
+ 2000-09-01T00:00:00  4.42331
+ 2000-10-01T00:00:00  4.99282
+ 2000-11-01T00:00:00  5.40322
+ 2000-12-01T00:00:00  5.82862

You can also use broadcast_dims the same way:

julia
julia> broadcast_dims(*, data, month_scalars)
╭───────────────────────────────╮
 100×25×12 DimArray{Float64,3}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 X  Sampled{Int64} 1:100 ForwardOrdered Regular Points,
@@ -92,16 +92,16 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1          2         323          24          25
-   1    0.792885   0.896315  0.28708       0.818644    0.568131    0.967865
-   2    0.0959455  0.164724  0.491767      0.515061    0.0416986   0.31065
-   3    0.23546    0.652353  0.201734      0.568302    0.875221    0.651784
-   4    0.2344     0.390033  0.108592      0.69635     0.655684    0.564589
-   ⋮                                   ⋱                           ⋮
-  97    0.192183   0.76163   0.924417      0.0502944   0.736214    0.959028
-  98    0.204551   0.725738  0.511086      0.566557    0.268319    0.790283
-  99    0.250752   0.612779  0.974596      0.246796    0.555456    0.27181
- 100    0.295548   0.364488  0.21714   …   0.687223    0.068913    0.453973

And with the @d macro you can set the dimension order and other properties of the output array, by passing a single assignment or a NamedTuple argument to @d after the broadcast:

julia
julia> @d data .* month_scalars dims=(Ti, X, Y)
╭───────────────────────────────╮
+  1          2         323          24         25
+   1    0.624685   0.909533  0.43314        0.0541549   0.721101   0.600306
+   2    0.546357   0.621601  0.960677       0.129382    0.434374   0.438592
+   3    0.407207   0.861652  0.0837074      0.0725917   0.800084   0.749829
+   4    0.67539    0.637399  0.416444       0.853879    0.988957   0.44724
+   ⋮                                    ⋱                          ⋮
+  97    0.474087   0.475786  0.759047       0.704613    0.706165   0.1279
+  98    0.844262   0.668594  0.431398       0.746465    0.919534   0.398776
+  99    0.0471885  0.788358  0.0145691      0.647328    0.517971   0.910412
+ 100    0.0442448  0.702787  0.585658   …   0.68326     0.774131   0.403955

And with the @d macro you can set the dimension order and other properties of the output array, by passing a single assignment or a NamedTuple argument to @d after the broadcast:

julia
julia> @d data .* month_scalars dims=(Ti, X, Y)
╭───────────────────────────────╮
 12×100×25 DimArray{Float64,3}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points,
@@ -109,16 +109,16 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Y  Sampled{Int64} 1:25 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-                   198         99         100
-  2000-01-01T00:00:00  0.792885      0.204551   0.250752    0.295548
-  2000-02-01T00:00:00  1.27802       0.728611   1.04046     1.10447
-  2000-03-01T00:00:00  1.13589       1.54853    0.686287    0.929592
-  2000-04-01T00:00:00  3.49029       1.09764    3.2115      1.38795
- ⋮                               ⋱                          ⋮
-  2000-09-01T00:00:00  1.89618       0.203703   4.47963     2.55114
-  2000-10-01T00:00:00  9.58054   …   5.3793     0.118632    7.12731
-  2000-11-01T00:00:00  0.134208      5.08512    6.19995     2.74204
-  2000-12-01T00:00:00  7.60111      11.5008    10.2026      6.54483

Or

julia
julia> @d data .* month_scalars (dims=(Ti, X, Y), name=:scaled)
╭──────────────────────────────────────╮
+                   198         99          100
+  2000-01-01T00:00:00  0.624685      0.844262   0.0471885    0.0442448
+  2000-02-01T00:00:00  0.547848      1.79785    0.187495     0.441762
+  2000-03-01T00:00:00  2.49232       1.15489    2.82356      0.921936
+  2000-04-01T00:00:00  0.439142      2.61341    1.59542      2.24247
+ ⋮                               ⋱                           ⋮
+  2000-09-01T00:00:00  3.27042       6.61858    3.10246      5.93972
+  2000-10-01T00:00:00  0.12404   …   2.53632    7.83904      6.55713
+  2000-11-01T00:00:00  1.79388       2.5891     2.14203      5.52389
+  2000-12-01T00:00:00  8.84219       6.15004    5.04169      6.10415

Or

julia
julia> @d data .* month_scalars (dims=(Ti, X, Y), name=:scaled)
╭──────────────────────────────────────╮
 12×100×25 DimArray{Float64,3} scaled
 ├──────────────────────────────────────┴───────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points,
@@ -126,13 +126,13 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Y  Sampled{Int64} 1:25 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-                   198         99         100
-  2000-01-01T00:00:00  0.792885      0.204551   0.250752    0.295548
-  2000-02-01T00:00:00  1.27802       0.728611   1.04046     1.10447
-  2000-03-01T00:00:00  1.13589       1.54853    0.686287    0.929592
-  2000-04-01T00:00:00  3.49029       1.09764    3.2115      1.38795
- ⋮                               ⋱                          ⋮
-  2000-09-01T00:00:00  1.89618       0.203703   4.47963     2.55114
-  2000-10-01T00:00:00  9.58054   …   5.3793     0.118632    7.12731
-  2000-11-01T00:00:00  0.134208      5.08512    6.19995     2.74204
-  2000-12-01T00:00:00  7.60111      11.5008    10.2026      6.54483
`,36)]))}const y=i(h,[["render",l]]);export{g as __pageData,y as default}; + 198 99 100 + 2000-01-01T00:00:00 0.624685 0.844262 0.0471885 0.0442448 + 2000-02-01T00:00:00 0.547848 1.79785 0.187495 0.441762 + 2000-03-01T00:00:00 2.49232 1.15489 2.82356 0.921936 + 2000-04-01T00:00:00 0.439142 2.61341 1.59542 2.24247 + ⋮ ⋱ ⋮ + 2000-09-01T00:00:00 3.27042 6.61858 3.10246 5.93972 + 2000-10-01T00:00:00 0.12404 … 2.53632 7.83904 6.55713 + 2000-11-01T00:00:00 1.79388 2.5891 2.14203 5.52389 + 2000-12-01T00:00:00 8.84219 6.15004 5.04169 6.10415
`,36)]))}const y=i(h,[["render",t]]);export{g as __pageData,y as default}; diff --git a/dev/assets/broadcasts.md.CVzEqDHf.lean.js b/dev/assets/broadcasts.md.Dz88oNfL.lean.js similarity index 79% rename from dev/assets/broadcasts.md.CVzEqDHf.lean.js rename to dev/assets/broadcasts.md.Dz88oNfL.lean.js index 25f8fd840..e477dfcd8 100644 --- a/dev/assets/broadcasts.md.CVzEqDHf.lean.js +++ b/dev/assets/broadcasts.md.Dz88oNfL.lean.js @@ -1,4 +1,4 @@ -import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g=JSON.parse('{"title":"Dimensional broadcasts with @d and broadcast_dims","description":"","frontmatter":{},"headers":[],"relativePath":"broadcasts.md","filePath":"broadcasts.md","lastUpdated":null}'),h={name:"broadcasts.md"};function l(k,s,t,p,d,f){return e(),a("div",null,s[0]||(s[0]=[n(`

Dimensional broadcasts with @d and broadcast_dims

Broadcasting over AbstractDimArray works as usual with Base Julia broadcasts, except that dimensions are checked for compatibility with eachother, and that values match. Strict checks can be turned of globally with strict_broadcast!(false). To avoid even dimension name checks, broadcast over parent(dimarray).

The @d macro is a dimension-aware extension to regular dot brodcasting. broadcast_dims and broadcast_dims are analagous to Base julia broadcast.

Because we know the names of the dimensions, there is no ambiguity in which one we mean to broadcast together. This means we can permute and reshape dims so that broadcasts that would fail with a regular Array just work with a DimArray.

As an added bonus, broadcast_dims even works on DimStacks. Currently @d does not work on DimStack.

Example: scaling along the time dimension

Define some dimensions:

julia
using DimensionalData
+import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.BAAK0EyE.js";const g=JSON.parse('{"title":"Dimensional broadcasts with @d and broadcast_dims","description":"","frontmatter":{},"headers":[],"relativePath":"broadcasts.md","filePath":"broadcasts.md","lastUpdated":null}'),h={name:"broadcasts.md"};function t(l,s,k,p,d,f){return n(),a("div",null,s[0]||(s[0]=[e(`

Dimensional broadcasts with @d and broadcast_dims

Broadcasting over AbstractDimArray works as usual with Base Julia broadcasts, except that dimensions are checked for compatibility with each other, and that values match. Strict checks can be turned off globally with strict_broadcast!(false). To avoid even dimension name checks, broadcast over parent(dimarray).

The @d macro is a dimension-aware extension to regular dot broadcasting. broadcast_dims is analogous to Base Julia's broadcast.

Because we know the names of the dimensions, there is no ambiguity in which ones we mean to broadcast together. This means we can permute and reshape dims so that broadcasts that would fail with a regular Array just work with a DimArray.

As an added bonus, broadcast_dims even works on DimStacks. Currently, @d does not work on DimStack.

Example: scaling along the time dimension

Define some dimensions:

julia
using DimensionalData
 using Dates
 using Statistics
julia
julia> x, y, t = X(1:100), Y(1:25), Ti(DateTime(2000):Month(1):DateTime(2000, 12))
(X  1:100,
 Y  1:25,
@@ -26,16 +26,16 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1          2         323          24          25
-   1    0.792885   0.896315  0.28708       0.818644    0.568131    0.967865
-   2    0.0959455  0.164724  0.491767      0.515061    0.0416986   0.31065
-   3    0.23546    0.652353  0.201734      0.568302    0.875221    0.651784
-   4    0.2344     0.390033  0.108592      0.69635     0.655684    0.564589
-   ⋮                                   ⋱                           ⋮
-  97    0.192183   0.76163   0.924417      0.0502944   0.736214    0.959028
-  98    0.204551   0.725738  0.511086      0.566557    0.268319    0.790283
-  99    0.250752   0.612779  0.974596      0.246796    0.555456    0.27181
- 100    0.295548   0.364488  0.21714   …   0.687223    0.068913    0.453973

A regular broadcast fails:

julia
julia> scaled = data .* month_scalars
ERROR: DimensionMismatch: arrays could not be broadcast to a common size; got a dimension with lengths 100 and 12

But @d knows to broadcast over the Ti dimension:

julia
julia> scaled = @d data .* month_scalars
╭───────────────────────────────╮
+  1          2         323          24         25
+   1    0.624685   0.909533  0.43314        0.0541549   0.721101   0.600306
+   2    0.546357   0.621601  0.960677       0.129382    0.434374   0.438592
+   3    0.407207   0.861652  0.0837074      0.0725917   0.800084   0.749829
+   4    0.67539    0.637399  0.416444       0.853879    0.988957   0.44724
+   ⋮                                    ⋱                          ⋮
+  97    0.474087   0.475786  0.759047       0.704613    0.706165   0.1279
+  98    0.844262   0.668594  0.431398       0.746465    0.919534   0.398776
+  99    0.0471885  0.788358  0.0145691      0.647328    0.517971   0.910412
+ 100    0.0442448  0.702787  0.585658   …   0.68326     0.774131   0.403955

A regular broadcast fails:

julia
julia> scaled = data .* month_scalars
ERROR: DimensionMismatch: arrays could not be broadcast to a common size: a has axes DimensionalData.Dimensions.DimUnitRange(Base.OneTo(100), X{Sampled{Int64, UnitRange{Int64}, ForwardOrdered, Regular{Int64}, Points, NoMetadata}}([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100])) and b has axes DimensionalData.Dimensions.DimUnitRange(Base.OneTo(12), Ti{Sampled{Dates.DateTime, StepRange{Dates.DateTime, Dates.Month}, ForwardOrdered, Regular{Dates.Month}, Points, NoMetadata}}([Dates.DateTime("2000-01-01T00:00:00"), Dates.DateTime("2000-02-01T00:00:00"), Dates.DateTime("2000-03-01T00:00:00"), Dates.DateTime("2000-04-01T00:00:00"), Dates.DateTime("2000-05-01T00:00:00"), Dates.DateTime("2000-06-01T00:00:00"), Dates.DateTime("2000-07-01T00:00:00"), Dates.DateTime("2000-08-01T00:00:00"), Dates.DateTime("2000-09-01T00:00:00"), Dates.DateTime("2000-10-01T00:00:00"), Dates.DateTime("2000-11-01T00:00:00"), Dates.DateTime("2000-12-01T00:00:00")]))

But @d knows to broadcast over the Ti dimension:

julia
julia> scaled = @d data .* month_scalars
╭───────────────────────────────╮
 100×25×12 DimArray{Float64,3}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 X  Sampled{Int64} 1:100 ForwardOrdered Regular Points,
@@ -43,48 +43,48 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1          2         323          24          25
-   1    0.792885   0.896315  0.28708       0.818644    0.568131    0.967865
-   2    0.0959455  0.164724  0.491767      0.515061    0.0416986   0.31065
-   3    0.23546    0.652353  0.201734      0.568302    0.875221    0.651784
-   4    0.2344     0.390033  0.108592      0.69635     0.655684    0.564589
-   ⋮                                   ⋱                           ⋮
-  97    0.192183   0.76163   0.924417      0.0502944   0.736214    0.959028
-  98    0.204551   0.725738  0.511086      0.566557    0.268319    0.790283
-  99    0.250752   0.612779  0.974596      0.246796    0.555456    0.27181
- 100    0.295548   0.364488  0.21714   …   0.687223    0.068913    0.453973

We can see the means of each month are scaled by the broadcast :

julia
julia> mean(eachslice(data; dims=(X, Y)))
╭────────────────────────────────╮
+  1          2         323          24         25
+   1    0.624685   0.909533  0.43314        0.0541549   0.721101   0.600306
+   2    0.546357   0.621601  0.960677       0.129382    0.434374   0.438592
+   3    0.407207   0.861652  0.0837074      0.0725917   0.800084   0.749829
+   4    0.67539    0.637399  0.416444       0.853879    0.988957   0.44724
+   ⋮                                    ⋱                          ⋮
+  97    0.474087   0.475786  0.759047       0.704613    0.706165   0.1279
+  98    0.844262   0.668594  0.431398       0.746465    0.919534   0.398776
+  99    0.0471885  0.788358  0.0145691      0.647328    0.517971   0.910412
+ 100    0.0442448  0.702787  0.585658   …   0.68326     0.774131   0.403955

We can see the means of each month are scaled by the broadcast :

julia
julia> mean(eachslice(data; dims=(X, Y)))
╭────────────────────────────────╮
 12-element DimArray{Float64,1}
 ├────────────────────────────────┴─────────────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
- 2000-01-01T00:00:00  0.496108
- 2000-02-01T00:00:00  0.49795
- 2000-03-01T00:00:00  0.493708
- 2000-04-01T00:00:00  0.492377
- 2000-05-01T00:00:00  0.496201
- 2000-06-01T00:00:00  0.496665
- 2000-07-01T00:00:00  0.489762
- 2000-08-01T00:00:00  0.503719
- 2000-09-01T00:00:00  0.505946
- 2000-10-01T00:00:00  0.499719
- 2000-11-01T00:00:00  0.490968
- 2000-12-01T00:00:00  0.501068
julia
julia> mean(eachslice(scaled; dims=(X, Y)))
╭────────────────────────────────╮
+ 2000-01-01T00:00:00  0.50854
+ 2000-02-01T00:00:00  0.499674
+ 2000-03-01T00:00:00  0.510863
+ 2000-04-01T00:00:00  0.500818
+ 2000-05-01T00:00:00  0.501124
+ 2000-06-01T00:00:00  0.495215
+ 2000-07-01T00:00:00  0.489497
+ 2000-08-01T00:00:00  0.500495
+ 2000-09-01T00:00:00  0.491479
+ 2000-10-01T00:00:00  0.499282
+ 2000-11-01T00:00:00  0.491202
+ 2000-12-01T00:00:00  0.485718
julia
julia> mean(eachslice(scaled; dims=(X, Y)))
╭────────────────────────────────╮
 12-element DimArray{Float64,1}
 ├────────────────────────────────┴─────────────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
- 2000-01-01T00:00:00  0.496108
- 2000-02-01T00:00:00  0.995899
- 2000-03-01T00:00:00  1.48113
- 2000-04-01T00:00:00  1.96951
- 2000-05-01T00:00:00  2.48101
- 2000-06-01T00:00:00  2.97999
- 2000-07-01T00:00:00  3.42833
- 2000-08-01T00:00:00  4.02976
- 2000-09-01T00:00:00  4.55351
- 2000-10-01T00:00:00  4.99719
- 2000-11-01T00:00:00  5.40065
- 2000-12-01T00:00:00  6.01282

You can also use broadcast_dims the same way:

julia
julia> broadcast_dims(*, data, month_scalars)
╭───────────────────────────────╮
+ 2000-01-01T00:00:00  0.50854
+ 2000-02-01T00:00:00  0.999348
+ 2000-03-01T00:00:00  1.53259
+ 2000-04-01T00:00:00  2.00327
+ 2000-05-01T00:00:00  2.50562
+ 2000-06-01T00:00:00  2.97129
+ 2000-07-01T00:00:00  3.42648
+ 2000-08-01T00:00:00  4.00396
+ 2000-09-01T00:00:00  4.42331
+ 2000-10-01T00:00:00  4.99282
+ 2000-11-01T00:00:00  5.40322
+ 2000-12-01T00:00:00  5.82862

You can also use broadcast_dims the same way:

julia
julia> broadcast_dims(*, data, month_scalars)
╭───────────────────────────────╮
 100×25×12 DimArray{Float64,3}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 X  Sampled{Int64} 1:100 ForwardOrdered Regular Points,
@@ -92,16 +92,16 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1          2         323          24          25
-   1    0.792885   0.896315  0.28708       0.818644    0.568131    0.967865
-   2    0.0959455  0.164724  0.491767      0.515061    0.0416986   0.31065
-   3    0.23546    0.652353  0.201734      0.568302    0.875221    0.651784
-   4    0.2344     0.390033  0.108592      0.69635     0.655684    0.564589
-   ⋮                                   ⋱                           ⋮
-  97    0.192183   0.76163   0.924417      0.0502944   0.736214    0.959028
-  98    0.204551   0.725738  0.511086      0.566557    0.268319    0.790283
-  99    0.250752   0.612779  0.974596      0.246796    0.555456    0.27181
- 100    0.295548   0.364488  0.21714   …   0.687223    0.068913    0.453973

And with the @d macro you can set the dimension order and other properties of the output array, by passing a single assignment or a NamedTuple argument to @d after the broadcast:

julia
julia> @d data .* month_scalars dims=(Ti, X, Y)
╭───────────────────────────────╮
+  1          2         323          24         25
+   1    0.624685   0.909533  0.43314        0.0541549   0.721101   0.600306
+   2    0.546357   0.621601  0.960677       0.129382    0.434374   0.438592
+   3    0.407207   0.861652  0.0837074      0.0725917   0.800084   0.749829
+   4    0.67539    0.637399  0.416444       0.853879    0.988957   0.44724
+   ⋮                                    ⋱                          ⋮
+  97    0.474087   0.475786  0.759047       0.704613    0.706165   0.1279
+  98    0.844262   0.668594  0.431398       0.746465    0.919534   0.398776
+  99    0.0471885  0.788358  0.0145691      0.647328    0.517971   0.910412
+ 100    0.0442448  0.702787  0.585658   …   0.68326     0.774131   0.403955

And with the @d macro you can set the dimension order and other properties of the output array, by passing a single assignment or a NamedTuple argument to @d after the broadcast:

julia
julia> @d data .* month_scalars dims=(Ti, X, Y)
╭───────────────────────────────╮
 12×100×25 DimArray{Float64,3}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points,
@@ -109,16 +109,16 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Y  Sampled{Int64} 1:25 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-                   198         99         100
-  2000-01-01T00:00:00  0.792885      0.204551   0.250752    0.295548
-  2000-02-01T00:00:00  1.27802       0.728611   1.04046     1.10447
-  2000-03-01T00:00:00  1.13589       1.54853    0.686287    0.929592
-  2000-04-01T00:00:00  3.49029       1.09764    3.2115      1.38795
- ⋮                               ⋱                          ⋮
-  2000-09-01T00:00:00  1.89618       0.203703   4.47963     2.55114
-  2000-10-01T00:00:00  9.58054   …   5.3793     0.118632    7.12731
-  2000-11-01T00:00:00  0.134208      5.08512    6.19995     2.74204
-  2000-12-01T00:00:00  7.60111      11.5008    10.2026      6.54483

Or

julia
julia> @d data .* month_scalars (dims=(Ti, X, Y), name=:scaled)
╭──────────────────────────────────────╮
+                   198         99          100
+  2000-01-01T00:00:00  0.624685      0.844262   0.0471885    0.0442448
+  2000-02-01T00:00:00  0.547848      1.79785    0.187495     0.441762
+  2000-03-01T00:00:00  2.49232       1.15489    2.82356      0.921936
+  2000-04-01T00:00:00  0.439142      2.61341    1.59542      2.24247
+ ⋮                               ⋱                           ⋮
+  2000-09-01T00:00:00  3.27042       6.61858    3.10246      5.93972
+  2000-10-01T00:00:00  0.12404   …   2.53632    7.83904      6.55713
+  2000-11-01T00:00:00  1.79388       2.5891     2.14203      5.52389
+  2000-12-01T00:00:00  8.84219       6.15004    5.04169      6.10415

Or

julia
julia> @d data .* month_scalars (dims=(Ti, X, Y), name=:scaled)
╭──────────────────────────────────────╮
 12×100×25 DimArray{Float64,3} scaled
 ├──────────────────────────────────────┴───────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points,
@@ -126,13 +126,13 @@ import{_ as i,c as a,a4 as n,o as e}from"./chunks/framework.B8l2DGq3.js";const g
 Y  Sampled{Int64} 1:25 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-                   198         99         100
-  2000-01-01T00:00:00  0.792885      0.204551   0.250752    0.295548
-  2000-02-01T00:00:00  1.27802       0.728611   1.04046     1.10447
-  2000-03-01T00:00:00  1.13589       1.54853    0.686287    0.929592
-  2000-04-01T00:00:00  3.49029       1.09764    3.2115      1.38795
- ⋮                               ⋱                          ⋮
-  2000-09-01T00:00:00  1.89618       0.203703   4.47963     2.55114
-  2000-10-01T00:00:00  9.58054   …   5.3793     0.118632    7.12731
-  2000-11-01T00:00:00  0.134208      5.08512    6.19995     2.74204
-  2000-12-01T00:00:00  7.60111      11.5008    10.2026      6.54483
`,36)]))}const y=i(h,[["render",l]]);export{g as __pageData,y as default}; + 198 99 100 + 2000-01-01T00:00:00 0.624685 0.844262 0.0471885 0.0442448 + 2000-02-01T00:00:00 0.547848 1.79785 0.187495 0.441762 + 2000-03-01T00:00:00 2.49232 1.15489 2.82356 0.921936 + 2000-04-01T00:00:00 0.439142 2.61341 1.59542 2.24247 + ⋮ ⋱ ⋮ + 2000-09-01T00:00:00 3.27042 6.61858 3.10246 5.93972 + 2000-10-01T00:00:00 0.12404 … 2.53632 7.83904 6.55713 + 2000-11-01T00:00:00 1.79388 2.5891 2.14203 5.52389 + 2000-12-01T00:00:00 8.84219 6.15004 5.04169 6.10415
`,36)]))}const y=i(h,[["render",t]]);export{g as __pageData,y as default}; diff --git a/dev/assets/chunks/@localSearchIndexroot.CMyb46FE.js b/dev/assets/chunks/@localSearchIndexroot.CMyb46FE.js deleted file mode 100644 index ec0f7f773..000000000 --- a/dev/assets/chunks/@localSearchIndexroot.CMyb46FE.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":86,"nextId":86,"documentIds":{"0":"/DimensionalData.jl/dev/api/dimensions#dimensions","1":"/DimensionalData.jl/dev/api/dimensions#Exported-methods","2":"/DimensionalData.jl/dev/api/dimensions#Non-exported-methods","3":"/DimensionalData.jl/dev/api/dimensions#Primitive-methods","4":"/DimensionalData.jl/dev/api/lookuparrays#lookups","5":"/DimensionalData.jl/dev/api/lookuparrays#selectors","6":"/DimensionalData.jl/dev/api/lookuparrays#Lookup-traits","7":"/DimensionalData.jl/dev/api/lookuparrays#order","8":"/DimensionalData.jl/dev/api/lookuparrays#span","9":"/DimensionalData.jl/dev/api/lookuparrays#sampling","10":"/DimensionalData.jl/dev/api/lookuparrays#positions","11":"/DimensionalData.jl/dev/api/lookuparrays#metadata","12":"/DimensionalData.jl/dev/basics#installation","13":"/DimensionalData.jl/dev/basics#basics","14":"/DimensionalData.jl/dev/api/reference#API-Reference","15":"/DimensionalData.jl/dev/api/reference#arrays","16":"/DimensionalData.jl/dev/api/reference#Multi-array-datasets","17":"/DimensionalData.jl/dev/api/reference#Dimension-generators","18":"/DimensionalData.jl/dev/api/reference#Tables.jl/TableTraits.jl-interface","19":"/DimensionalData.jl/dev/api/reference#Group-by-methods","20":"/DimensionalData.jl/dev/api/reference#Utility-methods","21":"/DimensionalData.jl/dev/api/reference#Global-lookup-strictness-settings","22":"/DimensionalData.jl/dev/api/reference#name","23":"/DimensionalData.jl/dev/api/reference#Internal-interface","24":"/DimensionalData.jl/dev/broadcasts#Dimensional-broadcasts-with-@d-and-broadcast_dims","25":"/DimensionalData.jl/dev/broadcasts#Example:-scaling-along-the-time-dimension","26":"/DimensionalData.jl/dev/cuda#CUDA-and-GPUs","27":"/DimensionalData.jl/dev/cuda#GPU-Integration-goals","28":"/DimensionalData.jl/dev/dimarrays#dimarrays","29":"/DimensionalData.jl/dev/dimarrays#Constructing-DimArray-with-arbitrary-dimension-names","30":"/DimensionalData.jl/dev/dimarrays#Dimensional-Indexing","31":"/DimensionalData.jl/dev/dimarrays#Begin-End-indexing","32":"/DimensionalData.jl/dev/dimarrays#dims-keywords","33":"/DimensionalData.jl/dev/dimarrays#performance","34":"/DimensionalData.jl/dev/dimensions#dimensions","35":"/DimensionalData.jl/dev/diskarrays#DiskArrays.jl-compatibility","36":"/DimensionalData.jl/dev/extending_dd#Extending-DimensionalData","37":"/DimensionalData.jl/dev/extending_dd#dims","38":"/DimensionalData.jl/dev/extending_dd#Dimension-axes","39":"/DimensionalData.jl/dev/extending_dd#dims-keywords","40":"/DimensionalData.jl/dev/extending_dd#rebuild","41":"/DimensionalData.jl/dev/extending_dd#format","42":"/DimensionalData.jl/dev/extending_dd#Interfaces.jl-interface-testing","43":"/DimensionalData.jl/dev/groupby#Group-By","44":"/DimensionalData.jl/dev/groupby#Grouping-functions","45":"/DimensionalData.jl/dev/groupby#Grouping-and-reducing","46":"/DimensionalData.jl/dev/groupby#binning","47":"/DimensionalData.jl/dev/groupby#Select-by-Dimension","48":"/DimensionalData.jl/dev/get_info#getters","49":"/DimensionalData.jl/dev/get_info#predicates","50":"/DimensionalData.jl/dev/integrations#integrations","51":"/DimensionalData.jl/dev/integrations#rasters-jl","52":"/DimensionalData.jl/dev/integrations#yaxarrays-jl","53":"/DimensionalData.jl/dev/integrations#climatebase-jl","54":"/DimensionalData.jl/dev/integrations#arviz-jl","55":"/DimensionalData.jl/dev/integrations#jump-jl","56":"/DimensionalData.jl/dev/integrations#cryogrid-jl","57":"/DimensionalData.jl/dev/integrations#dynamicgrids-jl","58":"/DimensionalData.jl/dev/integrations#astroimages-jl","59":"/DimensionalData.jl/dev/integrations#timeseriestools-jl","60":"/DimensionalData.jl/dev/object_modification#Modifying-objects","61":"/DimensionalData.jl/dev/object_modification#modify","62":"/DimensionalData.jl/dev/object_modification#reorder","63":"/DimensionalData.jl/dev/object_modification#mergedims","64":"/DimensionalData.jl/dev/object_modification#rebuild","65":"/DimensionalData.jl/dev/object_modification#rebuild-magic","66":"/DimensionalData.jl/dev/object_modification#set","67":"/DimensionalData.jl/dev/plots#plots-jl","68":"/DimensionalData.jl/dev/plots#makie-jl","69":"/DimensionalData.jl/dev/plots#Test-series-plots","70":"/DimensionalData.jl/dev/plots#default-colormap","71":"/DimensionalData.jl/dev/plots#A-different-colormap","72":"/DimensionalData.jl/dev/plots#with-markers","73":"/DimensionalData.jl/dev/selectors#selectors","74":"/DimensionalData.jl/dev/selectors#lookups","75":"/DimensionalData.jl/dev/selectors#Lookup-autodetection","76":"/DimensionalData.jl/dev/selectors#DimSelector","77":"/DimensionalData.jl/dev/stacks#dimstacks","78":"/DimensionalData.jl/dev/stacks#NamedTuple-like-indexing","79":"/DimensionalData.jl/dev/stacks#Array-like-indexing","80":"/DimensionalData.jl/dev/stacks#Reducing-functions","81":"/DimensionalData.jl/dev/stacks#performance","82":"/DimensionalData.jl/dev/tables#Tables-and-DataFrames","83":"/DimensionalData.jl/dev/tables#example","84":"/DimensionalData.jl/dev/tables#Converting-to-DataFrame","85":"/DimensionalData.jl/dev/tables#Converting-to-CSV"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,303],"1":[2,1,130],"2":[3,1,134],"3":[2,1,346],"4":[1,1,486],"5":[1,1,329],"6":[2,1,38],"7":[1,3,70],"8":[1,3,90],"9":[1,3,63],"10":[1,3,97],"11":[1,1,144],"12":[1,1,40],"13":[1,1,161],"14":[2,1,1],"15":[1,2,335],"16":[3,2,223],"17":[2,2,230],"18":[4,2,112],"19":[3,1,346],"20":[2,1,407],"21":[4,1,234],"22":[1,4,59],"23":[2,4,179],"24":[7,1,87],"25":[6,7,245],"26":[3,1,176],"27":[3,3,110],"28":[1,1,222],"29":[6,1,75],"30":[2,1,256],"31":[3,1,129],"32":[2,1,118],"33":[1,1,93],"34":[1,1,102],"35":[3,1,77],"36":[2,1,68],"37":[1,2,18],"38":[2,3,55],"39":[2,3,47],"40":[1,2,106],"41":[1,2,54],"42":[4,2,91],"43":[2,1,22],"44":[2,2,114],"45":[3,2,207],"46":[1,2,287],"47":[3,2,141],"48":[1,1,216],"49":[1,1,59],"50":[1,1,1],"51":[2,1,69],"52":[2,1,38],"53":[2,1,12],"54":[2,1,18],"55":[2,1,24],"56":[2,1,18],"57":[2,1,34],"58":[2,1,15],"59":[2,1,9],"60":[2,1,39],"61":[1,2,83],"62":[1,2,82],"63":[1,2,23],"64":[1,2,188],"65":[2,3,51],"66":[1,2,135],"67":[2,1,51],"68":[2,1,66],"69":[3,2,1],"70":[2,5,21],"71":[3,5,32],"72":[2,5,19],"73":[1,1,198],"74":[1,1,215],"75":[2,1,157],"76":[1,1,319],"77":[1,1,89],"78":[3,1,171],"79":[3,1,127],"80":[2,1,139],"81":[1,1,68],"82":[3,1,71],"83":[1,3,115],"84":[3,3,251],"85":[3,3,85]},"averageFieldLength":[2.0232558139534884,1.744186046511628,125.18604651162791],"storedFields":{"0":{"title":"Dimensions","titles":[]},"1":{"title":"Exported methods","titles":["Dimensions"]},"2":{"title":"Non-exported methods","titles":["Dimensions"]},"3":{"title":"Primitive methods","titles":["Dimensions"]},"4":{"title":"Lookups","titles":[]},"5":{"title":"Selectors","titles":["Lookups"]},"6":{"title":"Lookup traits","titles":["Lookups"]},"7":{"title":"Order","titles":["Lookups","Lookup traits"]},"8":{"title":"Span","titles":["Lookups","Lookup traits"]},"9":{"title":"Sampling","titles":["Lookups","Lookup traits"]},"10":{"title":"Positions","titles":["Lookups","Lookup traits"]},"11":{"title":"Metadata","titles":["Lookups"]},"12":{"title":"Installation","titles":[]},"13":{"title":"Basics","titles":[]},"14":{"title":"API Reference","titles":[]},"15":{"title":"Arrays","titles":["API Reference"]},"16":{"title":"Multi-array datasets","titles":["API Reference"]},"17":{"title":"Dimension generators","titles":["API Reference"]},"18":{"title":"Tables.jl/TableTraits.jl interface","titles":["API Reference"]},"19":{"title":"Group by methods","titles":[]},"20":{"title":"Utility methods","titles":[]},"21":{"title":"Global lookup strictness settings","titles":[]},"22":{"title":"Name","titles":["Global lookup strictness settings"]},"23":{"title":"Internal interface","titles":["Global lookup strictness settings"]},"24":{"title":"Dimensional broadcasts with @d and broadcast_dims","titles":[]},"25":{"title":"Example: scaling along the time dimension","titles":["Dimensional broadcasts with @d and broadcast_dims"]},"26":{"title":"CUDA & GPUs","titles":[]},"27":{"title":"GPU Integration goals","titles":["CUDA & GPUs"]},"28":{"title":"DimArrays","titles":[]},"29":{"title":"Constructing DimArray with arbitrary dimension names","titles":["DimArrays"]},"30":{"title":"Dimensional Indexing","titles":["DimArrays"]},"31":{"title":"Begin End indexing","titles":["DimArrays"]},"32":{"title":"dims keywords","titles":["DimArrays"]},"33":{"title":"Performance","titles":["DimArrays"]},"34":{"title":"Dimensions","titles":[]},"35":{"title":"DiskArrays.jl compatibility","titles":[]},"36":{"title":"Extending DimensionalData","titles":[]},"37":{"title":"dims","titles":["Extending DimensionalData"]},"38":{"title":"Dimension axes","titles":["Extending DimensionalData","dims"]},"39":{"title":"dims keywords","titles":["Extending DimensionalData","dims"]},"40":{"title":"rebuild","titles":["Extending DimensionalData"]},"41":{"title":"format","titles":["Extending DimensionalData"]},"42":{"title":"Interfaces.jl interface testing","titles":["Extending DimensionalData"]},"43":{"title":"Group By","titles":[]},"44":{"title":"Grouping functions","titles":["Group By"]},"45":{"title":"Grouping and reducing","titles":["Group By"]},"46":{"title":"Binning","titles":["Group By"]},"47":{"title":"Select by Dimension","titles":["Group By"]},"48":{"title":"Getters","titles":[]},"49":{"title":"Predicates","titles":["Getters"]},"50":{"title":"Integrations","titles":[]},"51":{"title":"Rasters.jl","titles":["Integrations"]},"52":{"title":"YAXArrays.jl","titles":["Integrations"]},"53":{"title":"ClimateBase.jl","titles":["Integrations"]},"54":{"title":"ArviZ.jl","titles":["Integrations"]},"55":{"title":"JuMP.jl","titles":["Integrations"]},"56":{"title":"CryoGrid.jl","titles":["Integrations"]},"57":{"title":"DynamicGrids.jl","titles":["Integrations"]},"58":{"title":"AstroImages.jl","titles":["Integrations"]},"59":{"title":"TimeseriesTools.jl","titles":["Integrations"]},"60":{"title":"Modifying objects","titles":[]},"61":{"title":"modify","titles":["Modifying objects"]},"62":{"title":"reorder","titles":["Modifying objects"]},"63":{"title":"mergedims","titles":["Modifying objects"]},"64":{"title":"rebuild","titles":["Modifying objects"]},"65":{"title":"rebuild magic","titles":["Modifying objects","rebuild"]},"66":{"title":"set","titles":["Modifying objects"]},"67":{"title":"Plots.jl","titles":[]},"68":{"title":"Makie.jl","titles":[]},"69":{"title":"Test series plots","titles":["Makie.jl"]},"70":{"title":"default colormap","titles":["Makie.jl","Test series plots"]},"71":{"title":"A different colormap","titles":["Makie.jl","Test series plots"]},"72":{"title":"with markers","titles":["Makie.jl","Test series plots"]},"73":{"title":"Selectors","titles":[]},"74":{"title":"Lookups","titles":["Selectors"]},"75":{"title":"Lookup autodetection","titles":["Selectors"]},"76":{"title":"DimSelector","titles":["Selectors"]},"77":{"title":"DimStacks","titles":[]},"78":{"title":"NamedTuple-like indexing","titles":["DimStacks"]},"79":{"title":"Array-like indexing","titles":["DimStacks"]},"80":{"title":"Reducing functions","titles":["DimStacks"]},"81":{"title":"Performance","titles":["DimStacks"]},"82":{"title":"Tables and DataFrames","titles":[]},"83":{"title":"Example","titles":["Tables and DataFrames"]},"84":{"title":"Converting to DataFrame","titles":["Tables and DataFrames"]},"85":{"title":"Converting to CSV","titles":["Tables and DataFrames"]}},"dirtCount":0,"index":[["q",{"2":{"84":1}}],["quite",{"2":{"64":1}}],["quick",{"2":{"46":1}}],["quarters",{"2":{"19":1}}],["quantity",{"2":{"5":1}}],["quot",{"2":{"3":2,"6":2,"15":4,"34":2}}],["query",{"2":{"1":16,"3":6,"15":16,"48":1}}],["─────┼──────────────────────────────────────────────────────────────────────────",{"2":{"84":1}}],["──────┼───────────────────────────────────────────",{"2":{"84":1}}],["──────┼───────────────────────────────────────────────",{"2":{"84":1}}],["──────┼──────────────────────────────────",{"2":{"84":1}}],["⋯",{"2":{"84":6}}],["$st",{"2":{"81":2}}],["$da4",{"2":{"33":2}}],["▃",{"2":{"33":1}}],["▆█",{"2":{"33":2}}],["▂",{"2":{"33":3}}],["▇▃▁▁▁▁▁▁▁▁▁▁▁▁█▆▁▁▁▁▁▁▁▁▁▁▁▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁▂▂",{"2":{"33":1}}],["██▁▁▁▁▁▁▁▁▁██▁▁▁▁▁▁▁▁▁▁██▁▁▁▁▁▁▁▁▁██▁▁▁▁▁▁▁▁▁▁▄▅▁▁▁▁▁▁▁▁▁▄",{"2":{"33":1}}],["█",{"2":{"33":2}}],["σ",{"2":{"33":4}}],["±",{"2":{"33":8}}],["┊",{"2":{"33":6}}],["~",{"2":{"31":2}}],["└",{"2":{"31":2}}],["└──────────────────────┘",{"2":{"15":4}}],["└─────────────────────────────────┘",{"2":{"29":1,"30":1}}],["└────────────────────────────────────────────────────────┘",{"2":{"21":1}}],["└───────────────────────────────────────────────────────────┘",{"2":{"15":1}}],["└────────────────────────────────────────────────────────────────┘",{"2":{"28":11,"29":1,"30":1,"31":2,"33":1,"61":3,"66":1}}],["└────────────────────────────────────────────────────────────────────┘",{"2":{"26":1}}],["└────────────────────────────────────────────────────────────────────────┘",{"2":{"19":1}}],["└─────────────────────────────────────────────────────────────────────────┘",{"2":{"17":1,"20":3}}],["└───────────────────────────────────────────────────────────────────────────┘",{"2":{"20":1}}],["└──────────────────────────────────────────────────────────────────────────────┘",{"2":{"0":3,"5":1,"13":3,"25":8,"30":2,"32":2,"45":8,"46":11,"47":3,"48":1,"62":2,"64":2,"66":5,"73":15,"74":1,"75":1,"76":5,"77":1,"78":8,"79":1,"80":25,"83":2,"84":1}}],["└──────────────────────────────────────────────────────────────────────────┘",{"2":{"4":1}}],["└───────────────────────────────────────────────────────────────────────┘",{"2":{"19":2}}],["└─────────────────────────────────────────────────────────────────────┘",{"2":{"15":3,"20":1}}],["└─────────────────────────────────────────────────────────────────┘",{"2":{"17":2}}],["└─────────────────────────────────────────────────────────────┘",{"2":{"5":1,"15":1}}],["└────────────────────────────────────────────────────────────┘",{"2":{"5":2}}],["└─────────────────────────────────────────────┘",{"2":{"17":1}}],["└─────────────────────────────┘",{"2":{"18":1}}],["└───────────────────────────┘",{"2":{"1":1,"3":1,"15":1}}],["┌",{"2":{"31":2}}],["⋱",{"2":{"25":5,"26":1,"45":1,"47":2,"76":2,"83":1,"84":1}}],["├───────────────┴────────────────────────────────────────────────────────",{"2":{"77":1,"78":6,"80":24}}],["├────────────────┴───────────────────────────────────────────────────────",{"2":{"84":1}}],["├───────────────────┴────────────────────────────────────────────────────",{"2":{"83":1}}],["├────────────────────┴───────────────────────────────────────────────────",{"2":{"79":1}}],["├─────────────────────┴──────────────────────────────────────────────────",{"2":{"80":1}}],["├──────────────────────┴───────────────────────────────────",{"2":{"61":2}}],["├────────────────────────┴─────────────────────────────────",{"2":{"28":1}}],["├─────────────────────────┴────────────────────────────────",{"2":{"29":1,"31":2,"33":1}}],["├─────────────────────────┴─────────────────────────────────",{"2":{"17":2}}],["├─────────────────────────┴─────────────────────────────────────────",{"2":{"17":1,"20":3}}],["├─────────────────────────┴───────────────────────────────────────────",{"2":{"20":1}}],["├─────────────────────────┴──────────────────────────────────────────────",{"2":{"13":2,"30":1,"73":13,"75":1,"76":3}}],["├─────────────────────────┴──────────────────────────────────────────",{"2":{"4":1}}],["├─────────────────────────┴─────────────────────────────────────",{"2":{"15":3,"20":1}}],["├───────────────────────────┴────────────────────────────────────────────",{"2":{"32":2,"48":1,"76":1}}],["├─────────────────────────────┴────────────────────────────",{"2":{"28":1}}],["├─────────────────────────────┴──────────────────────────────────────────",{"2":{"13":1}}],["├───────────────────────────────┴",{"2":{"29":1,"30":1}}],["├───────────────────────────────┴──────────────────────────",{"2":{"28":2}}],["├───────────────────────────────┴──────────────────────────────",{"2":{"26":1}}],["├───────────────────────────────┴────────────────────────────────────────",{"2":{"25":4,"45":1,"46":3,"73":2}}],["├─────────────────────────────────┴──────────────────────────────────────",{"2":{"45":3,"78":1}}],["├───────────────────────────────────┴────────────────────────────────────",{"2":{"64":1,"83":1}}],["├───────────────────────────────────┴──────────────────────",{"2":{"28":1}}],["├──────────────────────────────────────┴─────────────────────────────────",{"2":{"25":1}}],["├────────────────────────────────────────────┴───────────────────────────",{"2":{"74":1}}],["├──────────────────────────────────────────────────┴─────────────────────",{"2":{"46":7}}],["├────────────────────────────────────────────────────────",{"2":{"61":1}}],["├───────────────────────────────────────────────────────────",{"2":{"19":1}}],["├──────────────────────────────────────────────────────────────────",{"2":{"45":1,"46":8,"47":1}}],["├──────────────────────────────────────────────────────────────────────",{"2":{"77":1,"78":6,"79":1,"80":25,"83":1,"84":1}}],["├────────────────────────────────────────────────────────────────────",{"2":{"45":7,"46":11,"47":2,"64":1}}],["├──────────────────────────────────────────────────────────────",{"2":{"19":1}}],["├─────────────────────────────────────────────────────────────",{"2":{"19":2}}],["├──────────────────────────────────────────────────────┴─────────────────",{"2":{"47":1}}],["├──────────────────────────────────────────────────────",{"2":{"28":5}}],["├───────────────────────────────────────────────────┴────────────────────",{"2":{"45":1,"46":1}}],["├───────────────────────────────────────────────────┴─────────────",{"2":{"19":1}}],["├────────────────────────────────────────────────",{"2":{"21":1}}],["├────────────────────────────────────────┴───────────────────────────────",{"2":{"25":1}}],["├───────────────────────────────────────",{"2":{"17":1}}],["├───────────────────────────────────────┴─────────────",{"2":{"15":1}}],["├───────────────────────────────────────┴───────────────",{"2":{"15":1}}],["├────────────────────────────────┴─────────────────────────",{"2":{"28":1}}],["├────────────────────────────────┴────────────────────────────────",{"2":{"19":1}}],["├────────────────────────────────┴───────────────────────────────────────",{"2":{"0":1,"25":2,"45":3}}],["├────────────────────────────┴───────────────────────────────────────────",{"2":{"0":1,"30":1,"47":2,"76":1,"78":1}}],["├──────────────────────────┴───────────────────────────────",{"2":{"28":5,"30":1,"66":1}}],["├──────────────────────────┴───────────────────────────────────────",{"2":{"19":1}}],["├──────────────────────────┴─────────────────────────────────────────────",{"2":{"0":1,"62":2,"64":1,"66":5}}],["├───────────────────────",{"2":{"18":1}}],["├───────────────────────┴────────────────────────────────────────────────",{"2":{"5":1}}],["├───────────────────────┴───────────────────────────────",{"2":{"5":1}}],["├───────────────────────┴──────────────────────────────",{"2":{"5":2}}],["├─────────────────────",{"2":{"1":1,"3":1,"15":1}}],["├────────────────",{"2":{"15":4}}],["├──────────────┴───────────────────────────────────────────",{"2":{"61":1}}],["├──────────────┴───────────────────────────────────",{"2":{"21":1}}],["╭────────────────╮",{"2":{"84":1}}],["╭───────────────────╮",{"2":{"83":1}}],["╭─────────────────────╮",{"2":{"80":1}}],["╭──────────────────────╮",{"2":{"15":4,"61":2}}],["╭────────────────────────╮",{"2":{"28":1}}],["╭─────────────────────────╮",{"2":{"4":1,"13":2,"15":3,"17":3,"20":5,"29":1,"30":1,"31":2,"33":1,"73":13,"75":1,"76":3}}],["╭───────────────────────────╮",{"2":{"1":1,"3":1,"15":1,"32":2,"48":1,"76":1}}],["╭───────────────────────────────╮",{"2":{"25":4,"26":1,"28":2,"29":1,"30":1,"45":1,"46":3,"73":2}}],["╭─────────────────────────────────╮",{"2":{"45":3,"78":1}}],["╭───────────────────────────────────╮",{"2":{"28":1,"64":1,"83":1}}],["╭──────────────────────────────────────╮",{"2":{"25":1}}],["╭────────────────────────────────────────────╮",{"2":{"74":1}}],["╭──────────────────────────────────────────────────────╮",{"2":{"47":1}}],["╭───────────────────────────────────────────────────╮",{"2":{"19":1,"45":1,"46":1}}],["╭──────────────────────────────────────────────────╮",{"2":{"46":7}}],["╭─────────────────────────────────────────────╮",{"2":{"17":1}}],["╭────────────────────────────────────────╮",{"2":{"25":1}}],["╭───────────────────────────────────────╮",{"2":{"15":2}}],["╭────────────────────────────────╮",{"2":{"0":1,"19":1,"25":2,"28":1,"45":3}}],["╭─────────────────────────────╮",{"2":{"13":1,"18":1,"28":1}}],["╭────────────────────────────╮",{"2":{"0":1,"30":1,"47":2,"76":1,"78":1}}],["╭──────────────────────────╮",{"2":{"0":1,"19":1,"28":5,"30":1,"62":2,"64":1,"66":6}}],["╭───────────────────────╮",{"2":{"5":4}}],["╭────────────────────╮",{"2":{"79":1}}],["╭───────────────╮",{"2":{"77":1,"78":6,"80":24}}],["╭──────────────╮",{"2":{"21":1,"61":1}}],["+",{"2":{"20":3,"80":2}}],["⋮",{"2":{"19":3,"25":10,"26":1,"44":8,"45":9,"46":3,"47":3,"76":3,"79":1,"83":2,"84":24,"85":1}}],["|>",{"2":{"13":1}}],["𝐓",{"2":{"5":2}}],[">=",{"2":{"73":1}}],[">",{"2":{"5":3,"16":1,"46":2,"73":1}}],["94",{"2":{"84":1}}],["9447511416331498",{"2":{"85":1}}],["944751",{"2":{"84":2}}],["94412",{"2":{"30":1}}],["947312",{"2":{"83":1}}],["947741",{"2":{"28":1}}],["9436941638102098",{"2":{"79":1}}],["946655",{"2":{"76":1}}],["946824",{"2":{"48":1}}],["94196",{"2":{"76":1}}],["941133",{"2":{"17":1}}],["942925",{"2":{"75":1}}],["948976",{"2":{"48":1}}],["948512",{"2":{"28":3}}],["94018e",{"2":{"45":1}}],["945371",{"2":{"30":1}}],["949105",{"2":{"28":3}}],["925267535912165",{"2":{"79":1,"81":2}}],["925873",{"2":{"28":3}}],["92",{"2":{"76":1}}],["921567",{"2":{"84":1}}],["921958",{"2":{"83":1,"84":2}}],["921012",{"2":{"48":1}}],["921145",{"2":{"48":1}}],["920736",{"2":{"30":1}}],["92721",{"2":{"26":1}}],["92977",{"2":{"76":1}}],["929995",{"2":{"26":1}}],["929592",{"2":{"25":2}}],["924417",{"2":{"25":3}}],["991119595116132e",{"2":{"80":1}}],["9919365440188083",{"2":{"79":2,"80":2}}],["994295",{"2":{"76":1}}],["994",{"2":{"76":4}}],["990294",{"2":{"76":1}}],["992316",{"2":{"30":1}}],["993498",{"2":{"28":1}}],["999193",{"2":{"45":1}}],["99903",{"2":{"45":1}}],["99999",{"2":{"45":1}}],["999983",{"2":{"45":1}}],["999708",{"2":{"45":1}}],["999815",{"2":{"45":1}}],["999816",{"2":{"28":1}}],["999846",{"2":{"45":1}}],["999678",{"2":{"28":1}}],["999",{"2":{"26":1}}],["9982064541308482",{"2":{"80":2}}],["998",{"2":{"26":1}}],["997672",{"2":{"28":3}}],["997",{"2":{"26":1}}],["99719",{"2":{"25":1}}],["996",{"2":{"26":1}}],["995",{"2":{"26":1}}],["995683",{"2":{"26":1}}],["995899",{"2":{"25":1}}],["99",{"2":{"25":5,"45":1,"47":2,"65":2,"73":1,"84":1}}],["983904",{"2":{"84":1}}],["98893",{"2":{"84":1}}],["985377",{"2":{"83":1,"84":1}}],["98534418543618",{"2":{"80":2}}],["985407",{"2":{"76":1}}],["986606",{"2":{"76":1}}],["987",{"2":{"76":1}}],["981865",{"2":{"45":1}}],["98193",{"2":{"26":1}}],["980256",{"2":{"32":1}}],["98985",{"2":{"48":1}}],["989571",{"2":{"28":3}}],["989952",{"2":{"26":1}}],["982762",{"2":{"26":1}}],["98",{"2":{"25":5,"45":1,"47":2,"76":1,"84":1}}],["9770663775826343",{"2":{"85":1}}],["977066",{"2":{"84":2}}],["973",{"2":{"76":1}}],["973586",{"2":{"76":1}}],["973622",{"2":{"75":1}}],["970459",{"2":{"30":1}}],["97999",{"2":{"25":1}}],["974596",{"2":{"25":3}}],["97",{"2":{"25":3,"45":2,"47":1,"84":1}}],["936495",{"2":{"84":1}}],["938732432349465",{"2":{"79":1}}],["938732",{"2":{"78":1}}],["938771",{"2":{"76":1}}],["93358",{"2":{"78":1}}],["931705",{"2":{"76":1}}],["932968",{"2":{"48":1}}],["930699",{"2":{"76":1}}],["930599",{"2":{"47":1}}],["930332",{"2":{"17":1}}],["934609",{"2":{"30":1}}],["93479",{"2":{"13":1}}],["935096",{"2":{"28":1}}],["909847",{"2":{"84":1}}],["9003647810614493",{"2":{"79":1}}],["900394",{"2":{"26":1}}],["907202",{"2":{"62":2,"64":2,"66":6}}],["904604",{"2":{"30":1}}],["904961",{"2":{"30":2}}],["90251",{"2":{"28":3}}],["90309",{"2":{"26":1}}],["906705",{"2":{"48":1}}],["906838",{"2":{"26":1}}],["90645",{"2":{"26":1}}],["9063",{"2":{"17":2}}],["90u",{"2":{"5":1}}],["951145",{"2":{"84":1}}],["95213",{"2":{"76":1}}],["95217",{"2":{"26":1}}],["952489",{"2":{"76":1}}],["950007",{"2":{"76":1}}],["950143",{"2":{"48":1}}],["950645",{"2":{"30":1}}],["956616",{"2":{"84":1}}],["956031",{"2":{"30":1}}],["95636",{"2":{"13":1}}],["959028",{"2":{"25":3}}],["959434",{"2":{"17":1}}],["95",{"2":{"13":1,"84":1}}],["960726",{"2":{"84":1}}],["963657",{"2":{"83":1}}],["964227",{"2":{"78":1}}],["964964",{"2":{"76":1}}],["966",{"2":{"76":1}}],["966106",{"2":{"28":2}}],["9698812177371097",{"2":{"79":1,"80":2}}],["969881",{"2":{"78":1}}],["969079",{"2":{"73":3}}],["96951",{"2":{"25":1}}],["965831",{"2":{"29":2,"31":2}}],["967865",{"2":{"25":3}}],["96",{"2":{"5":2,"45":2,"47":1,"76":1,"84":1}}],["914911",{"2":{"83":1}}],["91495",{"2":{"26":1}}],["9130495399200352",{"2":{"79":1}}],["91305",{"2":{"78":1}}],["915251",{"2":{"75":1}}],["9155",{"2":{"26":1}}],["91666",{"2":{"76":1}}],["916216",{"2":{"45":1}}],["916702",{"2":{"30":1}}],["917143",{"2":{"76":1}}],["91732",{"2":{"30":1}}],["917457",{"2":{"30":1}}],["917672",{"2":{"28":1}}],["917543",{"2":{"28":3}}],["912065",{"2":{"28":3}}],["919763",{"2":{"13":1}}],["91",{"2":{"5":2,"13":1}}],["9",{"2":{"4":2,"13":2,"17":2,"20":2,"25":3,"44":1,"46":18,"48":7,"74":1,"76":6,"78":3,"83":2,"84":4,"85":2}}],["7×5",{"2":{"75":1}}],["7×3",{"2":{"30":1}}],["750622",{"2":{"76":1}}],["750947",{"2":{"76":1}}],["750906",{"2":{"30":1}}],["753744",{"2":{"76":1}}],["753597",{"2":{"76":1}}],["75275",{"2":{"46":4}}],["758149",{"2":{"75":1}}],["758865",{"2":{"30":1}}],["75847",{"2":{"26":1}}],["754468",{"2":{"29":1,"31":2}}],["75568",{"2":{"26":1}}],["70",{"2":{"75":3}}],["706417",{"2":{"45":1}}],["706267",{"2":{"29":1,"31":2}}],["708321",{"2":{"30":1}}],["704858",{"2":{"28":1}}],["7076921858340348",{"2":{"28":1}}],["707692",{"2":{"28":2}}],["702944",{"2":{"26":1}}],["70597",{"2":{"13":1}}],["738445",{"2":{"84":1}}],["734751",{"2":{"76":1}}],["73",{"2":{"46":1}}],["730",{"2":{"45":2}}],["73011",{"2":{"32":1}}],["736525",{"2":{"45":1}}],["73623",{"2":{"26":1}}],["736214",{"2":{"25":3}}],["735973",{"2":{"78":1}}],["73591",{"2":{"26":1}}],["735391",{"2":{"76":1}}],["735",{"2":{"33":1}}],["739241",{"2":{"30":1}}],["7938317326707394",{"2":{"85":1}}],["793832",{"2":{"84":2}}],["793532",{"2":{"78":1}}],["798655984630017",{"2":{"85":1}}],["798656",{"2":{"84":2}}],["798",{"2":{"76":2}}],["791844",{"2":{"75":1}}],["792553",{"2":{"75":1}}],["792885",{"2":{"25":5}}],["795274",{"2":{"76":1}}],["795",{"2":{"33":1}}],["794017",{"2":{"30":2}}],["794163",{"2":{"30":1}}],["790283",{"2":{"25":3}}],["729706",{"2":{"76":1}}],["728852",{"2":{"76":1}}],["728611",{"2":{"25":2}}],["72217",{"2":{"75":1}}],["727464",{"2":{"76":2}}],["727149",{"2":{"48":1}}],["727997",{"2":{"47":1}}],["727554",{"2":{"30":1}}],["721331",{"2":{"30":1}}],["724709",{"2":{"28":1}}],["723438",{"2":{"28":2}}],["725738",{"2":{"25":3}}],["72",{"2":{"13":1,"46":1}}],["773256",{"2":{"84":1}}],["775634",{"2":{"78":1}}],["770101",{"2":{"76":1}}],["770553",{"2":{"62":2,"64":2,"66":6}}],["777391",{"2":{"76":2}}],["772277",{"2":{"73":5}}],["778122",{"2":{"78":1}}],["778166",{"2":{"28":2}}],["778222",{"2":{"26":1}}],["774092",{"2":{"15":1,"17":1}}],["774731",{"2":{"13":1}}],["77",{"2":{"13":1}}],["74172",{"2":{"83":1,"84":1}}],["74191",{"2":{"28":1}}],["743407",{"2":{"83":1}}],["747615",{"2":{"76":1}}],["748884",{"2":{"76":1}}],["748041",{"2":{"73":8}}],["749553",{"2":{"78":1}}],["749731",{"2":{"75":1}}],["749253",{"2":{"48":1}}],["749267",{"2":{"45":1,"47":2}}],["745856",{"2":{"66":1}}],["745673",{"2":{"15":1,"17":2}}],["742852",{"2":{"47":1}}],["74204",{"2":{"25":2}}],["740523",{"2":{"28":1}}],["740735",{"2":{"28":1}}],["74",{"2":{"13":2}}],["7683418213117802",{"2":{"85":1}}],["768342",{"2":{"84":2}}],["768924169642427",{"2":{"85":1}}],["768924",{"2":{"84":2}}],["768488",{"2":{"73":3}}],["76448",{"2":{"78":1}}],["764613",{"2":{"28":3}}],["767151",{"2":{"76":1}}],["76547e",{"2":{"45":1}}],["762533",{"2":{"45":1}}],["762794",{"2":{"13":1}}],["760111",{"2":{"32":1}}],["760205",{"2":{"28":3}}],["761212",{"2":{"30":1}}],["76163",{"2":{"25":3}}],["769313",{"2":{"30":1}}],["76",{"2":{"13":2}}],["713814",{"2":{"84":1}}],["7140841681506571",{"2":{"79":1}}],["714084",{"2":{"78":1}}],["714286",{"2":{"29":1,"31":2}}],["717841",{"2":{"76":1}}],["717006",{"2":{"76":1}}],["712342",{"2":{"76":2}}],["712711",{"2":{"28":1}}],["715102",{"2":{"48":1}}],["711133",{"2":{"73":12}}],["711714",{"2":{"32":1}}],["71194",{"2":{"28":1}}],["719779",{"2":{"84":1}}],["719495",{"2":{"30":1}}],["719974",{"2":{"26":1}}],["710967",{"2":{"28":3}}],["71",{"2":{"13":2}}],["789667",{"2":{"84":1}}],["789637",{"2":{"47":2}}],["781497",{"2":{"78":1}}],["788252",{"2":{"76":1}}],["785",{"2":{"33":1}}],["786147",{"2":{"30":1}}],["7802406914680406",{"2":{"79":1}}],["78028",{"2":{"26":1}}],["780196",{"2":{"28":1}}],["780132",{"2":{"28":2}}],["78",{"2":{"13":3,"33":1}}],["7",{"2":{"4":4,"5":5,"13":1,"25":5,"28":102,"30":6,"44":10,"45":1,"46":5,"48":9,"74":1,"75":1,"78":3,"80":21,"83":1,"84":12,"85":2}}],["rows",{"2":{"84":4}}],["row",{"2":{"84":4}}],["rot180",{"2":{"80":2}}],["rotr90",{"2":{"80":2}}],["rotl90",{"2":{"80":2}}],["rotated",{"2":{"4":1,"80":1}}],["rotations",{"2":{"3":1}}],["runtime",{"2":{"33":1}}],["running",{"2":{"26":1,"46":1}}],["rule",{"2":{"21":2}}],["r",{"2":{"15":2,"84":1}}],["right",{"2":{"13":3,"66":2,"68":2}}],["rtol=nothing",{"2":{"5":1}}],["rainclouds",{"2":{"68":1}}],["raw",{"2":{"46":1}}],["rarely",{"2":{"35":1}}],["rasterization",{"2":{"51":1}}],["rasterize",{"2":{"5":1}}],["raster",{"2":{"36":1,"51":3}}],["rasterstack",{"2":{"36":1,"51":1}}],["rasters",{"0":{"51":1},"2":{"4":3,"20":1,"35":1,"36":1,"51":2,"52":1}}],["randn",{"2":{"21":2}}],["random",{"2":{"15":3}}],["rand",{"2":{"4":3,"13":3,"15":9,"17":3,"19":1,"20":1,"25":1,"26":1,"28":6,"29":1,"30":1,"32":1,"42":4,"45":1,"48":1,"62":1,"68":1,"70":1,"73":1,"75":1,"76":3,"78":3,"83":2}}],["ranges",{"2":{"5":1,"19":1,"31":1,"46":6,"73":3,"75":4}}],["range",{"2":{"4":2,"5":4,"15":2,"20":1,"33":2,"41":1,"44":2,"46":1,"51":1,"73":1,"75":1}}],["rather",{"2":{"3":1,"4":2,"5":1,"9":1,"19":2,"27":1,"60":1,"62":1}}],["red",{"2":{"71":1,"72":1}}],["reductions",{"2":{"15":1,"35":1}}],["reducing",{"0":{"45":1,"80":1},"2":{"15":1,"19":3}}],["reduce",{"2":{"3":1,"19":2,"32":1,"80":2}}],["reduced",{"2":{"3":1}}],["reducedims",{"2":{"3":1}}],["receive",{"2":{"40":1}}],["reconstruction",{"2":{"15":1,"40":1}}],["recommended",{"2":{"12":1}}],["rev",{"2":{"20":2}}],["reversal",{"2":{"20":1}}],["reverseordered",{"2":{"4":5,"7":3,"46":1,"48":15,"49":14,"62":5,"75":2,"76":2,"80":8}}],["reverse",{"2":{"4":1,"7":1,"20":4,"32":1,"48":1,"62":1,"80":1}}],["reversed",{"2":{"4":1}}],["reordering",{"2":{"20":1}}],["reorder",{"0":{"62":1},"2":{"20":8,"62":4,"68":1}}],["relationships",{"2":{"35":1}}],["related",{"2":{"27":1}}],["relying",{"2":{"19":1}}],["reliable",{"2":{"4":1}}],["reasons",{"2":{"51":1}}],["reason",{"2":{"27":1,"51":1}}],["readlines",{"2":{"85":1}}],["read",{"2":{"23":2}}],["reading",{"2":{"19":1}}],["real",{"2":{"4":1}}],["really",{"2":{"3":1,"65":1}}],["remove",{"2":{"21":4}}],["removed",{"2":{"5":1}}],["removing",{"2":{"16":1}}],["reshape",{"2":{"24":1,"63":1}}],["reshaping",{"2":{"20":2}}],["restored",{"2":{"20":1}}],["resshape",{"2":{"20":1}}],["resolve",{"2":{"16":1,"31":1}}],["result",{"2":{"5":1,"16":1,"20":3,"26":1,"31":1,"82":1}}],["results",{"2":{"5":2,"19":2,"67":1}}],["rebuilt",{"2":{"15":1,"20":1,"60":1}}],["rebuilding",{"2":{"20":1}}],["rebuild",{"0":{"40":1,"64":1,"65":1},"1":{"65":1},"2":{"4":2,"15":3,"16":2,"20":6,"23":54,"27":1,"36":1,"40":7,"42":40,"64":6,"65":2,"66":1}}],["requires",{"2":{"39":1,"46":1}}],["require",{"2":{"9":1}}],["required",{"2":{"0":1,"3":1,"11":1,"18":1,"20":4,"27":1}}],["repl",{"2":{"74":1}}],["replaces",{"2":{"3":1,"27":1}}],["replaced",{"2":{"3":1,"8":1}}],["replace",{"2":{"3":2,"20":1,"61":1}}],["represents",{"2":{"38":1,"77":1}}],["representing",{"2":{"4":1}}],["represent",{"2":{"4":1,"10":1}}],["refdim",{"2":{"23":1}}],["refdims=refdims",{"2":{"16":1}}],["refdims=",{"2":{"15":1}}],["refdims",{"2":{"15":9,"20":2,"23":21,"40":1,"42":12,"64":2}}],["refence",{"2":{"15":1}}],["reference",{"0":{"14":1},"1":{"15":1,"16":1,"17":1,"18":1},"2":{"3":2,"15":3,"23":1,"36":1}}],["refer",{"2":{"0":1,"9":1}}],["ref",{"2":{"3":1}}],["rewraps",{"2":{"3":1}}],["retrieved",{"2":{"34":1}}],["retrieves",{"2":{"5":1,"48":1}}],["retrieve",{"2":{"2":1,"5":1,"48":1}}],["returning",{"2":{"3":1,"11":1,"21":2,"80":1}}],["returns",{"2":{"2":1,"3":3,"5":1,"11":2,"15":3,"16":2,"17":1,"19":1,"23":2,"42":2,"46":3,"48":1,"79":1}}],["returned",{"2":{"1":1,"3":2,"4":1,"11":1,"15":1,"19":2,"20":4,"34":1,"49":1}}],["return",{"2":{"1":3,"3":3,"4":8,"5":2,"15":6,"16":7,"19":7,"20":7,"37":1,"38":2,"39":2,"44":1,"48":1,"49":1,"79":2,"81":1}}],["regular",{"2":{"0":5,"2":1,"4":7,"5":4,"8":4,"10":2,"13":4,"15":5,"17":2,"18":1,"19":2,"20":9,"21":1,"24":2,"25":19,"26":3,"30":2,"36":1,"39":1,"45":2,"46":1,"47":5,"48":30,"49":28,"62":2,"64":2,"66":5,"73":7,"74":3,"75":3,"76":6,"77":2,"78":15,"79":1,"80":49,"83":4,"84":2}}],["k",{"2":{"84":1}}],["kind",{"2":{"44":1}}],["kinds",{"2":{"15":4,"28":1}}],["knowing",{"2":{"30":1}}],["knows",{"2":{"25":1,"36":1}}],["know",{"2":{"19":1,"24":1,"64":1,"65":1}}],["known",{"2":{"4":5,"10":1,"30":1}}],["kw",{"2":{"3":5,"4":1,"5":1,"11":1,"15":10,"16":5,"20":3,"23":17,"40":2,"42":10,"64":2}}],["kernels",{"2":{"27":1}}],["kernelabstractions",{"2":{"27":1}}],["kernel",{"2":{"27":1}}],["keeping",{"2":{"3":1}}],["keep",{"2":{"3":1,"20":2,"22":1,"46":1}}],["key",{"2":{"21":3,"36":1,"82":1}}],["keys=",{"2":{"21":2}}],["keys=keys",{"2":{"21":2}}],["keys",{"2":{"0":1,"11":2,"16":1,"21":2,"23":4,"46":1,"78":2}}],["keywords",{"0":{"32":1,"39":1},"2":{"3":2,"4":2,"15":4,"17":2,"18":1,"19":5,"20":1,"21":1,"23":5,"29":1,"31":1,"32":1,"40":1,"41":1,"42":2,"64":4,"65":1}}],["keyword",{"2":{"0":1,"4":3,"5":1,"15":1,"16":1,"19":1,"20":2,"21":1,"39":1,"40":2,"65":1}}],["kept",{"2":{"0":1,"3":1}}],["┤",{"2":{"1":1,"3":1,"15":5,"17":1,"18":1,"19":4,"21":1,"28":5,"45":8,"46":19,"47":3,"61":1,"64":1,"77":1,"78":6,"79":1,"80":25,"83":1,"84":1}}],["u",{"2":{"84":1}}],["utility",{"0":{"20":1}}],["updating",{"2":{"40":1}}],["update",{"2":{"20":3}}],["updates",{"2":{"15":1,"23":6,"42":6}}],["updated",{"2":{"3":2,"20":4,"23":6,"42":6}}],["upperbound",{"2":{"8":1}}],["upper",{"2":{"5":1,"8":1}}],["unrolled",{"2":{"82":1}}],["unambiguous",{"2":{"48":1}}],["unaltered",{"2":{"4":1}}],["unaligned",{"2":{"4":4}}],["unclosed",{"2":{"23":1}}],["unmerged",{"2":{"20":1}}],["unmergedims",{"2":{"20":2}}],["unmatched",{"2":{"1":1,"15":1}}],["unknown",{"2":{"17":1,"75":1}}],["underneath",{"2":{"65":1}}],["underlying",{"2":{"1":1,"15":1,"21":1}}],["undefined",{"2":{"4":1,"15":2,"19":1,"41":1}}],["unless",{"2":{"4":4,"5":1,"31":1,"75":1,"82":1}}],["unlike",{"2":{"3":2,"11":1,"17":1,"66":1}}],["unordered",{"2":{"4":6,"7":3,"46":3,"66":2,"74":2,"75":2}}],["unitrange",{"2":{"19":2,"46":3,"73":2}}],["unit",{"2":{"11":2}}],["unitful",{"2":{"5":3}}],["units",{"2":{"2":1,"11":5}}],["unionall",{"2":{"3":1}}],["union",{"2":{"2":1,"3":1,"4":5,"5":1,"11":3,"19":2,"20":2,"22":1}}],["usual",{"2":{"24":1}}],["usually",{"2":{"0":1,"3":2,"15":1,"39":1,"44":1,"66":1,"73":1,"74":2,"81":1}}],["us",{"2":{"11":1,"30":1,"34":1,"66":1}}],["user",{"2":{"35":1}}],["uses",{"2":{"4":1,"8":1,"27":2,"34":1,"56":1,"59":1,"64":1}}],["useful",{"2":{"1":1,"3":3,"4":6,"17":1,"20":1,"48":1,"61":1,"64":1}}],["use",{"2":{"0":3,"3":1,"4":2,"5":3,"7":1,"11":1,"12":1,"15":2,"16":3,"17":1,"20":3,"21":4,"22":3,"25":1,"26":1,"29":1,"30":1,"31":1,"40":1,"45":1,"46":5,"49":1,"64":1,"73":1,"76":1,"82":1}}],["used",{"2":{"0":7,"2":1,"3":4,"4":7,"5":6,"6":1,"8":1,"9":1,"10":7,"16":2,"17":4,"19":9,"20":4,"21":1,"30":2,"31":2,"32":1,"34":1,"35":1,"40":3,"44":1,"45":1,"48":1,"57":1,"64":1,"68":1,"74":1,"75":3}}],["using",{"2":{"0":2,"1":4,"3":1,"4":5,"5":3,"11":2,"12":2,"13":1,"15":10,"16":1,"17":2,"18":2,"19":1,"20":6,"21":3,"25":2,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"40":2,"42":1,"44":2,"45":1,"48":3,"61":1,"62":1,"73":2,"74":1,"77":1,"81":1,"83":2,"84":2}}],["v",{"2":{"84":1}}],["visualise",{"2":{"58":1}}],["via",{"2":{"35":1}}],["views",{"2":{"21":2,"56":1}}],["view",{"2":{"3":1,"15":1,"16":2,"17":1,"31":1}}],["very",{"2":{"16":2,"52":1,"64":1,"81":1}}],["versions",{"2":{"40":2}}],["version",{"2":{"12":1,"16":1,"20":2,"40":1,"64":1,"65":1,"82":1}}],["vectors",{"2":{"3":1,"30":1,"73":3}}],["vector",{"2":{"0":1,"4":2,"5":6,"16":1,"19":11,"20":2,"30":2,"44":8,"46":4,"48":2,"73":5,"74":3,"79":2,"85":1}}],["var",{"2":{"32":1,"80":2}}],["variable",{"2":{"20":1,"60":1,"68":1}}],["vararg",{"2":{"1":4,"2":3,"3":6,"4":5,"15":10,"16":2,"18":1,"20":3,"23":1,"30":1}}],["valtype",{"2":{"3":1}}],["valid",{"2":{"3":1}}],["val",{"2":{"2":2,"3":1,"4":4,"11":1,"20":5,"34":2,"39":2,"48":3,"64":4}}],["val=",{"2":{"0":5}}],["value",{"2":{"0":1,"3":2,"4":2,"5":15,"8":1,"9":1,"10":1,"15":5,"16":3,"17":1,"19":7,"22":1,"28":1,"29":1,"34":1,"48":2,"73":4,"81":1}}],["values=autovalues",{"2":{"4":1}}],["values",{"2":{"0":1,"2":1,"3":4,"4":15,"5":17,"7":1,"9":2,"10":6,"15":1,"16":3,"17":5,"19":8,"20":3,"21":5,"23":1,"24":1,"38":1,"40":1,"44":1,"46":5,"60":1,"63":1,"64":1,"66":2,"67":1,"73":5,"74":5,"75":3,"76":1,"79":2}}],["nanoseconds",{"2":{"81":1}}],["names",{"0":{"29":1},"2":{"18":1,"20":2,"21":4,"22":1,"24":1,"29":1,"34":2,"48":1,"73":1,"74":1}}],["name=nothing",{"2":{"16":1}}],["name=noname",{"2":{"15":1}}],["name=",{"2":{"15":1,"16":3,"20":1,"25":1,"28":5,"64":1,"83":1}}],["name2dim",{"2":{"3":3}}],["name",{"0":{"22":1},"2":{"2":1,"15":10,"18":2,"20":4,"22":11,"23":4,"24":1,"27":3,"29":1,"34":2,"40":1,"42":4,"64":2,"73":1,"77":1,"78":2,"82":2}}],["namedtuple",{"0":{"78":1},"2":{"11":3,"16":12,"20":3,"23":2,"25":1,"77":2,"78":1,"79":4,"81":1}}],["named",{"2":{"0":1,"10":2,"22":1,"28":1,"31":1,"34":1,"55":1,"71":1}}],["n=rand",{"2":{"78":1}}],["nt",{"2":{"65":2}}],["ntuple",{"2":{"1":3,"2":3,"15":5}}],["night",{"2":{"46":4}}],["nice",{"2":{"46":1}}],["ncdatasets",{"2":{"35":1}}],["ns",{"2":{"33":14,"81":2}}],["ndims",{"2":{"23":5,"42":3}}],["nvidia",{"2":{"20":1}}],["neighbor",{"2":{"76":1}}],["neighbour",{"2":{"17":1}}],["necessary",{"2":{"22":1}}],["necessarily",{"2":{"20":1}}],["netcdf",{"2":{"10":1,"35":1}}],["next",{"2":{"5":1}}],["needed",{"2":{"27":1,"64":1,"75":1}}],["needs",{"2":{"22":1,"23":1}}],["need",{"2":{"4":1,"12":1,"16":3,"19":1,"20":4,"27":3}}],["nearly",{"2":{"36":1}}],["nearsest",{"2":{"5":1}}],["nearest",{"2":{"5":3,"17":1,"76":1}}],["near",{"2":{"4":2,"5":7,"15":2,"17":2,"73":3,"76":2}}],["newdim",{"2":{"3":4}}],["newdims",{"2":{"3":4}}],["new",{"2":{"0":1,"3":5,"4":1,"15":2,"18":1,"20":13,"36":1,"40":1,"80":1}}],["nosampling",{"2":{"66":1}}],["nospan",{"2":{"66":1}}],["nov",{"2":{"46":4,"74":1}}],["now",{"2":{"44":1,"46":1,"55":1,"74":1,"79":1}}],["normalization",{"2":{"47":1}}],["normal",{"2":{"7":1,"22":1}}],["nometadata",{"2":{"4":3,"11":2,"15":1}}],["nolookup",{"2":{"4":11,"15":4,"20":1,"66":2,"74":9,"75":1}}],["no",{"2":{"2":1,"3":3,"4":2,"11":1,"20":2,"24":1,"33":1,"35":1,"66":1,"74":1,"75":1,"81":1}}],["noname",{"2":{"20":1,"22":5}}],["non",{"0":{"2":1},"2":{"15":2,"16":1}}],["notice",{"2":{"17":1,"19":1}}],["notably",{"2":{"16":2,"57":1}}],["note",{"2":{"5":1,"19":1,"20":1,"23":1,"46":2}}],["notes",{"2":{"4":1,"20":1}}],["nothing",{"2":{"1":1,"3":3,"4":1,"5":1,"8":2,"11":4,"15":1,"75":4}}],["not",{"2":{"0":1,"1":1,"3":4,"4":6,"5":8,"10":3,"11":4,"15":1,"17":2,"19":1,"20":7,"21":3,"22":2,"23":4,"24":1,"25":1,"27":1,"30":1,"31":2,"40":1,"41":1,"46":3,"48":1,"51":1,"62":1,"64":3,"66":1,"67":1,"73":4,"74":2,"75":1,"78":3,"79":1,"80":1,"82":1}}],["number",{"2":{"1":1,"3":1,"4":1,"15":1,"19":5,"23":2,"42":2,"64":1,"75":1}}],["n",{"2":{"1":1,"2":3,"3":1,"4":3,"15":3,"46":1,"62":5,"64":4,"66":6,"78":3,"84":1}}],["`refdims`",{"2":{"42":2}}],["`dims`",{"2":{"42":2}}],["`da`",{"2":{"20":1}}],["`cuarray`",{"2":{"26":1}}],["`modify`",{"2":{"26":1}}],["`openinterval",{"2":{"5":1}}],["`",{"2":{"0":1,"20":2}}],["8219054655873324",{"2":{"79":1}}],["824659",{"2":{"76":1}}],["823123",{"2":{"76":1}}],["823656",{"2":{"15":1}}],["825204",{"2":{"75":1}}],["829714",{"2":{"48":1}}],["8288995877624121",{"2":{"85":1}}],["8289",{"2":{"84":2}}],["828161",{"2":{"83":1}}],["828515",{"2":{"47":2}}],["828395",{"2":{"30":1}}],["822008",{"2":{"76":1}}],["822",{"2":{"33":1}}],["827852",{"2":{"32":1}}],["832538",{"2":{"76":1}}],["834418",{"2":{"76":1}}],["835674",{"2":{"76":1}}],["835288",{"2":{"26":1}}],["831617",{"2":{"48":1}}],["83",{"2":{"33":1}}],["837335",{"2":{"30":1}}],["836107",{"2":{"30":2}}],["839618",{"2":{"30":1}}],["830187",{"2":{"28":1}}],["83056",{"2":{"26":1}}],["8146121812750928",{"2":{"85":1}}],["8136963000324107",{"2":{"85":1}}],["813696",{"2":{"84":2}}],["819605",{"2":{"83":1,"84":1}}],["819928",{"2":{"45":1}}],["811917",{"2":{"76":1}}],["815253",{"2":{"76":1}}],["815365",{"2":{"28":2}}],["810377",{"2":{"76":1}}],["8107",{"2":{"28":1}}],["81253",{"2":{"28":1}}],["81708",{"2":{"26":1}}],["818644",{"2":{"25":3}}],["884385",{"2":{"84":1}}],["887294",{"2":{"83":1}}],["887979",{"2":{"76":1}}],["882656",{"2":{"75":1}}],["882085",{"2":{"66":1}}],["883323",{"2":{"75":1}}],["883222",{"2":{"73":9}}],["885929",{"2":{"29":1,"31":2}}],["885914",{"2":{"28":3}}],["888721",{"2":{"83":1}}],["88841",{"2":{"29":1,"31":2}}],["88869",{"2":{"26":1}}],["881149",{"2":{"26":1}}],["880853",{"2":{"76":1}}],["880796",{"2":{"30":2}}],["88092",{"2":{"26":1}}],["88058",{"2":{"26":1}}],["88",{"2":{"13":1,"76":1}}],["894053",{"2":{"84":1}}],["890574",{"2":{"83":1}}],["891596",{"2":{"76":1}}],["899356",{"2":{"76":1}}],["899632",{"2":{"48":1}}],["899864",{"2":{"45":1,"47":1}}],["89862",{"2":{"30":1}}],["895608",{"2":{"28":2}}],["896624",{"2":{"76":1}}],["896257",{"2":{"75":1}}],["89618",{"2":{"25":2}}],["896315",{"2":{"25":3}}],["893537",{"2":{"17":1}}],["89",{"2":{"13":1}}],["849707",{"2":{"84":1}}],["849576",{"2":{"66":1}}],["8428656510212863",{"2":{"85":1}}],["842866",{"2":{"84":2}}],["842029",{"2":{"78":1}}],["842792",{"2":{"45":1}}],["847872",{"2":{"76":1}}],["847018",{"2":{"30":1}}],["84475",{"2":{"76":2}}],["844547",{"2":{"13":1}}],["848624",{"2":{"76":1}}],["846736",{"2":{"76":1}}],["846",{"2":{"31":2}}],["84",{"2":{"13":1,"76":1}}],["8719143923648308",{"2":{"85":1}}],["871914",{"2":{"84":2}}],["87656",{"2":{"78":1}}],["876112",{"2":{"48":1}}],["878565",{"2":{"76":1}}],["873218",{"2":{"76":1}}],["87255",{"2":{"73":3}}],["875108",{"2":{"47":1}}],["875221",{"2":{"25":3}}],["870348",{"2":{"75":1}}],["870276",{"2":{"30":2}}],["870485",{"2":{"17":1}}],["879774",{"2":{"30":1}}],["87436",{"2":{"26":1}}],["87",{"2":{"13":3,"45":1}}],["868917",{"2":{"84":1}}],["868966",{"2":{"48":1}}],["868587",{"2":{"84":1}}],["8612776980335002",{"2":{"85":1}}],["861278",{"2":{"84":2}}],["86112",{"2":{"84":1}}],["86174",{"2":{"26":1}}],["8632634208267141",{"2":{"79":2}}],["865713",{"2":{"76":1}}],["865233",{"2":{"30":2}}],["865298",{"2":{"28":2}}],["869012",{"2":{"73":3}}],["864128",{"2":{"48":1}}],["864765",{"2":{"30":1}}],["864856",{"2":{"17":1}}],["860933",{"2":{"28":2}}],["867547",{"2":{"15":1,"17":1}}],["86",{"2":{"13":1}}],["8560905731682101",{"2":{"85":1}}],["856091",{"2":{"84":2}}],["853553",{"2":{"30":1}}],["8542391508438596",{"2":{"79":1}}],["854239",{"2":{"78":1}}],["854076",{"2":{"28":2}}],["854739",{"2":{"26":1}}],["85",{"2":{"13":1,"84":1}}],["80023",{"2":{"78":1}}],["808889",{"2":{"76":1}}],["806495",{"2":{"76":1}}],["802776",{"2":{"73":4}}],["802122",{"2":{"30":1}}],["804846",{"2":{"62":2,"64":2,"66":6}}],["80455",{"2":{"26":1}}],["8030281996030815",{"2":{"79":1}}],["803446",{"2":{"62":2,"64":2,"66":6}}],["803293",{"2":{"30":1}}],["803192",{"2":{"13":1}}],["80",{"2":{"4":1,"13":1,"46":1}}],["8",{"2":{"0":1,"4":1,"5":2,"13":1,"16":1,"25":1,"30":4,"44":1,"45":2,"46":11,"48":7,"73":8,"74":2,"76":7,"78":3,"83":2,"84":12,"85":2}}],["6×10",{"2":{"78":1,"80":30}}],["6×6",{"2":{"76":3}}],["6×3",{"2":{"73":2}}],["6am",{"2":{"46":1}}],["648179",{"2":{"84":1}}],["64534",{"2":{"84":1}}],["645678",{"2":{"83":1}}],["645795",{"2":{"45":1,"47":2}}],["6445457662038467",{"2":{"79":2}}],["640974",{"2":{"78":1}}],["640311",{"2":{"48":1}}],["642187",{"2":{"76":1}}],["642908",{"2":{"26":1}}],["647225",{"2":{"75":1}}],["64",{"2":{"46":1}}],["634377",{"2":{"84":1}}],["634499",{"2":{"30":1}}],["636476",{"2":{"83":1}}],["631878",{"2":{"76":1}}],["633956",{"2":{"48":1}}],["635963",{"2":{"48":1}}],["639212",{"2":{"48":1}}],["639499",{"2":{"45":1}}],["63",{"2":{"45":1}}],["637077",{"2":{"15":2}}],["6730273352488979",{"2":{"85":1}}],["673027",{"2":{"84":2}}],["673966",{"2":{"30":1}}],["670607",{"2":{"83":1,"84":1}}],["6702922824659258",{"2":{"79":2}}],["674061",{"2":{"83":1}}],["674881",{"2":{"48":1}}],["675459",{"2":{"76":1}}],["675435",{"2":{"13":1}}],["677543",{"2":{"76":2}}],["679296",{"2":{"76":1}}],["679221",{"2":{"30":2}}],["679453",{"2":{"75":1}}],["679632",{"2":{"84":1}}],["6796",{"2":{"47":2}}],["678022",{"2":{"30":1}}],["622735",{"2":{"84":1}}],["620473",{"2":{"83":1}}],["620055",{"2":{"29":1,"31":2}}],["621527",{"2":{"76":1}}],["621662",{"2":{"75":1}}],["621603",{"2":{"73":4}}],["623124",{"2":{"76":1}}],["625435",{"2":{"30":1}}],["625296",{"2":{"28":3}}],["625257",{"2":{"28":3}}],["624685",{"2":{"13":1}}],["6150940338022266",{"2":{"85":1}}],["615094",{"2":{"84":2}}],["615764",{"2":{"30":1}}],["6146564273146751",{"2":{"85":1}}],["614656",{"2":{"84":2}}],["61781",{"2":{"76":1}}],["613895",{"2":{"76":1}}],["610173",{"2":{"76":1}}],["61025",{"2":{"26":1}}],["611961",{"2":{"28":1}}],["612779",{"2":{"25":3}}],["687921",{"2":{"75":1}}],["68781",{"2":{"48":1}}],["687223",{"2":{"25":3}}],["683795",{"2":{"75":1}}],["683712",{"2":{"45":1}}],["683091",{"2":{"30":1}}],["683696",{"2":{"30":1}}],["680987",{"2":{"75":1}}],["68072e",{"2":{"45":1}}],["680352",{"2":{"30":1}}],["680225",{"2":{"30":2}}],["684587",{"2":{"28":1}}],["686287",{"2":{"25":2}}],["699976",{"2":{"76":1}}],["694278906020718",{"2":{"85":1}}],["694279",{"2":{"84":2}}],["694066",{"2":{"83":1}}],["69461",{"2":{"62":2,"64":2,"66":6}}],["694796",{"2":{"45":1,"47":1}}],["691687",{"2":{"78":1}}],["691887",{"2":{"32":1}}],["691162",{"2":{"17":1}}],["690695",{"2":{"30":1}}],["69506",{"2":{"26":1}}],["69635",{"2":{"25":3}}],["692209",{"2":{"17":2}}],["692235",{"2":{"15":1}}],["69",{"2":{"13":1}}],["666938",{"2":{"84":1}}],["66622",{"2":{"26":1}}],["66996622586129",{"2":{"79":1}}],["669966",{"2":{"78":1}}],["669021",{"2":{"30":1}}],["668226",{"2":{"78":1}}],["668984",{"2":{"62":2,"64":2,"66":6}}],["661444",{"2":{"76":1}}],["662413",{"2":{"76":1}}],["662833",{"2":{"76":1}}],["660657",{"2":{"76":1}}],["667841",{"2":{"75":1}}],["664642",{"2":{"76":1}}],["664038",{"2":{"48":1}}],["6642",{"2":{"29":1,"31":2}}],["665742",{"2":{"26":1}}],["66",{"2":{"13":1}}],["656243",{"2":{"84":1}}],["650842",{"2":{"76":1}}],["657054",{"2":{"76":1}}],["657441",{"2":{"28":3}}],["655684",{"2":{"25":3}}],["651784",{"2":{"25":3}}],["652353",{"2":{"25":3}}],["65",{"2":{"13":5,"46":1}}],["608366",{"2":{"84":1}}],["602631",{"2":{"78":1}}],["602",{"2":{"76":1}}],["602315",{"2":{"48":1}}],["602923",{"2":{"28":1}}],["600816",{"2":{"47":1}}],["605324",{"2":{"30":1}}],["605217",{"2":{"28":1}}],["60111",{"2":{"25":2}}],["60",{"2":{"4":1,"5":1,"75":1,"79":1}}],["6",{"2":{"0":1,"4":2,"5":18,"13":1,"16":1,"17":4,"20":4,"25":6,"26":1,"44":11,"45":6,"46":20,"48":7,"73":14,"74":1,"76":3,"77":1,"78":12,"79":4,"80":19,"84":12,"85":2}}],["436605",{"2":{"83":1}}],["436168",{"2":{"76":1}}],["43471177733076",{"2":{"80":2}}],["434061",{"2":{"47":1}}],["439711995898844",{"2":{"79":1}}],["43915",{"2":{"76":1}}],["433769",{"2":{"78":1}}],["433955",{"2":{"32":1}}],["433527",{"2":{"28":1}}],["417756",{"2":{"76":1,"84":1}}],["412078",{"2":{"76":1}}],["415714",{"2":{"73":3}}],["418968",{"2":{"48":1}}],["41",{"2":{"46":1}}],["411529",{"2":{"29":1,"31":2}}],["410463",{"2":{"28":2}}],["41334",{"2":{"26":1}}],["460775",{"2":{"76":1}}],["460633",{"2":{"45":1,"47":2}}],["461631",{"2":{"62":2,"64":2,"66":6}}],["464482",{"2":{"48":1}}],["464554",{"2":{"26":1}}],["462859",{"2":{"76":1}}],["462",{"2":{"33":1}}],["462981",{"2":{"26":1}}],["467484",{"2":{"30":1}}],["465631",{"2":{"29":1,"31":2}}],["46668",{"2":{"28":1}}],["469388",{"2":{"28":1}}],["468968",{"2":{"30":1}}],["468184",{"2":{"28":1}}],["468066",{"2":{"28":1}}],["449491",{"2":{"83":1,"84":2}}],["4492",{"2":{"26":1}}],["4408839264303761",{"2":{"79":2}}],["440884",{"2":{"78":1}}],["44818",{"2":{"76":1}}],["442111",{"2":{"75":1}}],["442542",{"2":{"45":1}}],["444708",{"2":{"30":1}}],["441181",{"2":{"75":1}}],["44119",{"2":{"28":2}}],["441735",{"2":{"29":1,"31":2}}],["44104",{"2":{"28":1}}],["443494",{"2":{"15":1,"17":1}}],["456688",{"2":{"84":1}}],["45655",{"2":{"83":1}}],["457841",{"2":{"83":1,"84":1}}],["457891",{"2":{"30":1}}],["450701",{"2":{"83":1,"84":2}}],["450109",{"2":{"62":2,"64":2,"66":6}}],["45983648216629247",{"2":{"80":1}}],["4526944925375208",{"2":{"79":1}}],["452694",{"2":{"78":1}}],["454047",{"2":{"76":1}}],["454886",{"2":{"28":2}}],["455255",{"2":{"76":1}}],["458427",{"2":{"76":1}}],["45804",{"2":{"26":1}}],["45152471334016764",{"2":{"79":1}}],["451525",{"2":{"78":1}}],["451425",{"2":{"30":1}}],["4518",{"2":{"28":2}}],["453973",{"2":{"25":3}}],["4×6",{"2":{"17":1}}],["4×5",{"2":{"13":1}}],["48952511607945026",{"2":{"85":1}}],["489525",{"2":{"84":2}}],["489762",{"2":{"25":1}}],["4802202427553709",{"2":{"79":10,"80":2}}],["48022",{"2":{"78":1}}],["484929",{"2":{"78":1}}],["4854948068259556",{"2":{"79":1}}],["485952",{"2":{"76":1}}],["485687",{"2":{"17":1}}],["48240020633837055",{"2":{"79":1}}],["482654",{"2":{"76":1}}],["48275",{"2":{"26":1}}],["488473",{"2":{"84":1}}],["488458",{"2":{"45":1}}],["48889263023704055",{"2":{"79":1}}],["48817",{"2":{"30":1}}],["487563",{"2":{"45":1}}],["487578",{"2":{"13":1}}],["487601",{"2":{"26":1}}],["48124",{"2":{"76":1}}],["481",{"2":{"33":1}}],["481184",{"2":{"30":1}}],["48113",{"2":{"25":1}}],["48101",{"2":{"25":1}}],["48",{"2":{"13":1,"46":1}}],["4278264986513013",{"2":{"85":1}}],["427328",{"2":{"15":1,"17":1}}],["429822",{"2":{"84":1}}],["422318",{"2":{"76":1}}],["428951",{"2":{"48":1}}],["42833",{"2":{"25":1}}],["423798",{"2":{"48":1}}],["4231",{"2":{"30":1}}],["421525",{"2":{"76":1}}],["42151",{"2":{"26":1}}],["421692",{"2":{"30":1}}],["420756",{"2":{"17":1}}],["42",{"2":{"13":1}}],["474535",{"2":{"78":1}}],["476387",{"2":{"76":2}}],["476495",{"2":{"28":2}}],["471877",{"2":{"48":1}}],["475569",{"2":{"48":1}}],["479126",{"2":{"26":1}}],["47963",{"2":{"25":2}}],["47",{"2":{"13":1,"46":2}}],["495624",{"2":{"76":1}}],["497346",{"2":{"30":1}}],["49795",{"2":{"25":1}}],["49224",{"2":{"76":1}}],["492332",{"2":{"45":1}}],["492377",{"2":{"25":1}}],["492141",{"2":{"28":3}}],["493065",{"2":{"84":1}}],["493417",{"2":{"28":2}}],["493708",{"2":{"25":1}}],["49057852962217935",{"2":{"80":1}}],["49097",{"2":{"26":1}}],["490968",{"2":{"25":1}}],["49029",{"2":{"25":2}}],["496665",{"2":{"25":1}}],["496201",{"2":{"25":1}}],["496108",{"2":{"25":2}}],["491767",{"2":{"25":3}}],["49853441854361796",{"2":{"80":1}}],["498465",{"2":{"45":1}}],["498669",{"2":{"45":1}}],["498606",{"2":{"19":1}}],["498996",{"2":{"45":1}}],["498388",{"2":{"45":1,"46":1}}],["498895",{"2":{"45":1}}],["498832",{"2":{"45":1,"46":1}}],["498801",{"2":{"19":1}}],["498764",{"2":{"30":1}}],["498704",{"2":{"19":1}}],["498145",{"2":{"19":1}}],["499307",{"2":{"76":1}}],["49935",{"2":{"46":1}}],["499474",{"2":{"46":1}}],["499687",{"2":{"46":1}}],["499667",{"2":{"45":1}}],["499218",{"2":{"45":1}}],["499298",{"2":{"19":1}}],["49973",{"2":{"76":1}}],["499719",{"2":{"25":1}}],["499762",{"2":{"19":1}}],["499594",{"2":{"19":1}}],["499985",{"2":{"19":1}}],["49",{"2":{"13":2,"46":1}}],["405912",{"2":{"76":1}}],["40584",{"2":{"26":1}}],["403836",{"2":{"76":1}}],["406397",{"2":{"62":2,"64":2,"66":6}}],["40687",{"2":{"32":1}}],["409622",{"2":{"30":2}}],["40409",{"2":{"26":1}}],["40065",{"2":{"25":1}}],["40",{"2":{"4":1,"15":3,"46":1,"75":1}}],["4",{"2":{"0":5,"3":1,"4":5,"5":12,"13":6,"15":6,"16":2,"17":2,"19":1,"20":14,"21":3,"25":9,"26":2,"30":5,"32":1,"44":1,"45":6,"46":8,"48":7,"73":18,"74":1,"76":2,"78":1,"80":2,"81":3,"83":1,"84":12,"85":2}}],["09300753748828394",{"2":{"85":1}}],["0930075",{"2":{"84":2}}],["09016703141346892",{"2":{"80":1}}],["0905873",{"2":{"76":1}}],["0983553",{"2":{"76":1}}],["0980829",{"2":{"48":1}}],["09245174474290706",{"2":{"80":1}}],["092494",{"2":{"28":1}}],["0923954",{"2":{"76":1}}],["09558e",{"2":{"45":1}}],["095",{"2":{"33":1}}],["0959455",{"2":{"25":3}}],["0963009",{"2":{"78":1}}],["0965083",{"2":{"28":3}}],["0967863",{"2":{"17":1}}],["0992684",{"2":{"30":1}}],["0999314",{"2":{"28":2}}],["0991336",{"2":{"17":2}}],["09764",{"2":{"25":2}}],["09",{"2":{"0":1,"25":5,"47":1,"74":1}}],["08553143289483933",{"2":{"79":1}}],["0852624",{"2":{"78":1}}],["08512",{"2":{"25":2}}],["0821229",{"2":{"76":1}}],["0831822",{"2":{"76":1}}],["0803513146650122",{"2":{"80":1}}],["0804518",{"2":{"26":1}}],["0802658",{"2":{"15":1}}],["08",{"2":{"0":1,"25":3,"47":1,"74":1,"76":1}}],["0768485",{"2":{"78":1}}],["0760101",{"2":{"76":1}}],["0760848",{"2":{"30":1}}],["0758114",{"2":{"78":1}}],["0787968",{"2":{"76":1}}],["0702987",{"2":{"62":2,"64":2,"66":6}}],["07217595907727536",{"2":{"79":1}}],["072176",{"2":{"78":1}}],["072",{"2":{"33":1}}],["07277",{"2":{"26":1}}],["07151",{"2":{"32":1}}],["0778416",{"2":{"30":1}}],["0779205",{"2":{"28":1}}],["0740736",{"2":{"28":2}}],["07",{"2":{"0":1,"25":3,"47":1,"74":1}}],["0670357162417285e",{"2":{"80":1}}],["06317733925981239",{"2":{"79":2,"80":2}}],["0630398",{"2":{"76":1}}],["0661958",{"2":{"76":1}}],["0669452",{"2":{"28":1}}],["0653496",{"2":{"73":12}}],["061892",{"2":{"84":1}}],["0610019",{"2":{"32":1}}],["0613839",{"2":{"28":1}}],["06474",{"2":{"32":1}}],["0641884",{"2":{"30":1}}],["0649391",{"2":{"26":1}}],["06834164575276236",{"2":{"79":1}}],["0683416",{"2":{"78":1}}],["0684698",{"2":{"29":1,"31":2}}],["068913",{"2":{"25":3}}],["0609271",{"2":{"28":1}}],["062795",{"2":{"84":1}}],["0628947",{"2":{"76":1}}],["062593",{"2":{"48":1}}],["0621546",{"2":{"28":3}}],["0622255",{"2":{"28":2}}],["0697249",{"2":{"28":3}}],["06",{"2":{"0":1,"25":3,"47":1,"74":1}}],["053158",{"2":{"84":1}}],["051776",{"2":{"84":1}}],["054083",{"2":{"76":1}}],["0540645",{"2":{"30":3}}],["0506805",{"2":{"76":1}}],["0502944",{"2":{"25":3}}],["0574938",{"2":{"76":1}}],["05t03",{"2":{"47":4}}],["0559616",{"2":{"30":1}}],["0558987",{"2":{"28":1}}],["0557598",{"2":{"26":1}}],["0599431",{"2":{"26":1}}],["05",{"2":{"0":1,"25":3,"47":1,"73":1,"74":1}}],["0445446",{"2":{"84":1}}],["0446036",{"2":{"45":1}}],["0417586",{"2":{"76":2}}],["0416986",{"2":{"25":3}}],["0426808",{"2":{"76":1}}],["0429074",{"2":{"75":1}}],["0425477",{"2":{"28":2}}],["0474302",{"2":{"30":2}}],["04599641808658339",{"2":{"85":1}}],["0459964",{"2":{"84":2}}],["0450386",{"2":{"29":1,"31":2}}],["0458864",{"2":{"28":1}}],["0463176",{"2":{"29":2,"31":2}}],["04060837507113502",{"2":{"79":10}}],["0406084",{"2":{"78":1}}],["0403793",{"2":{"45":1,"47":2}}],["0400372",{"2":{"28":2}}],["04046",{"2":{"25":2}}],["04",{"2":{"0":1,"25":5,"47":1,"74":1,"76":3}}],["03613547354359734",{"2":{"80":1}}],["0315018",{"2":{"76":1}}],["0387029",{"2":{"76":1}}],["0300922",{"2":{"76":1}}],["0303789",{"2":{"17":1}}],["0372362",{"2":{"48":1}}],["0375522",{"2":{"30":1}}],["0375769",{"2":{"28":1}}],["0325131",{"2":{"83":1}}],["0323182",{"2":{"30":1}}],["0320967",{"2":{"17":1}}],["0347024",{"2":{"28":1}}],["03",{"2":{"0":1,"25":5,"45":1,"47":2,"74":1}}],["023646798570656102",{"2":{"85":1}}],["0236468",{"2":{"84":2}}],["0239356",{"2":{"28":2}}],["022593",{"2":{"84":2}}],["028",{"2":{"81":2}}],["0282382",{"2":{"13":1}}],["0299112",{"2":{"78":1}}],["02976",{"2":{"25":1}}],["021",{"2":{"76":1}}],["0275306",{"2":{"30":1}}],["0205228",{"2":{"30":1}}],["02",{"2":{"0":2,"25":5,"45":1,"47":2,"74":1}}],["0",{"2":{"0":60,"1":6,"3":8,"4":28,"5":8,"13":20,"15":92,"16":16,"17":81,"18":240,"19":19,"20":176,"25":178,"26":69,"28":546,"29":28,"30":148,"31":50,"32":12,"33":25,"44":2,"45":63,"46":20,"47":53,"48":175,"49":42,"61":105,"62":50,"64":48,"66":141,"73":147,"74":7,"75":35,"76":243,"77":16,"78":133,"79":89,"80":155,"81":12,"83":48,"84":150,"85":36}}],["00816974",{"2":{"84":1}}],["00832284",{"2":{"48":1}}],["005163666306917225",{"2":{"85":1}}],["00516367",{"2":{"84":2}}],["00508449",{"2":{"48":1}}],["0019198597596568057",{"2":{"85":1}}],["00191986",{"2":{"84":2}}],["00110588",{"2":{"83":1}}],["006378200703587189",{"2":{"79":1,"80":2}}],["00686195",{"2":{"76":1}}],["007",{"2":{"76":3}}],["00337686",{"2":{"29":1,"31":2}}],["00",{"2":{"0":42,"25":140,"33":10,"44":4,"45":10,"47":37,"74":32}}],["015759978623873905",{"2":{"80":2}}],["01576",{"2":{"78":1}}],["0171909",{"2":{"78":1}}],["013144",{"2":{"78":1}}],["013967",{"2":{"47":2}}],["0164892",{"2":{"76":1}}],["0141696",{"2":{"78":1}}],["0149561",{"2":{"76":1}}],["014",{"2":{"76":1}}],["0143204",{"2":{"76":2}}],["0140644",{"2":{"28":3}}],["0184746",{"2":{"47":1}}],["011",{"2":{"46":2}}],["01t03",{"2":{"47":2}}],["01t02",{"2":{"47":1}}],["01t01",{"2":{"45":1,"47":2}}],["01t00",{"2":{"0":21,"25":70,"44":1,"45":2,"47":7,"74":16}}],["0192911",{"2":{"30":1}}],["0196808",{"2":{"30":1}}],["0197492",{"2":{"26":1}}],["012300334322905893",{"2":{"85":1}}],["0123003",{"2":{"84":2}}],["0120967",{"2":{"83":1}}],["0127924",{"2":{"28":3}}],["01282",{"2":{"25":1}}],["010277581356302745",{"2":{"80":2}}],["0102776",{"2":{"78":1}}],["010",{"2":{"20":2}}],["01",{"2":{"0":5,"25":14,"44":1,"45":6,"47":21,"74":3}}],["↗",{"2":{"0":1,"1":1,"3":1,"13":1,"15":1,"18":1,"19":1,"20":1,"25":6,"30":1,"32":2,"34":1,"83":3}}],["→",{"2":{"0":4,"1":3,"3":2,"4":2,"5":8,"13":4,"15":13,"16":1,"17":12,"18":1,"19":3,"20":12,"21":2,"25":11,"26":2,"28":11,"29":1,"30":7,"31":2,"32":2,"33":1,"34":2,"45":3,"46":8,"47":5,"48":7,"49":11,"61":3,"62":4,"64":4,"66":11,"73":26,"75":2,"76":10,"77":2,"78":8,"80":24,"83":4,"84":1}}],["↓",{"2":{"0":5,"1":4,"3":3,"4":2,"5":8,"13":5,"15":16,"16":1,"17":12,"18":1,"19":5,"20":12,"21":2,"25":14,"26":2,"28":11,"29":2,"30":8,"31":2,"32":2,"33":1,"34":2,"45":10,"46":19,"47":6,"48":12,"49":15,"61":3,"62":4,"64":4,"66":11,"73":28,"74":1,"75":2,"76":10,"77":2,"78":9,"79":1,"80":25,"83":4,"84":1}}],["┐",{"2":{"0":3,"4":1,"5":4,"13":3,"15":5,"17":3,"19":3,"20":5,"21":1,"25":8,"26":1,"28":11,"29":2,"30":4,"31":2,"32":2,"33":1,"45":8,"46":11,"47":3,"48":1,"61":3,"62":2,"64":2,"66":6,"73":15,"74":1,"75":1,"76":5,"77":1,"78":8,"79":1,"80":25,"83":2,"84":1}}],["│",{"2":{"0":6,"1":2,"3":2,"4":2,"5":8,"13":6,"15":20,"17":8,"18":2,"19":6,"20":10,"21":2,"25":16,"26":2,"28":22,"29":4,"30":8,"31":4,"32":4,"33":2,"45":16,"46":22,"47":6,"48":2,"61":6,"62":4,"64":4,"66":12,"73":30,"74":2,"75":2,"76":10,"77":2,"78":16,"79":2,"80":50,"83":4,"84":74}}],["5201836703588896",{"2":{"79":1}}],["520184",{"2":{"78":1}}],["5203602669427675",{"2":{"79":1}}],["52036",{"2":{"78":1}}],["52735",{"2":{"78":1}}],["528009",{"2":{"76":1}}],["528669",{"2":{"28":1}}],["522989",{"2":{"45":1}}],["526688",{"2":{"30":1}}],["526295",{"2":{"28":2}}],["521021",{"2":{"30":2}}],["521762",{"2":{"28":1}}],["580091",{"2":{"83":1}}],["58054",{"2":{"25":2}}],["581131",{"2":{"83":1,"84":2}}],["581748",{"2":{"45":1,"47":1}}],["584048",{"2":{"76":1}}],["585756",{"2":{"48":1}}],["585057",{"2":{"28":1}}],["589895",{"2":{"30":1}}],["587556",{"2":{"28":3}}],["588506",{"2":{"28":2}}],["535124",{"2":{"84":1}}],["537046",{"2":{"78":1}}],["537469",{"2":{"47":1}}],["539197",{"2":{"76":1}}],["539076",{"2":{"17":1}}],["531012",{"2":{"76":1}}],["533041",{"2":{"76":1}}],["536911",{"2":{"73":6}}],["530653",{"2":{"48":1}}],["53",{"2":{"45":1}}],["534655",{"2":{"28":1}}],["534915",{"2":{"28":2}}],["5×1",{"2":{"73":1}}],["5×10",{"2":{"28":13}}],["5×5",{"2":{"29":1,"31":2}}],["5×4",{"2":{"4":1}}],["5663088629322468",{"2":{"79":2}}],["566574",{"2":{"48":1}}],["566557",{"2":{"25":3}}],["564657",{"2":{"76":1}}],["564589",{"2":{"25":3}}],["56",{"2":{"46":1}}],["561611",{"2":{"45":1}}],["563623",{"2":{"30":1}}],["567383",{"2":{"28":1}}],["568763",{"2":{"76":1}}],["568302",{"2":{"25":3}}],["568131",{"2":{"25":3}}],["516313",{"2":{"83":1}}],["51621",{"2":{"83":1}}],["516268",{"2":{"76":1}}],["517175",{"2":{"83":1}}],["5176046469253345",{"2":{"79":1}}],["517605",{"2":{"78":1}}],["5128894732327488",{"2":{"79":1}}],["512083",{"2":{"15":1,"17":1}}],["515445",{"2":{"78":1}}],["515061",{"2":{"25":3}}],["518483",{"2":{"78":1}}],["514714",{"2":{"28":1}}],["511078",{"2":{"28":1}}],["511086",{"2":{"25":3}}],["51",{"2":{"13":1}}],["5434869639181522",{"2":{"79":2}}],["543616",{"2":{"28":1}}],["545522",{"2":{"76":1}}],["545129",{"2":{"28":3}}],["54822",{"2":{"26":1}}],["54853",{"2":{"25":2}}],["54483",{"2":{"25":2}}],["54",{"2":{"13":1}}],["541806",{"2":{"13":1}}],["5501481631111826",{"2":{"85":1}}],["550148",{"2":{"84":2}}],["5514523568721104",{"2":{"79":2}}],["55114",{"2":{"25":2}}],["552153",{"2":{"76":1}}],["559878",{"2":{"45":1}}],["55745",{"2":{"32":1}}],["5573",{"2":{"30":1}}],["553558",{"2":{"28":3}}],["55351",{"2":{"25":1}}],["554791",{"2":{"28":3}}],["555456",{"2":{"25":3}}],["55",{"2":{"13":1}}],["597843",{"2":{"84":1}}],["59705",{"2":{"26":1}}],["599789",{"2":{"84":1}}],["599558",{"2":{"13":1}}],["590188929977547",{"2":{"80":2}}],["590953",{"2":{"76":1}}],["5962",{"2":{"32":1}}],["59",{"2":{"13":1}}],["574619",{"2":{"76":1}}],["574678",{"2":{"76":1}}],["578329",{"2":{"76":1}}],["578253",{"2":{"76":1}}],["578989",{"2":{"32":1}}],["575727",{"2":{"76":1}}],["575595",{"2":{"75":1}}],["575698",{"2":{"30":2}}],["571281",{"2":{"28":1}}],["571602",{"2":{"28":1}}],["570254",{"2":{"28":1}}],["57019",{"2":{"26":1}}],["57",{"2":{"5":1,"46":1}}],["5040228055200978",{"2":{"85":1}}],["504023",{"2":{"84":2}}],["5081446040814137e",{"2":{"80":1}}],["506221",{"2":{"75":1}}],["5055",{"2":{"46":4}}],["505946",{"2":{"25":1}}],["502391",{"2":{"45":1}}],["5074",{"2":{"32":1}}],["503183",{"2":{"76":1}}],["503561",{"2":{"45":1}}],["503967",{"2":{"28":1}}],["503823",{"2":{"28":1}}],["503719",{"2":{"25":1}}],["501732",{"2":{"45":1}}],["501369",{"2":{"45":1}}],["501379",{"2":{"19":1}}],["501068",{"2":{"25":1}}],["501643",{"2":{"19":1}}],["501105",{"2":{"19":1}}],["500769",{"2":{"47":2}}],["500757",{"2":{"45":1,"46":2}}],["500333",{"2":{"46":1}}],["500405",{"2":{"45":1}}],["50047",{"2":{"19":1}}],["500627",{"2":{"45":1}}],["500642",{"2":{"29":1,"31":2}}],["500644",{"2":{"19":1}}],["500277",{"2":{"45":1}}],["500913",{"2":{"45":1}}],["500157",{"2":{"28":3}}],["5008",{"2":{"25":2}}],["500874",{"2":{"19":1}}],["500533",{"2":{"19":1}}],["500032",{"2":{"46":1}}],["500093",{"2":{"45":1}}],["500083",{"2":{"19":1}}],["500064",{"2":{"19":1}}],["50",{"2":{"5":3,"15":9,"75":1}}],["5u",{"2":{"5":1}}],["5",{"2":{"0":1,"4":3,"5":21,"13":5,"15":2,"16":1,"17":1,"20":7,"21":1,"25":6,"26":1,"28":10,"29":2,"30":6,"32":1,"44":1,"45":2,"46":5,"48":9,"61":3,"73":7,"74":2,"75":1,"77":3,"78":11,"79":1,"80":35,"84":12,"85":2}}],["331147",{"2":{"76":1}}],["33985840915074383",{"2":{"73":1}}],["339858",{"2":{"73":12}}],["339888",{"2":{"30":1}}],["338844",{"2":{"62":2,"64":2,"66":6}}],["336376",{"2":{"83":1}}],["336",{"2":{"46":1}}],["33",{"2":{"46":2}}],["337",{"2":{"46":1}}],["337182",{"2":{"30":1}}],["337576",{"2":{"28":1}}],["330777",{"2":{"30":2}}],["334152",{"2":{"15":1,"17":1}}],["371583",{"2":{"76":1}}],["375166",{"2":{"48":1}}],["375182",{"2":{"30":1}}],["376",{"2":{"46":3}}],["370194",{"2":{"78":1}}],["370454",{"2":{"76":1}}],["370",{"2":{"46":2}}],["37963",{"2":{"26":1}}],["3793",{"2":{"25":2}}],["374026",{"2":{"26":1}}],["369225",{"2":{"78":1}}],["369",{"2":{"46":3}}],["368",{"2":{"46":3}}],["361536",{"2":{"76":1}}],["361",{"2":{"46":3}}],["362",{"2":{"45":1}}],["363442",{"2":{"84":1}}],["363373",{"2":{"84":1}}],["363918",{"2":{"76":1}}],["363",{"2":{"45":2}}],["365",{"2":{"45":2}}],["365341",{"2":{"30":1}}],["366873",{"2":{"76":1}}],["366",{"2":{"45":3}}],["364097",{"2":{"84":2}}],["364",{"2":{"44":18,"45":3}}],["364488",{"2":{"25":3}}],["360",{"2":{"4":2,"46":1}}],["319496",{"2":{"76":1}}],["315591",{"2":{"48":1}}],["31572",{"2":{"32":1}}],["314535",{"2":{"48":1}}],["31468",{"2":{"32":1}}],["312",{"2":{"46":1}}],["31",{"2":{"45":1}}],["313361",{"2":{"76":1}}],["313",{"2":{"46":1}}],["313711",{"2":{"45":1}}],["313279",{"2":{"45":1}}],["3162",{"2":{"30":1}}],["31065",{"2":{"25":3}}],["311448",{"2":{"15":1}}],["3a",{"2":{"16":1}}],["3×2",{"2":{"73":1}}],["3×14",{"2":{"62":2,"64":2,"66":6}}],["3×5",{"2":{"21":2,"61":10}}],["3×5×12",{"2":{"0":1}}],["3×4×1",{"2":{"32":1}}],["3×4×5",{"2":{"32":1}}],["3×4",{"2":{"20":5}}],["3×3",{"2":{"15":3,"17":1,"33":1,"73":3}}],["307616",{"2":{"84":1}}],["30391",{"2":{"76":1}}],["301659",{"2":{"75":1}}],["309301",{"2":{"48":1}}],["30923",{"2":{"26":1}}],["30t22",{"2":{"47":1}}],["30t23",{"2":{"44":1,"45":2,"47":2}}],["30×17520",{"2":{"46":3}}],["305",{"2":{"46":1}}],["306208",{"2":{"30":1}}],["30405878501189054",{"2":{"80":1}}],["304266",{"2":{"76":1}}],["30427",{"2":{"26":1}}],["3047",{"2":{"74":1}}],["304688",{"2":{"26":1}}],["3002782566445145",{"2":{"80":1}}],["300285",{"2":{"76":1}}],["300304",{"2":{"76":2}}],["300",{"2":{"20":1}}],["300768",{"2":{"13":1}}],["30",{"2":{"15":1,"16":2,"17":4,"20":9,"44":18,"45":2,"66":2,"75":1,"76":1}}],["3434655288098666",{"2":{"85":1}}],["343493",{"2":{"28":1}}],["34882573131206984",{"2":{"79":1}}],["348826",{"2":{"78":1}}],["341133",{"2":{"83":1}}],["341976",{"2":{"73":4}}],["341835",{"2":{"30":1}}],["340557",{"2":{"62":2,"64":2,"66":6}}],["34589",{"2":{"76":1}}],["345",{"2":{"46":1}}],["345501",{"2":{"26":1}}],["344",{"2":{"46":1}}],["344408",{"2":{"28":3}}],["346013",{"2":{"45":1}}],["34",{"2":{"13":1}}],["359194",{"2":{"84":1}}],["359421",{"2":{"83":1}}],["35100608350331053",{"2":{"85":1}}],["351006",{"2":{"84":2}}],["351413",{"2":{"30":2}}],["358513",{"2":{"76":1}}],["358535",{"2":{"76":1}}],["358625",{"2":{"30":1}}],["357367",{"2":{"75":1}}],["353968",{"2":{"83":1}}],["353",{"2":{"46":1}}],["353691",{"2":{"30":1}}],["354046",{"2":{"30":1}}],["354868",{"2":{"17":1}}],["352592",{"2":{"62":2,"64":2,"66":6}}],["352",{"2":{"46":1}}],["352138",{"2":{"30":1}}],["352614",{"2":{"26":1}}],["350024",{"2":{"84":1}}],["350422",{"2":{"29":1,"31":2}}],["350104",{"2":{"28":2}}],["350546",{"2":{"17":1}}],["35",{"2":{"13":1,"15":1}}],["3266527246823143",{"2":{"79":1}}],["32669",{"2":{"26":1}}],["3258728635315493",{"2":{"79":2,"81":2}}],["322005",{"2":{"48":1}}],["322115",{"2":{"30":1}}],["329",{"2":{"46":1}}],["329515",{"2":{"29":1,"31":2}}],["328",{"2":{"46":1}}],["32806",{"2":{"28":1}}],["321",{"2":{"46":1}}],["320",{"2":{"46":1}}],["320667",{"2":{"30":1}}],["32",{"2":{"13":2,"46":2,"80":1}}],["38167574879167476",{"2":{"85":1}}],["3863063388395396",{"2":{"79":1}}],["386306",{"2":{"78":1}}],["386433",{"2":{"28":3}}],["38714",{"2":{"47":2}}],["38795",{"2":{"25":2}}],["388768",{"2":{"76":1}}],["388907",{"2":{"32":1}}],["388243",{"2":{"13":1}}],["380161",{"2":{"30":1}}],["389839",{"2":{"28":1}}],["383632",{"2":{"13":1}}],["399",{"2":{"76":1}}],["399781",{"2":{"76":1}}],["397386",{"2":{"76":1}}],["395053",{"2":{"76":1}}],["395594",{"2":{"32":1}}],["391307",{"2":{"76":1}}],["391155",{"2":{"28":3}}],["394576",{"2":{"76":1}}],["394703",{"2":{"30":1}}],["396585",{"2":{"75":1}}],["392334",{"2":{"76":1}}],["392377",{"2":{"30":1}}],["392848",{"2":{"28":3}}],["390081",{"2":{"26":1}}],["390033",{"2":{"25":3}}],["39",{"2":{"2":2,"3":1,"4":2,"17":1,"21":4,"22":1,"30":2,"31":1,"33":1,"35":1,"52":1,"64":1,"65":1,"66":1,"67":6,"75":1,"76":1}}],["3",{"2":{"0":4,"1":3,"3":1,"4":7,"5":8,"13":9,"15":3,"16":1,"17":12,"18":2,"19":6,"20":11,"21":6,"23":2,"25":17,"26":2,"29":2,"30":10,"32":6,"33":7,"34":2,"44":1,"45":7,"46":23,"47":3,"48":7,"61":3,"62":5,"64":4,"66":10,"73":3,"74":2,"76":1,"78":1,"80":1,"83":3,"84":8,"85":2}}],["145293",{"2":{"76":1}}],["144422",{"2":{"76":1}}],["143×23",{"2":{"76":1}}],["143704",{"2":{"29":2,"31":2}}],["14203",{"2":{"76":1}}],["140817",{"2":{"76":1}}],["140",{"2":{"48":6,"66":6}}],["14",{"2":{"33":1,"76":2,"78":1}}],["147478",{"2":{"28":2}}],["175544",{"2":{"84":1}}],["17520",{"2":{"44":8,"47":1}}],["173013",{"2":{"84":1}}],["173513",{"2":{"30":1}}],["17715541586710937",{"2":{"79":1}}],["177423",{"2":{"26":1}}],["170",{"2":{"48":6}}],["17",{"2":{"33":1,"44":1,"46":2}}],["176766",{"2":{"83":1}}],["17673",{"2":{"26":1}}],["176024",{"2":{"83":1}}],["17666e",{"2":{"45":1}}],["176197",{"2":{"28":1}}],["17645",{"2":{"26":1}}],["182707",{"2":{"84":1}}],["186811",{"2":{"84":1}}],["18969721875656995",{"2":{"80":1}}],["188976",{"2":{"76":1}}],["18",{"2":{"33":1,"44":1,"76":6}}],["180397",{"2":{"76":1}}],["18035",{"2":{"26":1}}],["180",{"2":{"48":7}}],["180894",{"2":{"30":1}}],["184309",{"2":{"30":2}}],["183103",{"2":{"62":2,"64":2,"66":6}}],["183637",{"2":{"26":1}}],["183555",{"2":{"17":1}}],["1a",{"2":{"16":1}}],["132989",{"2":{"84":1}}],["132894",{"2":{"28":2}}],["1381833125394196",{"2":{"80":2}}],["138819",{"2":{"62":2,"64":2,"66":6}}],["13525245310587153",{"2":{"79":1}}],["13589",{"2":{"25":2}}],["133475",{"2":{"76":1}}],["133195",{"2":{"30":1}}],["130252",{"2":{"78":1}}],["130",{"2":{"48":6,"66":2}}],["13035",{"2":{"32":1}}],["136",{"2":{"33":1}}],["136551",{"2":{"17":1}}],["139067",{"2":{"30":1}}],["137131",{"2":{"29":1,"31":2}}],["137619",{"2":{"28":2}}],["134246",{"2":{"28":2}}],["134208",{"2":{"25":2}}],["134186",{"2":{"26":1}}],["131798",{"2":{"17":1}}],["13",{"2":{"13":1,"74":2,"76":1}}],["16484",{"2":{"83":1}}],["164724",{"2":{"25":3}}],["168617",{"2":{"76":2}}],["168291",{"2":{"28":2}}],["166425",{"2":{"76":1}}],["160352",{"2":{"84":1}}],["160403",{"2":{"76":1}}],["160",{"2":{"48":6}}],["16545e",{"2":{"45":1}}],["161393",{"2":{"30":1}}],["167104",{"2":{"30":2}}],["167745",{"2":{"28":3}}],["162553",{"2":{"30":1}}],["162919",{"2":{"26":1}}],["16×16×3",{"2":{"18":1}}],["16",{"2":{"13":1,"18":2,"44":1,"46":4,"76":3}}],["1u",{"2":{"5":2}}],["1985699519321249",{"2":{"85":1}}],["19857",{"2":{"84":2}}],["194849",{"2":{"83":1,"84":2}}],["194465",{"2":{"28":2}}],["193109",{"2":{"78":1}}],["193179",{"2":{"76":1}}],["195938",{"2":{"84":1}}],["195897",{"2":{"76":1}}],["195774",{"2":{"30":1}}],["197423",{"2":{"76":1}}],["196478",{"2":{"75":1}}],["191934",{"2":{"83":1,"84":2}}],["19122366809754",{"2":{"79":1}}],["191494",{"2":{"73":9}}],["191×20×30",{"2":{"19":1}}],["191×20×31",{"2":{"19":2}}],["191×20×32",{"2":{"19":1}}],["191×20×28",{"2":{"19":1}}],["190482",{"2":{"83":1}}],["19009332850891253",{"2":{"80":1}}],["190225",{"2":{"48":1}}],["190",{"2":{"48":7}}],["199484",{"2":{"83":1}}],["1999",{"2":{"26":1}}],["19995",{"2":{"25":2}}],["1998",{"2":{"26":1}}],["192183",{"2":{"25":3}}],["19",{"2":{"5":5,"44":1,"45":1,"76":3}}],["1×3",{"2":{"73":2}}],["1×2",{"2":{"5":3}}],["1×12",{"2":{"0":1}}],["153753",{"2":{"84":1}}],["153219",{"2":{"48":1}}],["15945803739833375",{"2":{"85":1}}],["159458",{"2":{"84":2}}],["15905863317294833",{"2":{"79":3}}],["15952e",{"2":{"45":1}}],["156538",{"2":{"73":3}}],["152765",{"2":{"29":1,"31":2}}],["15055904027841316",{"2":{"79":1}}],["150559",{"2":{"78":1}}],["150126",{"2":{"30":1}}],["150155",{"2":{"17":1}}],["150",{"2":{"15":3,"48":6}}],["15",{"2":{"5":3,"13":4,"44":1}}],["11925244363082943",{"2":{"85":1}}],["11996",{"2":{"30":2}}],["114915",{"2":{"84":1}}],["11115487324489237",{"2":{"79":1}}],["111155",{"2":{"78":1}}],["11773734015093373",{"2":{"79":1}}],["117737",{"2":{"78":1}}],["11787",{"2":{"76":1}}],["11×17520",{"2":{"46":1}}],["11311",{"2":{"78":1}}],["113",{"2":{"13":1}}],["1151003460971078e",{"2":{"80":1}}],["115",{"2":{"13":2}}],["118632",{"2":{"25":2}}],["118",{"2":{"13":2}}],["110425",{"2":{"84":1}}],["110998",{"2":{"30":1}}],["110",{"2":{"13":2,"48":7}}],["112054",{"2":{"47":2}}],["112836",{"2":{"28":1}}],["112",{"2":{"13":1}}],["11",{"2":{"0":1,"4":1,"13":2,"17":2,"19":6,"25":8,"45":6,"48":1,"74":1,"76":3}}],["12452",{"2":{"75":1}}],["1227",{"2":{"45":1}}],["12764",{"2":{"84":1}}],["12713970284423626",{"2":{"79":1,"81":2}}],["12714",{"2":{"78":1}}],["127489",{"2":{"28":1}}],["12731",{"2":{"25":2}}],["12×100×25",{"2":{"25":2}}],["12×2",{"2":{"19":1}}],["128827",{"2":{"83":1}}],["128932",{"2":{"48":1}}],["128",{"2":{"13":1}}],["125477",{"2":{"84":1}}],["125287",{"2":{"17":1}}],["125",{"2":{"13":2}}],["12668",{"2":{"75":1}}],["126",{"2":{"13":2}}],["121746",{"2":{"84":1}}],["121186",{"2":{"28":1}}],["121",{"2":{"13":2}}],["1208",{"2":{"45":1}}],["120",{"2":{"13":2,"48":6,"66":2}}],["123",{"2":{"13":2,"15":1}}],["12",{"2":{"0":9,"4":1,"15":3,"16":1,"19":10,"20":1,"25":21,"44":28,"45":15,"46":8,"47":3,"74":7,"76":5}}],["1",{"2":{"0":13,"1":8,"3":14,"4":26,"5":12,"13":14,"15":32,"16":3,"17":21,"18":241,"19":19,"20":16,"21":5,"23":2,"25":60,"26":52,"28":101,"29":1,"30":4,"31":1,"32":6,"33":12,"34":10,"44":73,"45":48,"46":91,"47":30,"48":44,"49":28,"62":9,"64":12,"65":2,"66":18,"67":1,"73":98,"74":7,"76":51,"77":7,"78":24,"79":1,"80":80,"81":1,"83":14,"84":42,"85":10}}],["105273",{"2":{"47":2}}],["105",{"2":{"33":1}}],["10×10",{"2":{"83":1,"84":27}}],["10×10×26",{"2":{"83":3}}],["10×1",{"2":{"80":30}}],["10×11",{"2":{"48":1}}],["10×6",{"2":{"77":3,"78":18,"80":12}}],["10×5",{"2":{"30":1}}],["10×7×5",{"2":{"30":1}}],["104763",{"2":{"83":1}}],["104261",{"2":{"78":1}}],["10454",{"2":{"76":1}}],["10447",{"2":{"25":2}}],["104",{"2":{"13":1}}],["10748",{"2":{"45":1}}],["107475",{"2":{"30":1}}],["1076",{"2":{"26":1}}],["107",{"2":{"13":1}}],["106224",{"2":{"28":1}}],["106",{"2":{"13":1}}],["101231",{"2":{"73":5}}],["101×34",{"2":{"47":2}}],["101×384",{"2":{"46":2}}],["101×8030",{"2":{"46":1}}],["101×8760",{"2":{"46":1}}],["101×2856",{"2":{"46":1}}],["101×2928",{"2":{"46":3}}],["101×240",{"2":{"46":1}}],["101×0",{"2":{"46":1}}],["101×4416",{"2":{"46":5}}],["101×4320",{"2":{"46":2}}],["101×4392",{"2":{"46":2}}],["101×4368",{"2":{"46":3}}],["101×4344",{"2":{"46":2}}],["101×1",{"2":{"47":5}}],["101×1464",{"2":{"45":1}}],["101×1440",{"2":{"45":1}}],["101×1488",{"2":{"45":2}}],["101×1368",{"2":{"45":1}}],["101×17520",{"2":{"45":1}}],["101",{"2":{"13":2}}],["108592",{"2":{"25":3}}],["108",{"2":{"13":4}}],["102405",{"2":{"13":1}}],["10u",{"2":{"5":1}}],["100×28",{"2":{"84":1}}],["100×25×12",{"2":{"25":3}}],["1000×2000",{"2":{"26":1}}],["1000",{"2":{"26":3,"33":2}}],["10000",{"2":{"23":1,"33":2}}],["100u",{"2":{"5":2}}],["100",{"2":{"0":1,"3":1,"4":3,"15":10,"20":8,"25":13,"47":1,"48":26,"49":14,"68":1,"70":1,"74":2,"84":1}}],["10",{"2":{"0":7,"1":9,"3":6,"4":5,"5":19,"13":6,"15":15,"16":5,"17":4,"19":2,"20":34,"25":8,"28":10,"30":1,"42":9,"45":2,"48":47,"49":28,"64":2,"66":10,"67":1,"68":2,"70":2,"74":7,"75":5,"76":14,"77":7,"78":21,"79":1,"80":61,"83":10,"84":34,"85":10}}],["271591",{"2":{"84":1}}],["27181",{"2":{"25":3}}],["270915",{"2":{"84":1}}],["27",{"2":{"80":3}}],["276742",{"2":{"76":1}}],["27206",{"2":{"76":1}}],["278077",{"2":{"78":1}}],["27802",{"2":{"25":2}}],["27863",{"2":{"28":1}}],["227082",{"2":{"84":1}}],["227865",{"2":{"76":1}}],["226699",{"2":{"76":1}}],["229792",{"2":{"76":1}}],["229418",{"2":{"75":1}}],["228415",{"2":{"84":1}}],["228081",{"2":{"76":1}}],["228248",{"2":{"75":1}}],["228964",{"2":{"28":3}}],["225583",{"2":{"32":1}}],["225865",{"2":{"30":1}}],["221163",{"2":{"30":1}}],["222482",{"2":{"28":2}}],["224375",{"2":{"26":1}}],["22",{"2":{"17":2,"44":1,"45":2,"84":1}}],["2a",{"2":{"16":1}}],["243195",{"2":{"76":1}}],["243803",{"2":{"48":1}}],["248873",{"2":{"76":1}}],["24524306337289326",{"2":{"85":1}}],["245671",{"2":{"83":1}}],["245638",{"2":{"76":1}}],["245",{"2":{"73":2}}],["24575",{"2":{"26":1}}],["2402",{"2":{"45":1}}],["2415",{"2":{"45":1}}],["2412",{"2":{"45":1}}],["241056",{"2":{"30":1}}],["24625",{"2":{"76":1}}],["246886",{"2":{"75":1}}],["2463",{"2":{"45":1}}],["246162",{"2":{"30":1}}],["246796",{"2":{"25":3}}],["247586",{"2":{"78":1}}],["247976",{"2":{"76":1}}],["247032",{"2":{"45":1,"47":2}}],["247198",{"2":{"28":1}}],["24737",{"2":{"28":2}}],["247683",{"2":{"13":1}}],["24",{"2":{"13":1,"19":1,"25":3,"44":1,"45":2,"46":2}}],["294893",{"2":{"84":1}}],["294486",{"2":{"83":1}}],["296092",{"2":{"84":1}}],["296639",{"2":{"30":1}}],["291555",{"2":{"83":1}}],["291577",{"2":{"32":1}}],["29205",{"2":{"76":1}}],["293126",{"2":{"48":1}}],["290734",{"2":{"30":2}}],["299799",{"2":{"28":1}}],["295319",{"2":{"28":3}}],["295548",{"2":{"25":5}}],["298179",{"2":{"28":3}}],["298383",{"2":{"26":1}}],["297023",{"2":{"17":1}}],["29",{"2":{"13":1,"45":2,"76":2,"80":2}}],["28346307460586856",{"2":{"80":1}}],["2868262581079416",{"2":{"79":1}}],["286",{"2":{"76":1}}],["28035",{"2":{"62":2,"64":2,"66":6}}],["2855663183499576",{"2":{"79":1}}],["2858",{"2":{"32":1}}],["285965",{"2":{"26":1}}],["28438",{"2":{"32":1}}],["284399",{"2":{"29":1,"31":2}}],["28405",{"2":{"26":1}}],["28708",{"2":{"25":3}}],["28",{"2":{"13":1,"45":1,"76":2}}],["2601",{"2":{"85":1}}],["2600×5",{"2":{"84":1}}],["2600×4",{"2":{"84":2}}],["2600",{"2":{"84":3}}],["26069",{"2":{"28":3}}],["266342",{"2":{"83":1}}],["266013",{"2":{"76":1}}],["26×11",{"2":{"76":1}}],["263531",{"2":{"76":1}}],["269905",{"2":{"78":1}}],["269685",{"2":{"30":1}}],["26917",{"2":{"26":1}}],["268319",{"2":{"25":3}}],["26",{"2":{"13":2}}],["216905",{"2":{"76":1}}],["216524",{"2":{"13":1}}],["21316",{"2":{"62":2,"64":2,"66":6}}],["213826",{"2":{"30":1}}],["214909",{"2":{"45":1,"47":1}}],["215458",{"2":{"30":1}}],["215049",{"2":{"26":1}}],["219583",{"2":{"29":1,"31":2}}],["21149",{"2":{"28":1}}],["2115",{"2":{"25":2}}],["21714",{"2":{"25":3}}],["218579",{"2":{"17":1}}],["21",{"2":{"5":4,"13":1,"17":2,"44":1,"45":1,"74":1}}],["256817",{"2":{"84":1}}],["2599",{"2":{"84":3}}],["2598",{"2":{"84":3}}],["2597",{"2":{"84":3}}],["2596",{"2":{"84":3}}],["2595",{"2":{"84":3}}],["259597",{"2":{"76":1}}],["2594",{"2":{"84":3}}],["2571287355813575",{"2":{"79":1,"81":2}}],["257129",{"2":{"78":1}}],["257822",{"2":{"29":1,"31":2}}],["2585",{"2":{"84":3}}],["258764",{"2":{"76":1}}],["25825",{"2":{"46":4}}],["255579",{"2":{"76":1}}],["255916",{"2":{"30":1}}],["253984",{"2":{"28":1}}],["253849",{"2":{"15":2,"17":1}}],["25243",{"2":{"28":1}}],["2504949184379115",{"2":{"79":2}}],["250913",{"2":{"28":1}}],["250752",{"2":{"25":5}}],["25",{"2":{"5":2,"13":1,"25":10,"46":2,"73":2}}],["236866",{"2":{"84":1}}],["23502",{"2":{"76":1}}],["23546",{"2":{"25":3}}],["233997",{"2":{"84":1}}],["233685",{"2":{"76":1}}],["233778",{"2":{"48":1}}],["231283",{"2":{"47":2}}],["2379",{"2":{"45":1}}],["23788",{"2":{"26":1}}],["230047",{"2":{"30":1}}],["239878",{"2":{"28":1}}],["234458",{"2":{"30":1}}],["2344",{"2":{"25":3}}],["23",{"2":{"5":1,"13":1,"25":3,"44":2,"45":2}}],["20636222545147498",{"2":{"85":1}}],["206362",{"2":{"84":2}}],["206406",{"2":{"30":1}}],["203",{"2":{"76":2}}],["203703",{"2":{"25":2}}],["201129",{"2":{"75":1}}],["201",{"2":{"73":1}}],["201734",{"2":{"25":3}}],["20758428874582302",{"2":{"85":1}}],["207584",{"2":{"84":2}}],["207735",{"2":{"76":1}}],["20779",{"2":{"26":1}}],["207882",{"2":{"62":2,"64":2,"66":6}}],["208365",{"2":{"30":1}}],["208384",{"2":{"28":1}}],["205929",{"2":{"28":1}}],["204879",{"2":{"84":1}}],["204084",{"2":{"78":1}}],["20412",{"2":{"28":1}}],["204559",{"2":{"28":1}}],["204551",{"2":{"25":5}}],["202035",{"2":{"47":2}}],["202743",{"2":{"28":2}}],["2026",{"2":{"25":2}}],["2021",{"2":{"0":25}}],["2005",{"2":{"74":1}}],["20051",{"2":{"29":1,"31":2}}],["2003",{"2":{"19":1}}],["2000",{"2":{"19":1,"25":72,"26":3,"44":32,"45":21,"47":16,"74":18}}],["2001",{"2":{"15":4,"44":28,"45":17,"47":3}}],["200",{"2":{"5":1,"15":9,"48":26,"49":14}}],["20",{"2":{"4":4,"5":18,"15":3,"19":2,"20":12,"44":1,"66":2,"75":1,"76":8,"79":1}}],["2×3",{"2":{"73":3}}],["2×3×2",{"2":{"1":1,"15":1}}],["2×2",{"2":{"17":2,"73":1}}],["2×10×3",{"2":{"13":2}}],["2×4",{"2":{"5":1,"15":4}}],["2×4×2",{"2":{"3":1}}],["2",{"2":{"0":10,"1":4,"3":3,"4":3,"5":14,"8":3,"13":6,"15":16,"16":1,"17":10,"19":9,"20":8,"21":4,"23":2,"25":13,"26":5,"28":12,"29":1,"30":8,"31":2,"32":5,"33":8,"34":2,"44":2,"45":17,"46":24,"47":6,"48":8,"61":2,"62":4,"64":6,"65":3,"66":11,"73":62,"74":2,"75":1,"76":21,"78":2,"79":2,"80":5,"83":2,"84":8,"85":2}}],["==",{"2":{"20":1,"30":1,"47":1}}],["=>",{"2":{"1":10,"2":10,"3":15,"4":22,"11":6,"15":29,"19":4,"20":29,"22":2,"45":7,"46":18,"47":2,"62":1,"64":6,"66":7,"73":1,"84":1}}],["=",{"2":{"0":15,"1":4,"3":4,"4":10,"5":11,"13":7,"15":7,"16":9,"17":4,"18":1,"19":7,"20":13,"21":2,"23":1,"25":5,"26":3,"28":3,"29":1,"30":2,"32":1,"33":1,"44":3,"45":2,"46":1,"47":2,"48":7,"61":3,"62":1,"64":3,"65":8,"68":1,"70":1,"73":2,"74":7,"75":1,"76":3,"77":2,"78":4,"79":84,"80":37,"81":8,"83":4}}],["few",{"2":{"64":2}}],["feb",{"2":{"46":6,"74":1}}],["fact",{"2":{"77":1}}],["facing",{"2":{"35":1}}],["facilitate",{"2":{"11":2,"74":1}}],["fails",{"2":{"25":1}}],["fail",{"2":{"24":1}}],["favours",{"2":{"68":1}}],["favour",{"2":{"20":1}}],["fale",{"2":{"49":1}}],["fallback",{"2":{"11":1}}],["falls",{"2":{"5":2,"73":1}}],["fall",{"2":{"5":2}}],["falses",{"2":{"61":1}}],["false",{"2":{"1":1,"3":5,"11":1,"15":1,"19":2,"20":1,"24":1,"49":27}}],["far",{"2":{"4":1}}],["fast",{"2":{"4":1,"74":1,"81":1}}],["fri",{"2":{"74":2}}],["friendly",{"2":{"27":1}}],["frequency",{"2":{"33":2}}],["freely",{"2":{"17":1}}],["freeunits",{"2":{"5":1}}],["free",{"2":{"3":1,"30":1}}],["fraction",{"2":{"19":1}}],["from",{"2":{"0":3,"1":1,"2":1,"3":3,"4":10,"5":3,"8":1,"15":3,"16":3,"17":1,"18":1,"19":6,"20":1,"21":5,"23":13,"25":1,"30":1,"34":1,"36":1,"37":1,"38":1,"41":1,"42":10,"48":7,"51":1,"64":1,"73":1,"74":2,"75":1,"76":2,"81":1,"84":1}}],["further",{"2":{"40":1,"46":1}}],["future",{"2":{"4":1,"5":1,"20":1,"23":1,"72":1}}],["full",{"2":{"3":1,"4":3}}],["functionality",{"2":{"52":1}}],["functional",{"2":{"27":1}}],["functions",{"0":{"44":1,"80":1},"2":{"15":1,"19":2,"27":1,"32":1,"44":2,"64":1,"67":1,"68":1,"80":2}}],["function",{"2":{"3":1,"4":2,"5":2,"19":12,"20":2,"40":1,"43":2,"44":2,"45":2,"46":4,"47":1,"73":1,"74":1}}],["foo",{"2":{"64":3}}],["follow",{"2":{"44":1,"67":1}}],["following",{"2":{"12":1}}],["four",{"2":{"19":2}}],["found",{"2":{"3":1,"7":1,"20":3,"31":2,"78":1}}],["forms",{"2":{"27":1}}],["formats",{"2":{"10":1}}],["format",{"0":{"41":1},"2":{"2":2,"8":1,"11":1,"36":1,"41":2}}],["forward",{"2":{"4":1,"7":1,"15":2}}],["forwardordered",{"2":{"0":6,"3":1,"4":6,"5":8,"7":3,"13":6,"15":8,"17":6,"19":4,"20":10,"21":1,"25":18,"26":2,"45":9,"46":7,"47":5,"48":15,"49":14,"62":1,"64":4,"66":9,"73":28,"74":3,"75":6,"76":8,"77":2,"78":15,"79":1,"80":41,"83":6,"84":2}}],["for",{"2":{"0":12,"1":3,"2":2,"3":7,"4":40,"5":19,"7":2,"8":3,"10":1,"11":4,"15":17,"16":10,"17":5,"18":3,"19":12,"20":8,"21":4,"22":3,"23":5,"24":1,"25":1,"27":1,"28":2,"29":1,"30":1,"34":1,"39":1,"40":5,"42":6,"43":1,"46":4,"48":3,"51":3,"53":1,"54":1,"56":1,"57":2,"59":1,"61":1,"68":1,"72":1,"73":1,"74":1,"75":6,"77":2,"78":1,"79":2,"82":1,"84":3}}],["flexible",{"2":{"40":1}}],["float32",{"2":{"26":4}}],["float64",{"2":{"0":3,"1":1,"3":1,"4":1,"5":1,"13":1,"15":9,"17":7,"18":1,"19":3,"20":13,"21":2,"25":7,"26":2,"28":12,"29":2,"30":4,"31":2,"32":2,"33":1,"45":9,"46":18,"47":5,"48":18,"49":14,"62":4,"64":4,"66":11,"73":30,"74":1,"75":1,"76":12,"77":6,"78":39,"79":9,"80":141,"83":3,"84":36}}],["flags",{"2":{"3":1}}],["final",{"2":{"46":1}}],["find",{"2":{"74":1}}],["findfirst",{"2":{"7":1}}],["finds",{"2":{"7":1}}],["fix",{"2":{"20":1}}],["fixed",{"2":{"8":1}}],["field",{"2":{"11":1,"15":1,"20":5,"40":1,"66":1}}],["fields",{"2":{"2":1,"3":1,"4":1,"6":1,"20":5,"23":1,"27":2,"40":3,"41":1}}],["firstindex",{"2":{"32":1}}],["first",{"2":{"3":3,"12":1,"13":1,"16":8,"21":1,"31":1,"44":1,"46":1,"48":2,"73":2}}],["filter",{"2":{"48":1,"49":1,"73":1}}],["filters",{"2":{"5":1}}],["fill",{"2":{"15":4,"20":2,"28":4,"41":1,"74":1}}],["filled",{"2":{"2":1,"10":1}}],["file",{"2":{"0":1,"11":2,"51":1}}],["f",{"2":{"1":5,"3":10,"4":2,"5":1,"13":1,"15":5,"17":3,"19":11,"20":11,"70":1,"73":1,"84":1}}],["gc",{"2":{"33":6}}],["goals",{"0":{"27":1},"2":{"27":1}}],["got",{"2":{"25":1}}],["good",{"2":{"16":1}}],["globally",{"2":{"24":1}}],["global",{"0":{"21":1},"1":{"22":1,"23":1},"2":{"21":2}}],["gpus",{"0":{"26":1},"1":{"27":1},"2":{"22":1,"26":1,"57":1}}],["gpu",{"0":{"27":1},"2":{"20":2,"26":4,"27":7,"61":1}}],["gribdatasets",{"2":{"35":1}}],["grid",{"2":{"4":1}}],["gridded",{"2":{"4":1}}],["groupmeans",{"2":{"19":2}}],["grouped",{"2":{"19":1,"47":1}}],["groups",{"2":{"19":12,"45":2,"46":4}}],["groupings",{"2":{"44":1}}],["groupingfunction",{"2":{"19":2}}],["grouping",{"0":{"44":1,"45":1},"2":{"19":9,"43":4,"46":2,"47":1}}],["groupby",{"2":{"19":13,"43":1,"45":13,"46":21,"47":4}}],["group",{"0":{"19":1,"43":1},"1":{"44":1,"45":1,"46":1,"47":1},"2":{"19":9,"44":1,"45":3,"46":13,"47":2}}],["gis",{"2":{"51":2}}],["giving",{"2":{"5":1,"82":1}}],["given",{"2":{"20":1,"82":1}}],["give",{"2":{"3":1,"4":1,"5":1,"15":1,"28":1,"78":1}}],["gives",{"2":{"0":1,"16":2,"66":1}}],["github",{"2":{"4":1,"66":1}}],["guide",{"2":{"43":1}}],["guarantee",{"2":{"11":1}}],["guaranteed",{"2":{"3":1,"15":1}}],["guessed",{"2":{"2":1,"8":2}}],["guess",{"2":{"0":1,"44":1}}],["gt",{"2":{"1":2,"3":3,"5":1,"15":2,"19":1,"20":2}}],["g",{"2":{"0":1,"3":1,"4":2,"5":1,"13":1,"15":1,"19":1,"36":1,"61":1,"65":1,"70":1,"84":1}}],["geotiff",{"2":{"10":1}}],["geospatial",{"2":{"4":3,"51":1}}],["gets",{"2":{"73":2}}],["getting",{"2":{"15":1,"46":1}}],["getters",{"0":{"48":1},"1":{"49":1}}],["getter",{"2":{"4":1}}],["get",{"2":{"1":3,"2":1,"3":1,"11":3,"15":4,"18":1,"23":1,"29":1,"48":7,"73":2,"74":1,"79":1}}],["getindex",{"2":{"0":1,"3":2,"16":3,"17":1,"23":2,"31":1,"42":2}}],["generator",{"2":{"21":4}}],["generators",{"0":{"17":1},"2":{"35":1}}],["generates",{"2":{"19":7}}],["generate",{"2":{"3":1,"19":2,"23":1}}],["generated",{"2":{"3":1,"18":1,"40":1}}],["general",{"2":{"11":1}}],["generally",{"2":{"0":1}}],["generic",{"2":{"0":1,"4":1,"65":1}}],["p",{"2":{"84":1}}],["pythons",{"2":{"35":1}}],["permafrost",{"2":{"56":1}}],["permutation",{"2":{"80":1}}],["permuting",{"2":{"20":2}}],["permute",{"2":{"20":1,"24":1,"68":1}}],["permuteddimsarray",{"2":{"80":2}}],["permutedims",{"2":{"32":1,"80":3}}],["permuted",{"2":{"20":1}}],["periods",{"2":{"19":3}}],["perform",{"2":{"32":1}}],["performed",{"2":{"4":1}}],["performance",{"0":{"33":1,"81":1},"2":{"4":3,"16":1,"51":1}}],["pkg",{"2":{"12":2}}],["pkg>",{"2":{"12":2}}],["put",{"2":{"11":1}}],["pixels",{"2":{"5":1}}],["powerful",{"2":{"55":1,"61":1}}],["polygon",{"2":{"51":1}}],["positions",{"0":{"10":1}}],["position",{"2":{"4":1,"9":1,"10":6}}],["possible",{"2":{"4":2,"5":1,"7":1,"20":1,"26":1,"32":1,"66":1,"67":1}}],["point",{"2":{"0":1,"4":2,"5":1,"9":1,"17":1,"74":1}}],["points",{"2":{"0":6,"4":7,"5":12,"8":2,"9":4,"13":4,"15":5,"17":5,"19":4,"20":9,"21":1,"25":18,"26":2,"45":9,"46":4,"47":5,"48":32,"49":28,"62":2,"64":2,"66":4,"73":9,"74":1,"75":4,"76":10,"77":2,"78":15,"79":1,"80":49,"83":4,"84":2}}],["planned",{"2":{"72":1}}],["plasma",{"2":{"71":2}}],["places",{"2":{"68":2}}],["place",{"2":{"27":1,"60":1}}],["placed",{"2":{"20":1}}],["please",{"2":{"4":1}}],["plus",{"2":{"4":1}}],["plots",{"0":{"67":1,"69":1},"1":{"70":1,"71":1,"72":1},"2":{"0":1,"3":1,"11":1,"15":2,"67":2,"68":1,"72":1}}],["plotted",{"2":{"0":1,"4":1,"7":1,"9":1,"10":1}}],["plotting",{"2":{"0":1}}],["plot",{"2":{"0":3,"2":2,"67":2,"68":2}}],["printing",{"2":{"74":1}}],["principles",{"2":{"44":1}}],["prior",{"2":{"20":1}}],["primarily",{"2":{"3":1}}],["primitives",{"2":{"31":2}}],["primitive",{"0":{"3":1}}],["process",{"2":{"57":1,"65":1}}],["providing",{"2":{"51":1}}],["provides",{"2":{"43":1,"48":1,"58":1,"82":1}}],["provide",{"2":{"4":2}}],["provided",{"2":{"4":5,"5":3,"8":1,"21":2,"74":1}}],["projected",{"2":{"36":1,"51":1}}],["prod",{"2":{"32":1,"80":2}}],["probably",{"2":{"22":1,"44":1}}],["problems",{"2":{"4":1}}],["property",{"2":{"22":1}}],["properties",{"2":{"2":2,"20":1,"25":1,"41":1,"74":1,"75":2}}],["programmatically",{"2":{"15":1}}],["predicates",{"0":{"49":1},"2":{"49":1}}],["predefined",{"2":{"34":1}}],["prefereble",{"2":{"19":1}}],["preserved",{"2":{"20":1}}],["present",{"2":{"5":1,"17":1,"35":1}}],["pressed",{"2":{"12":1}}],["previously",{"2":{"20":1}}],["previous",{"2":{"3":1,"5":1}}],["precedence",{"2":{"0":1}}],["paaarnet",{"2":{"23":3,"42":3}}],["padding",{"2":{"46":1}}],["pad",{"2":{"19":5}}],["past",{"2":{"15":1}}],["pass",{"2":{"11":1,"16":1,"20":3,"23":2,"41":1,"46":1,"66":1}}],["passing",{"2":{"3":2,"4":1,"19":1,"20":1,"25":1}}],["passed",{"2":{"0":1,"2":1,"3":5,"5":3,"17":1,"20":6,"21":1,"23":1,"27":1,"40":1,"73":2}}],["partly",{"2":{"76":1}}],["part",{"2":{"23":1,"66":1}}],["parentheses",{"2":{"20":1}}],["parent",{"2":{"15":1,"20":5,"21":4,"23":13,"24":1,"26":2,"27":1,"33":2,"41":1,"42":9,"61":5,"81":1}}],["parameters",{"2":{"3":1}}],["parameter",{"2":{"0":1,"11":1}}],["pair",{"2":{"11":1,"19":1,"20":4}}],["pairs",{"2":{"11":1,"19":1,"20":8}}],["packages",{"2":{"35":2,"36":1,"44":1,"67":1,"82":1}}],["package",{"2":{"4":1,"12":1,"13":1,"19":1,"52":1,"54":1,"55":1}}],["d=rand",{"2":{"77":1}}],["dynamicgrids",{"0":{"57":1},"2":{"27":1,"57":2}}],["dropdims",{"2":{"32":1,"80":1}}],["dropped",{"2":{"23":2,"42":2}}],["drop=true",{"2":{"21":3}}],["dd",{"2":{"5":3,"20":3,"34":1,"39":2,"44":1,"51":1,"53":1,"65":2,"66":1,"68":1,"82":1}}],["da4",{"2":{"33":1}}],["da5",{"2":{"32":2}}],["das",{"2":{"23":1}}],["daily",{"2":{"19":1}}],["dayofyear",{"2":{"44":2,"46":3}}],["dayofweek",{"2":{"44":1}}],["day",{"2":{"19":3,"44":2,"46":4}}],["days",{"2":{"4":1,"46":1}}],["da3",{"2":{"16":2}}],["da2",{"2":{"16":2,"20":7,"30":5}}],["da1",{"2":{"16":2,"20":7,"29":2,"30":1,"31":2}}],["da",{"2":{"4":2,"20":10,"28":2,"30":2}}],["dataframe",{"0":{"84":1},"2":{"84":8}}],["dataframes",{"0":{"82":1},"1":{"83":1,"84":1,"85":1},"2":{"5":1,"82":1,"83":1}}],["data2",{"2":{"83":1,"84":2,"85":1}}],["data2=rand",{"2":{"83":1}}],["data1",{"2":{"83":2,"84":2,"85":1}}],["dataset",{"2":{"36":2,"54":1}}],["datasets",{"0":{"16":1},"2":{"4":1,"52":1}}],["dataapi",{"2":{"19":1}}],["data=autovalues",{"2":{"4":1}}],["data",{"2":{"0":2,"1":1,"2":1,"4":17,"11":1,"13":2,"15":5,"16":6,"18":1,"19":2,"20":6,"21":2,"23":3,"25":8,"26":2,"27":2,"34":1,"35":1,"40":2,"46":1,"51":2,"52":1,"53":1,"56":1,"57":1,"59":1,"61":1,"64":3,"82":1,"83":2,"84":2,"85":1}}],["date",{"2":{"4":2,"74":1}}],["datetime",{"2":{"0":13,"5":1,"15":4,"19":2,"25":28,"44":5,"45":3,"47":11,"74":10,"75":1}}],["dates",{"2":{"0":15,"4":2,"15":1,"19":1,"25":36,"44":4,"45":4,"47":12,"74":9,"83":1}}],["d",{"0":{"24":1},"1":{"25":1},"2":{"3":2,"4":2,"13":1,"17":1,"20":12,"24":2,"25":6,"64":2,"70":1,"75":3,"77":1,"78":6,"79":23,"80":28,"81":2,"84":2}}],["dsl",{"2":{"55":1}}],["dst",{"2":{"21":6}}],["ds",{"2":{"3":1,"4":2,"20":2,"21":2}}],["docs",{"2":{"42":2}}],["documented",{"2":{"21":1}}],["dot",{"2":{"24":1}}],["dotview",{"2":{"3":1}}],["doing",{"2":{"17":1,"21":1,"46":1,"64":1,"76":1}}],["do",{"2":{"4":2,"11":1,"12":1,"19":1,"20":3,"32":1,"46":1,"62":1,"66":2}}],["doesn",{"2":{"17":1,"30":1,"31":1,"65":1}}],["does",{"2":{"4":1,"20":1,"24":1,"40":1,"44":1,"46":1,"78":1,"80":1,"82":1}}],["done",{"2":{"15":1,"20":1,"82":1}}],["don",{"2":{"2":1,"4":1,"21":4,"30":1,"64":1,"66":1}}],["direct",{"2":{"35":1}}],["directly",{"2":{"17":1,"33":1,"35":1,"46":1,"81":1,"85":1}}],["difficult",{"2":{"27":1}}],["different",{"0":{"71":1},"2":{"3":1,"5":3,"10":1,"11":1,"20":1,"48":1}}],["divide",{"2":{"19":1}}],["di",{"2":{"17":2}}],["dicts",{"2":{"27":1,"60":1}}],["dict",{"2":{"4":4,"11":3,"15":1,"19":3,"20":1,"28":5,"45":7,"46":11,"47":2,"64":2}}],["dictates",{"2":{"2":1}}],["distinguishing",{"2":{"48":1}}],["distance",{"2":{"4":2,"5":1}}],["discrete",{"2":{"46":1}}],["discarded",{"2":{"5":1,"15":1}}],["diskarray",{"2":{"52":1}}],["diskarrays",{"0":{"35":1},"2":{"19":1,"35":2}}],["disk",{"2":{"35":1}}],["dispatch",{"2":{"0":1,"11":1}}],["dimmatrix",{"2":{"68":1}}],["dimvector",{"2":{"21":1}}],["dimgroupbyarray",{"2":{"19":6,"45":1,"46":8,"47":1}}],["dimname",{"2":{"19":1}}],["dimnum",{"2":{"1":4,"15":4,"39":1}}],["dimcolumn",{"2":{"18":1}}],["dimtype",{"2":{"19":1}}],["dimtable",{"2":{"18":4,"84":4}}],["dimtuple",{"2":{"16":1,"48":4}}],["dimpoints",{"2":{"17":4}}],["dimindices",{"2":{"17":9,"30":2,"38":1,"76":1}}],["dimz",{"2":{"5":2,"16":4}}],["dimselector",{"0":{"76":1}}],["dimselectors",{"2":{"17":7,"76":3}}],["dimsmatch",{"2":{"3":2}}],["dimstoreduce",{"2":{"3":1}}],["dimstacks",{"0":{"77":1},"1":{"78":1,"79":1,"80":1,"81":1},"2":{"24":1}}],["dimstackinterface",{"2":{"23":2,"42":6}}],["dimstack",{"2":{"2":1,"16":19,"20":1,"21":2,"24":1,"42":7,"48":1,"61":2,"77":3,"78":11,"79":2,"80":25,"82":1,"83":2,"84":2,"85":2}}],["dims2indices",{"2":{"2":1}}],["dims=",{"2":{"20":3,"21":1,"25":4}}],["dims=ti",{"2":{"0":1,"16":2,"19":1,"21":1,"32":1}}],["dims=z",{"2":{"0":1}}],["dims=y",{"2":{"0":1,"20":1,"80":11}}],["dims=x",{"2":{"0":1}}],["dims",{"0":{"24":1,"32":1,"37":1,"39":1},"1":{"25":1,"38":1,"39":1},"2":{"0":4,"1":11,"2":8,"3":13,"4":18,"5":6,"11":2,"13":3,"15":42,"16":3,"17":14,"18":1,"19":9,"20":33,"21":13,"23":26,"24":4,"25":10,"26":1,"28":11,"29":3,"30":5,"31":4,"32":4,"33":1,"34":1,"36":1,"37":1,"38":1,"39":5,"40":2,"41":2,"42":17,"45":9,"46":19,"47":6,"48":24,"49":29,"61":5,"62":2,"64":4,"66":6,"73":15,"74":1,"75":1,"76":5,"77":5,"78":30,"79":5,"80":114,"83":4,"84":27}}],["dimarrays",{"0":{"28":1},"1":{"29":1,"30":1,"31":1,"32":1,"33":1},"2":{"28":1}}],["dimarrayinterface",{"2":{"23":2,"42":6}}],["dimarray",{"0":{"29":1},"2":{"0":4,"1":5,"2":1,"3":2,"4":6,"5":11,"13":7,"15":37,"16":11,"17":6,"18":2,"19":10,"20":10,"21":1,"24":2,"25":11,"26":2,"27":1,"28":17,"29":4,"30":4,"31":2,"32":2,"33":1,"42":4,"45":13,"46":39,"47":8,"48":7,"56":1,"59":1,"61":3,"62":2,"64":2,"66":6,"73":16,"74":4,"75":2,"76":5,"77":1,"78":3,"83":1,"84":1}}],["dim",{"2":{"0":11,"1":2,"2":4,"3":9,"4":12,"11":2,"15":7,"18":3,"20":16,"29":1,"32":1,"34":3,"38":1,"83":1}}],["dimensionmismatch",{"2":{"25":1,"78":1}}],["dimensionality",{"2":{"21":1}}],["dimensional",{"0":{"24":1,"30":1},"1":{"25":1},"2":{"0":1,"3":1,"16":1,"20":1,"23":2,"38":1,"43":1,"79":1}}],["dimensionaldata",{"0":{"36":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1,"42":1},"2":{"0":22,"1":9,"2":5,"3":20,"4":35,"5":21,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"12":3,"13":1,"15":20,"16":3,"17":3,"18":4,"19":10,"20":20,"21":5,"22":3,"23":8,"25":1,"26":2,"27":3,"28":1,"31":6,"34":3,"35":1,"36":1,"37":1,"40":1,"41":2,"42":10,"43":1,"44":2,"48":3,"51":1,"52":1,"60":1,"61":1,"62":1,"64":1,"68":1,"73":2,"74":1,"77":1,"82":1,"83":1}}],["dimension",{"0":{"17":1,"25":1,"29":1,"38":1,"47":1},"2":{"0":21,"1":27,"2":11,"3":32,"4":24,"5":3,"10":2,"11":2,"15":75,"16":3,"17":9,"18":7,"19":2,"20":33,"21":9,"23":4,"24":2,"25":3,"28":2,"30":3,"31":1,"32":3,"34":3,"38":1,"39":5,"40":1,"41":2,"42":2,"43":1,"45":1,"47":2,"48":6,"62":1,"63":1,"64":4,"66":1,"73":2,"74":2,"75":1,"77":1,"79":1,"80":1,"82":2,"84":2}}],["dimensions",{"0":{"0":1,"34":1},"1":{"1":1,"2":1,"3":1},"2":{"0":30,"1":13,"2":7,"3":32,"4":39,"5":11,"6":1,"7":6,"8":5,"9":3,"10":8,"11":5,"15":25,"16":3,"17":5,"18":1,"19":3,"20":24,"21":9,"23":6,"24":2,"25":1,"28":1,"30":4,"31":4,"33":1,"34":7,"37":2,"38":1,"42":4,"47":2,"48":3,"49":2,"63":2,"64":1,"68":1,"73":1,"75":1,"77":1,"78":1,"79":1,"82":2,"83":1,"84":2}}],["during",{"2":{"0":1,"35":1,"57":1}}],["declarative",{"2":{"62":1}}],["dec",{"2":{"46":4,"74":1}}],["december",{"2":{"19":2}}],["demo",{"2":{"44":1}}],["developers",{"2":{"40":1,"52":1}}],["development",{"2":{"35":1,"67":1}}],["devicebuffer",{"2":{"26":1}}],["dest",{"2":{"20":4}}],["descriptive",{"2":{"19":1}}],["designed",{"2":{"35":1,"36":1}}],["design",{"2":{"16":2}}],["deprecated",{"2":{"20":1,"67":1}}],["depreciated",{"2":{"5":1}}],["dependencies",{"2":{"51":1}}],["dependency",{"2":{"35":1}}],["dependent",{"2":{"0":1}}],["dependentdim",{"2":{"0":4}}],["depending",{"2":{"1":1,"15":1}}],["detect",{"2":{"4":2,"15":4,"41":1}}],["detected",{"2":{"4":4,"41":1,"74":2,"75":5}}],["determine",{"2":{"7":1,"74":1}}],["determined",{"2":{"4":1}}],["determines",{"2":{"3":1,"17":1}}],["details",{"2":{"0":1,"23":2,"34":1}}],["definition",{"2":{"23":2,"42":2}}],["defining",{"2":{"4":2}}],["defines",{"2":{"4":1,"8":1,"17":1,"20":1,"23":2,"42":3,"48":1,"55":1}}],["defined",{"2":{"3":1,"4":1,"16":1,"20":3,"34":1,"40":1,"45":1}}],["define",{"2":{"0":1,"3":1,"4":1,"9":1,"19":1,"25":1,"28":1,"45":1,"48":1,"75":1,"76":1,"83":1}}],["default",{"0":{"70":1},"2":{"0":1,"1":3,"3":11,"4":7,"10":1,"15":4,"17":2,"19":5,"22":1,"67":1,"68":1}}],["w",{"2":{"84":1}}],["would",{"2":{"17":2,"24":1,"46":1,"48":1}}],["works",{"2":{"4":1,"20":1,"24":2,"31":2,"46":2,"57":1,"78":2}}],["work",{"2":{"2":1,"4":4,"5":1,"10":2,"11":1,"15":1,"16":1,"19":1,"20":1,"21":1,"24":2,"27":3,"31":3,"34":1,"40":2,"44":1,"52":1,"65":1,"67":1,"68":2,"74":1,"80":1}}],["working",{"2":{"1":1,"16":2}}],["word",{"2":{"0":1}}],["want",{"2":{"12":1,"21":4,"23":2,"46":2,"48":1,"62":1,"66":2}}],["way",{"2":{"4":1,"20":1,"25":1,"40":1,"64":1,"66":1}}],["warning",{"2":{"3":1,"31":2,"64":1}}],["warn",{"2":{"3":1}}],["whose",{"2":{"20":3}}],["whole",{"2":{"5":2}}],["what",{"2":{"20":1,"44":1,"46":1,"48":2,"62":1,"64":1,"66":1}}],["whatever",{"2":{"17":1,"48":1}}],["which",{"2":{"3":1,"4":1,"19":1,"20":4,"21":1,"24":1,"32":1,"48":1,"51":1,"71":1,"73":3,"76":1}}],["whichever",{"2":{"3":1}}],["while",{"2":{"3":1,"11":1,"16":2,"17":1}}],["wherever",{"2":{"21":1,"46":1}}],["where",{"2":{"3":4,"4":9,"5":7,"7":1,"8":2,"9":1,"10":2,"11":1,"16":1,"20":4,"32":1,"46":1,"48":1,"61":1,"64":1,"73":4,"75":1}}],["whether",{"2":{"1":1,"15":1}}],["whenever",{"2":{"27":1}}],["when",{"2":{"0":5,"2":1,"4":6,"5":2,"11":1,"16":2,"17":1,"19":3,"20":1,"21":3,"22":1,"27":1,"30":1,"31":1,"38":1,"41":1,"46":1,"74":1,"75":1,"78":1}}],["write",{"2":{"85":2}}],["written",{"2":{"20":1}}],["writing",{"2":{"3":1,"20":1}}],["wraps",{"2":{"38":1}}],["wrapping",{"2":{"3":1,"4":1,"48":5,"52":1,"74":4}}],["wrapper",{"2":{"4":4,"11":1,"19":1,"20":2,"21":4,"22":2,"34":1,"46":1,"64":1}}],["wrappers",{"2":{"0":2,"4":1,"5":1,"11":2,"22":1,"28":2,"30":1,"61":1}}],["wrapped",{"2":{"3":2,"19":1,"20":1,"34":1,"65":1}}],["wrap",{"2":{"0":2,"19":3,"34":3,"74":1}}],["weds",{"2":{"74":2}}],["were",{"2":{"31":2}}],["well",{"2":{"18":1,"30":1,"73":2}}],["weeks",{"2":{"4":1}}],["week",{"2":{"4":1}}],["we",{"2":{"0":1,"4":3,"5":1,"16":1,"17":2,"19":2,"20":2,"21":8,"24":3,"25":1,"28":2,"29":1,"30":2,"34":1,"42":2,"44":1,"45":3,"46":13,"47":2,"48":1,"52":1,"62":2,"73":3,"74":6,"75":1,"76":4,"78":2,"79":3,"84":2,"85":1}}],["winter",{"2":{"46":1}}],["wish",{"2":{"5":1}}],["wider",{"2":{"41":1}}],["wide",{"2":{"4":1,"51":1,"82":1}}],["widely",{"2":{"1":1}}],["within",{"2":{"5":1,"17":1,"73":2}}],["without",{"2":{"3":1,"4":2,"11":1,"16":1,"20":2,"30":1,"40":1,"61":1,"65":1,"74":1,"79":1}}],["with",{"0":{"24":1,"29":1,"72":1},"1":{"25":1},"2":{"0":3,"1":5,"2":2,"3":10,"4":13,"5":10,"7":1,"8":1,"10":8,"11":1,"12":1,"15":12,"16":8,"17":7,"18":1,"19":7,"20":14,"21":6,"23":3,"24":5,"25":3,"26":1,"27":1,"28":1,"29":1,"30":3,"31":2,"32":1,"33":3,"34":5,"35":1,"38":1,"40":2,"42":2,"43":3,"45":8,"46":11,"47":3,"48":1,"49":1,"52":2,"53":1,"61":2,"63":1,"64":5,"65":1,"67":2,"68":1,"73":10,"74":1,"75":2,"76":3,"78":5,"79":2,"80":1,"81":1,"82":1,"84":1}}],["will",{"2":{"0":7,"1":1,"2":2,"3":7,"4":13,"5":9,"7":2,"8":2,"10":3,"11":2,"15":10,"16":7,"18":1,"19":5,"20":15,"21":1,"30":2,"39":2,"40":2,"43":1,"44":2,"48":1,"64":1,"65":1,"67":1,"68":3,"73":1,"74":2,"80":1,"84":2}}],["btime",{"2":{"81":2}}],["blue",{"2":{"71":1,"72":1}}],["block",{"2":{"23":1}}],["blocks",{"2":{"23":1,"46":2}}],["blockwidth",{"2":{"23":4}}],["b=rand",{"2":{"77":1}}],["b=falses",{"2":{"61":1}}],["b=1",{"2":{"13":1,"29":1}}],["building",{"2":{"35":1}}],["but",{"2":{"0":1,"1":2,"3":9,"4":4,"5":1,"8":1,"11":1,"15":2,"16":3,"17":3,"19":6,"20":1,"23":2,"25":1,"26":1,"30":2,"31":1,"35":2,"36":1,"44":1,"46":1,"47":1,"48":1,"51":1,"55":1,"62":1,"63":1,"64":2,"65":1,"66":1,"68":1,"73":1,"74":2,"75":1,"76":1}}],["bin",{"2":{"46":4}}],["binning",{"0":{"46":1},"2":{"19":2}}],["bins",{"2":{"19":15,"43":1,"46":5}}],["bitmatrix",{"2":{"61":2}}],["bit",{"2":{"13":1}}],["bar",{"2":{"64":3}}],["bayesian",{"2":{"54":1}}],["band",{"2":{"18":2}}],["backend",{"2":{"27":1}}],["back",{"2":{"5":1,"11":1}}],["basic",{"2":{"31":1}}],["basics",{"0":{"13":1}}],["basically",{"2":{"3":1,"19":1,"64":1}}],["base",{"2":{"3":2,"5":1,"15":10,"16":3,"19":1,"20":1,"21":7,"23":4,"24":2,"27":1,"31":1,"42":2,"74":2,"80":1}}],["basetypeof",{"2":{"3":5}}],["basedims",{"2":{"3":2}}],["based",{"2":{"2":1,"23":1,"35":1,"64":1}}],["brackets",{"2":{"64":1}}],["break",{"2":{"46":1}}],["breaking",{"2":{"4":1,"23":1,"65":1}}],["broken",{"2":{"66":1}}],["brought",{"2":{"34":1}}],["brodcasting",{"2":{"21":2,"24":1}}],["broadcasts",{"0":{"24":1},"1":{"25":1},"2":{"21":5,"24":2,"27":1,"80":1}}],["broadcast",{"0":{"24":1},"1":{"25":1},"2":{"19":3,"20":11,"21":4,"24":7,"25":7,"26":1,"35":1,"80":2}}],["broadcasting",{"2":{"3":1,"20":2,"21":5,"24":1,"45":1}}],["bonus",{"2":{"24":1}}],["box",{"2":{"23":1,"67":1}}],["boundaries",{"2":{"5":1}}],["bounds",{"2":{"4":9,"8":6,"48":8,"74":1,"75":2}}],["both",{"2":{"3":1,"4":1,"35":2,"52":1,"63":1,"78":1}}],["bool",{"2":{"1":3,"3":5,"4":2,"5":1,"15":11,"19":1,"21":2,"61":7,"73":2}}],["bytes",{"2":{"33":2,"81":2}}],["by",{"0":{"19":1,"43":1,"47":1},"1":{"44":1,"45":1,"46":1,"47":1},"2":{"0":1,"1":2,"3":13,"4":8,"5":4,"9":1,"15":2,"17":1,"19":8,"20":2,"25":2,"29":1,"33":2,"34":1,"35":1,"40":2,"45":2,"46":2,"47":3,"68":1,"71":1,"73":4}}],["b",{"2":{"0":7,"3":4,"4":2,"5":11,"13":3,"15":9,"16":3,"17":1,"20":4,"29":3,"31":2,"34":2,"47":3,"61":2,"62":2,"64":5,"65":3,"66":3,"67":1,"68":1,"70":2,"71":1,"73":27,"75":3,"76":3,"77":1,"78":4,"79":23,"80":40,"81":2,"84":2}}],["best",{"2":{"66":1}}],["benchmarktools",{"2":{"33":3,"81":1}}],["benchmark",{"2":{"33":3}}],["before",{"2":{"21":9}}],["become",{"2":{"84":1}}],["becomes",{"2":{"18":2}}],["because",{"2":{"19":2,"24":1}}],["behaves",{"2":{"17":2,"36":1}}],["behaviour",{"2":{"4":4,"5":1,"6":1,"16":2,"19":1,"20":1,"41":1,"67":1,"74":1,"77":1}}],["behaviours",{"2":{"4":1,"52":1,"65":1}}],["begin+1",{"2":{"31":1}}],["beginendsteprange",{"2":{"10":2}}],["beginendrange",{"2":{"10":2}}],["begin",{"0":{"31":1},"2":{"10":4,"31":2}}],["better",{"2":{"5":1}}],["between",{"2":{"0":1,"4":5,"5":21,"10":1,"11":1,"15":1,"16":2}}],["been",{"2":{"2":1,"3":1,"16":1,"20":1}}],["be",{"2":{"0":5,"1":5,"2":4,"3":11,"4":33,"5":17,"6":1,"7":2,"8":3,"10":4,"11":3,"12":1,"15":10,"16":4,"17":3,"19":8,"20":16,"21":2,"22":1,"23":3,"24":1,"25":1,"27":4,"30":3,"31":1,"32":1,"34":3,"36":1,"38":1,"40":1,"41":1,"44":1,"46":1,"60":1,"61":2,"62":1,"64":1,"66":1,"73":2,"74":3,"75":2,"78":1,"80":1}}],["ecosystem",{"2":{"82":1}}],["edges",{"2":{"46":1}}],["edge",{"2":{"19":1}}],["equally",{"2":{"19":1}}],["equivalent",{"2":{"16":1,"17":1,"21":2}}],["estimate",{"2":{"33":4}}],["essentially",{"2":{"17":1,"19":1}}],["especially",{"2":{"17":1,"21":1,"68":1}}],["effects",{"2":{"15":2}}],["enforce",{"2":{"77":1}}],["entries",{"2":{"64":2}}],["entry",{"2":{"19":3,"45":7,"46":11,"47":2}}],["engine",{"2":{"57":1}}],["ensure",{"2":{"21":4}}],["enables",{"2":{"35":1}}],["enable",{"2":{"8":1}}],["end",{"0":{"31":1},"2":{"5":4,"9":1,"10":6,"19":3,"20":1,"31":3,"48":1}}],["evaluations",{"2":{"33":2}}],["evaluated",{"2":{"5":1}}],["everything",{"2":{"36":1,"60":1,"64":1}}],["everywhere",{"2":{"34":1}}],["every",{"2":{"4":1,"5":1,"8":1,"20":2}}],["even",{"2":{"4":1,"17":1,"24":2,"31":1,"65":1,"74":1,"80":1}}],["error",{"2":{"3":2,"5":2,"25":1,"30":2,"64":1,"78":1}}],["errors",{"2":{"2":1,"3":1}}],["empty",{"2":{"3":1,"15":2,"23":2,"42":2,"75":1}}],["eltype",{"2":{"21":2,"61":2,"77":4,"78":22,"79":4,"80":88,"83":2,"84":26}}],["else",{"2":{"2":1,"19":1,"60":1,"64":1}}],["element",{"2":{"0":1,"2":1,"13":1,"15":2,"19":2,"25":3,"29":1,"30":2,"31":1,"44":8,"45":7,"46":13,"47":1,"48":2,"73":3,"74":3,"78":1,"79":2,"80":1,"85":1}}],["either",{"2":{"1":1,"2":1,"3":1,"4":2,"11":1,"15":2,"17":1,"19":4,"21":4}}],["early",{"2":{"23":2}}],["easiest",{"2":{"40":1}}],["easier",{"2":{"22":1,"39":1}}],["easily",{"2":{"0":1,"4":1,"36":2,"64":1}}],["eachindex",{"2":{"38":2}}],["eachother",{"2":{"24":1}}],["eachslice",{"2":{"21":4,"25":2,"32":1,"47":1}}],["each",{"2":{"0":1,"3":2,"4":5,"5":2,"8":1,"16":1,"17":2,"18":1,"19":1,"20":1,"25":1,"45":1,"48":2,"67":1,"74":1,"79":1,"81":1,"84":3}}],["except",{"2":{"24":1,"27":1}}],["exception",{"2":{"21":2}}],["exact",{"2":{"4":1,"9":1,"17":2,"19":1}}],["exactly",{"2":{"4":1,"5":1,"46":1,"73":1}}],["examples",{"2":{"0":2,"20":1,"21":1,"36":2}}],["example",{"0":{"25":1,"83":1},"2":{"0":5,"1":4,"3":2,"4":5,"5":7,"15":12,"16":2,"17":2,"18":1,"19":2,"20":5,"21":3,"25":1,"27":1,"40":1,"48":1}}],["extrema",{"2":{"32":1,"80":2}}],["extra",{"2":{"0":1,"75":1}}],["extent",{"2":{"48":9}}],["extents",{"2":{"48":2}}],["extensible",{"2":{"36":1,"40":1}}],["extension",{"2":{"24":1,"55":1}}],["extends",{"2":{"51":1,"53":1}}],["extend",{"2":{"16":1}}],["extended",{"2":{"4":1,"23":2,"36":2}}],["extending",{"0":{"36":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1,"42":1},"2":{"4":3,"20":1,"37":1}}],["exploratory",{"2":{"54":1}}],["explicit",{"2":{"4":1,"8":1,"42":1}}],["explicitly",{"2":{"4":2,"8":1,"19":1,"20":2,"21":4}}],["expected",{"2":{"21":1}}],["expression",{"2":{"20":1}}],["exported",{"0":{"1":1,"2":1}}],["existing",{"2":{"5":1,"20":1,"23":1,"43":1}}],["exists",{"2":{"3":1,"51":1}}],["exist",{"2":{"2":1,"60":1}}],["e",{"2":{"0":1,"3":1,"4":2,"5":2,"13":1,"15":1,"17":1,"19":1,"36":1,"47":1,"61":1,"65":1,"70":1,"71":1,"75":3,"78":2,"84":1}}],["etc",{"2":{"0":2,"3":1,"16":1,"20":2}}],["l",{"2":{"48":2,"62":2,"64":2,"66":3,"74":9,"84":1}}],["lj",{"2":{"35":1}}],["lick",{"2":{"73":1}}],["line",{"2":{"67":1}}],["linearmap",{"2":{"4":1}}],["list",{"2":{"19":1,"71":1}}],["listed",{"2":{"8":1,"49":1,"64":1}}],["little",{"2":{"5":1,"13":1}}],["lies",{"2":{"16":2}}],["lie",{"2":{"5":1}}],["likely",{"2":{"4":1,"23":2}}],["like",{"0":{"78":1,"79":1},"2":{"0":1,"3":2,"4":5,"5":2,"15":1,"16":1,"17":4,"19":2,"20":3,"22":1,"30":3,"32":1,"34":1,"38":1,"41":1,"46":3,"48":2,"51":1,"62":1,"63":1,"64":1,"66":1,"73":6,"75":1,"76":2,"77":1,"78":1,"80":1}}],["legend",{"2":{"67":1}}],["less",{"2":{"46":1}}],["letting",{"2":{"34":1}}],["let",{"2":{"33":1}}],["lets",{"2":{"11":1,"22":1,"41":1,"44":2,"45":1,"46":1}}],["left",{"2":{"13":3,"23":1}}],["leans",{"2":{"26":1}}],["leave",{"2":{"15":1}}],["leaves",{"2":{"3":1}}],["leap",{"2":{"4":1}}],["least",{"2":{"3":1,"23":4}}],["level",{"2":{"3":2}}],["length=365",{"2":{"44":1}}],["lengths",{"2":{"3":1,"25":1,"78":1}}],["length",{"2":{"0":1,"3":6,"4":5,"8":1,"15":4,"19":4,"21":2,"23":3,"38":1,"42":2,"82":1}}],["lazily",{"2":{"82":1}}],["lazy",{"2":{"18":1,"35":1}}],["largest",{"2":{"80":1,"82":1}}],["large",{"2":{"52":1}}],["larger",{"2":{"25":1}}],["language",{"2":{"26":1}}],["lastindex",{"2":{"32":1}}],["last",{"2":{"19":2,"31":1,"48":1}}],["layermetadata",{"2":{"23":1,"64":1}}],["layerdims",{"2":{"23":5,"42":2,"64":1}}],["layernames=nothing",{"2":{"18":1}}],["layered",{"2":{"16":2}}],["layer",{"2":{"16":5,"21":2,"27":2,"30":1,"79":1,"80":1,"82":2,"84":1}}],["layersfrom=",{"2":{"84":2}}],["layersfrom=nothing",{"2":{"16":1,"18":1}}],["layersfrom",{"2":{"18":1}}],["layers",{"2":{"16":9,"18":1,"20":1,"21":5,"61":2,"77":4,"78":9,"79":2,"80":28,"81":2,"82":2,"83":1,"84":1}}],["layout",{"2":{"0":1}}],["later",{"2":{"19":1}}],["latitude",{"2":{"0":1}}],["lat",{"2":{"0":1}}],["labelled",{"2":{"67":1}}],["labelling",{"2":{"15":1}}],["labels=x",{"2":{"46":2}}],["labels",{"2":{"11":1,"19":21,"68":1}}],["label",{"2":{"0":3,"2":5,"34":1}}],["lt",{"2":{"0":12,"1":2,"3":4,"5":1,"15":2,"39":3,"57":1,"58":1,"79":1}}],["lot",{"2":{"46":1,"72":1}}],["log",{"2":{"33":1}}],["losing",{"2":{"19":1,"61":1}}],["looping",{"2":{"82":1}}],["loop",{"2":{"82":1}}],["look",{"2":{"44":1}}],["lookuparray",{"2":{"66":1}}],["lookupdim",{"2":{"20":1}}],["lookupcomponent",{"2":{"20":1}}],["lookuptrait",{"2":{"6":1,"7":1,"8":1,"9":1,"10":1,"20":1}}],["lookups",{"0":{"4":1,"74":1},"1":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1},"2":{"2":3,"3":2,"4":34,"5":11,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"15":1,"17":2,"20":3,"21":1,"28":1,"34":2,"38":1,"48":1,"51":1,"62":1,"73":1,"74":4,"75":1,"76":1}}],["lookup",{"0":{"6":1,"21":1,"75":1},"1":{"7":1,"8":1,"9":1,"10":1,"22":1,"23":1},"2":{"0":4,"1":1,"2":13,"3":2,"4":52,"5":4,"6":2,"7":6,"9":1,"10":4,"15":9,"17":2,"19":2,"20":14,"21":5,"36":3,"38":1,"41":3,"46":2,"48":18,"49":8,"63":1,"64":1,"66":1,"73":2,"74":10,"75":4,"77":1}}],["loosely",{"2":{"6":1}}],["location",{"2":{"9":1}}],["located",{"2":{"5":1}}],["locus",{"2":{"0":1,"4":13,"5":3,"9":2,"10":5,"48":6}}],["lowerbound",{"2":{"8":1}}],["lower",{"2":{"5":1,"8":1}}],["low",{"2":{"3":1}}],["long",{"2":{"39":1,"40":1,"81":1}}],["longitudes",{"2":{"4":1}}],["longitude",{"2":{"0":1}}],["longer",{"2":{"0":1,"3":1,"4":1}}],["lon",{"2":{"0":1}}],["loading",{"2":{"0":1}}],["load",{"2":{"0":1,"4":1,"44":1,"51":1,"58":1}}],["csv",{"0":{"85":1},"2":{"82":1,"85":5}}],["c=rand",{"2":{"77":1}}],["cryogridoutput",{"2":{"56":1}}],["cryogrid",{"0":{"56":1},"2":{"56":2}}],["crs",{"2":{"51":1}}],["create",{"2":{"4":2,"10":2,"13":1,"15":4,"19":1,"20":1,"21":2,"26":1,"44":2,"66":1,"73":1,"74":5}}],["created",{"2":{"0":1}}],["creating",{"2":{"0":1,"28":1}}],["climate",{"2":{"53":1}}],["climatebase",{"0":{"53":1},"2":{"53":1}}],["cloud",{"2":{"35":1}}],["closest",{"2":{"73":1}}],["close",{"2":{"23":3,"73":1}}],["closely",{"2":{"21":4,"52":1}}],["closed",{"2":{"5":3,"46":35}}],["closedinterval",{"2":{"5":1}}],["clashes",{"2":{"0":1,"5":1}}],["cycling",{"2":{"4":1}}],["cyclical",{"2":{"74":1}}],["cyclicbins",{"2":{"19":4}}],["cyclic",{"2":{"4":5,"19":1,"74":5}}],["cycle=month",{"2":{"74":1}}],["cycle=24",{"2":{"46":1}}],["cycle=12",{"2":{"46":3}}],["cycles",{"2":{"19":1,"74":1}}],["cycled",{"2":{"4":3}}],["cycle",{"2":{"4":9,"19":5}}],["cua2",{"2":{"26":2}}],["cua",{"2":{"26":2}}],["cuarray",{"2":{"20":1,"26":2,"61":1}}],["cuda",{"0":{"26":1},"1":{"27":1},"2":{"26":2,"27":1}}],["currently",{"2":{"24":1}}],["current",{"2":{"4":1,"15":1,"21":1}}],["curresponding",{"2":{"4":2}}],["customise",{"2":{"65":1}}],["custom=dd",{"2":{"20":1}}],["custom=10",{"2":{"20":1}}],["custom",{"2":{"0":4,"3":1,"18":2,"19":1,"20":9,"27":1,"36":2,"47":1}}],["center",{"2":{"5":5,"9":2,"10":4,"48":7,"66":1,"75":1}}],["central",{"2":{"0":1}}],["cellular",{"2":{"57":1}}],["cells",{"2":{"9":1,"10":1,"73":1}}],["cell",{"2":{"3":1,"5":1}}],["choosing",{"2":{"73":1}}],["choose",{"2":{"40":1,"67":1}}],["chosen",{"2":{"2":1,"17":1,"19":1}}],["child",{"2":{"21":1}}],["chunked",{"2":{"35":1}}],["chunk",{"2":{"19":1}}],["channel",{"2":{"13":1}}],["channel=",{"2":{"13":1}}],["changing",{"2":{"4":1,"20":1,"65":1}}],["changes",{"2":{"23":1}}],["change",{"2":{"3":1,"4":4,"20":5,"66":1}}],["changed",{"2":{"3":1}}],["char",{"2":{"0":1,"3":1,"4":1,"13":1,"17":2,"62":2,"64":2,"66":3,"75":1,"83":2,"84":3}}],["checked",{"2":{"24":1}}],["checks",{"2":{"21":4,"24":2}}],["checking",{"2":{"21":1}}],["check=true",{"2":{"3":1}}],["check",{"2":{"1":2,"3":1,"4":1,"5":1,"12":1,"15":2,"20":1,"21":11,"64":1}}],["cost",{"2":{"33":1}}],["costly",{"2":{"21":1}}],["cover",{"2":{"43":1}}],["cov",{"2":{"32":1}}],["core",{"2":{"64":1}}],["cor",{"2":{"32":1}}],["correctly",{"2":{"42":2}}],["correct",{"2":{"4":2,"5":1,"10":1,"27":1}}],["corresponding",{"2":{"4":1}}],["correspond",{"2":{"3":1,"10":3}}],["coordinate",{"2":{"36":1}}],["coordinatetransformations",{"2":{"4":2}}],["coordination",{"2":{"35":1}}],["coords",{"2":{"20":2}}],["copy",{"2":{"20":1,"21":7}}],["code",{"2":{"16":2,"23":2,"26":1}}],["coded",{"2":{"6":1}}],["could",{"2":{"5":1,"25":1,"46":1}}],["counted",{"2":{"5":1}}],["colours",{"2":{"71":1}}],["color=",{"2":{"71":2,"72":1}}],["color",{"2":{"71":1}}],["colormap",{"0":{"70":1,"71":1},"2":{"71":2}}],["colormap=",{"2":{"68":1}}],["colon",{"2":{"2":2,"3":1,"16":1}}],["collected",{"2":{"82":1}}],["collection",{"2":{"77":1}}],["collect",{"2":{"61":1}}],["column",{"2":{"18":2,"84":3}}],["columns",{"2":{"1":1,"8":1,"15":1,"18":3,"82":2,"84":3}}],["command",{"2":{"12":1}}],["commands",{"2":{"12":1}}],["commondatamodel",{"2":{"35":1}}],["commondims",{"2":{"3":5}}],["commonly",{"2":{"4":1}}],["common",{"2":{"0":2,"4":1,"19":1,"25":1,"44":1,"51":1,"64":1}}],["compile",{"2":{"81":1}}],["compilation",{"2":{"81":1}}],["components",{"2":{"23":4,"42":4}}],["completely",{"2":{"21":4}}],["complicated",{"2":{"5":1,"13":1}}],["compatibility",{"0":{"35":1},"2":{"24":1}}],["compatible",{"2":{"18":1}}],["comparing",{"2":{"3":1,"21":1}}],["comparisons",{"2":{"3":2}}],["compare",{"2":{"3":6}}],["compared",{"2":{"3":1,"21":1}}],["comparedims",{"2":{"3":5}}],["combines",{"2":{"5":1,"48":1}}],["combined",{"2":{"4":1,"17":1,"20":1,"30":1,"63":1}}],["combinedims",{"2":{"3":1}}],["combine",{"2":{"3":1,"18":1}}],["combinations",{"2":{"17":2}}],["combination",{"2":{"1":1,"15":1,"35":2}}],["confusing",{"2":{"40":1}}],["confused",{"2":{"5":1}}],["consistency",{"2":{"77":1}}],["consistent",{"2":{"48":1}}],["consecutive",{"2":{"30":2}}],["constraint",{"2":{"30":1}}],["constructing",{"0":{"29":1},"2":{"41":1}}],["constructionbase",{"2":{"20":1,"40":2,"65":2}}],["construction",{"2":{"4":1,"10":1}}],["construct",{"2":{"18":1}}],["constructors",{"2":{"15":1,"41":2}}],["constructor",{"2":{"4":1,"16":1,"26":1,"64":1}}],["constructed",{"2":{"0":1,"3":1,"4":1,"16":1,"23":2,"37":1}}],["const",{"2":{"5":1,"20":1,"44":1}}],["concatenate",{"2":{"21":4}}],["concrete",{"2":{"0":1,"1":2,"3":3,"4":2,"15":3,"16":1}}],["converging",{"2":{"52":1}}],["conversion",{"2":{"11":1}}],["conversions",{"2":{"10":1}}],["converting",{"0":{"84":1,"85":1}}],["convertible",{"2":{"27":1}}],["converts",{"2":{"2":1,"27":1}}],["convert",{"2":{"2":1,"3":1,"4":1,"27":1,"74":1}}],["converted",{"2":{"0":1,"3":1,"4":1,"18":1,"27":1}}],["controlled",{"2":{"71":1}}],["control",{"2":{"20":1,"21":1}}],["contents",{"2":{"11":1}}],["contexts",{"2":{"4":3}}],["context",{"2":{"3":1,"4":1,"15":1,"23":1}}],["contained",{"2":{"4":1,"5":1,"17":1,"60":1}}],["contain",{"2":{"2":1,"3":1,"5":2,"20":2}}],["contains",{"2":{"1":1,"4":2,"5":10,"15":1,"17":2,"19":1,"20":1,"73":2,"76":1}}],["containing",{"2":{"1":1,"3":1,"15":2}}],["cairomakie",{"2":{"68":1}}],["caveats",{"2":{"64":1}}],["cartesianindex",{"2":{"30":2}}],["cartesianindices",{"2":{"17":4,"30":1,"76":1}}],["category",{"2":{"83":5,"84":10,"85":1}}],["categorises",{"2":{"11":1}}],["categories",{"2":{"4":3,"74":1}}],["categorical",{"2":{"0":2,"3":2,"4":8,"5":3,"13":2,"15":3,"17":2,"46":4,"62":2,"64":2,"66":4,"68":1,"73":15,"74":5,"75":3,"83":2}}],["cat",{"2":{"21":2,"32":1}}],["cases",{"2":{"21":1,"36":1,"38":1}}],["case",{"2":{"20":1,"66":1}}],["calculate",{"2":{"19":1}}],["call",{"2":{"23":1,"46":1}}],["calling",{"2":{"20":1,"39":1,"41":1}}],["callable",{"2":{"19":1}}],["called",{"2":{"3":2,"27":1,"41":1}}],["captions",{"2":{"15":1}}],["capable",{"2":{"4":1}}],["caution",{"2":{"5":1}}],["cant",{"2":{"74":1}}],["cannot",{"2":{"7":1}}],["can",{"2":{"0":2,"1":4,"2":3,"3":7,"4":18,"5":7,"10":3,"11":2,"12":1,"15":9,"16":2,"17":4,"18":1,"19":9,"20":8,"21":2,"24":2,"25":3,"28":1,"29":1,"30":4,"31":2,"32":2,"34":5,"36":1,"40":1,"42":2,"44":3,"45":2,"46":7,"47":2,"48":1,"49":1,"60":1,"61":1,"64":2,"65":1,"71":1,"73":7,"74":1,"75":2,"76":4,"78":3,"80":1,"81":1,"84":2,"85":1}}],["c",{"2":{"0":6,"3":2,"4":2,"13":2,"15":9,"17":3,"20":3,"47":2,"62":2,"64":2,"66":3,"67":1,"68":1,"70":1,"73":33,"75":3,"76":2,"77":1,"78":8,"79":23,"80":28,"81":2,"83":3,"84":2}}],["zarr",{"2":{"35":1}}],["zip",{"2":{"35":1}}],["zero",{"2":{"23":2,"73":1,"79":1}}],["zeros",{"2":{"0":1,"15":6,"20":1,"28":4,"42":2}}],["z=dd",{"2":{"20":1}}],["z=",{"2":{"20":1}}],["zdim",{"2":{"0":4}}],["z",{"2":{"0":8,"1":9,"3":4,"15":9,"20":9,"21":3,"30":13,"34":3,"42":2,"66":2,"68":1,"83":4,"84":22,"85":9}}],["yaxarray",{"2":{"36":1,"52":1}}],["yaxarrays",{"0":{"52":1},"2":{"35":1,"52":1}}],["y=near",{"2":{"79":1}}],["y=not",{"2":{"73":1}}],["y=4",{"2":{"79":1,"81":1}}],["y=where",{"2":{"73":1}}],["y=at",{"2":{"73":2}}],["y=begin+1",{"2":{"31":1}}],["y=end",{"2":{"31":1}}],["y=dimarray",{"2":{"21":1}}],["y=>isodd",{"2":{"19":2}}],["yet",{"2":{"10":1,"23":2}}],["yearday",{"2":{"44":1}}],["yearmonthday",{"2":{"44":1}}],["yearmonth",{"2":{"44":1}}],["year",{"2":{"4":4,"19":1,"44":1}}],["years",{"2":{"4":3}}],["your",{"2":{"5":1,"13":1,"20":1,"40":2}}],["yourdimarray",{"2":{"40":1}}],["yourdim",{"2":{"0":1}}],["you",{"2":{"4":2,"5":1,"12":4,"18":1,"20":5,"21":5,"23":2,"25":2,"31":1,"32":1,"34":1,"40":1,"44":1,"46":1,"48":2,"60":1,"64":4,"66":4,"74":1,"78":1}}],["ydim",{"2":{"0":7}}],["y",{"2":{"0":16,"1":12,"3":8,"4":9,"5":15,"15":26,"16":2,"17":13,"18":2,"19":4,"20":11,"21":6,"25":13,"26":2,"28":24,"30":7,"31":2,"32":3,"33":3,"34":3,"42":3,"48":31,"49":22,"61":8,"62":3,"64":2,"66":10,"68":2,"70":1,"73":16,"75":3,"76":8,"77":10,"78":34,"79":4,"80":92,"83":10,"84":32,"85":1}}],["xy",{"2":{"84":2}}],["xarray",{"2":{"35":1}}],["xz",{"2":{"30":1}}],["x2",{"2":{"21":2}}],["x1",{"2":{"21":2}}],["x=not",{"2":{"73":1}}],["x=near",{"2":{"73":2}}],["x=where",{"2":{"73":1}}],["x=touches",{"2":{"73":1}}],["x=interval",{"2":{"73":1}}],["x=openinterval",{"2":{"73":1}}],["x=1",{"2":{"73":2,"79":1,"81":1}}],["x=contains",{"2":{"73":2}}],["x=at",{"2":{"73":3,"79":2}}],["x=all",{"2":{"5":1}}],["x=>",{"2":{"47":1}}],["x=>bins",{"2":{"46":2}}],["x=begin",{"2":{"31":1}}],["x=begin+1",{"2":{"31":1}}],["x=dimarray",{"2":{"21":1}}],["xs",{"2":{"2":1,"3":2,"4":6,"11":1,"15":2,"18":1}}],["xdim",{"2":{"0":7}}],["x3c",{"2":{"0":10,"4":12,"5":9,"7":6,"8":4,"9":3,"10":6,"11":2,"15":3,"16":1,"17":3,"18":2,"19":3,"22":2,"23":2,"33":2}}],["x",{"2":{"0":17,"1":27,"2":9,"3":22,"4":28,"5":32,"11":6,"15":65,"16":3,"17":17,"18":5,"19":2,"20":27,"21":7,"25":13,"26":2,"28":24,"30":18,"31":2,"32":3,"33":3,"34":6,"40":1,"42":4,"44":3,"45":3,"46":14,"47":3,"48":29,"49":23,"61":8,"62":4,"64":5,"66":8,"67":1,"68":3,"70":1,"73":25,"74":7,"75":3,"76":8,"77":10,"78":25,"80":96,"83":10,"84":32,"85":1}}],["ideal",{"2":{"46":1}}],["identity",{"2":{"19":2,"46":2}}],["identical",{"2":{"4":2,"11":1,"77":1}}],["io",{"2":{"23":11}}],["images",{"2":{"58":1}}],["immutable",{"2":{"20":1,"27":1,"40":1,"66":1}}],["improving",{"2":{"66":1}}],["imperative",{"2":{"62":1}}],["imply",{"2":{"20":1}}],["implements",{"2":{"42":4,"82":1}}],["implemented",{"2":{"39":1,"42":2}}],["implement",{"2":{"16":1,"40":1,"82":1}}],["implementation",{"2":{"4":2,"16":1,"42":4,"56":1}}],["implementations",{"2":{"0":1}}],["important",{"2":{"4":3}}],["ignoring",{"2":{"15":1}}],["ignores",{"2":{"68":1}}],["ignore",{"2":{"3":2,"34":1,"40":1}}],["ignored",{"2":{"3":1,"21":2}}],["irregular",{"2":{"4":3,"5":6,"8":5,"15":1,"17":2,"19":4,"20":2,"45":7,"46":6,"73":6,"74":3,"75":1,"76":4}}],["i",{"2":{"2":2,"3":3,"13":1,"17":1,"38":1,"39":1,"47":1,"70":1,"71":1,"84":1}}],["if",{"2":{"0":1,"1":2,"2":3,"3":5,"4":8,"5":6,"11":2,"12":1,"15":2,"16":1,"17":2,"19":1,"20":7,"21":7,"38":1,"40":1,"48":1,"60":1,"64":2,"66":1,"68":1,"76":1,"79":2,"80":1}}],["isend",{"2":{"49":5}}],["isexplicit",{"2":{"49":5}}],["ispoints",{"2":{"49":6}}],["isintervals",{"2":{"49":6}}],["isreverse",{"2":{"49":5}}],["isregular",{"2":{"48":2,"49":5}}],["isforward",{"2":{"49":5}}],["isordered",{"2":{"49":6}}],["iscenter",{"2":{"49":5}}],["iscyclic",{"2":{"49":6}}],["iscategorical",{"2":{"49":7}}],["isstart",{"2":{"49":5}}],["issampled",{"2":{"49":7}}],["issue",{"2":{"4":1,"66":1}}],["isbits",{"2":{"22":1,"27":1}}],["isa",{"2":{"16":1}}],["isapprox",{"2":{"5":1}}],["is",{"2":{"0":7,"1":3,"2":4,"3":14,"4":31,"5":9,"6":1,"7":3,"8":2,"10":1,"11":2,"12":1,"15":7,"16":3,"17":6,"19":12,"20":11,"21":5,"22":3,"23":5,"24":2,"26":3,"27":2,"31":2,"32":1,"34":1,"35":3,"36":2,"39":2,"40":5,"42":3,"46":3,"47":1,"48":6,"51":4,"52":3,"54":2,"55":1,"57":1,"58":1,"61":1,"62":1,"63":1,"64":3,"65":1,"66":3,"67":2,"71":1,"72":1,"73":7,"74":2,"75":5,"77":2,"81":2,"82":1,"84":1}}],["its",{"2":{"15":1,"19":2,"20":3,"27":1,"36":1,"52":1,"55":1,"66":1}}],["iterates",{"2":{"21":2}}],["iterate",{"2":{"17":1}}],["iterator",{"2":{"16":2}}],["iteration",{"2":{"16":2,"35":1}}],["iter",{"2":{"13":1}}],["iter=1",{"2":{"13":1}}],["it",{"2":{"0":1,"2":1,"3":2,"4":11,"5":3,"7":1,"11":1,"12":3,"15":1,"16":2,"17":1,"19":3,"20":7,"21":1,"22":2,"23":1,"28":1,"30":1,"31":1,"32":1,"33":1,"34":2,"35":1,"38":1,"39":1,"40":1,"42":2,"44":1,"46":2,"48":1,"51":1,"52":1,"55":1,"62":1,"64":1,"66":2,"68":1,"73":3,"74":1,"78":2}}],["inverts",{"2":{"78":1}}],["invalid",{"2":{"30":1}}],["inferno",{"2":{"68":1}}],["information",{"2":{"4":3,"15":1,"48":1}}],["inner",{"2":{"20":1,"21":1,"23":1,"61":2}}],["inbuilt",{"2":{"20":1}}],["initially",{"2":{"16":2}}],["inaccurate",{"2":{"8":1}}],["including",{"2":{"7":1,"35":1,"73":1}}],["included",{"2":{"3":1,"5":1,"11":1,"46":1}}],["include",{"2":{"2":1,"3":1,"5":1,"23":1,"73":1,"74":1}}],["installed",{"2":{"12":1}}],["install",{"2":{"12":1}}],["installation",{"0":{"12":1}}],["instead",{"2":{"5":2,"7":1,"11":1,"19":1,"31":1,"68":1,"76":1}}],["inside",{"2":{"5":1,"31":1,"73":1}}],["inserted",{"2":{"0":1}}],["inputs",{"2":{"39":1,"41":1}}],["input",{"2":{"3":1,"5":1,"8":1,"71":1}}],["inds",{"2":{"30":2}}],["individual",{"2":{"17":1}}],["indicate",{"2":{"5":1,"10":1,"32":1}}],["indicates",{"2":{"4":2,"7":3,"9":1,"10":1,"11":1}}],["indicating",{"2":{"4":5}}],["indices",{"2":{"2":2,"5":7,"15":1,"17":3,"20":2,"34":1,"73":3,"74":1,"76":1}}],["independent",{"2":{"0":1,"4":1}}],["independentdim",{"2":{"0":5}}],["indexes",{"2":{"73":1}}],["indexed",{"2":{"4":2,"16":2}}],["indexing",{"0":{"30":1,"31":1,"78":1,"79":1},"2":{"0":2,"4":4,"15":3,"16":2,"17":1,"29":1,"30":4,"31":3,"33":1,"51":1,"73":7,"79":1,"81":3}}],["index",{"2":{"0":2,"3":3,"4":5,"5":8,"6":1,"7":4,"8":4,"9":2,"10":5,"15":6,"16":2,"17":4,"18":2,"20":5,"30":2,"31":1,"34":1,"73":3,"76":1,"79":1}}],["inherits",{"2":{"52":1}}],["inherit",{"2":{"0":1,"1":1,"15":1}}],["int8",{"2":{"13":5}}],["intselectors",{"2":{"5":1}}],["intselector",{"2":{"5":4}}],["intentionally",{"2":{"35":1}}],["intended",{"2":{"5":1}}],["integrate",{"2":{"35":1}}],["integrations",{"0":{"50":1},"1":{"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1}}],["integration",{"0":{"27":1}}],["integers",{"2":{"44":1,"46":1}}],["integer",{"2":{"3":1,"15":4,"19":7,"39":1}}],["inteface",{"2":{"23":2}}],["interoperability",{"2":{"82":1}}],["interpolate",{"2":{"17":1}}],["interpolation",{"2":{"17":3,"76":1}}],["interact",{"2":{"5":1}}],["intermediate",{"2":{"5":1}}],["interfaces",{"0":{"42":1},"2":{"23":2,"42":5}}],["interface",{"0":{"18":1,"23":1,"42":1},"2":{"3":1,"23":4,"35":1,"36":1,"65":1,"82":2,"85":1}}],["internally",{"2":{"64":1}}],["internal",{"0":{"23":1},"2":{"3":1,"20":1}}],["intervalbounds",{"2":{"48":4,"73":1}}],["interval",{"2":{"0":1,"4":5,"5":12,"8":1,"9":2,"10":4,"17":1,"19":2,"46":9,"48":2,"73":3,"74":1,"75":1}}],["intervalsets",{"2":{"5":2,"19":1,"46":6,"73":2,"75":1}}],["intervals",{"2":{"0":1,"4":13,"5":10,"8":3,"9":4,"10":1,"17":1,"19":4,"46":7,"48":1,"66":2,"73":14,"74":6,"75":2}}],["int",{"2":{"1":5,"2":2,"5":1,"15":5,"16":2,"18":1,"19":4,"31":2,"32":1,"34":1,"39":1,"46":1,"73":4}}],["int64",{"2":{"0":2,"4":2,"5":11,"13":4,"15":2,"17":2,"19":3,"20":2,"21":1,"25":11,"28":2,"30":6,"44":12,"45":11,"46":5,"48":17,"49":14,"66":2,"74":3,"75":1,"76":3,"83":4,"84":8}}],["into",{"2":{"0":3,"4":3,"17":2,"18":1,"19":1,"20":1,"26":1,"27":1,"34":2,"46":4,"56":1,"63":1,"68":1,"81":1}}],["in",{"2":{"0":7,"1":3,"2":2,"3":12,"4":12,"5":10,"7":3,"8":2,"9":1,"10":2,"11":2,"15":5,"16":6,"17":5,"19":6,"20":24,"21":11,"22":1,"23":11,"24":1,"27":1,"30":2,"31":4,"32":1,"34":1,"35":2,"36":2,"38":1,"40":2,"41":2,"42":10,"46":4,"48":2,"60":1,"64":5,"65":1,"66":2,"67":1,"68":2,"72":1,"73":6,"74":3,"77":1,"80":2,"81":1,"82":1}}],["hundreds",{"2":{"82":1}}],["humidity",{"2":{"21":6}}],["histogram",{"2":{"33":2}}],["hierarchy",{"2":{"0":1}}],["heatmap",{"2":{"68":1}}],["her",{"2":{"46":1}}],["here",{"2":{"16":1,"17":1,"20":1,"21":1,"28":1,"29":1,"46":2,"64":1,"68":1,"74":3}}],["helper",{"2":{"46":1}}],["help",{"2":{"23":2}}],["h",{"2":{"13":1,"70":1,"84":1}}],["having",{"2":{"21":1}}],["have",{"2":{"0":1,"4":3,"8":2,"11":1,"12":1,"15":1,"16":2,"18":1,"19":2,"20":3,"21":1,"30":1,"35":1,"36":1,"37":1,"38":1,"40":1,"46":1,"66":1,"68":1,"77":1,"84":1}}],["hard",{"2":{"6":1}}],["haskey",{"2":{"11":2}}],["hasselection",{"2":{"4":2}}],["hasn",{"2":{"2":1}}],["has",{"2":{"1":1,"3":2,"4":1,"11":1,"15":3,"16":1,"20":2,"21":2,"27":1,"33":1,"38":1,"40":2,"41":1,"48":1,"75":1}}],["hasdim",{"2":{"1":6,"15":6}}],["hold",{"2":{"19":1,"38":1,"74":1,"75":1}}],["holds",{"2":{"4":4,"16":1,"74":1}}],["holding",{"2":{"1":1,"2":1,"8":1,"15":9,"17":1,"19":2,"63":1,"76":1}}],["however",{"2":{"5":1,"20":1}}],["how",{"2":{"4":2,"7":2,"21":1,"34":1,"44":1,"62":1}}],["hours",{"2":{"19":4,"46":2}}],["hour",{"2":{"0":1,"19":1,"44":4,"45":1,"46":2,"47":3}}],["slower",{"2":{"81":1}}],["slowly",{"2":{"52":1}}],["slightly",{"2":{"46":1}}],["slicing",{"2":{"3":1}}],["sliced",{"2":{"16":1,"20":1}}],["slicedims",{"2":{"3":2,"15":1}}],["slices",{"2":{"15":1,"21":4}}],["slice",{"2":{"3":1,"15":1,"20":1}}],["synchronisation",{"2":{"57":1}}],["symmetry",{"2":{"34":1}}],["symbol",{"2":{"1":1,"2":1,"3":4,"4":7,"11":1,"13":1,"15":11,"16":6,"18":1,"19":3,"20":2,"21":1,"22":3,"39":2,"41":1,"45":7,"46":15,"47":2,"48":1,"64":2,"73":15,"75":2,"78":2,"82":1}}],["symbols",{"2":{"0":1,"1":1,"2":1,"3":1,"4":5,"11":1,"15":3,"20":1,"27":1,"29":1,"32":1}}],["system",{"2":{"27":1,"36":1}}],["scalar",{"2":{"79":1}}],["scalars",{"2":{"25":6,"79":1}}],["scaled",{"2":{"25":6}}],["scale",{"2":{"25":1}}],["scaling",{"0":{"25":1}}],["scope",{"2":{"0":1,"4":1,"34":1}}],["src",{"2":{"21":4,"31":2}}],["smaller",{"2":{"29":1}}],["small",{"2":{"21":1}}],["sat",{"2":{"74":2}}],["save",{"2":{"51":1}}],["saving",{"2":{"11":2}}],["samples",{"2":{"9":1,"33":2}}],["sampled",{"2":{"0":6,"4":16,"5":8,"9":1,"13":4,"15":5,"17":4,"19":4,"20":10,"21":1,"25":18,"26":2,"36":1,"45":9,"46":7,"47":5,"48":24,"49":28,"62":2,"64":2,"66":8,"73":13,"74":7,"75":3,"76":10,"77":2,"78":15,"79":1,"80":49,"83":4,"84":2}}],["sampling=dd",{"2":{"5":2}}],["sampling=intervals",{"2":{"4":2,"74":3}}],["sampling=points",{"2":{"4":2}}],["sampling",{"0":{"9":1},"2":{"0":1,"2":1,"3":1,"4":15,"5":1,"8":1,"9":6,"17":1,"20":1,"48":5,"64":1,"75":1}}],["same",{"2":{"0":2,"3":3,"4":1,"5":2,"11":1,"15":4,"17":2,"19":1,"20":2,"21":1,"25":1,"28":1,"30":1,"33":1,"38":2,"40":1,"44":1,"48":1,"67":1,"77":1,"82":1}}],["sharing",{"2":{"16":1}}],["share",{"2":{"16":1,"77":1}}],["shift",{"2":{"4":2}}],["shiftlocus",{"2":{"4":1}}],["show",{"2":{"23":9,"74":1}}],["shows",{"2":{"15":1}}],["shown",{"2":{"2":1}}],["should",{"2":{"2":1,"5":1,"12":1,"15":1,"20":1,"23":2,"38":1,"39":1,"40":1,"74":1,"84":1}}],["shortcuts",{"2":{"28":1}}],["shorthand",{"2":{"15":1,"74":1}}],["short",{"2":{"0":1}}],["swapping",{"2":{"20":1}}],["swap",{"2":{"3":1}}],["swapdims",{"2":{"3":3}}],["specialisations",{"2":{"19":1}}],["specify",{"2":{"10":5,"19":3,"20":3,"32":1,"34":1,"46":1,"66":1,"74":1,"84":1}}],["specifying",{"2":{"4":1,"9":1,"74":1}}],["specifies",{"2":{"7":1,"22":1,"30":1,"48":1}}],["specified",{"2":{"2":1,"3":1,"4":1,"15":1,"75":1}}],["specifically",{"2":{"21":1}}],["specific",{"2":{"4":5,"6":1,"8":1,"9":1,"34":1,"62":1}}],["space",{"2":{"20":2}}],["spaced",{"2":{"19":1}}],["spacing",{"2":{"4":2}}],["span=irregular",{"2":{"74":1}}],["span=regular",{"2":{"4":1,"74":1}}],["span=autospan",{"2":{"4":2}}],["span",{"0":{"8":1},"2":{"4":15,"8":7,"48":5,"64":1,"75":1}}],["spatial",{"2":{"0":1,"35":1,"51":1,"52":1,"57":2,"84":1}}],["signature",{"2":{"40":1}}],["sits",{"2":{"30":1}}],["sizes",{"2":{"46":1}}],["size",{"2":{"2":1,"3":1,"4":5,"8":1,"19":1,"20":2,"21":6,"23":5,"25":1,"32":2,"42":3,"47":2,"61":2,"77":4,"78":22,"79":3,"80":88,"82":1,"83":2,"84":26}}],["singleton",{"2":{"20":1}}],["single",{"2":{"1":8,"3":2,"4":1,"5":5,"9":1,"15":8,"16":1,"19":1,"20":3,"25":1,"31":1,"40":1,"48":1,"63":1,"73":1,"79":1,"81":1}}],["simultaneously",{"2":{"63":1}}],["simulations",{"2":{"57":1}}],["simulation",{"2":{"57":1}}],["simulataneously",{"2":{"16":1}}],["similar",{"2":{"0":1,"4":1,"7":1,"9":1,"17":1,"47":1,"61":1}}],["simpler",{"2":{"44":1}}],["simple",{"2":{"43":1}}],["simply",{"2":{"0":1,"4":1,"5":1,"11":1,"15":1,"20":1,"23":1,"48":1,"76":1}}],["simplicity",{"2":{"0":1}}],["st2",{"2":{"78":2}}],["st",{"2":{"61":4,"77":1,"78":8,"79":4,"80":35,"83":1,"84":2,"85":1}}],["storage",{"2":{"51":1}}],["stored",{"2":{"15":1,"77":1}}],["std",{"2":{"32":1,"80":2}}],["style",{"2":{"27":1}}],["still",{"2":{"11":1,"26":1,"31":1,"66":1}}],["standard",{"2":{"82":1}}],["standards",{"2":{"10":1}}],["stage",{"2":{"23":2}}],["statistics",{"2":{"16":2,"25":1,"44":1,"80":1}}],["status",{"2":{"12":2}}],["stack",{"2":{"16":2,"20":2,"21":8,"23":4,"42":2,"61":1,"80":1,"81":1,"82":2}}],["stacks",{"2":{"16":1,"21":5,"81":1,"84":1,"85":1}}],["starts",{"2":{"61":1}}],["start=6",{"2":{"46":4}}],["start=1",{"2":{"46":1}}],["start=12",{"2":{"46":1}}],["start=january",{"2":{"46":1}}],["start=0",{"2":{"19":1}}],["start=dates",{"2":{"19":2}}],["starting",{"2":{"8":1,"46":2}}],["start",{"2":{"0":2,"4":6,"5":3,"9":1,"10":4,"13":1,"19":9,"46":4,"48":1,"73":5,"74":7}}],["stripped",{"2":{"27":1}}],["strickt",{"2":{"21":1}}],["strict=true",{"2":{"21":4}}],["strict=false",{"2":{"20":1}}],["strictness",{"0":{"21":1},"1":{"22":1,"23":1}}],["strict",{"2":{"20":1,"21":8,"24":2}}],["strings",{"2":{"5":1}}],["string",{"2":{"2":4,"3":1,"4":1,"15":1,"23":1,"46":2,"64":2,"74":3,"75":1,"85":1}}],["string=string",{"2":{"0":1}}],["strongly",{"2":{"20":1}}],["struct",{"2":{"3":1,"20":1,"60":2}}],["step=12",{"2":{"46":1}}],["step=2",{"2":{"46":1}}],["step=3",{"2":{"46":2}}],["step=hour",{"2":{"44":1}}],["step=autostep",{"2":{"8":1}}],["steps",{"2":{"19":1}}],["step",{"2":{"3":1,"4":1,"8":2,"19":7,"20":1,"75":1}}],["s",{"2":{"0":1,"1":4,"2":1,"3":4,"5":16,"15":5,"16":3,"18":1,"19":1,"20":5,"22":1,"23":1,"33":1,"35":1,"52":1,"73":2,"84":1}}],["series",{"0":{"69":1},"1":{"70":1,"71":1,"72":1},"2":{"59":1,"70":1,"71":2,"72":1}}],["sep",{"2":{"46":6,"74":2}}],["separate",{"2":{"2":1,"51":1}}],["sequential",{"2":{"19":1}}],["seamlessly",{"2":{"27":1}}],["sea",{"2":{"21":4}}],["seasons",{"2":{"19":4,"46":5}}],["searched",{"2":{"7":1}}],["searchsortedfirst",{"2":{"7":1}}],["searchsorted",{"2":{"7":1}}],["sections",{"2":{"19":1}}],["second",{"2":{"0":1,"2":1,"4":4,"11":1,"15":2,"20":1}}],["sense",{"2":{"5":1,"51":1,"64":1}}],["seed",{"2":{"15":1}}],["see",{"2":{"3":1,"16":1,"25":1,"42":2,"44":1,"46":1}}],["selections",{"2":{"5":1}}],["selectindices",{"2":{"2":1}}],["selects",{"2":{"5":2,"73":1}}],["select",{"0":{"47":1},"2":{"5":6,"21":2,"47":1,"73":2,"74":1,"76":1}}],["selected",{"2":{"5":4,"19":4,"73":2}}],["selectors=near",{"2":{"17":1,"76":1}}],["selectorss",{"2":{"4":2}}],["selectors",{"0":{"5":1,"73":1},"1":{"74":1,"75":1,"76":1},"2":{"2":1,"4":12,"5":8,"8":1,"15":1,"16":1,"17":6,"31":1,"74":2,"75":1,"76":3,"79":1}}],["selector",{"2":{"0":1,"2":2,"4":3,"5":13,"34":1,"40":1,"64":1,"73":2,"78":1}}],["setproperties",{"2":{"20":1,"65":1}}],["settings",{"0":{"21":1},"1":{"22":1,"23":1}}],["setting",{"2":{"20":1,"21":1}}],["setindex",{"2":{"16":1,"31":1}}],["setdims",{"2":{"3":3}}],["set",{"0":{"66":1},"2":{"0":1,"4":6,"8":1,"11":2,"15":13,"20":22,"21":2,"25":1,"64":1,"66":11,"73":2,"75":3}}],["sounds",{"2":{"39":1}}],["sources",{"2":{"4":1,"20":7,"51":1}}],["source",{"2":{"0":15,"1":5,"2":5,"3":12,"4":23,"5":10,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"15":16,"16":2,"17":3,"18":2,"19":9,"20":12,"21":9,"22":3,"23":6}}],["solution",{"2":{"19":1}}],["so",{"2":{"4":2,"5":1,"20":2,"24":1,"30":1,"46":1,"48":1,"65":1,"74":1,"82":1,"84":1}}],["sorted",{"2":{"5":1,"19":2}}],["sortdims",{"2":{"3":1}}],["sort",{"2":{"3":3}}],["sometimes",{"2":{"46":1,"66":1}}],["something",{"2":{"13":1,"19":1}}],["somewhere",{"2":{"16":2,"64":1}}],["some",{"2":{"0":1,"4":1,"15":1,"16":1,"19":1,"21":1,"25":1,"34":1,"38":1,"40":1,"44":2,"77":1,"81":1,"83":1}}],["sun",{"2":{"74":2}}],["surface",{"2":{"21":4}}],["sure",{"2":{"17":2}}],["surprising",{"2":{"16":2}}],["summer",{"2":{"46":1}}],["summary",{"2":{"42":2}}],["sum",{"2":{"16":1,"19":1,"32":3,"45":1,"80":5}}],["succinct",{"2":{"16":2}}],["such",{"2":{"0":2,"2":1,"4":1,"5":1,"10":1,"19":2}}],["supporting",{"2":{"85":1}}],["support",{"2":{"67":1}}],["supplied",{"2":{"5":1}}],["supertypes",{"2":{"3":1}}],["supertype=dimension",{"2":{"0":1}}],["supertype",{"2":{"0":8,"4":5,"5":3,"6":1,"7":1,"10":1,"11":1,"15":2,"16":1,"18":1,"22":1}}],["submodule",{"2":{"34":1}}],["subset",{"2":{"21":2,"78":1}}],["subsetting",{"2":{"5":1}}],["subtypes",{"2":{"23":1}}],["subtype",{"2":{"15":1}}],["sub",{"2":{"0":2}}],["m=rand",{"2":{"78":1}}],["my",{"2":{"64":3}}],["mydimstack",{"2":{"16":2}}],["mutable",{"2":{"60":1}}],["much",{"2":{"26":1,"64":1,"67":1}}],["multiplying",{"2":{"21":2}}],["multiplication",{"2":{"21":5}}],["multiple",{"2":{"4":1,"16":3,"19":1,"49":1,"63":1}}],["multipications",{"2":{"21":1}}],["multi",{"0":{"16":1},"2":{"38":1}}],["must",{"2":{"4":3,"5":3,"15":2,"16":2,"20":2,"23":2,"27":2,"37":1,"38":3,"40":1,"41":1,"60":1,"77":1}}],["mixing",{"2":{"30":1}}],["mix",{"2":{"30":1,"80":1}}],["mixed",{"2":{"16":2,"17":2,"36":1}}],["mime",{"2":{"23":5}}],["mid",{"2":{"5":1}}],["min",{"2":{"33":4}}],["minus",{"2":{"4":1}}],["minimum",{"2":{"3":1,"32":1,"45":1,"80":2}}],["missingval",{"2":{"20":1,"51":1}}],["missing",{"2":{"3":1,"20":1,"41":1,"51":1}}],["msg",{"2":{"3":1}}],["measures",{"2":{"81":1}}],["means",{"2":{"3":1,"5":1,"7":1,"10":1,"18":1,"20":1,"24":1,"25":1,"27":1,"34":1,"38":1,"49":2,"73":1}}],["mean",{"2":{"3":1,"4":1,"9":1,"15":1,"16":4,"19":10,"24":1,"25":2,"32":1,"33":4,"45":3,"46":3,"47":1,"80":3}}],["meaning",{"2":{"2":1,"4":1,"17":1}}],["merging",{"2":{"78":1}}],["merges",{"2":{"63":1}}],["merge",{"2":{"30":1,"78":5,"84":1}}],["merged",{"2":{"20":3}}],["mergedims=",{"2":{"84":1}}],["mergedims=nothing",{"2":{"18":3}}],["mergedims",{"0":{"63":1},"2":{"18":1,"20":5,"63":1}}],["mergedlookup",{"2":{"4":3,"20":3,"30":1}}],["median",{"2":{"32":1,"33":4,"45":1}}],["memory",{"2":{"33":2}}],["mem",{"2":{"26":1}}],["messy",{"2":{"19":1}}],["mesages",{"2":{"3":1}}],["metadata=dict",{"2":{"28":5,"64":1}}],["metadata=metadata",{"2":{"16":1}}],["metadata=nometadata",{"2":{"4":3,"15":1,"16":1}}],["metadata",{"0":{"11":1},"2":{"3":1,"4":16,"11":16,"15":11,"19":3,"20":4,"23":9,"27":1,"28":5,"40":1,"42":8,"45":7,"46":11,"47":2,"60":1,"64":5}}],["method",{"2":{"1":4,"3":3,"4":4,"9":1,"11":2,"15":7,"17":1,"20":2,"23":3,"40":1,"42":2}}],["methods",{"0":{"1":1,"2":1,"3":1,"19":1,"20":1},"2":{"0":2,"1":1,"3":3,"4":3,"7":1,"15":1,"16":5,"19":1,"21":3,"23":2,"32":1,"34":1,"36":1,"40":1,"47":1,"48":1,"49":1,"53":1}}],["m",{"2":{"0":1,"4":3,"62":2,"64":2,"66":3,"78":2,"84":1}}],["mon",{"2":{"74":2}}],["monthabbr",{"2":{"74":2}}],["months",{"2":{"19":5,"46":4,"74":1}}],["monthly",{"2":{"19":2}}],["month",{"2":{"0":6,"15":1,"19":4,"25":19,"44":1,"45":2,"46":13,"74":5}}],["moving",{"2":{"61":1,"67":1}}],["moved",{"2":{"27":2}}],["move",{"2":{"26":1}}],["moves",{"2":{"15":1}}],["mod",{"2":{"61":2}}],["models",{"2":{"54":1,"57":1}}],["model",{"2":{"27":1,"56":1}}],["modification",{"2":{"27":1}}],["modified",{"2":{"5":1}}],["modifying",{"0":{"60":1},"1":{"61":1,"62":1,"63":1,"64":1,"65":1,"66":1}}],["modify",{"0":{"61":1},"2":{"6":1,"20":6,"26":1,"60":1,"61":6}}],["module",{"2":{"0":2,"4":1}}],["mostly",{"2":{"15":1,"20":2,"67":1,"68":1}}],["most",{"2":{"4":1,"16":4,"20":1,"21":1,"23":1,"26":1,"35":1,"36":1,"64":1,"74":1,"75":1}}],["more",{"2":{"0":2,"4":4,"13":1,"15":1,"18":1,"23":1,"40":2,"52":1,"61":1,"65":1,"72":1,"73":1}}],["magic",{"0":{"65":1}}],["made",{"2":{"51":1}}],["masking",{"2":{"51":1}}],["mar",{"2":{"46":6,"74":1}}],["markersize=15",{"2":{"72":1}}],["markers",{"0":{"72":1},"2":{"10":1}}],["max",{"2":{"33":4}}],["maximum",{"2":{"5":1,"23":1,"32":1,"45":1,"80":3}}],["manipulation",{"2":{"51":1}}],["mandatory",{"2":{"23":4,"42":2}}],["many",{"2":{"16":4,"23":2,"32":1,"81":1}}],["manually",{"2":{"4":5,"19":1,"40":1,"74":2,"75":1,"81":1}}],["mapped",{"2":{"51":1}}],["mapslices",{"2":{"32":1}}],["mapreduce",{"2":{"32":1}}],["map",{"2":{"16":5,"19":4,"21":1}}],["maintains",{"2":{"15":1}}],["main",{"2":{"15":1,"23":4}}],["makie",{"0":{"68":1},"1":{"69":1,"70":1,"71":1,"72":1},"2":{"67":2,"68":3,"70":1,"72":1}}],["making",{"2":{"0":1}}],["makes",{"2":{"22":1,"48":1}}],["make",{"2":{"4":1,"5":1,"17":2,"34":1,"64":1,"74":1}}],["math",{"2":{"31":1}}],["matmul",{"2":{"21":4}}],["matrix",{"2":{"8":1,"21":6,"28":3,"61":3,"80":1}}],["matter",{"2":{"3":1,"17":1}}],["match",{"2":{"1":3,"2":2,"3":3,"4":1,"5":1,"15":3,"19":1,"20":4,"21":9,"24":1,"78":1,"80":1,"82":1}}],["matches",{"2":{"1":1,"5":1,"15":1,"19":1,"23":4,"42":4,"64":1}}],["matching",{"2":{"0":2,"1":1,"3":1,"4":3,"15":1,"16":2,"19":2,"20":1,"39":2,"73":1,"76":1}}],["macro",{"2":{"0":1,"3":1,"20":3,"24":1,"25":1}}],["may",{"2":{"0":2,"3":1,"4":5,"5":4,"6":1,"8":1,"11":2,"16":2,"21":1,"23":1,"46":6,"64":2,"66":1,"74":3}}],["tue",{"2":{"74":2}}],["turned",{"2":{"24":1}}],["turn",{"2":{"21":2}}],["tuples",{"2":{"3":4,"4":1,"17":1,"19":2,"30":2,"41":1,"44":1,"48":1,"63":1}}],["tuple",{"2":{"1":22,"2":8,"3":34,"4":32,"8":2,"11":5,"15":42,"16":3,"17":8,"19":2,"20":10,"21":1,"23":5,"30":3,"37":1,"41":1,"42":2,"44":4,"45":3,"48":6,"73":1,"78":1,"80":4,"84":2}}],["tell",{"2":{"62":1}}],["text",{"2":{"23":2}}],["testable",{"2":{"42":1}}],["testing",{"0":{"42":1},"2":{"42":2}}],["test",{"0":{"69":1},"1":{"70":1,"71":1,"72":1},"2":{"23":4,"42":4}}],["tested",{"2":{"23":2}}],["testname",{"2":{"20":1}}],["temporal",{"2":{"57":1}}],["tempo",{"2":{"44":9,"45":1}}],["temp",{"2":{"21":4}}],["term",{"2":{"6":1,"48":1}}],["terms",{"2":{"4":1}}],["twice",{"2":{"5":1}}],["two",{"2":{"3":1,"4":2,"5":4,"15":4,"16":2,"18":1,"27":1,"46":1,"73":1,"77":1}}],["tries",{"2":{"66":1}}],["trivially",{"2":{"47":1}}],["trial",{"2":{"33":2}}],["try",{"2":{"20":1}}],["treated",{"2":{"19":1}}],["treat",{"2":{"18":1}}],["track",{"2":{"15":1}}],["tracking",{"2":{"4":1,"8":1,"11":1}}],["trait",{"2":{"6":1,"20":2}}],["traits",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1},"2":{"3":1,"4":1,"6":2,"7":1,"20":1,"74":1}}],["transforming",{"2":{"19":1,"20":1}}],["transform",{"2":{"4":1,"44":1,"64":1}}],["transformation",{"2":{"4":3}}],["transformations",{"2":{"3":1,"4":1,"15":1}}],["transformed",{"2":{"4":4}}],["transpose",{"2":{"0":1,"32":2,"80":1}}],["transect",{"2":{"0":1}}],["true",{"2":{"1":4,"3":3,"15":4,"16":1,"19":2,"20":2,"30":1,"42":89,"49":21}}],["typ",{"2":{"0":2}}],["typeof",{"2":{"20":1,"26":1,"74":2}}],["typed",{"2":{"20":1}}],["typemax",{"2":{"4":1}}],["typemin",{"2":{"4":1}}],["type",{"2":{"0":3,"1":6,"2":3,"3":15,"4":2,"8":1,"11":2,"15":6,"16":1,"18":2,"20":4,"22":1,"27":1,"30":1,"39":2,"41":1,"48":1,"64":1,"66":1,"85":1}}],["types",{"2":{"0":6,"1":5,"2":1,"3":8,"4":7,"5":1,"6":1,"10":1,"11":2,"15":7,"18":1,"20":3,"31":1,"32":2,"34":2,"36":2,"44":1,"51":1,"55":1,"75":2}}],["tabular",{"2":{"82":1}}],["table",{"2":{"18":1,"84":1}}],["tabletraits",{"0":{"18":1},"2":{"18":1}}],["tables",{"0":{"18":1,"82":1},"1":{"83":1,"84":1,"85":1},"2":{"0":1,"15":1,"18":4,"82":2,"85":1}}],["taking",{"2":{"46":1}}],["taken",{"2":{"17":1}}],["take",{"2":{"0":1,"4":2,"5":1,"16":1,"19":2,"45":1,"71":1,"73":3,"81":1,"84":1}}],["target",{"2":{"17":2}}],["t",{"2":{"0":1,"2":2,"3":2,"4":10,"11":1,"17":1,"21":4,"25":3,"30":2,"31":1,"64":1,"65":1,"66":1,"75":1,"76":1,"84":1}}],["title",{"2":{"23":5}}],["ti=>",{"2":{"47":1}}],["ti=>cyclicbins",{"2":{"46":4}}],["ti=>bins",{"2":{"46":8}}],["ti=>yearday",{"2":{"45":2}}],["ti=>yearmonth",{"2":{"45":2}}],["ti=>yearmonthday",{"2":{"45":2}}],["ti=>hour",{"2":{"45":2}}],["ti=>dayofyear",{"2":{"45":2}}],["ti=>month",{"2":{"19":6,"45":3}}],["ti=2",{"2":{"17":1}}],["ti=all",{"2":{"5":1}}],["time=1",{"2":{"13":1}}],["timeseriestools",{"0":{"59":1},"2":{"59":1}}],["times",{"2":{"0":1,"45":1,"77":1}}],["timedime",{"2":{"0":1}}],["timedim",{"2":{"0":4,"3":1}}],["time",{"0":{"25":1},"2":{"0":4,"4":1,"13":1,"16":1,"19":1,"21":1,"23":1,"33":6,"45":1,"59":1,"81":1}}],["ti",{"2":{"0":14,"1":1,"3":3,"5":3,"15":5,"17":1,"18":2,"19":6,"20":5,"21":3,"25":14,"32":3,"34":1,"45":10,"46":23,"47":5,"68":1}}],["though",{"2":{"81":1}}],["those",{"2":{"5":1,"21":2,"34":1,"64":1}}],["thur",{"2":{"74":2}}],["think",{"2":{"66":1}}],["thing",{"2":{"66":2}}],["things",{"2":{"23":2,"26":1,"60":1,"61":1,"64":2,"75":1}}],["this",{"2":{"0":1,"2":3,"3":6,"4":13,"5":6,"7":1,"8":1,"10":2,"11":2,"12":1,"16":4,"17":2,"18":2,"19":6,"20":8,"21":6,"22":1,"23":3,"24":1,"26":1,"27":2,"30":1,"31":1,"32":1,"34":1,"35":1,"38":1,"39":1,"41":1,"42":1,"43":1,"46":5,"48":1,"57":1,"61":2,"64":1,"66":1,"67":1,"73":1,"75":2,"77":1,"80":1,"81":1}}],["through",{"2":{"15":1,"55":1}}],["throws",{"2":{"5":1}}],["throw",{"2":{"3":1,"30":1}}],["throwing",{"2":{"3":1}}],["thrown",{"2":{"2":1,"3":1,"5":1,"64":1}}],["three",{"2":{"4":2,"16":2,"19":1,"46":1}}],["than",{"2":{"3":1,"4":2,"5":2,"9":1,"19":2,"27":1,"39":1,"40":1,"46":1,"60":1,"62":1,"73":1,"81":1}}],["that",{"2":{"0":3,"1":2,"2":2,"3":1,"4":13,"5":15,"7":4,"8":3,"9":2,"10":1,"11":1,"12":1,"15":8,"16":4,"17":4,"19":4,"20":7,"21":12,"24":4,"27":2,"28":1,"31":1,"34":1,"36":1,"37":1,"38":1,"39":1,"40":3,"44":2,"48":2,"64":1,"74":2,"75":1,"77":1,"82":1,"84":1}}],["then",{"2":{"20":1,"73":1,"75":1}}],["their",{"2":{"3":2,"16":2,"20":3,"48":1,"51":1}}],["there",{"2":{"2":2,"4":2,"15":4,"20":1,"24":1,"28":1,"40":1,"46":1,"48":1,"66":1,"74":1,"81":1}}],["these",{"2":{"0":3,"1":1,"3":2,"4":4,"6":2,"7":1,"8":1,"9":1,"10":1,"15":2,"16":1,"17":2,"18":1,"19":2,"20":1,"21":3,"30":1,"34":1,"36":1,"39":1,"40":3,"49":1,"64":1,"74":2,"76":1}}],["they",{"2":{"0":1,"2":1,"3":2,"4":3,"5":2,"10":2,"11":1,"15":1,"17":2,"20":2,"21":1,"23":2,"27":1,"30":1,"34":2,"35":1,"60":1,"64":1,"67":1,"74":1,"75":3,"82":1}}],["them",{"2":{"0":1,"4":1,"5":3,"11":1,"21":1,"27":1,"30":1,"45":1,"46":1,"48":1,"73":1,"74":1}}],["the",{"0":{"25":1},"2":{"0":20,"1":13,"2":8,"3":43,"4":85,"5":45,"6":3,"7":9,"8":7,"9":7,"10":9,"11":6,"12":3,"13":1,"15":49,"16":24,"17":16,"18":4,"19":48,"20":56,"21":22,"22":4,"23":9,"24":3,"25":8,"26":9,"27":5,"28":1,"29":1,"30":6,"31":4,"32":3,"33":2,"34":6,"35":1,"36":1,"38":7,"39":3,"40":6,"41":4,"42":4,"44":5,"45":4,"46":10,"48":11,"49":1,"51":1,"52":1,"56":1,"60":3,"61":4,"62":1,"63":1,"64":7,"65":4,"66":9,"67":4,"68":5,"71":2,"73":11,"74":9,"75":6,"76":1,"77":3,"78":2,"79":1,"80":5,"82":10,"84":3,"85":1}}],["tolerance",{"2":{"73":1}}],["todo",{"2":{"47":1,"66":1}}],["together",{"2":{"24":1}}],["top",{"2":{"23":1,"30":1}}],["tools",{"2":{"35":1,"51":2,"58":1}}],["too",{"2":{"21":1,"27":1,"55":1,"64":1}}],["total",{"2":{"19":1}}],["touched",{"2":{"73":1}}],["touches",{"2":{"5":7,"73":2}}],["touch",{"2":{"5":2}}],["touching",{"2":{"5":1}}],["tosort",{"2":{"3":4}}],["to",{"0":{"84":1,"85":1},"2":{"0":8,"1":5,"2":4,"3":18,"4":35,"5":18,"6":1,"8":1,"9":2,"10":12,"11":5,"12":3,"15":19,"16":8,"17":5,"18":1,"19":16,"20":32,"21":21,"22":2,"23":6,"24":4,"25":4,"26":2,"27":10,"30":1,"31":2,"32":3,"34":5,"35":3,"36":4,"38":1,"39":1,"40":3,"41":1,"42":2,"44":2,"46":7,"47":2,"48":1,"49":1,"51":1,"57":1,"58":1,"60":1,"61":5,"62":2,"64":3,"66":6,"67":2,"73":3,"74":4,"75":3,"77":1,"78":1,"80":1,"81":2,"82":2,"85":1}}],["jan",{"2":{"46":4,"74":1}}],["january",{"2":{"19":2,"46":1}}],["jarring",{"2":{"16":2}}],["jump",{"0":{"55":1},"2":{"55":1}}],["jul",{"2":{"46":6,"74":1}}],["juliaprint",{"2":{"23":2}}],["juliaposition",{"2":{"10":1}}],["juliapoints",{"2":{"9":1}}],["juliahours",{"2":{"19":1}}],["juliahasselection",{"2":{"4":1}}],["juliahasdim",{"2":{"1":1,"15":1}}],["juliaranges",{"2":{"19":1}}],["juliareorder",{"2":{"20":1}}],["juliarebuild",{"2":{"20":1,"23":1,"40":1}}],["juliarefdims",{"2":{"15":1,"23":1}}],["juliaregular",{"2":{"8":1}}],["juliareverseordered",{"2":{"7":1}}],["juliareducedims",{"2":{"3":1}}],["juliagroupby",{"2":{"19":1}}],["juliamakie",{"2":{"68":1,"71":2,"72":1}}],["juliamap",{"2":{"16":1}}],["juliamodify",{"2":{"20":1}}],["juliamonths",{"2":{"19":1}}],["juliamergedims",{"2":{"20":3}}],["juliamergedlookup",{"2":{"4":1}}],["juliametadata",{"2":{"11":1,"15":1}}],["juliamean",{"2":{"0":4,"16":1}}],["juliafunction",{"2":{"16":1}}],["juliaforwardordered",{"2":{"7":1}}],["juliaformat",{"2":{"2":1,"41":1}}],["juliaend",{"2":{"10":1}}],["juliaexplicit",{"2":{"8":1}}],["juliairregular",{"2":{"8":1}}],["juliaintervals",{"2":{"9":1,"19":1}}],["juliaintselector",{"2":{"5":1}}],["juliaindependentdim",{"2":{"0":1}}],["juliawhere",{"2":{"5":1}}],["juliaordered",{"2":{"7":1}}],["juliaorder",{"2":{"4":1,"7":1}}],["juliaotherdims",{"2":{"1":1,"15":1}}],["juliab",{"2":{"70":1}}],["juliablockwidth",{"2":{"23":1}}],["juliabroadcast",{"2":{"20":2}}],["juliabins",{"2":{"19":1}}],["juliabegin",{"2":{"10":1}}],["juliabetween",{"2":{"5":1}}],["juliabounds",{"2":{"4":1}}],["juliabase",{"2":{"15":4,"21":5}}],["juliabasedims",{"2":{"3":1}}],["juliabasetypeof",{"2":{"3":1}}],["julianame",{"2":{"15":1,"22":1}}],["julianame2dim",{"2":{"3":1}}],["julianoname",{"2":{"22":1}}],["julianometadata",{"2":{"11":1}}],["julianolookup",{"2":{"4":1}}],["julianear",{"2":{"5":1}}],["juliatouches",{"2":{"5":1}}],["juliatransformed",{"2":{"4":1}}],["juliatimedim",{"2":{"0":2}}],["juliaunmergedims",{"2":{"20":2}}],["juliaunits",{"2":{"11":1}}],["juliaunordered",{"2":{"7":1}}],["juliaunaligned",{"2":{"4":1}}],["juliausing",{"2":{"0":3,"3":2,"4":6,"5":7,"13":1,"20":3,"25":1,"26":1,"34":1,"44":1,"48":1,"68":1,"73":1,"74":1,"80":1,"83":1,"85":1}}],["juliacat",{"2":{"21":1}}],["juliacategorical",{"2":{"4":1}}],["juliacenter",{"2":{"10":1}}],["juliacopy",{"2":{"21":2}}],["juliacontains",{"2":{"5":1}}],["juliacombinedims",{"2":{"3":1}}],["juliacomparedims",{"2":{"3":1}}],["juliacommondims",{"2":{"3":1}}],["juliacyclicbins",{"2":{"19":1}}],["juliacyclic",{"2":{"4":1}}],["juliaa",{"2":{"20":1}}],["juliaall",{"2":{"5":1}}],["juliaaligned",{"2":{"4":1}}],["juliaat",{"2":{"5":1}}],["juliaarrayselector",{"2":{"5":1}}],["juliaautoposition",{"2":{"10":1}}],["juliaautospan",{"2":{"8":1}}],["juliaautoorder",{"2":{"7":1}}],["juliaautovalues",{"2":{"4":1}}],["juliaautolookup",{"2":{"4":1}}],["juliaabstractname",{"2":{"22":1}}],["juliaabstractdimtable",{"2":{"18":1}}],["juliaabstractdimstack",{"2":{"16":1}}],["juliaabstractdimarray",{"2":{"15":1}}],["juliaabstractbasicdimarray",{"2":{"15":1}}],["juliaabstractmetadata",{"2":{"11":1}}],["juliaabstractcategorical",{"2":{"4":1}}],["juliaabstractcyclic",{"2":{"4":1}}],["juliaabstractsampled",{"2":{"4":1}}],["juliaanondim",{"2":{"0":1}}],["julias",{"2":{"35":1}}],["juliashow",{"2":{"23":2}}],["juliashiftlocus",{"2":{"4":1}}],["juliastrict",{"2":{"21":4}}],["juliastart",{"2":{"10":1}}],["juliaspan",{"2":{"4":1,"8":1}}],["juliasampling",{"2":{"4":1,"9":1}}],["juliasampled",{"2":{"4":1}}],["juliaset",{"2":{"20":1}}],["juliasetdims",{"2":{"3":1}}],["juliaseasons",{"2":{"19":1}}],["juliaselector",{"2":{"5":1}}],["juliaselectindices",{"2":{"2":1}}],["juliasortdims",{"2":{"3":1}}],["juliaslicedims",{"2":{"3":1}}],["juliaswapdims",{"2":{"3":1}}],["julialocus",{"2":{"4":1}}],["julialookuptrait",{"2":{"6":1}}],["julialookups",{"2":{"4":1}}],["julialookup",{"2":{"2":1,"4":1}}],["julialabel",{"2":{"2":1}}],["julia>",{"2":{"1":12,"3":4,"12":1,"15":24,"16":8,"17":4,"18":2,"19":2,"20":4,"21":4,"28":1,"33":1,"34":1,"42":1,"48":1,"61":1,"62":2,"73":2,"74":1,"77":1,"81":1}}],["julia",{"2":{"0":1,"19":1,"20":2,"23":2,"24":2,"26":1,"27":1,"31":1,"32":1,"35":2,"54":1,"56":1,"82":1}}],["juliajulia>",{"2":{"0":1,"1":4,"3":1,"12":3,"13":4,"15":9,"16":1,"17":2,"18":1,"19":4,"20":6,"21":1,"25":10,"26":2,"28":14,"29":2,"30":7,"31":2,"32":2,"33":3,"34":4,"42":4,"44":9,"45":8,"46":13,"47":4,"48":50,"49":73,"61":8,"62":2,"64":6,"65":2,"66":6,"73":17,"74":11,"75":1,"76":5,"77":2,"78":9,"79":4,"80":34,"81":2,"83":3,"84":5}}],["juliaz",{"2":{"0":1}}],["juliazdim",{"2":{"0":2}}],["juliayearday",{"2":{"44":1}}],["juliay",{"2":{"0":1}}],["juliaydim",{"2":{"0":2}}],["juliaval",{"2":{"0":4,"4":1}}],["juliadimgroupbyarray",{"2":{"19":1}}],["juliadimtable",{"2":{"18":1}}],["juliadimpoints",{"2":{"17":1}}],["juliadimindices",{"2":{"17":1}}],["juliadimarray",{"2":{"15":1}}],["juliadimnum",{"2":{"1":1,"15":1}}],["juliadimselectors",{"2":{"17":1}}],["juliadimstack",{"2":{"16":1}}],["juliadimsmatch",{"2":{"3":1}}],["juliadims2indices",{"2":{"2":1}}],["juliadims",{"2":{"1":2,"15":2}}],["juliadim",{"2":{"0":1}}],["juliadimension",{"2":{"0":1}}],["juliadimensions",{"2":{"0":1}}],["juliadependentdim",{"2":{"0":1}}],["juliaxdim",{"2":{"0":2}}],["juliax",{"2":{"0":3}}],["jun",{"2":{"46":6,"74":1}}],["just",{"2":{"5":2,"21":1,"24":1,"38":1,"40":1,"46":3,"48":1,"65":1,"66":1,"78":1}}],["j",{"2":{"3":2,"13":3,"70":1,"84":1}}],["jl",{"0":{"18":2,"35":1,"42":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"67":1,"68":1},"1":{"69":1,"70":1,"71":1,"72":1},"2":{"0":2,"4":5,"5":2,"18":2,"19":1,"20":2,"23":6,"26":1,"27":7,"31":6,"34":1,"35":10,"36":1,"37":1,"38":2,"40":3,"42":1,"43":1,"48":2,"51":3,"52":4,"53":1,"54":1,"55":1,"56":1,"57":2,"58":1,"59":1,"60":1,"64":1,"65":2,"67":4,"68":1,"72":1,"82":5,"85":2}}],["omitted",{"2":{"84":4}}],["o=rand",{"2":{"78":1}}],["oct",{"2":{"46":4,"74":1}}],["own",{"2":{"44":1,"47":1,"55":1}}],["objs",{"2":{"39":1}}],["obj",{"2":{"37":1,"39":2,"40":2}}],["object",{"2":{"0":1,"1":9,"2":1,"3":7,"4":7,"6":1,"10":1,"11":2,"15":12,"17":1,"18":1,"20":11,"23":1,"31":2,"34":2,"40":1,"48":3,"62":1,"64":1,"66":1}}],["objects",{"0":{"60":1},"1":{"61":1,"62":1,"63":1,"64":1,"65":1,"66":1},"2":{"0":1,"2":2,"3":1,"4":1,"5":2,"7":1,"11":1,"15":1,"16":3,"19":1,"20":4,"27":1,"30":1,"34":1,"37":1,"38":1,"39":1,"40":3,"47":3,"48":1,"60":1,"65":2,"66":1,"80":1}}],["our",{"2":{"30":2,"44":1,"46":6,"48":1}}],["outer",{"2":{"41":1,"61":1,"74":1,"75":3}}],["outcome",{"2":{"16":2}}],["out",{"2":{"4":1,"18":1,"34":1,"51":1,"67":1}}],["outputs",{"2":{"57":1}}],["output",{"2":{"0":4,"3":2,"4":5,"5":7,"20":2,"25":1,"46":1,"47":1,"56":1}}],["old",{"2":{"20":6}}],["optimization",{"2":{"55":1}}],["optimised",{"2":{"7":1}}],["options",{"2":{"20":5,"42":2}}],["optional",{"2":{"15":1,"23":4,"42":2}}],["operation",{"2":{"19":1,"32":1}}],["operations",{"2":{"0":1,"15":1,"19":1,"21":1,"27":1}}],["open",{"2":{"5":1,"46":35,"73":1}}],["openinterval",{"2":{"5":1}}],["o",{"2":{"4":1,"78":2,"84":1}}],["overheads",{"2":{"81":1}}],["overlapping",{"2":{"19":1}}],["over",{"2":{"0":1,"4":4,"9":1,"16":3,"17":2,"19":2,"20":6,"21":2,"24":2,"25":1,"45":1,"74":1,"80":1}}],["others",{"2":{"20":2,"77":1}}],["otherwise",{"2":{"4":1,"19":1,"20":1,"21":1,"36":1}}],["otherdims",{"2":{"1":3,"15":3,"17":1,"48":8,"49":13}}],["other",{"2":{"0":2,"3":2,"4":2,"5":2,"19":1,"20":3,"21":2,"25":1,"27":1,"28":1,"36":1,"44":1,"47":1,"49":1,"68":1,"74":1,"75":2,"78":1,"82":1,"85":1}}],["orange",{"2":{"71":1,"72":1}}],["organised",{"2":{"34":1}}],["organises",{"2":{"0":1}}],["originates",{"2":{"19":1}}],["original",{"2":{"3":3,"20":7}}],["origin",{"2":{"11":1}}],["ordering",{"2":{"4":1}}],["order=unordered",{"2":{"4":1,"74":1}}],["order=autoorder",{"2":{"4":2}}],["order=forwardordered",{"2":{"3":1,"74":2}}],["ordered",{"2":{"1":1,"4":1,"7":4,"15":3,"74":2}}],["order",{"0":{"7":1},"2":{"1":1,"2":1,"3":12,"4":23,"5":1,"7":9,"15":1,"17":7,"20":17,"21":4,"25":1,"30":4,"48":6,"64":3,"68":1,"75":2}}],["or",{"2":{"0":5,"1":20,"2":7,"3":20,"4":33,"5":7,"7":1,"8":5,"9":3,"10":3,"11":6,"12":1,"13":2,"15":31,"16":7,"17":6,"18":4,"19":16,"20":15,"21":5,"23":4,"25":2,"27":1,"30":1,"31":2,"32":2,"34":1,"36":3,"38":1,"39":1,"41":1,"42":2,"43":1,"46":1,"48":10,"49":1,"60":1,"61":1,"64":1,"71":1,"73":4,"74":3,"75":3,"76":2,"77":1,"78":2,"82":2,"85":1}}],["off",{"2":{"21":1}}],["offsetarrays",{"2":{"38":2}}],["offset",{"2":{"5":1}}],["often",{"2":{"19":1,"20":1,"27":1,"51":1,"74":1}}],["of",{"2":{"0":5,"1":13,"2":6,"3":17,"4":45,"5":13,"6":5,"7":3,"8":1,"9":2,"10":7,"11":5,"15":34,"16":10,"17":16,"18":3,"19":40,"20":29,"21":10,"22":1,"23":16,"24":2,"25":2,"26":2,"27":1,"28":2,"30":8,"31":1,"34":2,"35":3,"36":1,"37":1,"38":1,"39":1,"40":2,"41":4,"42":10,"44":2,"45":2,"46":5,"48":10,"51":2,"53":1,"54":1,"56":1,"60":1,"61":1,"63":2,"64":4,"66":2,"67":1,"71":1,"73":2,"74":4,"75":3,"76":2,"77":5,"78":2,"79":1,"80":3,"82":4,"84":1}}],["oneto",{"2":{"21":2,"74":2}}],["one",{"2":{"3":1,"4":3,"9":1,"16":2,"20":1,"21":3,"24":1,"26":1,"27":1,"40":2,"64":2,"73":1,"77":1,"79":1,"84":3}}],["ones",{"2":{"1":4,"3":3,"4":1,"15":10,"18":1,"20":4,"28":4,"33":1}}],["only",{"2":{"2":1,"4":1,"5":1,"15":3,"17":4,"20":4,"40":2,"46":1,"60":1,"64":1,"77":1,"78":1,"80":1,"84":1}}],["on",{"2":{"0":6,"1":1,"2":3,"3":1,"4":2,"5":1,"10":1,"11":1,"15":3,"16":2,"19":3,"20":3,"21":2,"22":1,"23":3,"24":2,"26":3,"27":2,"30":1,"35":1,"41":1,"42":2,"46":1,"57":1,"64":1,"65":1,"67":2,"78":2}}],["away",{"2":{"64":1}}],["aware",{"2":{"24":1,"51":1}}],["a1",{"2":{"64":4}}],["aimed",{"2":{"52":1}}],["aggregate",{"2":{"46":1}}],["again",{"2":{"16":1,"30":1}}],["a=rand",{"2":{"77":1}}],["a=falses",{"2":{"61":1}}],["a=3",{"2":{"29":1}}],["a=1",{"2":{"13":1}}],["aug",{"2":{"46":6,"74":1}}],["auxiliary",{"2":{"27":1,"57":1}}],["autodetection",{"0":{"75":1}}],["automata",{"2":{"57":1}}],["automated",{"2":{"20":1}}],["automatic",{"2":{"0":1,"4":1,"10":1}}],["automatically",{"2":{"0":1,"4":3,"7":1,"27":1,"40":1,"74":2,"75":1}}],["autoposition",{"2":{"10":2}}],["autospan",{"2":{"8":2,"74":1}}],["autovalues",{"2":{"4":1,"74":1}}],["autolookup",{"2":{"4":3}}],["autoorder",{"2":{"4":3,"7":2,"74":1}}],["auto",{"2":{"2":1}}],["amazing",{"2":{"26":1}}],["amp",{"0":{"26":1},"1":{"27":1}}],["ambiguity",{"2":{"2":1,"11":1,"20":1,"24":1,"66":1}}],["after",{"2":{"15":1,"19":3,"23":3,"25":1,"46":1}}],["affine",{"2":{"4":1}}],["affect",{"2":{"0":1}}],["apr",{"2":{"46":6,"74":2}}],["appearance",{"2":{"20":1}}],["applicable",{"2":{"20":1}}],["applications",{"2":{"64":1}}],["application",{"2":{"19":1,"35":1}}],["applied",{"2":{"4":1,"16":1,"19":2,"20":1,"61":1,"80":1}}],["applying",{"2":{"19":2}}],["apply",{"2":{"16":3,"47":1}}],["api",{"0":{"14":1},"1":{"15":1,"16":1,"17":1,"18":1}}],["adherence",{"2":{"35":1}}],["adjoint",{"2":{"32":1,"80":1}}],["adjacent",{"2":{"5":1}}],["adapt",{"2":{"27":3}}],["additional",{"2":{"23":2,"74":1}}],["additionally",{"2":{"12":1}}],["adding",{"2":{"4":3,"23":2}}],["add",{"2":{"12":2,"23":1,"28":1,"74":1}}],["added",{"2":{"3":1,"23":3,"24":1,"36":1,"42":2}}],["available",{"2":{"4":1,"11":2}}],["avoids",{"2":{"16":1,"19":1}}],["avoid",{"2":{"0":1,"5":1,"16":1,"23":1,"24":1}}],["actual",{"2":{"27":1}}],["actually",{"2":{"2":1,"4":1}}],["active",{"2":{"21":2}}],["acepted",{"2":{"15":4}}],["accessed",{"2":{"78":1}}],["accessors",{"2":{"65":1}}],["accessing",{"2":{"33":1}}],["access",{"2":{"28":1,"34":1}}],["accepted",{"2":{"23":2,"42":2,"64":1}}],["accept",{"2":{"15":1,"16":1,"39":1,"41":1,"64":1}}],["acceptable",{"2":{"8":1}}],["accepts",{"2":{"4":1,"5":1,"55":1}}],["accurate",{"2":{"8":1}}],["account",{"2":{"4":2}}],["atol=0",{"2":{"73":1}}],["atol=nothing",{"2":{"5":1}}],["atol",{"2":{"5":1,"17":6,"64":1}}],["attach",{"2":{"4":1}}],["attached",{"2":{"3":1,"38":1}}],["attempting",{"2":{"21":2}}],["attempt",{"2":{"0":1}}],["at",{"2":{"0":1,"3":2,"4":6,"5":11,"9":3,"15":1,"16":3,"17":4,"19":2,"20":1,"23":5,"44":1,"46":1,"48":1,"51":1,"52":1,"73":2,"74":2,"76":2,"77":1}}],["astroimage",{"2":{"58":1}}],["astroimages",{"0":{"58":1},"2":{"58":1}}],["astronomical",{"2":{"58":1}}],["assumes",{"2":{"64":1}}],["assert",{"2":{"47":1}}],["associate",{"2":{"34":2}}],["assignment",{"2":{"20":1,"25":1}}],["assigned",{"2":{"4":9,"60":1,"75":1}}],["ascending",{"2":{"5":1}}],["as",{"2":{"0":6,"1":1,"2":3,"3":5,"4":8,"5":4,"8":1,"10":3,"15":7,"16":6,"17":4,"18":5,"19":5,"20":8,"21":4,"23":2,"24":2,"26":2,"27":2,"32":1,"33":1,"34":1,"36":1,"38":1,"39":2,"40":4,"64":3,"67":3,"68":1,"71":1,"73":4,"74":1,"75":5}}],["above",{"2":{"45":2,"49":1}}],["about",{"2":{"0":1,"4":3,"11":1,"26":1,"65":1}}],["abstracdimarray",{"2":{"31":1}}],["abstractname",{"2":{"22":3}}],["abstraction",{"2":{"20":1}}],["abstractdimarry",{"2":{"43":1}}],["abstractdimarrays",{"2":{"3":1,"20":4,"22":1,"23":2,"31":1}}],["abstractdimarray",{"2":{"0":1,"3":2,"4":1,"11":2,"15":7,"16":5,"17":1,"18":4,"19":7,"20":17,"21":7,"23":6,"24":1,"27":2,"32":1,"36":1,"40":3,"41":2,"51":1,"52":1,"55":1,"57":2,"58":1,"61":1,"64":2,"67":1,"68":1,"77":1,"80":1,"82":1}}],["abstractdimtable",{"2":{"18":2}}],["abstractdimstack",{"2":{"16":4,"18":3,"19":5,"20":10,"21":7,"23":5,"36":1,"41":1,"51":1,"54":1,"61":1,"64":2,"77":1,"80":2,"82":1}}],["abstractrng",{"2":{"15":2}}],["abstractrange",{"2":{"4":4,"19":2,"74":1,"75":1}}],["abstractbasicarray",{"2":{"15":1}}],["abstractbasicdimarray",{"2":{"15":2,"20":1}}],["abstractmetadata",{"2":{"11":3,"20":1}}],["abstractmatrix",{"2":{"8":1}}],["abstractsample",{"2":{"51":1}}],["abstractsampled",{"2":{"4":6,"36":1,"74":1}}],["abstractstring",{"2":{"4":1}}],["abstractcolumns",{"2":{"18":1}}],["abstractcategorical",{"2":{"4":4,"36":1}}],["abstractcyclic",{"2":{"4":2}}],["abstractarray",{"2":{"2":3,"3":2,"4":4,"5":1,"15":4,"16":2,"17":3,"19":4,"20":4,"21":2,"28":1,"35":1,"38":1,"46":2,"74":1,"75":1,"77":1}}],["abstractvector",{"2":{"0":1,"4":4,"15":8}}],["abstract",{"2":{"0":7,"1":2,"3":4,"4":4,"5":3,"6":1,"10":1,"11":1,"15":4,"16":2,"18":1,"20":1,"22":1}}],["abs",{"2":{"13":1}}],["absent",{"2":{"3":1}}],["axis",{"2":{"0":6,"2":1,"3":2,"4":9,"10":3,"15":4,"17":1,"20":1,"38":1,"46":1,"67":1,"68":2,"73":2,"74":2}}],["axes",{"0":{"38":1},"2":{"0":1,"1":1,"4":1,"15":1,"21":3,"30":2,"32":1,"38":2,"64":1,"68":2}}],["alpha",{"2":{"13":1}}],["alpha=",{"2":{"13":1}}],["align",{"2":{"10":1}}],["aligned",{"2":{"4":6,"76":1}}],["although",{"2":{"4":1,"15":1,"67":1}}],["alone",{"2":{"4":2}}],["along",{"0":{"25":1},"2":{"0":1,"19":1,"32":1,"48":1,"74":1}}],["algorithms",{"2":{"3":1,"64":1}}],["always",{"2":{"1":1,"3":1,"9":1,"11":2,"15":1,"16":2,"20":2,"21":4,"23":2,"40":1,"49":1,"51":1,"64":1}}],["already",{"2":{"0":1,"27":1}}],["also",{"2":{"0":3,"3":3,"5":2,"10":1,"11":1,"16":1,"19":1,"20":3,"25":1,"30":1,"31":1,"32":1,"34":1,"38":1,"39":1,"40":1,"45":1,"46":3,"47":2,"51":1,"66":1,"68":2,"73":4,"74":1,"76":1,"79":1,"85":1}}],["allocate",{"2":{"82":1}}],["allocations",{"2":{"81":2}}],["allocation",{"2":{"20":1}}],["allocs",{"2":{"33":2}}],["allows",{"2":{"10":1,"19":1,"20":1}}],["allowing",{"2":{"4":1}}],["allow",{"2":{"4":1,"10":1,"11":1,"57":1}}],["all",{"2":{"0":5,"2":1,"3":3,"4":5,"5":6,"6":1,"11":1,"15":3,"16":5,"17":3,"20":11,"21":8,"22":1,"23":2,"27":1,"31":1,"40":2,"42":2,"46":1,"48":1,"49":3,"51":1,"57":2,"60":1,"61":3,"73":1,"77":2,"78":1,"79":1,"80":1,"81":1,"82":1}}],["arviz",{"0":{"54":1},"2":{"36":1,"54":2}}],["archgdal",{"2":{"35":1}}],["around",{"2":{"19":3}}],["arbitrary",{"0":{"29":1},"2":{"17":1,"19":2,"29":1,"46":1}}],["arg",{"2":{"23":3,"42":3,"64":1}}],["args",{"2":{"3":1,"20":3,"23":12,"40":1,"42":12}}],["argumenterror",{"2":{"30":1}}],["argument",{"2":{"2":1,"3":2,"4":4,"11":2,"15":2,"16":1,"20":4,"25":1,"39":1,"40":3,"71":1}}],["arguments",{"2":{"0":1,"1":4,"3":4,"4":8,"8":1,"15":6,"16":1,"19":1,"20":5,"23":2,"27":1,"40":1,"42":2,"64":2}}],["arrays",{"0":{"15":1},"2":{"5":1,"15":5,"16":1,"19":1,"20":2,"21":1,"22":1,"23":2,"25":1,"60":1,"61":3,"75":3,"76":1,"84":1,"85":1}}],["arrayselectors",{"2":{"5":1}}],["arrayselector",{"2":{"5":4}}],["array",{"0":{"16":1,"79":1},"2":{"0":3,"1":1,"2":2,"3":4,"4":16,"5":1,"9":1,"10":1,"11":1,"13":1,"15":6,"16":3,"17":3,"18":1,"19":1,"20":8,"21":4,"22":2,"23":2,"24":1,"25":1,"26":1,"27":3,"31":1,"32":1,"33":1,"36":2,"38":3,"41":2,"42":2,"45":1,"46":1,"55":1,"61":4,"64":4,"73":2,"74":1,"75":2,"76":1,"81":1,"82":1}}],["aren",{"2":{"76":1}}],["areound",{"2":{"20":1}}],["area",{"2":{"5":3}}],["are",{"2":{"0":7,"1":1,"2":2,"3":17,"4":15,"5":11,"7":1,"8":2,"9":2,"11":1,"15":9,"16":3,"17":4,"18":2,"19":1,"20":15,"21":5,"23":13,"24":2,"25":1,"27":2,"28":2,"30":1,"34":4,"35":2,"36":5,"40":2,"42":10,"44":1,"46":1,"48":1,"51":2,"57":2,"60":2,"64":3,"68":1,"74":2,"75":9,"76":1,"79":2,"80":1,"81":1,"82":3}}],["analysis",{"2":{"46":1,"53":1,"54":1}}],["analagous",{"2":{"24":1}}],["answer",{"2":{"35":1}}],["ansi",{"2":{"23":1}}],["anomalies",{"2":{"19":1}}],["another",{"2":{"4":1,"15":1,"16":1,"17":2,"21":1,"29":1,"43":1,"52":1,"64":1,"73":1,"76":1,"78":1,"79":2}}],["anonymous",{"2":{"0":1}}],["anondim",{"2":{"0":2}}],["annual",{"2":{"4":1}}],["anything",{"2":{"2":1,"20":1}}],["any",{"2":{"0":1,"1":5,"2":1,"3":4,"4":5,"5":5,"11":2,"15":5,"19":8,"20":1,"21":1,"23":2,"27":1,"28":10,"34":2,"39":3,"40":1,"45":7,"46":11,"47":3,"48":2,"55":1,"74":1,"77":1,"80":1,"85":1}}],["an",{"2":{"0":2,"1":8,"2":1,"3":5,"4":9,"5":5,"6":1,"7":1,"8":1,"9":1,"10":3,"11":2,"15":21,"16":1,"17":6,"18":3,"19":6,"20":8,"21":2,"22":1,"23":6,"24":1,"27":1,"30":1,"31":2,"32":1,"34":1,"38":1,"40":1,"41":2,"45":1,"46":3,"47":1,"48":6,"54":2,"71":1,"73":2,"74":2,"75":1,"77":2,"82":1}}],["and",{"0":{"24":1,"45":1,"82":1},"1":{"25":1,"83":1,"84":1,"85":1},"2":{"0":9,"2":7,"3":8,"4":27,"5":10,"7":2,"8":3,"10":2,"11":4,"13":1,"15":17,"16":13,"17":2,"18":3,"19":4,"20":10,"21":11,"22":1,"23":12,"24":3,"25":4,"26":1,"27":4,"28":2,"29":2,"30":1,"31":3,"34":2,"35":5,"36":1,"38":2,"39":1,"40":3,"41":3,"42":6,"46":4,"47":1,"48":2,"49":2,"51":7,"52":2,"57":2,"58":1,"60":1,"61":2,"64":2,"65":1,"66":1,"67":3,"68":4,"73":3,"74":3,"75":8,"76":1,"77":1,"78":1,"80":1,"81":2,"82":5,"84":3,"85":1}}],["a",{"0":{"71":1},"2":{"0":30,"1":30,"2":11,"3":32,"4":50,"5":38,"6":1,"7":2,"8":4,"9":1,"10":6,"11":8,"13":6,"15":68,"16":32,"17":16,"18":5,"19":43,"20":46,"21":12,"22":2,"23":13,"24":3,"25":7,"26":5,"27":1,"28":7,"29":3,"31":2,"34":4,"36":2,"37":1,"38":2,"40":1,"41":2,"42":4,"43":2,"44":1,"45":8,"46":14,"47":4,"48":64,"49":73,"51":5,"52":1,"54":1,"55":2,"56":1,"57":1,"60":1,"61":10,"62":9,"63":2,"64":13,"65":4,"66":14,"67":2,"68":6,"70":1,"71":3,"72":2,"73":59,"74":14,"75":6,"76":5,"77":5,"78":14,"79":27,"80":41,"81":5,"83":5,"84":33,"85":9}}]],"serializationVersion":2}';export{e as default}; diff --git a/dev/assets/chunks/@localSearchIndexroot.DZIvyN8P.js b/dev/assets/chunks/@localSearchIndexroot.DZIvyN8P.js new file mode 100644 index 000000000..01a2678ee --- /dev/null +++ b/dev/assets/chunks/@localSearchIndexroot.DZIvyN8P.js @@ -0,0 +1 @@ +const e='{"documentCount":86,"nextId":86,"documentIds":{"0":"/DimensionalData.jl/dev/api/dimensions#dimensions","1":"/DimensionalData.jl/dev/api/dimensions#Exported-methods","2":"/DimensionalData.jl/dev/api/dimensions#Non-exported-methods","3":"/DimensionalData.jl/dev/api/dimensions#Primitive-methods","4":"/DimensionalData.jl/dev/api/lookuparrays#lookups","5":"/DimensionalData.jl/dev/api/lookuparrays#selectors","6":"/DimensionalData.jl/dev/api/lookuparrays#Lookup-traits","7":"/DimensionalData.jl/dev/api/lookuparrays#order","8":"/DimensionalData.jl/dev/api/lookuparrays#span","9":"/DimensionalData.jl/dev/api/lookuparrays#sampling","10":"/DimensionalData.jl/dev/api/lookuparrays#positions","11":"/DimensionalData.jl/dev/api/lookuparrays#metadata","12":"/DimensionalData.jl/dev/api/reference#API-Reference","13":"/DimensionalData.jl/dev/api/reference#arrays","14":"/DimensionalData.jl/dev/api/reference#Multi-array-datasets","15":"/DimensionalData.jl/dev/api/reference#Dimension-generators","16":"/DimensionalData.jl/dev/api/reference#Tables.jl/TableTraits.jl-interface","17":"/DimensionalData.jl/dev/api/reference#Group-by-methods","18":"/DimensionalData.jl/dev/api/reference#Utility-methods","19":"/DimensionalData.jl/dev/api/reference#Global-lookup-strictness-settings","20":"/DimensionalData.jl/dev/api/reference#name","21":"/DimensionalData.jl/dev/api/reference#Internal-interface","22":"/DimensionalData.jl/dev/basics#installation","23":"/DimensionalData.jl/dev/basics#basics","24":"/DimensionalData.jl/dev/broadcasts#Dimensional-broadcasts-with-@d-and-broadcast_dims","25":"/DimensionalData.jl/dev/broadcasts#Example:-scaling-along-the-time-dimension","26":"/DimensionalData.jl/dev/cuda#CUDA-and-GPUs","27":"/DimensionalData.jl/dev/cuda#GPU-Integration-goals","28":"/DimensionalData.jl/dev/dimarrays#dimarrays","29":"/DimensionalData.jl/dev/dimarrays#Constructing-DimArray-with-arbitrary-dimension-names","30":"/DimensionalData.jl/dev/dimarrays#Dimensional-Indexing","31":"/DimensionalData.jl/dev/dimarrays#Begin-End-indexing","32":"/DimensionalData.jl/dev/dimarrays#dims-keywords","33":"/DimensionalData.jl/dev/dimarrays#performance","34":"/DimensionalData.jl/dev/diskarrays#DiskArrays.jl-compatibility","35":"/DimensionalData.jl/dev/dimensions#dimensions","36":"/DimensionalData.jl/dev/extending_dd#Extending-DimensionalData","37":"/DimensionalData.jl/dev/extending_dd#dims","38":"/DimensionalData.jl/dev/extending_dd#Dimension-axes","39":"/DimensionalData.jl/dev/extending_dd#dims-keywords","40":"/DimensionalData.jl/dev/extending_dd#rebuild","41":"/DimensionalData.jl/dev/extending_dd#format","42":"/DimensionalData.jl/dev/extending_dd#Interfaces.jl-interface-testing","43":"/DimensionalData.jl/dev/get_info#getters","44":"/DimensionalData.jl/dev/get_info#predicates","45":"/DimensionalData.jl/dev/groupby#Group-By","46":"/DimensionalData.jl/dev/groupby#Grouping-functions","47":"/DimensionalData.jl/dev/groupby#Grouping-and-reducing","48":"/DimensionalData.jl/dev/groupby#binning","49":"/DimensionalData.jl/dev/groupby#Select-by-Dimension","50":"/DimensionalData.jl/dev/integrations#integrations","51":"/DimensionalData.jl/dev/integrations#rasters-jl","52":"/DimensionalData.jl/dev/integrations#yaxarrays-jl","53":"/DimensionalData.jl/dev/integrations#climatebase-jl","54":"/DimensionalData.jl/dev/integrations#arviz-jl","55":"/DimensionalData.jl/dev/integrations#jump-jl","56":"/DimensionalData.jl/dev/integrations#cryogrid-jl","57":"/DimensionalData.jl/dev/integrations#dynamicgrids-jl","58":"/DimensionalData.jl/dev/integrations#astroimages-jl","59":"/DimensionalData.jl/dev/integrations#timeseriestools-jl","60":"/DimensionalData.jl/dev/plots#plots-jl","61":"/DimensionalData.jl/dev/plots#makie-jl","62":"/DimensionalData.jl/dev/plots#Test-series-plots","63":"/DimensionalData.jl/dev/plots#default-colormap","64":"/DimensionalData.jl/dev/plots#A-different-colormap","65":"/DimensionalData.jl/dev/plots#with-markers","66":"/DimensionalData.jl/dev/object_modification#Modifying-Objects","67":"/DimensionalData.jl/dev/object_modification#modify","68":"/DimensionalData.jl/dev/object_modification#reorder","69":"/DimensionalData.jl/dev/object_modification#mergedims","70":"/DimensionalData.jl/dev/object_modification#rebuild","71":"/DimensionalData.jl/dev/object_modification#rebuild-magic","72":"/DimensionalData.jl/dev/object_modification#set","73":"/DimensionalData.jl/dev/selectors#selectors","74":"/DimensionalData.jl/dev/selectors#lookups","75":"/DimensionalData.jl/dev/selectors#Lookup-autodetection","76":"/DimensionalData.jl/dev/selectors#DimSelector","77":"/DimensionalData.jl/dev/stacks#dimstacks","78":"/DimensionalData.jl/dev/stacks#NamedTuple-like-indexing","79":"/DimensionalData.jl/dev/stacks#Array-like-indexing","80":"/DimensionalData.jl/dev/stacks#Reducing-functions","81":"/DimensionalData.jl/dev/stacks#performance","82":"/DimensionalData.jl/dev/tables#Tables-and-DataFrames","83":"/DimensionalData.jl/dev/tables#example","84":"/DimensionalData.jl/dev/tables#Converting-to-DataFrame","85":"/DimensionalData.jl/dev/tables#Converting-to-CSV"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,303],"1":[2,1,130],"2":[3,1,134],"3":[2,1,346],"4":[1,1,486],"5":[1,1,329],"6":[2,1,38],"7":[1,3,70],"8":[1,3,90],"9":[1,3,63],"10":[1,3,97],"11":[1,1,144],"12":[2,1,1],"13":[1,2,335],"14":[3,2,223],"15":[2,2,230],"16":[4,2,112],"17":[3,1,346],"18":[2,1,407],"19":[4,1,234],"20":[1,4,59],"21":[2,4,179],"22":[1,1,40],"23":[1,1,152],"24":[7,1,90],"25":[6,7,334],"26":[3,1,176],"27":[3,3,110],"28":[1,1,222],"29":[6,1,75],"30":[2,1,256],"31":[3,1,129],"32":[2,1,118],"33":[1,1,90],"34":[3,1,74],"35":[1,1,104],"36":[2,1,68],"37":[1,2,18],"38":[2,3,56],"39":[2,3,47],"40":[1,2,106],"41":[1,2,54],"42":[4,2,91],"43":[1,1,217],"44":[1,1,58],"45":[2,1,21],"46":[2,2,116],"47":[3,2,208],"48":[1,2,287],"49":[3,2,144],"50":[1,1,1],"51":[2,1,69],"52":[2,1,36],"53":[2,1,12],"54":[2,1,18],"55":[2,1,24],"56":[2,1,18],"57":[2,1,34],"58":[2,1,15],"59":[2,1,9],"60":[2,1,51],"61":[2,1,66],"62":[3,2,1],"63":[2,5,21],"64":[3,5,32],"65":[2,5,19],"66":[2,1,39],"67":[1,2,83],"68":[1,2,82],"69":[1,2,23],"70":[1,2,188],"71":[2,3,51],"72":[1,2,135],"73":[1,1,198],"74":[1,1,217],"75":[2,1,157],"76":[1,1,327],"77":[1,1,89],"78":[3,1,171],"79":[3,1,127],"80":[2,1,139],"81":[1,1,69],"82":[3,1,67],"83":[1,3,115],"84":[3,3,251],"85":[3,3,85]},"averageFieldLength":[2.0232558139534884,1.744186046511628,126.23255813953485],"storedFields":{"0":{"title":"Dimensions","titles":[]},"1":{"title":"Exported methods","titles":["Dimensions"]},"2":{"title":"Non-exported methods","titles":["Dimensions"]},"3":{"title":"Primitive methods","titles":["Dimensions"]},"4":{"title":"Lookups","titles":[]},"5":{"title":"Selectors","titles":["Lookups"]},"6":{"title":"Lookup traits","titles":["Lookups"]},"7":{"title":"Order","titles":["Lookups","Lookup traits"]},"8":{"title":"Span","titles":["Lookups","Lookup traits"]},"9":{"title":"Sampling","titles":["Lookups","Lookup traits"]},"10":{"title":"Positions","titles":["Lookups","Lookup traits"]},"11":{"title":"Metadata","titles":["Lookups"]},"12":{"title":"API Reference","titles":[]},"13":{"title":"Arrays","titles":["API Reference"]},"14":{"title":"Multi-array datasets","titles":["API Reference"]},"15":{"title":"Dimension generators","titles":["API Reference"]},"16":{"title":"Tables.jl/TableTraits.jl interface","titles":["API Reference"]},"17":{"title":"Group by methods","titles":[]},"18":{"title":"Utility methods","titles":[]},"19":{"title":"Global lookup strictness settings","titles":[]},"20":{"title":"Name","titles":["Global lookup strictness settings"]},"21":{"title":"Internal interface","titles":["Global lookup strictness settings"]},"22":{"title":"Installation","titles":[]},"23":{"title":"Basics","titles":[]},"24":{"title":"Dimensional broadcasts with @d and broadcast_dims","titles":[]},"25":{"title":"Example: scaling along the time dimension","titles":["Dimensional broadcasts with @d and broadcast_dims"]},"26":{"title":"CUDA & GPUs","titles":[]},"27":{"title":"GPU Integration goals","titles":["CUDA & GPUs"]},"28":{"title":"DimArrays","titles":[]},"29":{"title":"Constructing DimArray with arbitrary dimension names","titles":["DimArrays"]},"30":{"title":"Dimensional Indexing","titles":["DimArrays"]},"31":{"title":"Begin End indexing","titles":["DimArrays"]},"32":{"title":"dims keywords","titles":["DimArrays"]},"33":{"title":"Performance","titles":["DimArrays"]},"34":{"title":"DiskArrays.jl compatibility","titles":[]},"35":{"title":"Dimensions","titles":[]},"36":{"title":"Extending DimensionalData","titles":[]},"37":{"title":"dims","titles":["Extending DimensionalData"]},"38":{"title":"Dimension axes","titles":["Extending DimensionalData","dims"]},"39":{"title":"dims keywords","titles":["Extending DimensionalData","dims"]},"40":{"title":"rebuild","titles":["Extending DimensionalData"]},"41":{"title":"format","titles":["Extending DimensionalData"]},"42":{"title":"Interfaces.jl interface testing","titles":["Extending DimensionalData"]},"43":{"title":"Getters","titles":[]},"44":{"title":"Predicates","titles":["Getters"]},"45":{"title":"Group By","titles":[]},"46":{"title":"Grouping functions","titles":["Group By"]},"47":{"title":"Grouping and reducing","titles":["Group By"]},"48":{"title":"Binning","titles":["Group By"]},"49":{"title":"Select by Dimension","titles":["Group By"]},"50":{"title":"Integrations","titles":[]},"51":{"title":"Rasters.jl","titles":["Integrations"]},"52":{"title":"YAXArrays.jl","titles":["Integrations"]},"53":{"title":"ClimateBase.jl","titles":["Integrations"]},"54":{"title":"ArviZ.jl","titles":["Integrations"]},"55":{"title":"JuMP.jl","titles":["Integrations"]},"56":{"title":"CryoGrid.jl","titles":["Integrations"]},"57":{"title":"DynamicGrids.jl","titles":["Integrations"]},"58":{"title":"AstroImages.jl","titles":["Integrations"]},"59":{"title":"TimeseriesTools.jl","titles":["Integrations"]},"60":{"title":"Plots.jl","titles":[]},"61":{"title":"Makie.jl","titles":[]},"62":{"title":"Test series plots","titles":["Makie.jl"]},"63":{"title":"default colormap","titles":["Makie.jl","Test series plots"]},"64":{"title":"A different colormap","titles":["Makie.jl","Test series plots"]},"65":{"title":"with markers","titles":["Makie.jl","Test series plots"]},"66":{"title":"Modifying Objects","titles":[]},"67":{"title":"modify","titles":["Modifying Objects"]},"68":{"title":"reorder","titles":["Modifying Objects"]},"69":{"title":"mergedims","titles":["Modifying Objects"]},"70":{"title":"rebuild","titles":["Modifying Objects"]},"71":{"title":"rebuild magic","titles":["Modifying Objects","rebuild"]},"72":{"title":"set","titles":["Modifying Objects"]},"73":{"title":"Selectors","titles":[]},"74":{"title":"Lookups","titles":["Selectors"]},"75":{"title":"Lookup autodetection","titles":["Selectors"]},"76":{"title":"DimSelector","titles":["Selectors"]},"77":{"title":"DimStacks","titles":[]},"78":{"title":"NamedTuple-like indexing","titles":["DimStacks"]},"79":{"title":"Array-like indexing","titles":["DimStacks"]},"80":{"title":"Reducing functions","titles":["DimStacks"]},"81":{"title":"Performance","titles":["DimStacks"]},"82":{"title":"Tables and DataFrames","titles":[]},"83":{"title":"Example","titles":["Tables and DataFrames"]},"84":{"title":"Converting to DataFrame","titles":["Tables and DataFrames"]},"85":{"title":"Converting to CSV","titles":["Tables and DataFrames"]}},"dirtCount":0,"index":[["q",{"2":{"84":1}}],["quite",{"2":{"70":1}}],["quick",{"2":{"48":1}}],["quarters",{"2":{"17":1}}],["quantity",{"2":{"5":1}}],["quot",{"2":{"3":2,"6":2,"13":4,"35":2}}],["query",{"2":{"1":16,"3":6,"13":16,"43":1}}],["─────┼──────────────────────────────────────────────────────────────────────────",{"2":{"84":1}}],["──────┼───────────────────────────────────────────",{"2":{"84":1}}],["──────┼───────────────────────────────────────────────",{"2":{"84":1}}],["──────┼───────────────────────────────────",{"2":{"84":1}}],["⋯",{"2":{"84":6}}],["$st",{"2":{"81":2}}],["$da4",{"2":{"33":2}}],["▁",{"2":{"33":2}}],["▇█",{"2":{"33":1}}],["▂",{"2":{"33":1}}],["▃▁▆▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▁▃",{"2":{"33":1}}],["██▆▁▃▁▄▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▅▅▆██",{"2":{"33":1}}],["█",{"2":{"33":2}}],["σ",{"2":{"33":4}}],["±",{"2":{"33":8}}],["┊",{"2":{"33":6}}],["~",{"2":{"31":2}}],["└",{"2":{"31":2}}],["└──────────────────────┘",{"2":{"13":4}}],["└─────────────────────────────────┘",{"2":{"29":1,"30":1}}],["└────────────────────────────────────────────────────────┘",{"2":{"19":1}}],["└───────────────────────────────────────────────────────────┘",{"2":{"13":1}}],["└────────────────────────────────────────────────────────────────┘",{"2":{"28":11,"29":1,"30":1,"31":2,"33":1,"67":3,"72":1}}],["└────────────────────────────────────────────────────────────────────┘",{"2":{"26":1}}],["└────────────────────────────────────────────────────────────────────────┘",{"2":{"17":1}}],["└─────────────────────────────────────────────────────────────────────────┘",{"2":{"15":1,"18":3}}],["└───────────────────────────────────────────────────────────────────────────┘",{"2":{"18":1}}],["└──────────────────────────────────────────────────────────────────────────────┘",{"2":{"0":3,"5":1,"23":3,"25":8,"30":2,"32":2,"43":1,"47":8,"48":11,"49":3,"68":2,"70":2,"72":5,"73":15,"74":1,"75":1,"76":5,"77":1,"78":8,"79":1,"80":25,"83":2,"84":1}}],["└──────────────────────────────────────────────────────────────────────────┘",{"2":{"4":1}}],["└───────────────────────────────────────────────────────────────────────┘",{"2":{"17":2}}],["└─────────────────────────────────────────────────────────────────────┘",{"2":{"13":3,"18":1}}],["└─────────────────────────────────────────────────────────────────┘",{"2":{"15":2}}],["└─────────────────────────────────────────────────────────────┘",{"2":{"5":1,"13":1}}],["└────────────────────────────────────────────────────────────┘",{"2":{"5":2}}],["└─────────────────────────────────────────────┘",{"2":{"15":1}}],["└─────────────────────────────┘",{"2":{"16":1}}],["└───────────────────────────┘",{"2":{"1":1,"3":1,"13":1}}],["┌",{"2":{"31":2}}],["⋱",{"2":{"25":5,"26":1,"47":1,"49":2,"76":2,"83":1,"84":1}}],["|>",{"2":{"23":1}}],["├───────────────┴────────────────────────────────────────────────────────",{"2":{"77":1,"78":6,"80":24}}],["├────────────────┴───────────────────────────────────────────────────────",{"2":{"84":1}}],["├───────────────────┴────────────────────────────────────────────────────",{"2":{"83":1}}],["├────────────────────┴───────────────────────────────────────────────────",{"2":{"79":1}}],["├─────────────────────┴──────────────────────────────────────────────────",{"2":{"80":1}}],["├──────────────────────┴───────────────────────────────────",{"2":{"67":2}}],["├────────────────────────┴─────────────────────────────────",{"2":{"28":1}}],["├─────────────────────────┴────────────────────────────────",{"2":{"29":1,"31":2,"33":1}}],["├─────────────────────────┴─────────────────────────────────",{"2":{"15":2}}],["├─────────────────────────┴─────────────────────────────────────────",{"2":{"15":1,"18":3}}],["├─────────────────────────┴──────────────────────────────────────────────",{"2":{"23":2,"30":1,"73":13,"75":1,"76":3}}],["├─────────────────────────┴───────────────────────────────────────────",{"2":{"18":1}}],["├─────────────────────────┴──────────────────────────────────────────",{"2":{"4":1}}],["├─────────────────────────┴─────────────────────────────────────",{"2":{"13":3,"18":1}}],["├───────────────────────────┴────────────────────────────────────────────",{"2":{"32":2,"43":1,"76":1}}],["├─────────────────────────────┴────────────────────────────",{"2":{"28":1}}],["├─────────────────────────────┴──────────────────────────────────────────",{"2":{"23":1}}],["├───────────────────────────────┴",{"2":{"29":1,"30":1}}],["├───────────────────────────────┴──────────────────────────",{"2":{"28":2}}],["├───────────────────────────────┴──────────────────────────────",{"2":{"26":1}}],["├───────────────────────────────┴────────────────────────────────────────",{"2":{"25":4,"47":1,"48":3,"73":2}}],["├─────────────────────────────────┴──────────────────────────────────────",{"2":{"47":3,"78":1}}],["├───────────────────────────────────┴────────────────────────────────────",{"2":{"70":1,"83":1}}],["├───────────────────────────────────┴──────────────────────",{"2":{"28":1}}],["├──────────────────────────────────────┴─────────────────────────────────",{"2":{"25":1}}],["├────────────────────────────────────────────┴───────────────────────────",{"2":{"74":1}}],["├──────────────────────────────────────────────────┴─────────────────────",{"2":{"48":7}}],["├────────────────────────────────────────────────────────",{"2":{"67":1}}],["├───────────────────────────────────────────────────────────",{"2":{"17":1}}],["├──────────────────────────────────────────────────────────────────",{"2":{"47":1,"48":8,"49":1}}],["├──────────────────────────────────────────────────────────────────────",{"2":{"77":1,"78":6,"79":1,"80":25,"83":1,"84":1}}],["├────────────────────────────────────────────────────────────────────",{"2":{"47":7,"48":11,"49":2,"70":1}}],["├──────────────────────────────────────────────────────────────",{"2":{"17":1}}],["├─────────────────────────────────────────────────────────────",{"2":{"17":2}}],["├──────────────────────────────────────────────────────┴─────────────────",{"2":{"49":1}}],["├──────────────────────────────────────────────────────",{"2":{"28":5}}],["├───────────────────────────────────────────────────┴────────────────────",{"2":{"47":1,"48":1}}],["├───────────────────────────────────────────────────┴─────────────",{"2":{"17":1}}],["├────────────────────────────────────────────────",{"2":{"19":1}}],["├────────────────────────────────────────┴───────────────────────────────",{"2":{"25":1}}],["├───────────────────────────────────────",{"2":{"15":1}}],["├───────────────────────────────────────┴─────────────",{"2":{"13":1}}],["├───────────────────────────────────────┴───────────────",{"2":{"13":1}}],["├────────────────────────────────┴─────────────────────────",{"2":{"28":1}}],["├────────────────────────────────┴────────────────────────────────",{"2":{"17":1}}],["├────────────────────────────────┴───────────────────────────────────────",{"2":{"0":1,"25":2,"47":3}}],["├────────────────────────────┴───────────────────────────────────────────",{"2":{"0":1,"30":1,"49":2,"76":1,"78":1}}],["├──────────────────────────┴───────────────────────────────",{"2":{"28":5,"30":1,"72":1}}],["├──────────────────────────┴───────────────────────────────────────",{"2":{"17":1}}],["├──────────────────────────┴─────────────────────────────────────────────",{"2":{"0":1,"68":2,"70":1,"72":5}}],["├───────────────────────",{"2":{"16":1}}],["├───────────────────────┴────────────────────────────────────────────────",{"2":{"5":1}}],["├───────────────────────┴───────────────────────────────",{"2":{"5":1}}],["├───────────────────────┴──────────────────────────────",{"2":{"5":2}}],["├─────────────────────",{"2":{"1":1,"3":1,"13":1}}],["├────────────────",{"2":{"13":4}}],["├──────────────┴───────────────────────────────────────────",{"2":{"67":1}}],["├──────────────┴───────────────────────────────────",{"2":{"19":1}}],["╭────────────────╮",{"2":{"84":1}}],["╭───────────────────╮",{"2":{"83":1}}],["╭─────────────────────╮",{"2":{"80":1}}],["╭──────────────────────╮",{"2":{"13":4,"67":2}}],["╭────────────────────────╮",{"2":{"28":1}}],["╭─────────────────────────╮",{"2":{"4":1,"13":3,"15":3,"18":5,"23":2,"29":1,"30":1,"31":2,"33":1,"73":13,"75":1,"76":3}}],["╭───────────────────────────╮",{"2":{"1":1,"3":1,"13":1,"32":2,"43":1,"76":1}}],["╭───────────────────────────────╮",{"2":{"25":4,"26":1,"28":2,"29":1,"30":1,"47":1,"48":3,"73":2}}],["╭─────────────────────────────────╮",{"2":{"47":3,"78":1}}],["╭───────────────────────────────────╮",{"2":{"28":1,"70":1,"83":1}}],["╭──────────────────────────────────────╮",{"2":{"25":1}}],["╭────────────────────────────────────────────╮",{"2":{"74":1}}],["╭──────────────────────────────────────────────────────╮",{"2":{"49":1}}],["╭───────────────────────────────────────────────────╮",{"2":{"17":1,"47":1,"48":1}}],["╭──────────────────────────────────────────────────╮",{"2":{"48":7}}],["╭─────────────────────────────────────────────╮",{"2":{"15":1}}],["╭────────────────────────────────────────╮",{"2":{"25":1}}],["╭───────────────────────────────────────╮",{"2":{"13":2}}],["╭────────────────────────────────╮",{"2":{"0":1,"17":1,"25":2,"28":1,"47":3}}],["╭─────────────────────────────╮",{"2":{"16":1,"23":1,"28":1}}],["╭────────────────────────────╮",{"2":{"0":1,"30":1,"49":2,"76":1,"78":1}}],["╭──────────────────────────╮",{"2":{"0":1,"17":1,"28":5,"30":1,"68":2,"70":1,"72":6}}],["╭───────────────────────╮",{"2":{"5":4}}],["╭────────────────────╮",{"2":{"79":1}}],["╭───────────────╮",{"2":{"77":1,"78":6,"80":24}}],["╭──────────────╮",{"2":{"19":1,"67":1}}],["+",{"2":{"18":3,"80":2}}],["⋮",{"2":{"17":3,"25":10,"26":1,"46":8,"47":9,"48":3,"49":3,"76":3,"79":1,"83":2,"84":24,"85":1}}],["𝐓",{"2":{"5":2}}],[">=",{"2":{"73":1}}],[">",{"2":{"5":3,"14":1,"48":2,"73":1}}],["947824",{"2":{"84":1}}],["940199",{"2":{"78":1}}],["949143",{"2":{"76":1}}],["949769",{"2":{"30":1}}],["948532",{"2":{"76":1}}],["948798",{"2":{"47":1}}],["945549",{"2":{"76":1}}],["945147",{"2":{"30":1}}],["94412",{"2":{"32":1}}],["94",{"2":{"25":1,"84":1}}],["941133",{"2":{"15":1}}],["9341886269251364",{"2":{"85":1}}],["934189",{"2":{"84":2}}],["934419",{"2":{"28":1}}],["938732432349465",{"2":{"80":2}}],["938732",{"2":{"78":1}}],["935022",{"2":{"78":1}}],["935937",{"2":{"78":1}}],["939201",{"2":{"83":1}}],["939546",{"2":{"76":1}}],["93972",{"2":{"25":2}}],["930614",{"2":{"76":1}}],["930332",{"2":{"15":1}}],["933212",{"2":{"68":2,"70":2,"72":6}}],["93",{"2":{"25":1}}],["92641",{"2":{"84":1}}],["924198",{"2":{"84":1}}],["924846",{"2":{"78":1}}],["92906",{"2":{"76":1}}],["929034",{"2":{"76":1}}],["929995",{"2":{"26":1}}],["927836",{"2":{"75":1}}],["92721",{"2":{"26":1}}],["9217489713778885",{"2":{"85":1}}],["9219584479428687",{"2":{"85":1}}],["921958",{"2":{"84":2}}],["921936",{"2":{"25":2}}],["921012",{"2":{"47":1,"49":2}}],["925888",{"2":{"76":1}}],["925844",{"2":{"30":1}}],["925367",{"2":{"75":1}}],["925624",{"2":{"30":1}}],["92",{"2":{"25":1,"76":1}}],["920182",{"2":{"23":1}}],["993473",{"2":{"84":1}}],["993001",{"2":{"76":1}}],["994",{"2":{"76":4}}],["992013",{"2":{"73":12}}],["99282",{"2":{"25":1}}],["991676",{"2":{"30":2}}],["99118",{"2":{"30":1}}],["999338",{"2":{"49":2}}],["999348",{"2":{"25":1}}],["999534",{"2":{"47":1}}],["999149",{"2":{"47":1}}],["999957",{"2":{"47":1}}],["999774",{"2":{"47":1}}],["999781",{"2":{"47":1}}],["999742",{"2":{"47":1}}],["999253",{"2":{"47":1}}],["999",{"2":{"26":1}}],["998548",{"2":{"83":1}}],["998253",{"2":{"76":1}}],["998",{"2":{"26":1}}],["997558",{"2":{"84":1}}],["997572",{"2":{"28":2}}],["99726",{"2":{"83":1,"84":1}}],["997",{"2":{"26":1}}],["996358",{"2":{"30":1}}],["996398",{"2":{"29":1,"31":2}}],["996807",{"2":{"28":2}}],["996",{"2":{"26":1}}],["99531",{"2":{"83":1}}],["995",{"2":{"26":1}}],["995683",{"2":{"26":1}}],["99",{"2":{"25":6,"47":1,"49":2,"71":2,"73":1,"84":1}}],["979155",{"2":{"84":1}}],["9708243398463525",{"2":{"80":2}}],["970824",{"2":{"78":1}}],["970303",{"2":{"76":1}}],["97293",{"2":{"76":1}}],["976465",{"2":{"75":1}}],["973",{"2":{"76":1}}],["973357",{"2":{"75":1}}],["973154",{"2":{"23":1}}],["97437",{"2":{"49":2}}],["97406",{"2":{"49":2}}],["97164033242648",{"2":{"80":2}}],["97132e",{"2":{"47":1}}],["971794",{"2":{"30":1}}],["971252",{"2":{"30":1}}],["97129",{"2":{"25":1}}],["97",{"2":{"25":4,"47":1,"49":1,"84":1}}],["9560436529181846",{"2":{"79":1,"81":2}}],["956044",{"2":{"78":1}}],["956886",{"2":{"75":1}}],["953145",{"2":{"76":1}}],["952573",{"2":{"84":1}}],["952744",{"2":{"76":1}}],["95217",{"2":{"26":1}}],["951796",{"2":{"76":1}}],["950338",{"2":{"28":3}}],["958811",{"2":{"28":2}}],["95",{"2":{"23":2,"25":1,"84":1}}],["959434",{"2":{"15":1}}],["987",{"2":{"76":1}}],["980637",{"2":{"49":2}}],["986207",{"2":{"28":1}}],["982762",{"2":{"26":1}}],["98193",{"2":{"26":1}}],["989952",{"2":{"26":1}}],["988957",{"2":{"25":3}}],["98",{"2":{"23":3,"25":6,"47":1,"49":2,"76":1,"84":1}}],["908419",{"2":{"84":1}}],["901156",{"2":{"83":1}}],["909826",{"2":{"76":1}}],["909533",{"2":{"25":3}}],["905295",{"2":{"84":1}}],["905616",{"2":{"76":1}}],["905021",{"2":{"28":3}}],["903705",{"2":{"68":2,"70":2,"72":6}}],["90309",{"2":{"26":1}}],["90203",{"2":{"43":1}}],["90654",{"2":{"84":1}}],["906601",{"2":{"30":1}}],["906871",{"2":{"76":1}}],["906883",{"2":{"28":1}}],["906838",{"2":{"26":1}}],["90645",{"2":{"26":1}}],["9063",{"2":{"15":2}}],["900394",{"2":{"26":1}}],["90",{"2":{"23":1,"25":1}}],["90u",{"2":{"5":1}}],["9630127530566065",{"2":{"85":1}}],["963013",{"2":{"84":2}}],["9655293490481315",{"2":{"85":1}}],["965529",{"2":{"84":2}}],["965008",{"2":{"23":1}}],["960754",{"2":{"83":1,"84":2}}],["960677",{"2":{"25":3}}],["9643902442904744",{"2":{"80":2}}],["966",{"2":{"76":1}}],["969026",{"2":{"43":1}}],["962808",{"2":{"30":1}}],["968484",{"2":{"30":1}}],["96",{"2":{"5":2,"25":1,"47":1,"49":1,"76":1,"84":1}}],["91454",{"2":{"84":1}}],["91495",{"2":{"26":1}}],["918952",{"2":{"83":1}}],["91305",{"2":{"78":1}}],["913321",{"2":{"76":1}}],["912254",{"2":{"78":1}}],["912676",{"2":{"28":1}}],["919448",{"2":{"76":1}}],["919534",{"2":{"25":3}}],["917457",{"2":{"32":1}}],["917543",{"2":{"28":1}}],["916702",{"2":{"32":1}}],["910836",{"2":{"76":1}}],["910098",{"2":{"73":3}}],["910981",{"2":{"29":2,"31":2}}],["910412",{"2":{"25":3}}],["9155",{"2":{"26":1}}],["91",{"2":{"5":2,"25":1}}],["9",{"2":{"4":2,"15":2,"18":2,"23":3,"25":2,"43":7,"46":1,"48":18,"74":1,"76":6,"78":3,"83":2,"84":4,"85":2}}],["7×5",{"2":{"75":1}}],["7×3",{"2":{"30":1}}],["7959265671836858",{"2":{"85":1}}],["795927",{"2":{"84":2}}],["7938317326707394",{"2":{"85":1}}],["793832",{"2":{"84":2}}],["79388",{"2":{"25":2}}],["7904180889084199",{"2":{"79":1}}],["790418",{"2":{"78":1}}],["798",{"2":{"76":2}}],["798621",{"2":{"30":1}}],["791844",{"2":{"76":1}}],["794725",{"2":{"75":1}}],["796999",{"2":{"75":1}}],["796812",{"2":{"28":1}}],["799964",{"2":{"43":1}}],["799977",{"2":{"23":1}}],["797168",{"2":{"28":3}}],["79785",{"2":{"25":2}}],["792885",{"2":{"28":2}}],["79",{"2":{"25":1}}],["778193",{"2":{"83":1}}],["778222",{"2":{"26":1}}],["771237",{"2":{"76":1}}],["772277",{"2":{"75":1}}],["776593",{"2":{"30":1}}],["770316",{"2":{"29":1,"31":2}}],["775377",{"2":{"28":3}}],["77",{"2":{"25":1}}],["774131",{"2":{"25":3}}],["774092",{"2":{"13":1,"15":1}}],["71403",{"2":{"83":1}}],["7140841681506571",{"2":{"79":1}}],["7177678881661339",{"2":{"79":1}}],["712805",{"2":{"76":1}}],["71953",{"2":{"76":1}}],["719849",{"2":{"76":1}}],["719974",{"2":{"26":1}}],["71372",{"2":{"76":1}}],["711133",{"2":{"75":1}}],["716257",{"2":{"29":1,"31":2}}],["71",{"2":{"25":1}}],["75985",{"2":{"76":1}}],["759047",{"2":{"25":3}}],["751977",{"2":{"73":5}}],["75622",{"2":{"49":1}}],["75275",{"2":{"48":4}}],["757228",{"2":{"47":1}}],["754468",{"2":{"30":2}}],["750146",{"2":{"28":1}}],["755722",{"2":{"43":1}}],["755958",{"2":{"28":3}}],["75568",{"2":{"26":1}}],["758149",{"2":{"76":1}}],["758865",{"2":{"32":1}}],["75847",{"2":{"26":1}}],["758203",{"2":{"23":1}}],["75",{"2":{"25":1}}],["726966",{"2":{"84":1}}],["722335",{"2":{"78":1}}],["72217",{"2":{"76":1}}],["725774",{"2":{"76":2}}],["721253",{"2":{"76":1}}],["721125",{"2":{"75":1}}],["721101",{"2":{"25":3}}],["727405",{"2":{"76":1}}],["724709",{"2":{"29":1,"31":2}}],["72",{"2":{"23":1,"25":1,"48":1}}],["747231",{"2":{"84":1}}],["747695",{"2":{"76":1}}],["745734",{"2":{"78":1}}],["745673",{"2":{"13":1,"15":2}}],["742451",{"2":{"76":1}}],["742732",{"2":{"43":1}}],["746037",{"2":{"76":2}}],["746465",{"2":{"25":3}}],["748041",{"2":{"75":1}}],["748725",{"2":{"43":1}}],["744517",{"2":{"68":2,"70":2,"72":6}}],["74428",{"2":{"30":1}}],["749403",{"2":{"84":1}}],["749573",{"2":{"30":1}}],["749829",{"2":{"25":3}}],["741593",{"2":{"28":3}}],["74",{"2":{"23":1,"25":1}}],["701935",{"2":{"84":1}}],["7057009741792366",{"2":{"79":1}}],["705582",{"2":{"30":2}}],["707629",{"2":{"76":1}}],["707692",{"2":{"28":3}}],["7041047189542633",{"2":{"79":1}}],["704105",{"2":{"78":1}}],["70488",{"2":{"32":1}}],["704613",{"2":{"25":3}}],["708081",{"2":{"30":2}}],["700218",{"2":{"28":1}}],["700389",{"2":{"28":2}}],["702845",{"2":{"43":1}}],["702956",{"2":{"30":1}}],["702944",{"2":{"26":1}}],["702787",{"2":{"25":3}}],["706165",{"2":{"25":3}}],["70",{"2":{"23":1,"25":1,"75":3}}],["70366",{"2":{"23":1}}],["786614",{"2":{"84":1}}],["785915",{"2":{"84":1}}],["7802406914680406",{"2":{"79":2}}],["78028",{"2":{"26":1}}],["780527",{"2":{"78":1}}],["7814968833366662",{"2":{"79":1}}],["781923",{"2":{"76":1}}],["78136e",{"2":{"47":1}}],["788056",{"2":{"78":1}}],["788252",{"2":{"76":1}}],["788358",{"2":{"25":3}}],["782777",{"2":{"83":1,"84":2}}],["782344",{"2":{"76":1}}],["782081",{"2":{"73":5}}],["7826",{"2":{"28":1}}],["784693",{"2":{"30":1}}],["783195",{"2":{"30":1}}],["789198",{"2":{"29":1,"31":2}}],["78",{"2":{"23":2,"25":1}}],["767136",{"2":{"83":1}}],["760043",{"2":{"76":1}}],["760205",{"2":{"28":1}}],["764895",{"2":{"75":1}}],["764613",{"2":{"28":1}}],["76668",{"2":{"32":1}}],["769884",{"2":{"30":2}}],["762",{"2":{"33":1}}],["762199",{"2":{"30":1}}],["762722",{"2":{"30":1}}],["765715",{"2":{"84":1}}],["765773",{"2":{"28":2}}],["765808",{"2":{"30":1}}],["768418",{"2":{"84":1}}],["768488",{"2":{"75":1}}],["768639",{"2":{"30":1}}],["768325",{"2":{"28":1}}],["761347",{"2":{"28":2}}],["76",{"2":{"23":4,"25":1}}],["73427",{"2":{"83":1}}],["734452",{"2":{"43":1}}],["737151",{"2":{"76":1}}],["737979",{"2":{"28":2}}],["730",{"2":{"47":2}}],["73591",{"2":{"26":1}}],["73623",{"2":{"26":1}}],["73",{"2":{"23":1,"25":1,"48":1}}],["7",{"2":{"4":4,"5":5,"23":1,"25":4,"28":102,"30":6,"43":9,"46":10,"48":5,"74":1,"75":1,"78":3,"80":20,"83":1,"84":12,"85":2}}],["rows",{"2":{"84":4}}],["row",{"2":{"84":4}}],["rot180",{"2":{"80":2}}],["rotr90",{"2":{"80":2}}],["rotl90",{"2":{"80":2}}],["rotated",{"2":{"4":1,"80":1}}],["rotations",{"2":{"3":1}}],["runtime",{"2":{"33":1}}],["running",{"2":{"26":1,"48":1}}],["rule",{"2":{"19":2}}],["right",{"2":{"23":3,"61":2,"72":2}}],["r",{"2":{"13":2,"84":1}}],["rtol=nothing",{"2":{"5":1}}],["rainclouds",{"2":{"61":1}}],["raw",{"2":{"48":1}}],["rarely",{"2":{"34":1}}],["rasterization",{"2":{"51":1}}],["rasterize",{"2":{"5":1}}],["raster",{"2":{"36":1,"51":3}}],["rasterstack",{"2":{"36":1,"51":1}}],["rasters",{"0":{"51":1},"2":{"4":3,"18":1,"34":1,"36":1,"51":2,"52":1}}],["randn",{"2":{"19":2}}],["random",{"2":{"13":3}}],["rand",{"2":{"4":3,"13":9,"15":3,"17":1,"18":1,"23":3,"25":1,"26":1,"28":6,"29":1,"30":1,"32":1,"42":4,"43":1,"47":1,"61":1,"63":1,"68":1,"73":1,"75":1,"76":3,"78":3,"83":2}}],["ranges",{"2":{"5":1,"17":1,"31":1,"48":6,"73":3,"75":4}}],["range",{"2":{"4":2,"5":4,"13":2,"18":1,"33":2,"41":1,"46":2,"48":1,"51":1,"73":1,"75":1}}],["rather",{"2":{"3":1,"4":2,"5":1,"9":1,"17":2,"27":1,"66":1,"68":1}}],["red",{"2":{"64":1,"65":1}}],["reductions",{"2":{"13":1,"34":1}}],["reducing",{"0":{"47":1,"80":1},"2":{"13":1,"17":3}}],["reduce",{"2":{"3":1,"17":2,"32":1,"80":2}}],["reduced",{"2":{"3":1}}],["reducedims",{"2":{"3":1}}],["receive",{"2":{"40":1}}],["recommended",{"2":{"22":1}}],["reconstruction",{"2":{"13":1,"40":1}}],["rev",{"2":{"18":2}}],["reversal",{"2":{"18":1}}],["reverseordered",{"2":{"4":5,"7":3,"43":15,"44":14,"48":1,"68":5,"75":2,"76":2,"80":8}}],["reverse",{"2":{"4":1,"7":1,"18":4,"32":1,"43":1,"68":1,"80":1}}],["reversed",{"2":{"4":1}}],["reordering",{"2":{"18":1}}],["reorder",{"0":{"68":1},"2":{"18":8,"61":1,"68":4}}],["relationships",{"2":{"34":1}}],["related",{"2":{"27":1}}],["relying",{"2":{"17":1}}],["reliable",{"2":{"4":1}}],["reasons",{"2":{"51":1}}],["reason",{"2":{"27":1,"51":1}}],["readlines",{"2":{"85":1}}],["read",{"2":{"21":2}}],["reading",{"2":{"17":1}}],["real",{"2":{"4":1}}],["really",{"2":{"3":1,"71":1}}],["remove",{"2":{"19":4}}],["removed",{"2":{"5":1}}],["removing",{"2":{"14":1}}],["reshape",{"2":{"24":1,"69":1}}],["reshaping",{"2":{"18":2}}],["restored",{"2":{"18":1}}],["resshape",{"2":{"18":1}}],["resolve",{"2":{"14":1,"31":1}}],["result",{"2":{"5":1,"14":1,"18":3,"26":1,"31":1,"82":1}}],["results",{"2":{"5":2,"17":2,"60":1}}],["rebuilt",{"2":{"13":1,"18":1,"66":1}}],["rebuilding",{"2":{"18":1}}],["rebuild",{"0":{"40":1,"70":1,"71":1},"1":{"71":1},"2":{"4":2,"13":3,"14":2,"18":6,"21":54,"27":1,"36":1,"40":7,"42":40,"70":6,"71":2,"72":1}}],["requires",{"2":{"39":1,"48":1}}],["require",{"2":{"9":1}}],["required",{"2":{"0":1,"3":1,"11":1,"16":1,"18":4,"27":1}}],["repl",{"2":{"74":1}}],["replaces",{"2":{"3":1,"27":1}}],["replaced",{"2":{"3":1,"8":1}}],["replace",{"2":{"3":2,"18":1,"67":1}}],["represents",{"2":{"38":1,"77":1}}],["representing",{"2":{"4":1}}],["represent",{"2":{"4":1,"10":1}}],["refdim",{"2":{"21":1}}],["refdims=refdims",{"2":{"14":1}}],["refdims=",{"2":{"13":1}}],["refdims",{"2":{"13":9,"18":2,"21":21,"40":1,"42":12,"70":2}}],["refence",{"2":{"13":1}}],["reference",{"0":{"12":1},"1":{"13":1,"14":1,"15":1,"16":1},"2":{"3":2,"13":3,"21":1,"36":1}}],["refer",{"2":{"0":1,"9":1}}],["ref",{"2":{"3":1}}],["rewraps",{"2":{"3":1}}],["retrieved",{"2":{"35":1}}],["retrieves",{"2":{"5":1,"43":1}}],["retrieve",{"2":{"2":1,"5":1,"43":1}}],["returning",{"2":{"3":1,"11":1,"19":2,"80":1,"81":1}}],["returns",{"2":{"2":1,"3":3,"5":1,"11":2,"13":3,"14":2,"15":1,"17":1,"21":2,"42":2,"43":1,"46":1,"48":3,"79":1}}],["returned",{"2":{"1":1,"3":2,"4":1,"11":1,"13":1,"17":2,"18":4,"35":1,"38":1,"44":1}}],["return",{"2":{"1":3,"3":3,"4":8,"5":2,"13":6,"14":7,"17":7,"18":7,"37":1,"38":1,"39":2,"43":1,"44":1,"79":2}}],["regular",{"2":{"0":5,"2":1,"4":7,"5":4,"8":4,"10":2,"13":5,"15":2,"16":1,"17":2,"18":9,"19":1,"23":4,"24":2,"25":21,"26":3,"30":2,"36":1,"39":1,"43":30,"44":28,"47":2,"48":1,"49":5,"68":2,"70":2,"72":5,"73":7,"74":3,"75":3,"76":6,"77":2,"78":15,"79":1,"80":49,"83":4,"84":2}}],["k",{"2":{"84":1}}],["kind",{"2":{"46":1}}],["kinds",{"2":{"13":4,"28":1}}],["knowing",{"2":{"30":1}}],["knows",{"2":{"25":1,"36":1}}],["know",{"2":{"17":1,"24":1,"70":1,"71":1}}],["known",{"2":{"4":5,"10":1,"30":1}}],["kw",{"2":{"3":5,"4":1,"5":1,"11":1,"13":10,"14":5,"18":3,"21":17,"40":2,"42":10,"70":2}}],["kernels",{"2":{"27":1}}],["kernelabstractions",{"2":{"27":1}}],["kernel",{"2":{"27":1}}],["keeping",{"2":{"3":1}}],["keep",{"2":{"3":1,"18":2,"20":1,"48":1}}],["key",{"2":{"19":3,"36":1}}],["keys=",{"2":{"19":2}}],["keys=keys",{"2":{"19":2}}],["keys",{"2":{"0":1,"11":2,"14":1,"19":2,"21":4,"48":1,"78":2}}],["keywords",{"0":{"32":1,"39":1},"2":{"3":2,"4":2,"13":4,"15":2,"16":1,"17":5,"18":1,"19":1,"21":5,"29":1,"31":1,"32":1,"40":1,"41":1,"42":2,"70":4,"71":1}}],["keyword",{"2":{"0":1,"4":3,"5":1,"13":1,"14":1,"17":1,"18":2,"19":1,"39":1,"40":2,"71":1}}],["kept",{"2":{"0":1,"3":1}}],["┤",{"2":{"1":1,"3":1,"13":5,"15":1,"16":1,"17":4,"19":1,"28":5,"47":8,"48":19,"49":3,"67":1,"70":1,"77":1,"78":6,"79":1,"80":25,"83":1,"84":1}}],["u",{"2":{"84":1}}],["utility",{"0":{"18":1}}],["updating",{"2":{"40":1}}],["update",{"2":{"18":3}}],["updates",{"2":{"13":1,"21":6,"42":6}}],["updated",{"2":{"3":2,"18":4,"21":6,"42":6}}],["upperbound",{"2":{"8":1}}],["upper",{"2":{"5":1,"8":1}}],["unrolled",{"2":{"82":1}}],["unambiguous",{"2":{"43":1}}],["unaltered",{"2":{"4":1}}],["unaligned",{"2":{"4":4}}],["unclosed",{"2":{"21":1}}],["unmerged",{"2":{"18":1}}],["unmergedims",{"2":{"18":2}}],["unmatched",{"2":{"1":1,"13":1}}],["unknown",{"2":{"15":1,"75":1}}],["underneath",{"2":{"71":1}}],["underlying",{"2":{"1":1,"13":1,"19":1}}],["undefined",{"2":{"4":1,"13":2,"17":1,"41":1}}],["unless",{"2":{"4":4,"5":1,"31":1,"75":1,"82":1}}],["unlike",{"2":{"3":2,"11":1,"15":1,"72":1}}],["unordered",{"2":{"4":6,"7":3,"48":3,"72":2,"74":2,"75":2}}],["unitrange",{"2":{"17":2,"25":1,"48":3,"73":2}}],["unit",{"2":{"11":2}}],["unitful",{"2":{"5":3}}],["units",{"2":{"2":1,"11":5}}],["unionall",{"2":{"3":1}}],["union",{"2":{"2":1,"3":1,"4":5,"5":1,"11":3,"17":2,"18":2,"20":1}}],["usual",{"2":{"24":1}}],["usually",{"2":{"0":1,"3":2,"13":1,"39":1,"46":1,"72":1,"73":1,"74":2,"81":1}}],["us",{"2":{"11":1,"30":1,"35":1,"72":1}}],["user",{"2":{"34":1}}],["uses",{"2":{"4":1,"8":1,"27":2,"35":1,"56":1,"59":1,"70":1}}],["useful",{"2":{"1":1,"3":3,"4":6,"15":1,"18":1,"43":1,"67":1,"70":1}}],["use",{"2":{"0":3,"3":1,"4":2,"5":3,"7":1,"11":1,"13":2,"14":3,"15":1,"18":3,"19":4,"20":3,"22":1,"25":1,"26":1,"29":1,"30":1,"31":1,"40":1,"44":1,"47":1,"48":5,"70":1,"73":1,"76":1}}],["used",{"2":{"0":7,"2":1,"3":4,"4":7,"5":6,"6":1,"8":1,"9":1,"10":7,"14":2,"15":4,"17":9,"18":4,"19":1,"30":2,"31":2,"32":1,"34":1,"35":1,"40":3,"43":1,"46":1,"47":1,"57":1,"61":1,"70":1,"74":1,"75":3}}],["using",{"2":{"0":2,"1":4,"3":1,"4":5,"5":3,"11":2,"13":10,"14":1,"15":2,"16":2,"17":1,"18":6,"19":3,"22":2,"23":1,"25":2,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"35":1,"40":2,"42":1,"43":3,"46":2,"47":1,"67":1,"68":1,"73":2,"74":1,"77":1,"81":1,"83":2,"84":2}}],["v",{"2":{"84":1}}],["visualise",{"2":{"58":1}}],["via",{"2":{"34":1}}],["views",{"2":{"19":2,"56":1}}],["view",{"2":{"3":1,"13":1,"14":2,"15":1,"31":1}}],["versions",{"2":{"40":2}}],["version",{"2":{"14":1,"18":2,"22":1,"40":1,"70":1,"71":1}}],["very",{"2":{"14":2,"52":1,"70":1,"81":1}}],["vectors",{"2":{"3":1,"30":1,"73":3}}],["vector",{"2":{"0":1,"4":2,"5":6,"14":1,"17":11,"18":2,"30":2,"43":2,"46":8,"48":4,"73":5,"74":3,"79":2,"85":1}}],["var",{"2":{"32":1,"80":2}}],["variable",{"2":{"18":1,"61":1,"66":1}}],["vararg",{"2":{"1":4,"2":3,"3":6,"4":5,"13":10,"14":2,"16":1,"18":3,"21":1,"30":1}}],["valtype",{"2":{"3":1}}],["valid",{"2":{"3":1}}],["val",{"2":{"2":2,"3":1,"4":4,"11":1,"18":5,"35":2,"39":2,"43":3,"70":4}}],["val=",{"2":{"0":5}}],["value",{"2":{"0":1,"3":2,"4":2,"5":15,"8":1,"9":1,"10":1,"13":5,"14":3,"15":1,"17":7,"20":1,"28":1,"29":1,"35":1,"43":2,"73":4,"81":1}}],["values=autovalues",{"2":{"4":1}}],["values",{"2":{"0":1,"2":1,"3":4,"4":15,"5":17,"7":1,"9":2,"10":6,"13":1,"14":3,"15":5,"17":8,"18":3,"19":5,"21":1,"24":1,"38":1,"40":1,"46":1,"48":5,"60":1,"66":1,"69":1,"70":1,"72":2,"73":5,"74":5,"75":3,"76":1,"79":2}}],["nanoseconds",{"2":{"81":1}}],["names",{"0":{"29":1},"2":{"16":1,"18":2,"19":4,"20":1,"24":1,"29":1,"35":2,"43":1,"73":1,"74":1}}],["name=nothing",{"2":{"14":1}}],["name=noname",{"2":{"13":1}}],["name=",{"2":{"13":1,"14":3,"18":1,"25":1,"28":5,"70":1,"83":1}}],["name2dim",{"2":{"3":3}}],["name",{"0":{"20":1},"2":{"2":1,"13":10,"16":2,"18":4,"20":11,"21":4,"24":1,"27":3,"29":1,"35":2,"40":1,"42":4,"70":2,"73":1,"77":1,"78":2,"82":2}}],["namedtuple",{"0":{"78":1},"2":{"11":3,"14":12,"18":3,"21":2,"25":1,"77":2,"78":1,"79":4,"81":1}}],["named",{"2":{"0":1,"10":2,"20":1,"28":1,"31":1,"35":1,"55":1,"64":1}}],["n=rand",{"2":{"78":1}}],["nt",{"2":{"71":2}}],["ntuple",{"2":{"1":3,"2":3,"13":5}}],["night",{"2":{"48":4}}],["nice",{"2":{"48":1}}],["ncdatasets",{"2":{"34":1}}],["ns",{"2":{"33":14,"81":2}}],["ndims",{"2":{"21":5,"42":3}}],["nvidia",{"2":{"18":1}}],["neighbor",{"2":{"76":1}}],["neighbour",{"2":{"15":1}}],["necessary",{"2":{"20":1}}],["necessarily",{"2":{"18":1}}],["netcdf",{"2":{"10":1,"34":1}}],["next",{"2":{"5":1}}],["needed",{"2":{"27":1,"70":1,"75":1}}],["needs",{"2":{"20":1,"21":1}}],["need",{"2":{"4":1,"14":3,"17":1,"18":4,"22":1,"27":3}}],["nearly",{"2":{"36":1}}],["nearsest",{"2":{"5":1}}],["nearest",{"2":{"5":3,"15":1,"76":1}}],["near",{"2":{"4":2,"5":7,"13":2,"15":2,"73":3,"76":2}}],["newdim",{"2":{"3":4}}],["newdims",{"2":{"3":4}}],["new",{"2":{"0":1,"3":5,"4":1,"13":2,"16":1,"18":13,"36":1,"40":1,"80":1}}],["nosampling",{"2":{"72":1}}],["nospan",{"2":{"72":1}}],["nov",{"2":{"48":4,"74":1}}],["now",{"2":{"46":1,"48":1,"55":1,"74":1,"79":1}}],["normalization",{"2":{"49":1}}],["normal",{"2":{"7":1,"20":1}}],["nometadata",{"2":{"4":3,"11":2,"13":1,"25":2}}],["nolookup",{"2":{"4":11,"13":4,"18":1,"72":2,"74":9,"75":1}}],["no",{"2":{"2":1,"3":3,"4":2,"11":1,"18":2,"24":1,"33":1,"34":1,"72":1,"74":1,"75":1,"81":1}}],["noname",{"2":{"18":1,"20":5}}],["non",{"0":{"2":1},"2":{"13":2,"14":1}}],["notice",{"2":{"15":1,"17":1}}],["notably",{"2":{"14":2,"57":1}}],["note",{"2":{"5":1,"17":1,"18":1,"21":1,"48":2}}],["notes",{"2":{"4":1,"18":1}}],["nothing",{"2":{"1":1,"3":3,"4":1,"5":1,"8":2,"11":4,"13":1,"75":4}}],["not",{"2":{"0":1,"1":1,"3":4,"4":6,"5":8,"10":3,"11":4,"13":1,"15":2,"17":1,"18":7,"19":3,"20":2,"21":4,"24":1,"25":1,"27":1,"30":1,"31":2,"40":1,"41":1,"43":1,"48":3,"51":1,"60":1,"68":1,"70":3,"72":1,"73":4,"74":2,"75":1,"78":3,"79":1,"80":1,"82":1}}],["number",{"2":{"1":1,"3":1,"4":1,"13":1,"17":5,"21":2,"42":2,"70":1,"75":1}}],["n",{"2":{"1":1,"2":3,"3":1,"4":3,"13":3,"48":1,"68":5,"70":4,"72":6,"78":3,"84":1}}],["`refdims`",{"2":{"42":2}}],["`dims`",{"2":{"42":2}}],["`da`",{"2":{"18":1}}],["`cuarray`",{"2":{"26":1}}],["`modify`",{"2":{"26":1}}],["`openinterval",{"2":{"5":1}}],["`",{"2":{"0":1,"18":2}}],["879411",{"2":{"78":1}}],["879899",{"2":{"28":3}}],["872742",{"2":{"75":1}}],["875994",{"2":{"47":1}}],["873096",{"2":{"30":1}}],["876115",{"2":{"30":1}}],["876395",{"2":{"28":3}}],["870641",{"2":{"76":2}}],["870583",{"2":{"30":1}}],["870485",{"2":{"15":1}}],["87475",{"2":{"76":1}}],["874735",{"2":{"73":3}}],["874037",{"2":{"28":1}}],["87436",{"2":{"26":1}}],["87",{"2":{"25":1}}],["851065529408329",{"2":{"80":2}}],["851044",{"2":{"76":1}}],["856029",{"2":{"76":1}}],["856524",{"2":{"43":1}}],["855976",{"2":{"76":1}}],["853835",{"2":{"30":1}}],["853879",{"2":{"25":3}}],["854076",{"2":{"28":3}}],["854739",{"2":{"26":1}}],["85",{"2":{"25":1,"84":1}}],["844321",{"2":{"84":1}}],["844262",{"2":{"25":5}}],["849817",{"2":{"84":1}}],["842552",{"2":{"78":1}}],["84219",{"2":{"25":2}}],["841169",{"2":{"78":1}}],["846254",{"2":{"83":1,"84":2}}],["846581",{"2":{"47":1}}],["846",{"2":{"31":2}}],["846175",{"2":{"28":2}}],["847981",{"2":{"28":1}}],["84",{"2":{"25":1,"76":1}}],["836907965319872",{"2":{"85":1}}],["836407",{"2":{"73":12}}],["838211",{"2":{"76":1}}],["838572",{"2":{"76":1}}],["833475",{"2":{"76":1}}],["839223",{"2":{"43":1}}],["83904",{"2":{"25":2}}],["830655",{"2":{"43":1}}],["830187",{"2":{"29":1,"31":2}}],["83056",{"2":{"26":1}}],["835288",{"2":{"26":1}}],["83",{"2":{"25":1}}],["810841",{"2":{"84":1}}],["812106",{"2":{"76":1}}],["812342",{"2":{"76":1}}],["811947",{"2":{"32":1}}],["813229",{"2":{"28":1}}],["813705",{"2":{"28":3}}],["81708",{"2":{"26":1}}],["81",{"2":{"25":1}}],["899242",{"2":{"83":1}}],["89559",{"2":{"76":1}}],["898833",{"2":{"76":2}}],["896537",{"2":{"84":1}}],["896257",{"2":{"76":1}}],["89609",{"2":{"30":1}}],["89757",{"2":{"43":1}}],["89248",{"2":{"32":1}}],["891637",{"2":{"76":1}}],["891663",{"2":{"30":1}}],["891743",{"2":{"28":2}}],["893267",{"2":{"28":2}}],["893537",{"2":{"15":1}}],["89",{"2":{"23":1,"25":1}}],["8219403925584018",{"2":{"85":1}}],["82194",{"2":{"84":2}}],["824659",{"2":{"76":1}}],["824656",{"2":{"76":1}}],["824556",{"2":{"68":2,"70":2,"72":6}}],["825676",{"2":{"76":1}}],["822783",{"2":{"73":3}}],["826098",{"2":{"28":3}}],["827655",{"2":{"28":2}}],["8234",{"2":{"28":1}}],["82356",{"2":{"25":2}}],["823656",{"2":{"13":1}}],["82862",{"2":{"25":1}}],["82",{"2":{"23":1,"25":1,"47":2}}],["887684",{"2":{"84":1}}],["887397",{"2":{"78":1}}],["889194",{"2":{"84":2}}],["889153",{"2":{"47":1}}],["882656",{"2":{"76":1}}],["883323",{"2":{"76":1}}],["883222",{"2":{"75":1}}],["883048",{"2":{"30":1}}],["884218",{"2":{"68":2,"70":2,"72":6}}],["881533",{"2":{"30":1}}],["881149",{"2":{"26":1}}],["88841",{"2":{"30":1}}],["88869",{"2":{"26":1}}],["886959",{"2":{"28":2}}],["880178",{"2":{"76":1}}],["88092",{"2":{"26":1}}],["88058",{"2":{"26":1}}],["88",{"2":{"23":1,"25":1,"76":1}}],["865462",{"2":{"84":1}}],["865298",{"2":{"28":3}}],["8698",{"2":{"78":1}}],["86986",{"2":{"32":1}}],["86273",{"2":{"75":1}}],["86789",{"2":{"68":2,"70":2,"72":6}}],["867547",{"2":{"13":1,"15":1}}],["86858",{"2":{"43":1}}],["868064",{"2":{"23":1}}],["866772",{"2":{"30":1}}],["866334",{"2":{"28":3}}],["861783",{"2":{"76":1}}],["86174",{"2":{"26":1}}],["861535",{"2":{"43":1}}],["86194",{"2":{"32":1}}],["861652",{"2":{"25":3}}],["86",{"2":{"23":2,"25":1}}],["864856",{"2":{"15":1}}],["807522",{"2":{"83":1,"84":2}}],["8030281996030815",{"2":{"79":3,"80":2}}],["8002301328044032",{"2":{"79":2}}],["800084",{"2":{"25":3}}],["808144",{"2":{"76":1}}],["801242",{"2":{"76":1}}],["806689",{"2":{"83":1,"84":1}}],["806166",{"2":{"75":1}}],["806005979085237",{"2":{"73":1}}],["806006",{"2":{"73":12}}],["805743",{"2":{"43":1}}],["80455",{"2":{"26":1}}],["80",{"2":{"4":1,"25":1,"48":1}}],["8",{"2":{"0":1,"4":1,"5":2,"14":1,"23":1,"25":4,"30":4,"43":7,"46":1,"48":11,"73":8,"74":2,"76":8,"78":3,"80":2,"83":2,"84":12,"85":2}}],["6×10",{"2":{"78":1,"80":30}}],["6×6",{"2":{"76":3}}],["6×3",{"2":{"73":2}}],["6am",{"2":{"48":1}}],["685603",{"2":{"83":1,"84":2}}],["685225",{"2":{"83":1}}],["684303",{"2":{"83":1}}],["680987",{"2":{"76":1}}],["687921",{"2":{"76":1}}],["687236",{"2":{"30":1}}],["686915",{"2":{"68":2,"70":2,"72":6}}],["688928",{"2":{"28":2}}],["688175",{"2":{"28":2}}],["689712",{"2":{"28":2}}],["68136",{"2":{"28":2}}],["68",{"2":{"25":1}}],["68326",{"2":{"25":3}}],["68316",{"2":{"23":1}}],["673494",{"2":{"76":1}}],["679453",{"2":{"76":1}}],["672504",{"2":{"76":1}}],["674881",{"2":{"47":1}}],["676945",{"2":{"30":1}}],["677743",{"2":{"73":3}}],["677549",{"2":{"47":1}}],["6778",{"2":{"30":1}}],["677848",{"2":{"30":1}}],["677974",{"2":{"28":1}}],["677207",{"2":{"28":1}}],["675126",{"2":{"30":1}}],["675467",{"2":{"28":1}}],["67539",{"2":{"25":3}}],["67178",{"2":{"28":1}}],["670688",{"2":{"28":3}}],["67",{"2":{"25":1,"33":1}}],["66882",{"2":{"83":1,"84":1}}],["668594",{"2":{"25":3}}],["6691920691407321",{"2":{"79":1}}],["6607317073817457",{"2":{"80":1}}],["660823",{"2":{"76":1}}],["660024",{"2":{"43":1}}],["664597",{"2":{"84":1}}],["66424",{"2":{"76":1}}],["664038",{"2":{"47":1,"49":2}}],["6672884952890055",{"2":{"79":2}}],["6675",{"2":{"76":1}}],["667691",{"2":{"30":1}}],["667976",{"2":{"28":1}}],["661715",{"2":{"28":1}}],["66622",{"2":{"26":1}}],["665742",{"2":{"26":1}}],["66",{"2":{"25":1}}],["653044",{"2":{"84":1}}],["653364",{"2":{"76":1}}],["652397",{"2":{"83":1}}],["6518774627227301",{"2":{"79":1}}],["651538",{"2":{"76":1}}],["6598361711868228",{"2":{"79":1}}],["659836",{"2":{"78":1}}],["659048",{"2":{"75":1}}],["65906",{"2":{"43":1}}],["650675",{"2":{"76":1}}],["654129",{"2":{"49":1}}],["654537",{"2":{"47":1,"49":2}}],["654591",{"2":{"43":1}}],["655936",{"2":{"30":2}}],["65",{"2":{"25":1,"48":1}}],["64500911377966e",{"2":{"80":1}}],["645043",{"2":{"76":1}}],["647062",{"2":{"76":1}}],["647328",{"2":{"25":3}}],["640577",{"2":{"76":2}}],["640693",{"2":{"30":1}}],["649595",{"2":{"76":1}}],["64923",{"2":{"32":1}}],["641023",{"2":{"30":1}}],["644748",{"2":{"30":2}}],["642908",{"2":{"26":1}}],["64",{"2":{"25":1,"48":1}}],["634405",{"2":{"84":1}}],["634008",{"2":{"84":1}}],["635786",{"2":{"84":1}}],["635425",{"2":{"30":1}}],["630782",{"2":{"76":1}}],["631878",{"2":{"76":1}}],["639993",{"2":{"84":1}}],["639212",{"2":{"47":1,"49":1}}],["63959",{"2":{"43":1}}],["638072",{"2":{"30":1}}],["638336",{"2":{"30":1}}],["63",{"2":{"25":1}}],["637399",{"2":{"25":3}}],["637077",{"2":{"13":2}}],["6206571460949776",{"2":{"79":1}}],["620657",{"2":{"78":1}}],["621662",{"2":{"76":1}}],["621603",{"2":{"75":1}}],["621601",{"2":{"25":3}}],["627002",{"2":{"30":1}}],["627107",{"2":{"28":3}}],["629352",{"2":{"30":2}}],["629882",{"2":{"28":1}}],["625257",{"2":{"28":1}}],["628875",{"2":{"83":1}}],["628507",{"2":{"28":2}}],["628275",{"2":{"28":2}}],["62",{"2":{"25":1}}],["624685",{"2":{"25":5}}],["6163310918833074",{"2":{"85":1}}],["616331",{"2":{"84":2}}],["616635",{"2":{"47":1}}],["616666",{"2":{"43":1}}],["612615296500003e",{"2":{"80":1}}],["61378",{"2":{"83":1}}],["613381",{"2":{"76":1}}],["61341",{"2":{"25":2}}],["618541",{"2":{"76":1}}],["61858",{"2":{"25":2}}],["615705",{"2":{"72":1}}],["614012",{"2":{"30":1}}],["61025",{"2":{"26":1}}],["61",{"2":{"23":1,"25":1}}],["699118",{"2":{"76":1}}],["69689e",{"2":{"47":1}}],["697976",{"2":{"30":1}}],["69506",{"2":{"26":1}}],["69",{"2":{"23":1,"25":1}}],["691162",{"2":{"15":1}}],["692209",{"2":{"15":2}}],["692235",{"2":{"13":1}}],["6072910004472037",{"2":{"85":1}}],["607291",{"2":{"84":2}}],["603358",{"2":{"83":1}}],["605097",{"2":{"83":1}}],["605375",{"2":{"76":1}}],["6067463820279478",{"2":{"79":1}}],["606746",{"2":{"78":1}}],["606279",{"2":{"30":1}}],["602",{"2":{"76":1}}],["608086",{"2":{"76":1}}],["608263",{"2":{"76":1}}],["601474",{"2":{"29":1,"31":2}}],["601833",{"2":{"28":3}}],["600306",{"2":{"25":3}}],["60",{"2":{"4":1,"5":1,"25":1,"75":1,"79":1}}],["6",{"2":{"0":1,"4":2,"5":18,"14":1,"15":4,"18":4,"23":3,"25":10,"26":1,"43":7,"46":11,"47":4,"48":20,"73":14,"74":1,"76":3,"77":1,"78":12,"79":4,"80":18,"84":12,"85":2}}],["45152471334016764",{"2":{"79":1}}],["451879",{"2":{"28":2}}],["459336",{"2":{"78":1}}],["453507",{"2":{"76":1}}],["454715",{"2":{"47":1}}],["454033",{"2":{"30":1}}],["45804",{"2":{"26":1}}],["45",{"2":{"25":1}}],["44833963865079907",{"2":{"85":1}}],["4473266106898912",{"2":{"85":1}}],["447327",{"2":{"84":2}}],["44724",{"2":{"25":3}}],["444969",{"2":{"83":1}}],["444305",{"2":{"75":1}}],["4408839264303761",{"2":{"79":1}}],["44097",{"2":{"43":1}}],["449062",{"2":{"84":1}}],["449093",{"2":{"76":1}}],["4492",{"2":{"26":1}}],["442111",{"2":{"76":1}}],["445628",{"2":{"43":1}}],["441181",{"2":{"76":1}}],["44104",{"2":{"28":1}}],["441762",{"2":{"25":2}}],["44",{"2":{"25":1}}],["443494",{"2":{"13":1,"15":1}}],["433724",{"2":{"84":1}}],["43314",{"2":{"25":3}}],["431383",{"2":{"83":1}}],["431398",{"2":{"25":3}}],["435719",{"2":{"30":1}}],["436293",{"2":{"29":1,"31":2}}],["439142",{"2":{"25":2}}],["43",{"2":{"25":1}}],["438592",{"2":{"25":3}}],["434374",{"2":{"25":3}}],["47743850127749476",{"2":{"79":1}}],["477439",{"2":{"78":1}}],["473944",{"2":{"76":1}}],["474052",{"2":{"68":2,"70":2,"72":6}}],["474087",{"2":{"25":3}}],["474755",{"2":{"68":2,"70":2,"72":6}}],["471877",{"2":{"47":1,"49":2}}],["475569",{"2":{"47":1}}],["475747",{"2":{"28":1}}],["475786",{"2":{"25":3}}],["479126",{"2":{"26":1}}],["47",{"2":{"23":1,"25":1,"48":2}}],["414017",{"2":{"76":1}}],["412631",{"2":{"76":2}}],["410125",{"2":{"76":1}}],["41767",{"2":{"75":1}}],["418968",{"2":{"47":1}}],["411529",{"2":{"30":1}}],["41173",{"2":{"30":1}}],["413756",{"2":{"28":1}}],["41334",{"2":{"26":1}}],["416444",{"2":{"25":3}}],["41",{"2":{"23":2,"25":1,"48":1}}],["48240020633837055",{"2":{"79":2,"81":2}}],["48275",{"2":{"26":1}}],["484227",{"2":{"76":1}}],["48748811097285394",{"2":{"85":1}}],["487488",{"2":{"84":2}}],["487197",{"2":{"68":2,"70":2,"72":6}}],["487601",{"2":{"26":1}}],["48952511607945026",{"2":{"85":1}}],["489525",{"2":{"84":2}}],["48912e",{"2":{"47":1}}],["489497",{"2":{"25":1}}],["48849",{"2":{"75":1}}],["48817",{"2":{"32":1}}],["488029",{"2":{"29":2,"31":2}}],["481184",{"2":{"32":1}}],["4858762080349691",{"2":{"85":1}}],["485876",{"2":{"84":2}}],["485119",{"2":{"47":1}}],["485321",{"2":{"30":2}}],["485718",{"2":{"25":1}}],["485687",{"2":{"15":1}}],["48",{"2":{"23":1,"25":1,"48":1}}],["463976",{"2":{"84":1}}],["46730678444713203",{"2":{"80":1}}],["46788",{"2":{"29":1,"31":2}}],["460775",{"2":{"76":1}}],["468184",{"2":{"28":1}}],["468066",{"2":{"28":1}}],["464554",{"2":{"26":1}}],["462981",{"2":{"26":1}}],["46",{"2":{"23":3,"25":1}}],["4×5",{"2":{"23":1}}],["4×6",{"2":{"15":1}}],["490566",{"2":{"84":1}}],["49097",{"2":{"26":1}}],["49413",{"2":{"84":1}}],["49487",{"2":{"76":1}}],["494267",{"2":{"30":2}}],["49574",{"2":{"84":1}}],["495624",{"2":{"76":1}}],["495215",{"2":{"25":1}}],["496268",{"2":{"84":1}}],["496058",{"2":{"75":1}}],["496092",{"2":{"47":1}}],["496532",{"2":{"47":1}}],["496329",{"2":{"47":1}}],["496943",{"2":{"47":1}}],["497456",{"2":{"78":1}}],["497705",{"2":{"47":1}}],["497559",{"2":{"47":1}}],["497181",{"2":{"28":1}}],["493072",{"2":{"30":2}}],["493258",{"2":{"30":1}}],["493417",{"2":{"28":3}}],["49232",{"2":{"25":2}}],["49169278767038266",{"2":{"80":1}}],["491103",{"2":{"75":1}}],["491202",{"2":{"25":1}}],["491479",{"2":{"25":1}}],["49",{"2":{"25":1,"48":1}}],["49842910686075803",{"2":{"79":1,"81":2}}],["498429",{"2":{"78":1}}],["498801",{"2":{"17":1}}],["498606",{"2":{"17":1}}],["498145",{"2":{"17":1}}],["498704",{"2":{"17":1}}],["499837",{"2":{"48":1}}],["499959",{"2":{"48":1}}],["499901",{"2":{"48":1}}],["499985",{"2":{"17":1}}],["499069",{"2":{"47":1}}],["499353",{"2":{"47":1}}],["499693",{"2":{"47":1,"48":1}}],["499674",{"2":{"25":1}}],["499237",{"2":{"47":1}}],["499282",{"2":{"25":1}}],["499298",{"2":{"17":1}}],["499594",{"2":{"17":1}}],["499762",{"2":{"17":1}}],["42429962356614626",{"2":{"85":1}}],["424831",{"2":{"76":1}}],["427523",{"2":{"76":1}}],["427328",{"2":{"13":1,"15":1}}],["421525",{"2":{"76":1}}],["42151",{"2":{"26":1}}],["429465",{"2":{"76":1}}],["429267",{"2":{"73":9}}],["428951",{"2":{"47":1,"49":2}}],["423538",{"2":{"43":1}}],["42331",{"2":{"25":1}}],["426888",{"2":{"29":1,"31":2}}],["42648",{"2":{"25":1}}],["42",{"2":{"25":1}}],["420756",{"2":{"15":1}}],["402627",{"2":{"84":1}}],["400001",{"2":{"76":1}}],["406221",{"2":{"30":1}}],["40584",{"2":{"26":1}}],["404604",{"2":{"84":1}}],["404635",{"2":{"23":1}}],["404773",{"2":{"30":1}}],["40409",{"2":{"26":1}}],["403556",{"2":{"76":1}}],["403111",{"2":{"28":3}}],["40322",{"2":{"25":1}}],["403955",{"2":{"25":3}}],["407207",{"2":{"25":3}}],["40",{"2":{"4":1,"13":3,"25":1,"48":1,"75":1}}],["4",{"2":{"0":5,"3":1,"4":5,"5":12,"13":6,"14":2,"15":2,"17":1,"18":14,"19":3,"23":6,"25":8,"26":2,"30":5,"32":1,"43":7,"46":1,"47":5,"48":8,"73":18,"74":1,"76":2,"78":1,"80":1,"81":3,"83":1,"84":12,"85":2}}],["09300753748828394",{"2":{"85":1}}],["0930075",{"2":{"84":2}}],["0987646",{"2":{"83":1,"84":2}}],["09814",{"2":{"76":1}}],["0965086",{"2":{"84":2}}],["09637420078606593",{"2":{"80":1}}],["0967863",{"2":{"15":1}}],["0909577659038997",{"2":{"80":1}}],["09721711843558752",{"2":{"80":1}}],["0979352",{"2":{"78":1}}],["097066",{"2":{"76":1}}],["0928922",{"2":{"76":1}}],["0927459",{"2":{"28":2}}],["0943594",{"2":{"73":4}}],["0915867",{"2":{"68":2,"70":2,"72":6}}],["0950183",{"2":{"83":1}}],["095824",{"2":{"43":1}}],["095",{"2":{"33":2}}],["0959042",{"2":{"28":2}}],["0990865",{"2":{"76":1}}],["0990347",{"2":{"30":1}}],["0992684",{"2":{"32":1}}],["0999314",{"2":{"28":3}}],["0991336",{"2":{"15":2}}],["09",{"2":{"0":1,"25":6,"49":1,"74":1}}],["0894465",{"2":{"84":1}}],["0897302",{"2":{"47":1}}],["08783435714630261",{"2":{"79":1}}],["0878344",{"2":{"78":1}}],["0883392",{"2":{"78":1}}],["0831822",{"2":{"76":1}}],["0837074",{"2":{"25":3}}],["08035217265254364",{"2":{"80":1}}],["0804518",{"2":{"26":1}}],["0802658",{"2":{"13":1}}],["08",{"2":{"0":1,"25":4,"49":1,"74":1,"76":1}}],["0769145",{"2":{"84":1}}],["0760848",{"2":{"32":1}}],["0775482",{"2":{"76":2}}],["0738813",{"2":{"30":1}}],["0789906",{"2":{"30":1}}],["0781957",{"2":{"23":1}}],["0707995",{"2":{"28":1}}],["07277",{"2":{"26":1}}],["0725917",{"2":{"25":3}}],["0710221",{"2":{"23":1}}],["07",{"2":{"0":1,"25":4,"49":1,"74":1}}],["0615946",{"2":{"84":1}}],["067",{"2":{"81":1}}],["0670111",{"2":{"23":1}}],["0639461",{"2":{"76":1}}],["0648408",{"2":{"84":1}}],["0641884",{"2":{"32":1}}],["0649391",{"2":{"26":1}}],["0623229",{"2":{"76":1}}],["0623616",{"2":{"30":1}}],["0621546",{"2":{"28":1}}],["0622255",{"2":{"28":3}}],["0697249",{"2":{"28":1}}],["06",{"2":{"0":1,"25":4,"49":1,"74":1}}],["05946710667513877",{"2":{"79":2}}],["0599255",{"2":{"28":1}}],["0599431",{"2":{"26":1}}],["0515532",{"2":{"76":1}}],["0566306",{"2":{"76":1}}],["0564029",{"2":{"76":1}}],["057459",{"2":{"83":1,"84":1}}],["0571503",{"2":{"78":1}}],["0575993",{"2":{"76":1}}],["0578313",{"2":{"30":1}}],["05t03",{"2":{"49":4}}],["0536623",{"2":{"43":1}}],["0531003",{"2":{"30":2}}],["0545071",{"2":{"43":1}}],["054613",{"2":{"28":1}}],["0541549",{"2":{"25":3}}],["0557598",{"2":{"26":1}}],["05",{"2":{"0":1,"25":4,"49":1,"73":1,"74":1}}],["04060837507113502",{"2":{"79":2}}],["0400057",{"2":{"43":1}}],["04616326467070997",{"2":{"79":1}}],["0461633",{"2":{"78":1}}],["048092019187169766",{"2":{"79":1}}],["048092",{"2":{"78":1}}],["0411113",{"2":{"76":1}}],["04169",{"2":{"25":2}}],["0450386",{"2":{"30":1}}],["0442448",{"2":{"25":5}}],["0471885",{"2":{"25":5}}],["04",{"2":{"0":1,"25":6,"49":1,"74":1,"76":3}}],["038",{"2":{"81":1}}],["038407066827922",{"2":{"80":2}}],["032889338556748006",{"2":{"80":1}}],["0329394",{"2":{"78":1}}],["0320967",{"2":{"15":1}}],["0363983",{"2":{"30":1}}],["0314382",{"2":{"30":1}}],["0315486",{"2":{"28":2}}],["0379776",{"2":{"30":1}}],["0392779",{"2":{"28":2}}],["0333106",{"2":{"23":1}}],["0303789",{"2":{"15":1}}],["03",{"2":{"0":1,"25":6,"47":1,"49":2,"74":1}}],["029790",{"2":{"84":1}}],["0294193",{"2":{"76":1}}],["020158765333216477",{"2":{"85":1}}],["0201588",{"2":{"84":2}}],["02098",{"2":{"32":1}}],["02514568569664144",{"2":{"80":2}}],["0251457",{"2":{"78":1}}],["021",{"2":{"76":1}}],["0287126",{"2":{"28":1}}],["0238569",{"2":{"28":3}}],["0239356",{"2":{"28":3}}],["02",{"2":{"0":2,"25":6,"47":1,"49":2,"74":1}}],["0",{"2":{"0":60,"1":6,"3":8,"4":28,"5":8,"13":92,"14":16,"15":81,"16":240,"17":19,"18":176,"23":20,"25":178,"26":69,"28":546,"29":28,"30":148,"31":50,"32":12,"33":25,"43":175,"44":42,"46":2,"47":63,"48":20,"49":53,"67":105,"68":50,"70":48,"72":141,"73":147,"74":7,"75":35,"76":252,"77":16,"78":133,"79":89,"80":156,"81":12,"83":48,"84":150,"85":36}}],["006378200703587189",{"2":{"79":2,"80":2}}],["00633515",{"2":{"43":1}}],["007",{"2":{"76":3}}],["00498986",{"2":{"76":1}}],["0042232",{"2":{"43":1}}],["0019198597596568057",{"2":{"85":1}}],["00191986",{"2":{"84":2}}],["00114293",{"2":{"75":1}}],["00125e",{"2":{"47":1}}],["00832284",{"2":{"47":1,"49":1}}],["0038728108200783984",{"2":{"80":2}}],["00337686",{"2":{"30":2}}],["00396",{"2":{"25":1}}],["00327",{"2":{"25":1}}],["00",{"2":{"0":42,"25":164,"33":10,"46":4,"47":10,"49":37,"74":32}}],["0136364",{"2":{"76":1}}],["0130048",{"2":{"29":1,"31":2}}],["011",{"2":{"48":2}}],["01t03",{"2":{"49":2}}],["01t02",{"2":{"49":1}}],["01t01",{"2":{"47":1,"49":2}}],["01t00",{"2":{"0":21,"25":82,"46":1,"47":2,"49":7,"74":16}}],["0157247",{"2":{"43":1}}],["0160205",{"2":{"30":1}}],["014",{"2":{"76":1}}],["0140644",{"2":{"28":1}}],["0145691",{"2":{"25":3}}],["0197492",{"2":{"26":1}}],["0106725",{"2":{"47":1,"49":1}}],["0109523",{"2":{"43":1}}],["0104608",{"2":{"30":1}}],["0102884",{"2":{"28":2}}],["010",{"2":{"18":2}}],["01",{"2":{"0":5,"25":15,"46":1,"47":6,"49":21,"74":3}}],["↗",{"2":{"0":1,"1":1,"3":1,"13":1,"16":1,"17":1,"18":1,"23":1,"25":6,"30":1,"32":2,"35":1,"83":3}}],["→",{"2":{"0":4,"1":3,"3":2,"4":2,"5":8,"13":13,"14":1,"15":12,"16":1,"17":3,"18":12,"19":2,"23":4,"25":11,"26":2,"28":11,"29":1,"30":7,"31":2,"32":2,"33":1,"35":2,"43":7,"44":11,"47":3,"48":8,"49":5,"67":3,"68":4,"70":4,"72":11,"73":26,"75":2,"76":10,"77":2,"78":8,"80":24,"83":4,"84":1}}],["↓",{"2":{"0":5,"1":4,"3":3,"4":2,"5":8,"13":16,"14":1,"15":12,"16":1,"17":5,"18":12,"19":2,"23":5,"25":14,"26":2,"28":11,"29":2,"30":8,"31":2,"32":2,"33":1,"35":2,"43":12,"44":15,"47":10,"48":19,"49":6,"67":3,"68":4,"70":4,"72":11,"73":28,"74":1,"75":2,"76":10,"77":2,"78":9,"79":1,"80":25,"83":4,"84":1}}],["┐",{"2":{"0":3,"4":1,"5":4,"13":5,"15":3,"17":3,"18":5,"19":1,"23":3,"25":8,"26":1,"28":11,"29":2,"30":4,"31":2,"32":2,"33":1,"43":1,"47":8,"48":11,"49":3,"67":3,"68":2,"70":2,"72":6,"73":15,"74":1,"75":1,"76":5,"77":1,"78":8,"79":1,"80":25,"83":2,"84":1}}],["│",{"2":{"0":6,"1":2,"3":2,"4":2,"5":8,"13":20,"15":8,"16":2,"17":6,"18":10,"19":2,"23":6,"25":16,"26":2,"28":22,"29":4,"30":8,"31":4,"32":4,"33":2,"43":2,"47":16,"48":22,"49":6,"67":6,"68":4,"70":4,"72":12,"73":30,"74":2,"75":2,"76":10,"77":2,"78":16,"79":2,"80":50,"83":4,"84":74}}],["5×1",{"2":{"73":1}}],["5×10",{"2":{"28":13}}],["5×5",{"2":{"29":1,"31":2}}],["5×4",{"2":{"4":1}}],["581458",{"2":{"78":1}}],["583476",{"2":{"76":1}}],["585756",{"2":{"47":1,"49":1}}],["585658",{"2":{"25":3}}],["589536",{"2":{"43":1}}],["5891",{"2":{"25":2}}],["58",{"2":{"25":1}}],["568669",{"2":{"84":1}}],["568727",{"2":{"76":1}}],["5624913882274706",{"2":{"79":1}}],["562491",{"2":{"78":1}}],["56273",{"2":{"30":1}}],["569194",{"2":{"78":1}}],["560553",{"2":{"76":1}}],["564636",{"2":{"76":1}}],["564152",{"2":{"49":1}}],["565883",{"2":{"78":1}}],["565202",{"2":{"76":1}}],["565229",{"2":{"72":1}}],["565649",{"2":{"76":1}}],["565165",{"2":{"76":1}}],["561953",{"2":{"43":1}}],["561365",{"2":{"28":1}}],["56",{"2":{"25":1,"48":1}}],["5501481631111826",{"2":{"85":1}}],["550148",{"2":{"84":2}}],["55560637324799",{"2":{"85":1}}],["555606",{"2":{"84":2}}],["556427",{"2":{"84":1}}],["556711",{"2":{"83":1,"84":1}}],["556096",{"2":{"43":1}}],["554735",{"2":{"83":1}}],["554833",{"2":{"76":1}}],["559465",{"2":{"76":1}}],["552838",{"2":{"43":1}}],["557369",{"2":{"28":1}}],["557524",{"2":{"28":1}}],["55713",{"2":{"25":2}}],["553558",{"2":{"28":1}}],["55",{"2":{"25":1}}],["533196",{"2":{"84":1}}],["5370455292538254",{"2":{"79":1}}],["537974",{"2":{"76":1}}],["531598",{"2":{"76":1}}],["53422",{"2":{"76":1}}],["534915",{"2":{"28":3}}],["530389",{"2":{"75":1}}],["530405",{"2":{"75":1}}],["530908",{"2":{"49":2}}],["532757",{"2":{"49":1}}],["53259",{"2":{"25":1}}],["535933",{"2":{"30":1}}],["53632",{"2":{"25":2}}],["53",{"2":{"25":1}}],["539028",{"2":{"23":1}}],["539076",{"2":{"15":1}}],["521608",{"2":{"84":1}}],["5203602669427675",{"2":{"79":1}}],["5201836703588896",{"2":{"79":1}}],["520037",{"2":{"76":1}}],["526825",{"2":{"76":1}}],["525431",{"2":{"76":1}}],["522816",{"2":{"75":1}}],["527261",{"2":{"30":1}}],["528009",{"2":{"76":1}}],["528138",{"2":{"30":1}}],["52849",{"2":{"23":1}}],["52496",{"2":{"28":1}}],["52389",{"2":{"25":2}}],["52",{"2":{"25":1}}],["5992407552660244",{"2":{"85":1}}],["599241",{"2":{"84":2}}],["596036",{"2":{"83":1}}],["596077",{"2":{"28":2}}],["595409",{"2":{"76":2}}],["59542",{"2":{"25":2}}],["594523",{"2":{"76":1}}],["594101",{"2":{"75":1}}],["593346",{"2":{"72":1}}],["597808",{"2":{"30":1}}],["59705",{"2":{"26":1}}],["591606",{"2":{"30":1}}],["59",{"2":{"23":1,"25":1}}],["5476725802849189",{"2":{"79":2}}],["547848",{"2":{"25":2}}],["544125",{"2":{"78":1}}],["544803",{"2":{"78":1}}],["548479",{"2":{"43":1}}],["54822",{"2":{"26":1}}],["541438",{"2":{"28":1}}],["542251",{"2":{"28":3}}],["546357",{"2":{"25":3}}],["54",{"2":{"23":1,"25":1}}],["545156",{"2":{"23":1}}],["5154448003579335",{"2":{"79":1,"81":2}}],["510752",{"2":{"76":1}}],["510196",{"2":{"30":1}}],["510863",{"2":{"25":1}}],["511078",{"2":{"29":1,"31":2}}],["511978",{"2":{"28":3}}],["514177",{"2":{"28":1}}],["519235",{"2":{"28":2}}],["517329",{"2":{"28":2}}],["517971",{"2":{"25":3}}],["51",{"2":{"23":1,"25":1,"47":1}}],["512083",{"2":{"13":1,"15":1}}],["579501",{"2":{"84":1}}],["5794916001308447",{"2":{"79":1}}],["579492",{"2":{"78":1}}],["5762235094109146",{"2":{"79":10}}],["576224",{"2":{"78":1}}],["576903",{"2":{"28":3}}],["5746233955742341",{"2":{"79":1}}],["574623",{"2":{"78":1}}],["574678",{"2":{"76":1}}],["575878",{"2":{"49":2}}],["578183",{"2":{"47":1}}],["573147",{"2":{"32":1}}],["571628",{"2":{"83":1}}],["571658",{"2":{"30":1}}],["571126",{"2":{"76":1}}],["571821",{"2":{"23":1}}],["570603",{"2":{"76":1}}],["570254",{"2":{"28":1}}],["57019",{"2":{"26":1}}],["570914",{"2":{"23":1}}],["57",{"2":{"5":1,"23":2,"25":1,"48":1}}],["509288",{"2":{"76":1}}],["509231",{"2":{"28":1}}],["505726",{"2":{"76":1}}],["505129",{"2":{"76":1}}],["5053",{"2":{"76":1}}],["5055",{"2":{"48":4}}],["505694",{"2":{"47":1}}],["50562",{"2":{"25":1}}],["503582",{"2":{"84":1}}],["503785",{"2":{"47":1}}],["503823",{"2":{"29":2,"31":2}}],["506221",{"2":{"76":1}}],["506084",{"2":{"47":1}}],["506965",{"2":{"43":1}}],["507581",{"2":{"43":1}}],["502499",{"2":{"30":2}}],["50854",{"2":{"25":2}}],["50156726022296",{"2":{"80":2}}],["50102",{"2":{"47":1}}],["501998",{"2":{"47":1}}],["501282",{"2":{"47":1}}],["501124",{"2":{"25":1}}],["501105",{"2":{"17":1}}],["501643",{"2":{"17":1}}],["501379",{"2":{"17":1}}],["500355",{"2":{"48":1}}],["500331",{"2":{"47":1,"48":2}}],["500136",{"2":{"47":1}}],["500155",{"2":{"47":1}}],["500679",{"2":{"76":1}}],["500665",{"2":{"47":1,"48":2}}],["500644",{"2":{"17":1}}],["500495",{"2":{"25":1}}],["50047",{"2":{"17":1}}],["500818",{"2":{"25":1}}],["500874",{"2":{"17":1}}],["500533",{"2":{"17":1}}],["500058",{"2":{"47":1}}],["500083",{"2":{"17":1}}],["500064",{"2":{"17":1}}],["50",{"2":{"5":3,"13":9,"23":4,"25":1,"75":1}}],["5u",{"2":{"5":1}}],["5",{"2":{"0":1,"4":3,"5":21,"13":2,"14":1,"15":1,"18":7,"19":1,"23":6,"25":10,"26":1,"28":10,"29":2,"30":6,"32":1,"43":9,"46":1,"47":4,"48":5,"67":3,"73":7,"74":2,"75":1,"77":3,"78":11,"79":1,"80":34,"84":12,"85":2}}],["3777991041100621",{"2":{"85":1}}],["377799",{"2":{"84":2}}],["371838",{"2":{"76":1}}],["371583",{"2":{"76":1}}],["376108",{"2":{"73":9}}],["376",{"2":{"48":3}}],["370",{"2":{"48":2}}],["37821",{"2":{"30":1}}],["378395",{"2":{"30":1}}],["372311",{"2":{"30":2}}],["374729",{"2":{"83":1}}],["374451",{"2":{"28":1}}],["374026",{"2":{"26":1}}],["373575",{"2":{"28":2}}],["37963",{"2":{"26":1}}],["37",{"2":{"25":1}}],["367576",{"2":{"73":8}}],["369",{"2":{"48":3}}],["36851882799081104",{"2":{"85":1}}],["368519",{"2":{"84":2}}],["368",{"2":{"48":3}}],["361",{"2":{"48":3}}],["361921",{"2":{"29":1,"31":2}}],["362",{"2":{"47":1}}],["363678",{"2":{"76":1}}],["363",{"2":{"47":2}}],["365215",{"2":{"84":1}}],["365",{"2":{"47":2}}],["366634",{"2":{"76":1}}],["366",{"2":{"47":3}}],["364844",{"2":{"68":2,"70":2,"72":6}}],["364079",{"2":{"49":1}}],["364",{"2":{"46":18,"47":3}}],["36",{"2":{"25":1}}],["360",{"2":{"4":2,"48":1}}],["348164",{"2":{"84":1}}],["34882573131206984",{"2":{"79":1}}],["3417845510633072",{"2":{"79":1}}],["341785",{"2":{"78":1}}],["344",{"2":{"48":1}}],["342887",{"2":{"30":1}}],["342919",{"2":{"30":1}}],["342437",{"2":{"28":1}}],["345",{"2":{"48":1}}],["345046",{"2":{"30":2}}],["345501",{"2":{"26":1}}],["347379",{"2":{"28":1}}],["34",{"2":{"25":1}}],["3343926384599254",{"2":{"85":1}}],["334393",{"2":{"84":2}}],["334152",{"2":{"13":1,"15":1}}],["331422",{"2":{"76":1}}],["337662",{"2":{"84":1}}],["337296",{"2":{"76":1}}],["337",{"2":{"48":1}}],["337576",{"2":{"29":1,"31":2}}],["336929",{"2":{"76":1}}],["336",{"2":{"48":1}}],["336768",{"2":{"47":1}}],["338669",{"2":{"30":1}}],["33",{"2":{"25":1,"47":1,"48":2}}],["319803",{"2":{"83":1}}],["31044194430853883",{"2":{"80":1}}],["310753",{"2":{"30":1}}],["31179659785762176",{"2":{"80":1}}],["311448",{"2":{"13":1}}],["317665",{"2":{"83":1}}],["317199",{"2":{"78":1}}],["317813",{"2":{"68":2,"70":2,"72":6}}],["31628",{"2":{"78":1}}],["316833",{"2":{"30":3}}],["314906",{"2":{"76":1}}],["313",{"2":{"48":1}}],["313185",{"2":{"30":2}}],["312277",{"2":{"76":2}}],["312",{"2":{"48":1}}],["312976",{"2":{"47":1}}],["31",{"2":{"25":1,"47":1}}],["324073",{"2":{"76":1}}],["325413",{"2":{"49":2}}],["329029",{"2":{"76":1}}],["329",{"2":{"48":1}}],["328169",{"2":{"76":1}}],["328",{"2":{"48":1}}],["32806",{"2":{"29":1,"31":2}}],["321",{"2":{"48":1}}],["321923",{"2":{"28":1}}],["320737",{"2":{"76":1}}],["320",{"2":{"48":1}}],["327",{"2":{"33":1}}],["322612",{"2":{"30":1}}],["32669",{"2":{"26":1}}],["32",{"2":{"23":2,"25":1,"48":2}}],["382223",{"2":{"84":1}}],["38290995355378155",{"2":{"79":1}}],["3863063388395396",{"2":{"79":1}}],["389598",{"2":{"78":1}}],["381315",{"2":{"76":1}}],["381692",{"2":{"73":6}}],["384116",{"2":{"43":1}}],["385875",{"2":{"84":1}}],["3851065529408329",{"2":{"80":1}}],["385452",{"2":{"30":1}}],["385262",{"2":{"28":1}}],["38",{"2":{"23":3,"25":1}}],["3a",{"2":{"14":1}}],["3×2",{"2":{"73":1}}],["3×14",{"2":{"68":2,"70":2,"72":6}}],["3×5",{"2":{"19":2,"67":10}}],["3×5×12",{"2":{"0":1}}],["3×4×1",{"2":{"32":1}}],["3×4×5",{"2":{"32":1}}],["3×4",{"2":{"18":5}}],["3×3",{"2":{"13":3,"15":1,"33":1,"73":3}}],["302384",{"2":{"84":1}}],["3015920521232277",{"2":{"80":1}}],["307031",{"2":{"76":1}}],["307762",{"2":{"76":1}}],["30t22",{"2":{"49":1}}],["30t23",{"2":{"46":1,"47":2,"49":2}}],["30×17520",{"2":{"48":3}}],["305342",{"2":{"75":1}}],["305",{"2":{"48":1}}],["306932",{"2":{"28":3}}],["30923",{"2":{"26":1}}],["3047",{"2":{"74":1}}],["304688",{"2":{"26":1}}],["30427",{"2":{"26":1}}],["300304",{"2":{"76":1}}],["300",{"2":{"18":1}}],["30",{"2":{"13":1,"14":2,"15":4,"18":9,"25":1,"46":18,"47":2,"72":2,"75":1,"76":1}}],["354013",{"2":{"73":3}}],["354868",{"2":{"15":1}}],["353",{"2":{"48":1}}],["352",{"2":{"48":1}}],["352614",{"2":{"26":1}}],["3517350991207968",{"2":{"79":1}}],["35189",{"2":{"32":1}}],["351096",{"2":{"30":1}}],["350546",{"2":{"15":1}}],["35",{"2":{"13":1,"23":1,"25":1}}],["3950526238122817",{"2":{"79":1}}],["395053",{"2":{"78":1}}],["395523",{"2":{"43":1}}],["392071",{"2":{"78":1}}],["392848",{"2":{"28":1}}],["399",{"2":{"76":1}}],["399781",{"2":{"76":1}}],["397621",{"2":{"76":1}}],["397575",{"2":{"47":1}}],["39189449474581917",{"2":{"85":1}}],["391258",{"2":{"76":2}}],["391395",{"2":{"28":1}}],["390515",{"2":{"83":1}}],["390342",{"2":{"43":1}}],["390081",{"2":{"26":1}}],["396585",{"2":{"76":1}}],["396",{"2":{"33":1}}],["398776",{"2":{"25":3}}],["39",{"2":{"2":2,"3":1,"4":2,"15":1,"19":4,"20":1,"23":3,"24":1,"25":1,"30":2,"31":1,"33":1,"34":3,"46":2,"47":1,"48":1,"49":2,"60":6,"70":1,"71":1,"72":1,"74":1,"75":1,"76":1}}],["3",{"2":{"0":4,"1":3,"3":1,"4":7,"5":8,"13":3,"14":1,"15":12,"16":2,"17":6,"18":11,"19":6,"21":2,"23":9,"25":18,"26":2,"29":2,"30":10,"32":5,"33":12,"35":2,"43":7,"46":1,"47":10,"48":23,"49":3,"67":3,"68":5,"70":4,"72":10,"73":3,"74":2,"76":1,"78":1,"80":4,"83":3,"84":8,"85":2}}],["187648",{"2":{"76":1}}],["187495",{"2":{"25":2}}],["188707",{"2":{"76":1}}],["188864",{"2":{"30":1}}],["184738",{"2":{"75":1}}],["184813",{"2":{"30":1}}],["180188",{"2":{"84":1}}],["180915",{"2":{"76":1}}],["180",{"2":{"43":6}}],["18035",{"2":{"26":1}}],["18989",{"2":{"30":1}}],["18378",{"2":{"76":1}}],["183503",{"2":{"76":1}}],["183555",{"2":{"15":1}}],["183637",{"2":{"26":1}}],["18",{"2":{"25":1,"46":1,"76":6}}],["171519",{"2":{"84":1}}],["179953",{"2":{"76":1}}],["179889",{"2":{"49":1}}],["17520",{"2":{"46":8,"49":1}}],["17597",{"2":{"30":1}}],["17004",{"2":{"84":1}}],["170",{"2":{"43":6}}],["178846",{"2":{"78":1}}],["178022",{"2":{"43":1}}],["178902",{"2":{"28":1}}],["17715541586710937",{"2":{"79":2}}],["177857",{"2":{"43":1}}],["177423",{"2":{"26":1}}],["176197",{"2":{"28":1}}],["17673",{"2":{"26":1}}],["17645",{"2":{"26":1}}],["17",{"2":{"23":1,"25":1,"46":1,"47":1,"48":2}}],["143×23",{"2":{"76":1}}],["144269",{"2":{"73":3}}],["140",{"2":{"43":6,"72":6}}],["142957",{"2":{"30":1}}],["14203",{"2":{"25":2}}],["14",{"2":{"23":1,"25":1,"76":2,"78":1}}],["16861675953228428",{"2":{"79":1}}],["168617",{"2":{"78":1}}],["162784",{"2":{"76":1}}],["162919",{"2":{"26":1}}],["166221",{"2":{"76":1}}],["160",{"2":{"43":6}}],["167465",{"2":{"43":1}}],["169845",{"2":{"30":1}}],["16×16×3",{"2":{"16":1}}],["16",{"2":{"16":2,"23":2,"25":1,"46":1,"47":1,"48":4,"76":3}}],["139173",{"2":{"76":1}}],["130122",{"2":{"84":1}}],["130942",{"2":{"78":1}}],["130",{"2":{"43":6,"72":2}}],["130775",{"2":{"23":1}}],["136127",{"2":{"30":1}}],["136551",{"2":{"15":1}}],["134186",{"2":{"26":1}}],["13",{"2":{"25":1,"74":2,"76":1}}],["131798",{"2":{"15":1}}],["1a",{"2":{"14":1}}],["1u",{"2":{"5":2}}],["19219227965820063",{"2":{"85":1}}],["192192",{"2":{"84":2}}],["192702",{"2":{"78":1}}],["192286",{"2":{"30":1}}],["19689",{"2":{"78":1}}],["196478",{"2":{"76":1}}],["196524",{"2":{"30":1}}],["193627",{"2":{"68":2,"70":2,"72":6}}],["19041",{"2":{"49":2}}],["190",{"2":{"43":7}}],["190726",{"2":{"30":1}}],["191049",{"2":{"30":1}}],["191×20×30",{"2":{"17":1}}],["191×20×31",{"2":{"17":2}}],["191×20×32",{"2":{"17":1}}],["191×20×28",{"2":{"17":1}}],["194465",{"2":{"28":3}}],["1999",{"2":{"26":1}}],["1998",{"2":{"26":1}}],["19",{"2":{"5":5,"25":1,"33":1,"46":1,"76":3}}],["1×3",{"2":{"73":2}}],["1×2",{"2":{"5":3}}],["1×12",{"2":{"0":1}}],["1532608102742886e",{"2":{"80":1}}],["15388",{"2":{"28":1}}],["154653",{"2":{"76":1}}],["15489",{"2":{"25":2}}],["152068",{"2":{"76":1}}],["155826",{"2":{"30":1}}],["159092",{"2":{"68":2,"70":2,"72":6}}],["159233",{"2":{"30":1}}],["159817",{"2":{"30":1}}],["15163",{"2":{"29":1,"31":2}}],["15055904027841316",{"2":{"79":10,"80":2}}],["150559",{"2":{"78":1}}],["15004",{"2":{"25":2}}],["150155",{"2":{"15":1}}],["150",{"2":{"13":3,"43":6}}],["15",{"2":{"5":3,"23":2,"25":1,"46":1}}],["11115487324489237",{"2":{"79":1}}],["111072",{"2":{"28":3}}],["114532",{"2":{"73":4}}],["11475",{"2":{"32":1}}],["11×17520",{"2":{"48":1}}],["110489",{"2":{"83":1}}],["110",{"2":{"43":7}}],["118",{"2":{"33":1}}],["119937",{"2":{"30":2}}],["119505",{"2":{"28":3}}],["113556",{"2":{"84":1}}],["1133609324748911",{"2":{"79":1}}],["113361",{"2":{"78":1}}],["113873",{"2":{"29":1,"31":2}}],["113704",{"2":{"28":2}}],["11787",{"2":{"76":1}}],["117",{"2":{"23":3}}],["112606",{"2":{"43":1}}],["112",{"2":{"23":2}}],["11",{"2":{"0":1,"4":1,"15":2,"17":6,"23":4,"25":8,"43":1,"47":6,"74":1,"76":4}}],["127621",{"2":{"76":1}}],["127082",{"2":{"73":4}}],["1279",{"2":{"25":3}}],["121186",{"2":{"29":1,"31":2}}],["121375",{"2":{"29":1,"31":2}}],["121525",{"2":{"28":3}}],["126976",{"2":{"28":1}}],["12435",{"2":{"32":1}}],["124594",{"2":{"28":2}}],["12404",{"2":{"25":2}}],["12×100×25",{"2":{"25":2}}],["12×2",{"2":{"17":1}}],["129382",{"2":{"25":3}}],["125626",{"2":{"76":1}}],["125",{"2":{"23":2,"33":1}}],["125287",{"2":{"15":1}}],["1229",{"2":{"47":1}}],["122",{"2":{"23":2}}],["1201",{"2":{"47":1}}],["120",{"2":{"23":4,"43":7,"72":2}}],["123",{"2":{"13":1}}],["12",{"2":{"0":9,"4":1,"13":3,"14":1,"17":10,"18":1,"25":23,"33":1,"46":28,"47":15,"48":8,"49":3,"74":7,"76":5}}],["1",{"2":{"0":13,"1":8,"3":14,"4":26,"5":12,"13":32,"14":3,"15":21,"16":241,"17":19,"18":16,"19":5,"21":2,"23":12,"25":52,"26":52,"28":101,"29":1,"30":4,"31":1,"32":6,"33":13,"35":10,"43":44,"44":28,"46":73,"47":46,"48":91,"49":30,"60":1,"68":9,"70":12,"71":2,"72":18,"73":98,"74":7,"76":51,"77":7,"78":24,"79":1,"80":76,"81":1,"83":14,"84":42,"85":10}}],["10363647991272806",{"2":{"79":1}}],["10276733254788795",{"2":{"85":1}}],["102767",{"2":{"84":2}}],["10233",{"2":{"30":1}}],["10246",{"2":{"25":2}}],["10×10",{"2":{"83":1,"84":27}}],["10×10×26",{"2":{"83":3}}],["10×1",{"2":{"80":30}}],["10×11",{"2":{"43":1}}],["10×6",{"2":{"77":3,"78":18,"80":12}}],["10×5",{"2":{"30":1}}],["10×7×5",{"2":{"30":1}}],["108968",{"2":{"28":1}}],["108514",{"2":{"28":3}}],["104867",{"2":{"28":1}}],["10415",{"2":{"25":2}}],["10914",{"2":{"32":1}}],["109",{"2":{"23":1}}],["10723267004015569",{"2":{"85":1}}],["107233",{"2":{"84":2}}],["107427",{"2":{"49":1}}],["1076",{"2":{"26":1}}],["107",{"2":{"23":1}}],["10547438260234843",{"2":{"79":1}}],["105474",{"2":{"78":1}}],["105539",{"2":{"30":1}}],["105",{"2":{"23":1}}],["106544",{"2":{"78":1}}],["106593",{"2":{"23":1}}],["106472",{"2":{"43":1}}],["106904",{"2":{"43":1}}],["106224",{"2":{"28":1}}],["106",{"2":{"23":1,"33":2}}],["101×34",{"2":{"49":2}}],["101×384",{"2":{"48":2}}],["101×8030",{"2":{"48":1}}],["101×8760",{"2":{"48":1}}],["101×2856",{"2":{"48":1}}],["101×2928",{"2":{"48":3}}],["101×240",{"2":{"48":1}}],["101×0",{"2":{"48":1}}],["101×4416",{"2":{"48":5}}],["101×4320",{"2":{"48":2}}],["101×4392",{"2":{"48":2}}],["101×4368",{"2":{"48":3}}],["101×4344",{"2":{"48":2}}],["101×1",{"2":{"49":5}}],["101×1464",{"2":{"47":1}}],["101×1440",{"2":{"47":1}}],["101×1488",{"2":{"47":2}}],["101×1368",{"2":{"47":1}}],["101×17520",{"2":{"47":1}}],["101",{"2":{"23":2}}],["10u",{"2":{"5":1}}],["100×28",{"2":{"84":1}}],["100×25×12",{"2":{"25":3}}],["1000×2000",{"2":{"26":1}}],["1000",{"2":{"26":3,"33":2}}],["10000",{"2":{"21":1,"33":2}}],["100u",{"2":{"5":2}}],["100",{"2":{"0":1,"3":1,"4":3,"13":10,"18":8,"25":14,"43":26,"44":14,"49":1,"61":1,"63":1,"74":2,"84":1}}],["10",{"2":{"0":7,"1":9,"3":6,"4":5,"5":19,"13":15,"14":5,"15":4,"17":2,"18":34,"23":6,"25":8,"28":10,"30":1,"42":9,"43":47,"44":28,"47":2,"60":1,"61":2,"63":2,"70":2,"72":10,"74":7,"75":5,"76":14,"77":7,"78":21,"79":1,"80":61,"83":10,"84":34,"85":10}}],["2834645880044695",{"2":{"80":1}}],["2868262581079416",{"2":{"79":2}}],["287284213573217",{"2":{"79":2}}],["287284",{"2":{"78":1}}],["287739",{"2":{"30":1}}],["281077",{"2":{"30":1}}],["284399",{"2":{"30":1}}],["28405",{"2":{"26":1}}],["285205",{"2":{"30":1}}],["285965",{"2":{"26":1}}],["280686",{"2":{"28":1}}],["289335",{"2":{"28":3}}],["28",{"2":{"25":1,"47":1,"76":2,"80":3}}],["275783886021123",{"2":{"79":1}}],["275784",{"2":{"78":1}}],["277507",{"2":{"78":1}}],["27736",{"2":{"75":1}}],["27236",{"2":{"76":1}}],["272731",{"2":{"49":1}}],["274713",{"2":{"43":1}}],["273986",{"2":{"28":1}}],["273573",{"2":{"28":2}}],["27042",{"2":{"25":2}}],["27",{"2":{"25":1,"33":1}}],["2601",{"2":{"85":1}}],["2600×5",{"2":{"84":1}}],["2600×4",{"2":{"84":2}}],["2600",{"2":{"84":3}}],["2674330482715843",{"2":{"85":1}}],["267433",{"2":{"84":2}}],["267693",{"2":{"76":1}}],["26×11",{"2":{"76":1}}],["268379",{"2":{"30":1}}],["264242",{"2":{"28":1}}],["261741",{"2":{"28":1}}],["26917",{"2":{"26":1}}],["26",{"2":{"23":2,"25":1}}],["290933",{"2":{"84":1}}],["29448593792551514",{"2":{"85":1}}],["294486",{"2":{"84":2}}],["294489",{"2":{"76":1}}],["29488",{"2":{"76":1}}],["292495",{"2":{"84":1}}],["292431",{"2":{"43":1}}],["29205",{"2":{"76":1}}],["298791",{"2":{"76":2}}],["298728",{"2":{"68":2,"70":2,"72":6}}],["298029",{"2":{"75":1}}],["298383",{"2":{"26":1}}],["299692",{"2":{"47":1}}],["299799",{"2":{"28":1}}],["29325",{"2":{"32":1}}],["295346",{"2":{"30":1}}],["29",{"2":{"23":2,"25":1,"47":2,"76":2,"80":3}}],["297023",{"2":{"15":1}}],["240351",{"2":{"83":1}}],["249439",{"2":{"78":1}}],["249616",{"2":{"28":2}}],["244582",{"2":{"76":1}}],["2415",{"2":{"47":1}}],["2423",{"2":{"47":1}}],["24247",{"2":{"25":2}}],["243842",{"2":{"49":2}}],["2433",{"2":{"47":1}}],["2436",{"2":{"47":1}}],["243035",{"2":{"30":1}}],["245564",{"2":{"83":1}}],["245",{"2":{"73":2}}],["245499",{"2":{"43":1}}],["24575",{"2":{"26":1}}],["247032",{"2":{"68":2,"70":2,"72":6}}],["247755",{"2":{"30":1}}],["247198",{"2":{"28":1}}],["24",{"2":{"17":1,"25":4,"46":1,"47":2,"48":2}}],["22237128922242078",{"2":{"85":1}}],["222371",{"2":{"84":2}}],["222681",{"2":{"28":1}}],["227811",{"2":{"84":1}}],["2276004407628871",{"2":{"85":1}}],["2276",{"2":{"84":2}}],["227142",{"2":{"84":1}}],["227455",{"2":{"28":1}}],["224351",{"2":{"83":1}}],["224375",{"2":{"26":1}}],["220699",{"2":{"78":1}}],["228081",{"2":{"76":1}}],["228294",{"2":{"30":1}}],["229792",{"2":{"76":1}}],["229418",{"2":{"76":1}}],["226064",{"2":{"75":1}}],["2237e",{"2":{"47":1}}],["2236016853688918",{"2":{"28":1}}],["223602",{"2":{"28":2}}],["22",{"2":{"15":2,"25":1,"46":1,"47":2,"84":1}}],["2a",{"2":{"14":1}}],["21066413424755615",{"2":{"85":1}}],["210417",{"2":{"84":1}}],["21035e",{"2":{"47":1}}],["215681",{"2":{"83":1}}],["215049",{"2":{"26":1}}],["21921",{"2":{"76":1}}],["216905",{"2":{"76":2}}],["216",{"2":{"33":1}}],["21149",{"2":{"29":1,"31":2}}],["217733",{"2":{"28":3}}],["218579",{"2":{"15":1}}],["21",{"2":{"5":4,"15":2,"23":1,"25":1,"46":1,"47":1,"74":1}}],["2599",{"2":{"84":3}}],["2598",{"2":{"84":3}}],["2597",{"2":{"84":3}}],["2596",{"2":{"84":3}}],["2595",{"2":{"84":3}}],["2594",{"2":{"84":3}}],["257433",{"2":{"78":1}}],["258165",{"2":{"83":1}}],["2585",{"2":{"84":3}}],["25853",{"2":{"78":1}}],["258576",{"2":{"30":1}}],["25825",{"2":{"48":4}}],["254627",{"2":{"30":1}}],["254555",{"2":{"28":2}}],["253984",{"2":{"29":1,"31":2}}],["253849",{"2":{"13":2,"15":1}}],["25",{"2":{"5":2,"25":11,"48":2,"73":2}}],["23350386812772128",{"2":{"85":1}}],["233504",{"2":{"84":2}}],["233468",{"2":{"83":1}}],["231047",{"2":{"83":1}}],["232648",{"2":{"76":1}}],["238831",{"2":{"76":1}}],["239921",{"2":{"75":1}}],["2396",{"2":{"47":1}}],["23788",{"2":{"26":1}}],["23",{"2":{"5":1,"23":2,"25":4,"46":2,"47":2}}],["204906",{"2":{"83":1}}],["202238",{"2":{"84":1}}],["20258969376355607",{"2":{"79":1}}],["2021",{"2":{"0":25}}],["205861",{"2":{"76":1}}],["203",{"2":{"76":2}}],["206886",{"2":{"76":1}}],["206406",{"2":{"32":1}}],["201",{"2":{"73":1}}],["201362",{"2":{"29":1,"31":2}}],["207662",{"2":{"84":1}}],["207789",{"2":{"83":1}}],["20779",{"2":{"26":1}}],["207482",{"2":{"49":2}}],["208304",{"2":{"76":1}}],["208384",{"2":{"28":1}}],["208271",{"2":{"68":2,"70":2,"72":6}}],["208542",{"2":{"28":1}}],["2005",{"2":{"74":1}}],["2003",{"2":{"17":1}}],["2000",{"2":{"17":1,"25":84,"26":3,"46":32,"47":21,"49":16,"74":18}}],["2001",{"2":{"13":4,"46":28,"47":17,"49":3}}],["200",{"2":{"5":1,"13":9,"43":26,"44":14}}],["20",{"2":{"4":4,"5":18,"13":3,"17":2,"18":12,"25":1,"46":1,"72":2,"75":1,"76":8,"79":1}}],["2×3",{"2":{"73":3}}],["2×3×2",{"2":{"1":1,"13":1}}],["2×10×3",{"2":{"23":2}}],["2×2",{"2":{"15":2,"73":1}}],["2×4",{"2":{"5":1,"13":4}}],["2×4×2",{"2":{"3":1}}],["2",{"2":{"0":10,"1":4,"3":3,"4":3,"5":14,"8":3,"13":16,"14":1,"15":10,"17":9,"18":8,"19":4,"21":2,"23":6,"25":25,"26":5,"28":12,"29":1,"30":8,"31":2,"32":6,"33":3,"35":2,"43":8,"46":2,"47":20,"48":24,"49":6,"67":2,"68":4,"70":6,"71":3,"72":11,"73":62,"74":2,"75":1,"76":21,"78":2,"79":2,"80":6,"83":2,"84":8,"85":2}}],["==",{"2":{"18":1,"30":1,"49":1}}],["=>",{"2":{"1":10,"2":10,"3":15,"4":22,"11":6,"13":29,"17":4,"18":29,"20":2,"47":7,"48":18,"49":2,"68":1,"70":6,"72":7,"73":1,"84":1}}],["=",{"2":{"0":15,"1":4,"3":4,"4":10,"5":11,"13":7,"14":9,"15":4,"16":1,"17":7,"18":13,"19":2,"21":1,"23":7,"25":5,"26":3,"28":3,"29":1,"30":2,"32":1,"33":1,"43":7,"46":3,"47":2,"48":1,"49":2,"61":1,"63":1,"67":3,"68":1,"70":3,"71":8,"73":2,"74":7,"75":1,"76":3,"77":2,"78":4,"79":84,"80":37,"81":8,"83":4}}],["few",{"2":{"70":2}}],["feb",{"2":{"48":6,"74":1}}],["fact",{"2":{"77":1}}],["facing",{"2":{"34":1}}],["facilitate",{"2":{"11":2,"74":1}}],["fails",{"2":{"25":1}}],["fail",{"2":{"24":1}}],["favours",{"2":{"61":1}}],["favour",{"2":{"18":1}}],["fallback",{"2":{"11":1}}],["falls",{"2":{"5":2,"73":1}}],["fall",{"2":{"5":2}}],["falses",{"2":{"67":1}}],["false",{"2":{"1":1,"3":5,"11":1,"13":1,"17":2,"18":1,"24":1,"44":28}}],["far",{"2":{"4":1}}],["fast",{"2":{"4":1,"74":1,"81":1}}],["fri",{"2":{"74":2}}],["friendly",{"2":{"27":1}}],["frequency",{"2":{"33":2}}],["freely",{"2":{"15":1}}],["freeunits",{"2":{"5":1}}],["free",{"2":{"3":1,"30":1}}],["fraction",{"2":{"17":1}}],["from",{"2":{"0":3,"1":1,"2":1,"3":3,"4":10,"5":3,"8":1,"13":3,"14":3,"15":1,"16":1,"17":6,"18":1,"19":5,"21":13,"25":1,"30":1,"35":1,"36":1,"37":1,"38":1,"41":1,"42":10,"43":7,"51":1,"70":1,"73":1,"74":2,"75":1,"76":2,"81":1,"84":1}}],["further",{"2":{"40":1,"48":1}}],["future",{"2":{"4":1,"5":1,"18":1,"21":1,"65":1}}],["full",{"2":{"3":1,"4":3}}],["functionality",{"2":{"52":1}}],["functional",{"2":{"27":1}}],["functions",{"0":{"46":1,"80":1},"2":{"13":1,"17":2,"27":1,"32":1,"46":2,"60":1,"61":1,"70":1,"80":2}}],["function",{"2":{"3":1,"4":2,"5":2,"17":12,"18":2,"40":1,"45":2,"46":2,"47":2,"48":4,"49":1,"73":1,"74":1}}],["foo",{"2":{"70":3}}],["follow",{"2":{"46":1,"60":1}}],["following",{"2":{"22":1}}],["four",{"2":{"17":2}}],["found",{"2":{"3":1,"7":1,"18":3,"31":2,"78":1}}],["forms",{"2":{"27":1}}],["formats",{"2":{"10":1}}],["format",{"0":{"41":1},"2":{"2":2,"8":1,"11":1,"36":1,"41":2}}],["forward",{"2":{"4":1,"7":1,"13":2}}],["forwardordered",{"2":{"0":6,"3":1,"4":6,"5":8,"7":3,"13":8,"15":6,"17":4,"18":10,"19":1,"23":6,"25":20,"26":2,"43":15,"44":14,"47":9,"48":7,"49":5,"68":1,"70":4,"72":9,"73":28,"74":3,"75":6,"76":8,"77":2,"78":15,"79":1,"80":41,"83":6,"84":2}}],["for",{"2":{"0":12,"1":3,"2":2,"3":7,"4":40,"5":19,"7":2,"8":3,"10":1,"11":4,"13":17,"14":10,"15":5,"16":3,"17":12,"18":8,"19":4,"20":3,"21":5,"24":1,"25":1,"27":1,"28":2,"29":1,"30":1,"35":1,"39":1,"40":5,"42":6,"43":3,"45":1,"48":4,"51":3,"53":1,"54":1,"56":1,"57":2,"59":1,"61":1,"65":1,"67":1,"73":1,"74":1,"75":6,"77":2,"78":1,"79":2,"82":2,"84":3}}],["flexible",{"2":{"40":1}}],["float32",{"2":{"26":4}}],["float64",{"2":{"0":3,"1":1,"3":1,"4":1,"5":1,"13":9,"15":7,"16":1,"17":3,"18":13,"19":2,"23":1,"25":7,"26":2,"28":12,"29":2,"30":4,"31":2,"32":2,"33":1,"43":18,"44":14,"47":9,"48":18,"49":5,"68":4,"70":4,"72":11,"73":30,"74":1,"75":1,"76":12,"77":6,"78":39,"79":9,"80":141,"83":3,"84":36}}],["flags",{"2":{"3":1}}],["final",{"2":{"48":1}}],["find",{"2":{"74":1}}],["findfirst",{"2":{"7":1}}],["finds",{"2":{"7":1}}],["fix",{"2":{"18":1}}],["fixed",{"2":{"8":1}}],["field",{"2":{"11":1,"13":1,"18":5,"40":1,"72":1}}],["fields",{"2":{"2":1,"3":1,"4":1,"6":1,"18":5,"21":1,"27":2,"40":3,"41":1}}],["firstindex",{"2":{"32":1}}],["first",{"2":{"3":3,"14":8,"19":1,"22":1,"23":1,"31":1,"43":2,"46":1,"48":1,"73":2}}],["filter",{"2":{"43":1,"44":1}}],["filters",{"2":{"5":1,"73":1}}],["fill",{"2":{"13":4,"18":2,"28":4,"41":1,"74":1}}],["filled",{"2":{"2":1,"10":1}}],["file",{"2":{"0":1,"11":2,"51":1}}],["f",{"2":{"1":5,"3":10,"4":2,"5":1,"13":5,"15":3,"17":11,"18":11,"23":1,"63":1,"73":1,"84":1}}],["gc",{"2":{"33":6}}],["goals",{"0":{"27":1},"2":{"27":1}}],["good",{"2":{"14":1}}],["globally",{"2":{"24":1}}],["global",{"0":{"19":1},"1":{"20":1,"21":1},"2":{"19":2}}],["gpus",{"0":{"26":1},"1":{"27":1},"2":{"20":1,"26":1,"57":1}}],["gpu",{"0":{"27":1},"2":{"18":2,"26":4,"27":7,"67":1}}],["gribdatasets",{"2":{"34":1}}],["grid",{"2":{"4":1}}],["gridded",{"2":{"4":1}}],["groupmeans",{"2":{"17":2}}],["grouped",{"2":{"17":1,"49":1}}],["groups",{"2":{"17":12,"47":2,"48":4}}],["groupings",{"2":{"46":1}}],["groupingfunction",{"2":{"17":2}}],["grouping",{"0":{"46":1,"47":1},"2":{"17":9,"45":4,"48":2,"49":1}}],["groupby",{"2":{"17":13,"45":1,"47":13,"48":21,"49":4}}],["group",{"0":{"17":1,"45":1},"1":{"46":1,"47":1,"48":1,"49":1},"2":{"17":9,"46":1,"47":3,"48":13,"49":2}}],["gis",{"2":{"51":2}}],["giving",{"2":{"5":1}}],["given",{"2":{"18":1,"82":1}}],["give",{"2":{"3":1,"4":1,"5":1,"13":1,"28":1,"78":1}}],["gives",{"2":{"0":1,"14":2,"72":1}}],["github",{"2":{"4":1,"72":1}}],["guide",{"2":{"45":1}}],["guarantee",{"2":{"11":1}}],["guaranteed",{"2":{"3":1,"13":1}}],["guessed",{"2":{"2":1,"8":2}}],["guess",{"2":{"0":1,"46":1}}],["gt",{"2":{"1":2,"3":3,"5":1,"13":2,"17":1,"18":2}}],["g",{"2":{"0":1,"3":1,"4":2,"5":1,"13":1,"17":1,"23":1,"36":1,"63":1,"67":1,"71":1,"84":1}}],["geotiff",{"2":{"10":1}}],["geospatial",{"2":{"4":3,"51":1}}],["gets",{"2":{"73":4}}],["getting",{"2":{"13":1,"48":1}}],["getters",{"0":{"43":1},"1":{"44":1}}],["getter",{"2":{"4":1}}],["get",{"2":{"1":3,"2":1,"3":1,"11":3,"13":4,"16":1,"21":1,"29":1,"43":7,"74":1,"79":1}}],["getindex",{"2":{"0":1,"3":2,"14":3,"15":1,"21":2,"31":1,"42":2}}],["generator",{"2":{"19":4}}],["generators",{"0":{"15":1},"2":{"34":1}}],["generates",{"2":{"17":7}}],["generate",{"2":{"3":1,"17":2,"21":1}}],["generated",{"2":{"3":1,"16":1,"40":1}}],["general",{"2":{"11":1}}],["generally",{"2":{"0":1}}],["generic",{"2":{"0":1,"4":1,"71":1}}],["p",{"2":{"84":1}}],["python",{"2":{"34":1}}],["pkg",{"2":{"22":2}}],["pkg>",{"2":{"22":2}}],["permafrost",{"2":{"56":1}}],["permutation",{"2":{"80":1}}],["permuting",{"2":{"18":2}}],["permute",{"2":{"18":1,"24":1,"61":1}}],["permuteddimsarray",{"2":{"80":2}}],["permutedims",{"2":{"32":1,"80":3}}],["permuted",{"2":{"18":1}}],["periods",{"2":{"17":3}}],["perform",{"2":{"32":1}}],["performed",{"2":{"4":1}}],["performance",{"0":{"33":1,"81":1},"2":{"4":3,"14":1,"51":1}}],["put",{"2":{"11":1}}],["pixels",{"2":{"5":1}}],["powerful",{"2":{"55":1,"67":1}}],["polygon",{"2":{"51":1}}],["positions",{"0":{"10":1}}],["position",{"2":{"4":1,"9":1,"10":6}}],["possible",{"2":{"4":2,"5":1,"7":1,"18":1,"26":1,"32":1,"60":1,"72":1}}],["point",{"2":{"0":1,"4":2,"5":1,"9":1,"15":1,"74":1}}],["points",{"2":{"0":6,"4":7,"5":12,"8":2,"9":4,"13":5,"15":5,"17":4,"18":9,"19":1,"23":4,"25":20,"26":2,"43":32,"44":28,"47":9,"48":4,"49":5,"68":2,"70":2,"72":4,"73":9,"74":1,"75":4,"76":10,"77":2,"78":15,"79":1,"80":49,"83":4,"84":2}}],["planned",{"2":{"65":1}}],["plasma",{"2":{"64":2}}],["places",{"2":{"61":2}}],["place",{"2":{"27":1,"66":1}}],["placed",{"2":{"18":1}}],["please",{"2":{"4":1}}],["plus",{"2":{"4":1}}],["plots",{"0":{"60":1,"62":1},"1":{"63":1,"64":1,"65":1},"2":{"0":1,"3":1,"11":1,"13":2,"60":2,"61":1,"65":1}}],["plotted",{"2":{"0":1,"4":1,"7":1,"9":1,"10":1}}],["plotting",{"2":{"0":1}}],["plot",{"2":{"0":3,"2":2,"60":2,"61":2}}],["printing",{"2":{"74":1}}],["principles",{"2":{"46":1}}],["prior",{"2":{"18":1}}],["primarily",{"2":{"3":1}}],["primitives",{"2":{"31":2}}],["primitive",{"0":{"3":1}}],["process",{"2":{"57":1,"71":1}}],["providing",{"2":{"51":1}}],["provides",{"2":{"43":1,"45":1,"58":1,"82":1}}],["provide",{"2":{"4":2}}],["provided",{"2":{"4":5,"5":3,"8":1,"19":2,"74":1}}],["projected",{"2":{"36":1,"51":1}}],["prod",{"2":{"32":1,"80":2}}],["probably",{"2":{"20":1,"46":1}}],["problems",{"2":{"4":1}}],["property",{"2":{"20":1}}],["properties",{"2":{"2":2,"18":1,"25":1,"41":1,"74":1,"75":2}}],["programmatically",{"2":{"13":1}}],["predicates",{"0":{"44":1},"2":{"44":1}}],["predefined",{"2":{"35":1}}],["pressed",{"2":{"22":1}}],["preserved",{"2":{"18":1}}],["present",{"2":{"5":1,"15":1,"34":1}}],["prefereble",{"2":{"17":1}}],["previously",{"2":{"18":1}}],["previous",{"2":{"3":1,"5":1}}],["precedence",{"2":{"0":1}}],["paaarnet",{"2":{"21":3,"42":3}}],["padding",{"2":{"48":1}}],["pad",{"2":{"17":5}}],["past",{"2":{"13":1}}],["pass",{"2":{"11":1,"14":1,"18":3,"21":2,"41":1,"48":1,"72":1}}],["passing",{"2":{"3":2,"4":1,"17":1,"18":1,"25":1}}],["passed",{"2":{"0":1,"2":1,"3":5,"5":3,"15":1,"18":6,"19":1,"21":1,"27":1,"40":1,"73":2}}],["partly",{"2":{"76":1}}],["part",{"2":{"21":1,"72":1}}],["parentheses",{"2":{"18":1}}],["parent",{"2":{"13":1,"18":5,"19":4,"21":13,"24":1,"26":2,"27":1,"33":2,"41":1,"42":9,"67":5,"81":1}}],["parameters",{"2":{"3":1}}],["parameter",{"2":{"0":1,"11":1}}],["pair",{"2":{"11":1,"17":1,"18":4}}],["pairs",{"2":{"11":1,"17":1,"18":8}}],["packages",{"2":{"34":2,"36":1,"46":1,"60":1,"82":1}}],["package",{"2":{"4":1,"17":1,"22":1,"23":1,"52":1,"54":1,"55":1}}],["d=rand",{"2":{"77":1}}],["dynamicgrids",{"0":{"57":1},"2":{"27":1,"57":2}}],["dropdims",{"2":{"32":1,"80":1}}],["dropped",{"2":{"21":2,"42":2}}],["drop=true",{"2":{"19":3}}],["dd",{"2":{"5":3,"18":3,"35":1,"39":2,"46":1,"61":1,"71":2,"72":1,"82":1}}],["da4",{"2":{"33":1}}],["da5",{"2":{"32":2}}],["das",{"2":{"21":1}}],["daily",{"2":{"17":1}}],["dayofyear",{"2":{"46":2,"48":3}}],["dayofweek",{"2":{"46":1}}],["day",{"2":{"17":3,"46":2,"48":4}}],["days",{"2":{"4":1,"48":1}}],["da3",{"2":{"14":2}}],["da2",{"2":{"14":2,"18":7,"30":5}}],["da1",{"2":{"14":2,"18":7,"29":2,"30":1,"31":2}}],["da",{"2":{"4":2,"18":10,"28":2,"30":2}}],["dataframe",{"0":{"84":1},"2":{"84":8}}],["dataframes",{"0":{"82":1},"1":{"83":1,"84":1,"85":1},"2":{"5":1,"82":1,"83":1}}],["data2",{"2":{"83":1,"84":2,"85":1}}],["data2=rand",{"2":{"83":1}}],["data1",{"2":{"83":2,"84":2,"85":1}}],["dataset",{"2":{"36":1,"54":1}}],["datasets",{"0":{"14":1},"2":{"4":1,"36":1,"52":1}}],["dataapi",{"2":{"17":1}}],["data=autovalues",{"2":{"4":1}}],["data",{"2":{"0":2,"1":1,"2":1,"4":17,"11":1,"13":5,"14":6,"16":1,"17":2,"18":6,"19":2,"21":3,"23":2,"25":8,"26":2,"27":2,"34":1,"35":1,"40":2,"48":1,"51":2,"52":1,"53":1,"56":1,"57":1,"59":1,"67":1,"70":3,"82":1,"83":2,"84":2,"85":1}}],["date",{"2":{"4":2,"74":1}}],["datetime",{"2":{"0":13,"5":1,"13":4,"17":2,"25":42,"46":5,"47":3,"49":11,"74":10,"75":1}}],["dates",{"2":{"0":15,"4":2,"13":1,"17":1,"25":52,"46":4,"47":4,"49":12,"74":9,"83":1}}],["d",{"0":{"24":1},"1":{"25":1},"2":{"3":2,"4":2,"15":1,"18":12,"23":1,"24":2,"25":6,"63":1,"70":2,"75":3,"77":1,"78":6,"79":23,"80":28,"81":2,"84":2}}],["dsl",{"2":{"55":1}}],["dst",{"2":{"19":6}}],["ds",{"2":{"3":1,"4":2,"18":2,"19":2}}],["docs",{"2":{"42":2}}],["documented",{"2":{"19":1}}],["dot",{"2":{"24":1}}],["dotview",{"2":{"3":1}}],["doing",{"2":{"15":1,"19":1,"48":1,"70":1,"76":1}}],["do",{"2":{"4":2,"11":1,"17":1,"18":3,"22":1,"32":1,"48":1,"68":1,"72":2}}],["doesn",{"2":{"15":1,"30":1,"31":1,"71":1}}],["does",{"2":{"4":1,"18":1,"24":1,"40":1,"46":1,"48":1,"78":1,"80":1,"82":1}}],["done",{"2":{"13":1,"18":1,"82":1}}],["don",{"2":{"2":1,"4":1,"19":4,"30":1,"70":1,"72":1}}],["direct",{"2":{"34":1}}],["directly",{"2":{"15":1,"33":1,"34":1,"48":1,"81":1,"85":1}}],["difficult",{"2":{"27":1}}],["different",{"0":{"64":1},"2":{"3":1,"5":3,"10":1,"11":1,"18":1,"43":1}}],["divide",{"2":{"17":1}}],["di",{"2":{"15":2}}],["dicts",{"2":{"66":1}}],["dictionaries",{"2":{"27":1}}],["dict",{"2":{"4":4,"11":3,"13":1,"17":3,"18":1,"28":5,"47":7,"48":11,"49":2,"70":2}}],["dictates",{"2":{"2":1}}],["discrete",{"2":{"48":1}}],["discarded",{"2":{"5":1,"13":1}}],["distinguishing",{"2":{"43":1}}],["distance",{"2":{"4":2,"5":1}}],["disk",{"2":{"34":1}}],["diskarrays",{"0":{"34":1},"2":{"17":1,"34":2,"52":1}}],["dispatch",{"2":{"0":1,"11":1}}],["dimmatrix",{"2":{"61":1}}],["dimunitrange",{"2":{"25":2}}],["dimvector",{"2":{"19":1}}],["dimgroupbyarray",{"2":{"17":6,"47":1,"48":8,"49":1}}],["dimname",{"2":{"17":1}}],["dimnum",{"2":{"1":4,"13":4,"39":1}}],["dimcolumn",{"2":{"16":1}}],["dimtype",{"2":{"17":1}}],["dimtable",{"2":{"16":4,"84":4}}],["dimtuple",{"2":{"14":1,"43":4}}],["dimpoints",{"2":{"15":4}}],["dimindices",{"2":{"15":9,"30":2,"38":1,"76":1}}],["dimz",{"2":{"5":2,"14":4}}],["dimselector",{"0":{"76":1}}],["dimselectors",{"2":{"15":7,"76":3}}],["dimsmatch",{"2":{"3":2}}],["dimstoreduce",{"2":{"3":1}}],["dimstacks",{"0":{"77":1},"1":{"78":1,"79":1,"80":1,"81":1},"2":{"24":1}}],["dimstackinterface",{"2":{"21":2,"42":6}}],["dimstack",{"2":{"2":1,"14":19,"18":1,"19":2,"24":1,"42":7,"43":1,"67":2,"77":3,"78":11,"79":2,"80":25,"82":1,"83":2,"84":2,"85":2}}],["dims2indices",{"2":{"2":1}}],["dims=",{"2":{"18":3,"19":1,"25":4}}],["dims=ti",{"2":{"0":1,"14":2,"17":1,"19":1,"32":1}}],["dims=z",{"2":{"0":1}}],["dims=y",{"2":{"0":1,"18":1,"80":11}}],["dims=x",{"2":{"0":1}}],["dims",{"0":{"24":1,"32":1,"37":1,"39":1},"1":{"25":1,"38":1,"39":1},"2":{"0":4,"1":11,"2":8,"3":13,"4":18,"5":6,"11":2,"13":42,"14":3,"15":14,"16":1,"17":9,"18":33,"19":13,"21":26,"23":3,"24":3,"25":10,"26":1,"28":11,"29":3,"30":5,"31":4,"32":4,"33":1,"35":1,"36":1,"37":1,"38":1,"39":5,"40":2,"41":2,"42":17,"43":24,"44":29,"47":9,"48":19,"49":6,"67":5,"68":2,"70":4,"72":6,"73":15,"74":1,"75":1,"76":5,"77":5,"78":30,"79":5,"80":114,"83":4,"84":27}}],["dimarrays",{"0":{"28":1},"1":{"29":1,"30":1,"31":1,"32":1,"33":1},"2":{"28":1}}],["dimarrayinterface",{"2":{"21":2,"42":6}}],["dimarray",{"0":{"29":1},"2":{"0":4,"1":5,"2":1,"3":2,"4":6,"5":11,"13":37,"14":11,"15":6,"16":2,"17":10,"18":10,"19":1,"23":7,"24":2,"25":11,"26":2,"27":1,"28":17,"29":4,"30":4,"31":2,"32":2,"33":1,"42":4,"43":7,"47":13,"48":39,"49":8,"56":1,"59":1,"67":3,"68":2,"70":2,"72":6,"73":16,"74":4,"75":2,"76":5,"77":1,"78":3,"83":1,"84":1}}],["dim",{"2":{"0":11,"1":2,"2":4,"3":9,"4":12,"11":2,"13":7,"16":3,"18":16,"29":1,"32":1,"35":3,"38":1,"83":1}}],["dimensionmismatch",{"2":{"25":1,"78":1}}],["dimensionality",{"2":{"19":1}}],["dimensional",{"0":{"24":1,"30":1},"1":{"25":1},"2":{"0":1,"3":1,"14":1,"18":1,"21":2,"38":1,"45":1,"79":1}}],["dimensionaldata",{"0":{"36":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1,"42":1},"2":{"0":22,"1":9,"2":5,"3":20,"4":35,"5":21,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"13":20,"14":3,"15":3,"16":4,"17":10,"18":20,"19":5,"20":3,"21":8,"22":3,"23":1,"25":3,"26":2,"27":3,"28":1,"31":6,"34":1,"35":3,"36":1,"37":1,"40":1,"41":2,"42":10,"43":3,"45":1,"46":2,"51":2,"52":1,"53":1,"61":1,"66":1,"67":1,"68":1,"70":1,"73":2,"74":1,"77":1,"82":1,"83":1}}],["dimension",{"0":{"15":1,"25":1,"29":1,"38":1,"49":1},"2":{"0":21,"1":27,"2":11,"3":32,"4":24,"5":3,"10":2,"11":2,"13":75,"14":3,"15":9,"16":7,"17":2,"18":33,"19":9,"21":4,"24":2,"25":2,"28":2,"30":3,"31":1,"32":3,"35":2,"38":1,"39":5,"40":1,"41":2,"42":2,"43":6,"45":1,"47":1,"49":2,"68":1,"69":1,"70":4,"72":1,"73":2,"74":2,"75":1,"77":1,"79":1,"80":1,"82":2,"84":2}}],["dimensions",{"0":{"0":1,"35":1},"1":{"1":1,"2":1,"3":1},"2":{"0":30,"1":13,"2":7,"3":32,"4":39,"5":11,"6":1,"7":6,"8":5,"9":3,"10":8,"11":5,"13":25,"14":3,"15":5,"16":1,"17":3,"18":24,"19":9,"21":6,"24":2,"25":3,"28":1,"30":4,"31":4,"33":1,"35":8,"37":2,"38":1,"42":4,"43":3,"44":2,"49":2,"61":1,"69":2,"70":1,"73":1,"75":1,"77":1,"78":1,"79":1,"82":2,"83":1,"84":2}}],["during",{"2":{"0":1,"34":1,"57":1}}],["declarative",{"2":{"68":1}}],["dec",{"2":{"48":4,"74":1}}],["december",{"2":{"17":2}}],["demo",{"2":{"46":1}}],["developers",{"2":{"40":1,"52":1}}],["development",{"2":{"34":1,"60":1}}],["devicebuffer",{"2":{"26":1}}],["dest",{"2":{"18":4}}],["descriptive",{"2":{"17":1}}],["designed",{"2":{"34":1,"36":1}}],["design",{"2":{"14":2}}],["deprecated",{"2":{"18":1,"60":1}}],["depreciated",{"2":{"5":1}}],["dependencies",{"2":{"51":1}}],["dependency",{"2":{"34":1}}],["dependent",{"2":{"0":1}}],["dependentdim",{"2":{"0":4}}],["depending",{"2":{"1":1,"13":1}}],["detect",{"2":{"4":2,"13":4,"41":1}}],["detected",{"2":{"4":4,"41":1,"74":2,"75":5}}],["determine",{"2":{"7":1,"74":1}}],["determined",{"2":{"4":1}}],["determines",{"2":{"3":1,"15":1}}],["details",{"2":{"0":1,"21":2,"35":1}}],["definition",{"2":{"21":2,"42":2}}],["defining",{"2":{"4":2}}],["defines",{"2":{"4":1,"8":1,"15":1,"18":1,"21":2,"42":3,"43":1,"55":1}}],["defined",{"2":{"3":1,"4":1,"14":1,"18":3,"35":1,"40":1,"47":1}}],["define",{"2":{"0":1,"3":1,"4":1,"9":1,"17":1,"25":1,"28":1,"43":1,"47":1,"75":1,"76":1,"83":1}}],["default",{"0":{"63":1},"2":{"0":1,"1":3,"3":11,"4":7,"10":1,"13":4,"15":2,"17":5,"20":1,"60":1,"61":1}}],["w",{"2":{"84":1}}],["would",{"2":{"15":2,"24":1,"43":1,"48":1}}],["works",{"2":{"4":1,"18":1,"24":2,"31":2,"48":2,"57":1,"78":2}}],["work",{"2":{"2":1,"4":4,"5":1,"10":2,"11":1,"13":1,"14":1,"17":1,"18":1,"19":1,"24":2,"27":3,"31":3,"35":1,"40":2,"46":1,"52":1,"60":1,"61":2,"71":1,"74":1,"80":1}}],["working",{"2":{"1":1,"14":2}}],["word",{"2":{"0":1}}],["want",{"2":{"19":4,"21":2,"22":1,"43":1,"48":2,"68":1,"72":2}}],["way",{"2":{"4":1,"18":1,"25":1,"40":1,"70":1,"72":1}}],["warning",{"2":{"3":1,"31":2,"70":1}}],["warn",{"2":{"3":1}}],["whose",{"2":{"18":3}}],["whole",{"2":{"5":2}}],["what",{"2":{"18":1,"43":2,"46":1,"48":1,"68":1,"70":1,"72":1}}],["whatever",{"2":{"15":1,"43":1}}],["which",{"2":{"3":1,"4":1,"17":1,"18":4,"19":1,"24":1,"32":1,"43":1,"51":1,"64":1,"73":3,"76":1}}],["whichever",{"2":{"3":1}}],["while",{"2":{"3":1,"11":1,"14":2,"15":1}}],["wherever",{"2":{"19":1,"48":1}}],["where",{"2":{"3":4,"4":9,"5":7,"7":1,"8":2,"9":1,"10":2,"11":1,"14":1,"18":4,"32":1,"43":1,"48":1,"67":1,"70":1,"73":4,"75":1}}],["whether",{"2":{"1":1,"13":1}}],["whenever",{"2":{"27":1}}],["when",{"2":{"0":5,"2":1,"4":6,"5":2,"11":1,"14":2,"15":1,"17":3,"18":1,"19":3,"20":1,"27":1,"30":1,"31":1,"38":1,"41":1,"48":1,"74":1,"75":1,"78":1}}],["write",{"2":{"85":2}}],["written",{"2":{"18":1}}],["writing",{"2":{"3":1,"18":1}}],["wraps",{"2":{"38":1}}],["wrapping",{"2":{"3":1,"4":1,"43":5,"52":1,"74":4}}],["wrapper",{"2":{"4":4,"11":1,"17":1,"18":2,"19":4,"20":2,"35":1,"48":1,"70":1}}],["wrappers",{"2":{"0":2,"4":1,"5":1,"11":2,"20":1,"28":2,"30":1,"67":1}}],["wrapped",{"2":{"3":2,"17":1,"18":1,"35":1,"71":1}}],["wrap",{"2":{"0":2,"17":3,"35":3,"74":1}}],["weds",{"2":{"74":2}}],["were",{"2":{"31":2}}],["well",{"2":{"16":1,"30":1,"73":1}}],["weeks",{"2":{"4":1}}],["week",{"2":{"4":1}}],["we",{"2":{"0":1,"4":3,"5":1,"14":1,"15":2,"17":2,"18":2,"19":8,"24":3,"25":1,"28":2,"29":1,"30":2,"35":1,"42":2,"43":1,"46":1,"47":3,"48":13,"49":2,"52":1,"68":2,"73":3,"74":6,"75":1,"76":4,"78":2,"79":3,"84":2,"85":1}}],["winter",{"2":{"48":1}}],["wish",{"2":{"5":1}}],["wider",{"2":{"41":1}}],["wide",{"2":{"4":1,"51":1,"82":1}}],["widely",{"2":{"1":1}}],["within",{"2":{"5":1,"15":1,"73":3}}],["without",{"2":{"3":1,"4":2,"11":1,"14":1,"18":2,"30":1,"40":1,"67":1,"71":1,"74":1,"79":1}}],["with",{"0":{"24":1,"29":1,"65":1},"1":{"25":1},"2":{"0":3,"1":5,"2":2,"3":10,"4":13,"5":10,"7":1,"8":1,"10":8,"11":1,"13":12,"14":8,"15":7,"16":1,"17":7,"18":14,"19":6,"21":3,"22":1,"24":5,"25":2,"26":1,"27":1,"28":1,"29":1,"30":3,"31":2,"32":1,"33":3,"35":5,"38":1,"40":2,"42":2,"43":1,"44":1,"45":3,"47":8,"48":11,"49":3,"52":2,"53":1,"60":2,"61":1,"67":2,"69":1,"70":5,"71":1,"73":10,"74":1,"75":2,"76":3,"78":5,"79":2,"80":1,"81":1,"82":1,"84":1}}],["will",{"2":{"0":7,"1":1,"2":2,"3":7,"4":13,"5":9,"7":2,"8":2,"10":3,"11":2,"13":10,"14":7,"16":1,"17":5,"18":15,"19":1,"30":2,"39":2,"40":2,"43":1,"46":2,"60":1,"61":3,"70":1,"71":1,"73":1,"74":2,"80":1,"84":2}}],["btime",{"2":{"81":2}}],["b=rand",{"2":{"77":1}}],["b=falses",{"2":{"67":1}}],["b=1",{"2":{"23":1,"29":1}}],["blue",{"2":{"64":1,"65":1}}],["block",{"2":{"21":1}}],["blocks",{"2":{"21":1,"48":2}}],["blockwidth",{"2":{"21":4}}],["building",{"2":{"34":1}}],["but",{"2":{"0":1,"1":2,"3":9,"4":4,"5":1,"8":1,"11":1,"13":2,"14":3,"15":3,"17":6,"18":1,"21":2,"25":1,"26":1,"30":2,"31":1,"34":2,"36":1,"43":1,"46":1,"48":1,"49":1,"51":1,"55":1,"61":1,"68":1,"69":1,"70":2,"71":1,"72":1,"73":1,"74":2,"75":1,"76":1}}],["bitmatrix",{"2":{"67":2}}],["bit",{"2":{"23":1}}],["bin",{"2":{"48":4}}],["binning",{"0":{"48":1},"2":{"17":2}}],["bins",{"2":{"17":15,"45":1,"48":5}}],["bar",{"2":{"70":3}}],["bayesian",{"2":{"54":1}}],["band",{"2":{"16":2}}],["backend",{"2":{"27":1}}],["back",{"2":{"5":1,"11":1}}],["basic",{"2":{"31":1}}],["basics",{"0":{"23":1}}],["basically",{"2":{"3":1,"17":1,"70":1}}],["base",{"2":{"3":2,"5":1,"13":10,"14":3,"17":1,"18":1,"19":7,"21":4,"24":2,"25":2,"27":1,"31":1,"42":2,"74":2,"80":1}}],["basetypeof",{"2":{"3":5}}],["basedims",{"2":{"3":2}}],["based",{"2":{"2":1,"21":1,"34":1,"70":1}}],["brackets",{"2":{"70":1}}],["break",{"2":{"48":1}}],["breaking",{"2":{"4":1,"21":1,"71":1}}],["broken",{"2":{"72":1}}],["brought",{"2":{"35":1}}],["brodcasting",{"2":{"19":2}}],["broadcasts",{"0":{"24":1},"1":{"25":1},"2":{"19":5,"24":2,"27":1,"80":1}}],["broadcast",{"0":{"24":1},"1":{"25":1},"2":{"17":3,"18":11,"19":4,"24":6,"25":7,"26":1,"34":1,"80":2}}],["broadcasting",{"2":{"3":1,"18":2,"19":5,"24":2,"47":1}}],["bonus",{"2":{"24":1}}],["box",{"2":{"21":1,"60":1}}],["boundaries",{"2":{"5":1}}],["bounds",{"2":{"4":9,"8":6,"43":8,"74":1,"75":2}}],["both",{"2":{"3":1,"4":1,"34":2,"52":1,"69":1,"78":1}}],["bool",{"2":{"1":3,"3":5,"4":2,"5":1,"13":11,"17":1,"19":2,"67":7,"73":2}}],["bytes",{"2":{"33":2,"81":2}}],["by",{"0":{"17":1,"45":1,"49":1},"1":{"46":1,"47":1,"48":1,"49":1},"2":{"0":1,"1":2,"3":13,"4":8,"5":4,"9":1,"13":2,"15":1,"17":8,"18":2,"25":2,"29":1,"33":2,"34":1,"35":1,"40":2,"47":2,"48":2,"49":3,"61":1,"64":1,"73":4}}],["b",{"2":{"0":7,"3":4,"4":2,"5":11,"13":9,"14":3,"15":1,"18":4,"23":3,"25":1,"29":3,"31":2,"35":2,"49":3,"60":1,"61":1,"63":2,"64":1,"67":2,"68":2,"70":5,"71":3,"72":3,"73":27,"75":3,"76":3,"77":1,"78":4,"79":23,"80":40,"81":2,"84":2}}],["best",{"2":{"72":1}}],["benchmarktools",{"2":{"33":3,"81":1}}],["benchmark",{"2":{"33":3}}],["before",{"2":{"19":9}}],["become",{"2":{"84":1}}],["becomes",{"2":{"16":2}}],["because",{"2":{"17":2,"24":1}}],["behavior",{"2":{"77":1}}],["behaviour",{"2":{"4":4,"5":1,"6":1,"14":2,"17":1,"18":1,"41":1,"60":1,"74":1}}],["behaviours",{"2":{"4":1,"52":1,"71":1}}],["behaves",{"2":{"15":2,"36":1}}],["begin+1",{"2":{"31":1}}],["beginendsteprange",{"2":{"10":2}}],["beginendrange",{"2":{"10":2}}],["begin",{"0":{"31":1},"2":{"10":4,"31":2}}],["better",{"2":{"5":1}}],["between",{"2":{"0":1,"4":5,"5":21,"10":1,"11":1,"13":1,"14":2}}],["been",{"2":{"2":1,"3":1,"14":1,"18":1}}],["be",{"2":{"0":5,"1":5,"2":4,"3":11,"4":33,"5":17,"6":1,"7":2,"8":3,"10":4,"11":3,"13":10,"14":4,"15":3,"17":8,"18":16,"19":2,"20":1,"21":3,"22":1,"24":1,"25":1,"27":4,"30":3,"31":1,"32":1,"35":3,"36":1,"38":1,"40":1,"41":1,"46":1,"48":1,"66":1,"67":2,"68":1,"70":1,"72":1,"73":2,"74":3,"75":2,"78":1,"80":1}}],["ecosystem",{"2":{"82":1}}],["edges",{"2":{"48":1}}],["edge",{"2":{"17":1}}],["equally",{"2":{"17":1}}],["equivalent",{"2":{"14":1,"15":1,"19":2}}],["estimate",{"2":{"33":4}}],["essentially",{"2":{"15":1,"17":1}}],["especially",{"2":{"15":1,"19":1,"61":1}}],["effects",{"2":{"13":2}}],["ensuring",{"2":{"82":1}}],["ensure",{"2":{"19":4}}],["enforce",{"2":{"77":1}}],["entries",{"2":{"70":2}}],["entry",{"2":{"17":3,"47":7,"48":11,"49":2}}],["engine",{"2":{"57":1}}],["enables",{"2":{"34":1}}],["enable",{"2":{"8":1}}],["end",{"0":{"31":1},"2":{"5":4,"9":1,"10":6,"17":3,"18":1,"31":3,"43":1}}],["evaluations",{"2":{"33":2}}],["evaluated",{"2":{"5":1}}],["everything",{"2":{"36":1,"66":1,"70":1}}],["everywhere",{"2":{"35":1}}],["every",{"2":{"4":1,"5":1,"8":1,"18":2}}],["even",{"2":{"4":1,"15":1,"24":2,"31":1,"71":1,"74":1,"80":1}}],["error",{"2":{"3":2,"5":2,"25":1,"30":2,"70":1,"78":1}}],["errors",{"2":{"2":1,"3":1}}],["empty",{"2":{"3":1,"13":2,"21":2,"42":2,"75":1}}],["eltype",{"2":{"19":2,"67":2,"77":4,"78":22,"79":4,"80":88,"83":2,"84":26}}],["else",{"2":{"2":1,"17":1,"66":1,"70":1}}],["element",{"2":{"0":1,"2":1,"13":2,"17":2,"23":1,"25":3,"29":1,"30":2,"31":1,"43":2,"46":8,"47":7,"48":13,"49":1,"73":3,"74":3,"78":1,"79":2,"80":1,"85":1}}],["either",{"2":{"1":1,"2":1,"3":1,"4":2,"11":1,"13":2,"15":1,"17":4,"19":4}}],["early",{"2":{"21":2}}],["easiest",{"2":{"40":1}}],["easier",{"2":{"20":1,"39":1}}],["easily",{"2":{"0":1,"4":1,"36":2,"70":1}}],["eachindex",{"2":{"38":2}}],["eachslice",{"2":{"19":4,"25":2,"32":1,"49":1}}],["each",{"2":{"0":1,"3":2,"4":5,"5":2,"8":1,"14":1,"15":2,"16":1,"17":1,"18":1,"24":1,"25":1,"43":2,"47":1,"60":1,"74":1,"79":1,"81":1,"84":3}}],["except",{"2":{"24":1,"27":1}}],["exception",{"2":{"19":2}}],["exact",{"2":{"4":1,"9":1,"15":2,"17":1}}],["exactly",{"2":{"4":1,"5":1,"48":1,"73":1}}],["examples",{"2":{"0":2,"18":1,"19":1,"36":2}}],["example",{"0":{"25":1,"83":1},"2":{"0":5,"1":4,"3":2,"4":5,"5":7,"13":12,"14":2,"15":2,"16":1,"17":2,"18":5,"19":3,"25":1,"27":1,"40":1,"43":1}}],["extrema",{"2":{"32":1,"80":2}}],["extra",{"2":{"0":1,"75":1}}],["extent",{"2":{"43":9}}],["extents",{"2":{"43":2}}],["extensible",{"2":{"36":1,"40":1}}],["extension",{"2":{"24":1,"55":1}}],["extends",{"2":{"51":1,"53":1}}],["extend",{"2":{"14":1}}],["extended",{"2":{"4":1,"21":2,"36":2}}],["extending",{"0":{"36":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1,"42":1},"2":{"4":3,"18":1,"37":1}}],["exploratory",{"2":{"54":1}}],["explicit",{"2":{"4":1,"8":1,"42":1}}],["explicitly",{"2":{"4":2,"8":1,"17":1,"18":2,"19":4}}],["expected",{"2":{"19":1}}],["expression",{"2":{"18":1}}],["exported",{"0":{"1":1,"2":1}}],["existing",{"2":{"5":1,"18":1,"21":1,"45":1}}],["exists",{"2":{"3":1,"51":1}}],["exist",{"2":{"2":1,"66":1}}],["e",{"2":{"0":1,"3":1,"4":2,"5":2,"13":1,"15":1,"17":1,"23":1,"36":1,"49":1,"63":1,"64":1,"67":1,"71":1,"75":3,"78":2,"84":1}}],["etc",{"2":{"0":2,"3":1,"14":1,"18":2}}],["l",{"2":{"43":2,"68":2,"70":2,"72":3,"74":9,"84":1}}],["line",{"2":{"60":1}}],["linearmap",{"2":{"4":1}}],["list",{"2":{"17":1,"64":1}}],["listed",{"2":{"8":1,"44":1,"70":1}}],["little",{"2":{"5":1,"23":1}}],["lies",{"2":{"14":2}}],["lie",{"2":{"5":1}}],["likely",{"2":{"4":1,"21":2}}],["like",{"0":{"78":1,"79":1},"2":{"0":1,"3":2,"4":5,"5":2,"13":1,"14":1,"15":4,"17":2,"18":3,"20":1,"30":3,"32":1,"35":1,"38":1,"41":1,"43":2,"48":3,"51":1,"68":1,"69":1,"70":1,"72":1,"73":7,"75":1,"76":2,"77":1,"78":1,"80":1}}],["legend",{"2":{"60":1}}],["less",{"2":{"48":1}}],["letting",{"2":{"35":1}}],["let",{"2":{"33":1,"46":2,"47":1,"48":1}}],["lets",{"2":{"11":1,"20":1,"41":1}}],["left",{"2":{"21":1,"23":3}}],["leans",{"2":{"26":1}}],["leave",{"2":{"13":1}}],["leaves",{"2":{"3":1}}],["leap",{"2":{"4":1}}],["least",{"2":{"3":1,"21":4}}],["level",{"2":{"3":2}}],["length=365",{"2":{"46":1}}],["lengths",{"2":{"3":1,"78":1}}],["length",{"2":{"0":1,"3":6,"4":5,"8":1,"13":4,"17":4,"19":2,"21":3,"38":1,"42":2,"82":1}}],["lazily",{"2":{"82":1}}],["lazy",{"2":{"16":1,"34":1}}],["largest",{"2":{"80":1,"82":1}}],["large",{"2":{"52":1}}],["larger",{"2":{"25":1}}],["language",{"2":{"26":1}}],["lastindex",{"2":{"32":1}}],["last",{"2":{"17":2,"31":1,"43":1}}],["layermetadata",{"2":{"21":1,"70":1}}],["layerdims",{"2":{"21":5,"42":2,"70":1}}],["layernames=nothing",{"2":{"16":1}}],["layered",{"2":{"14":2}}],["layer",{"2":{"14":5,"19":2,"27":2,"30":1,"79":1,"80":1,"82":2,"84":1}}],["layersfrom=",{"2":{"84":2}}],["layersfrom=nothing",{"2":{"14":1,"16":1}}],["layersfrom",{"2":{"16":1}}],["layers",{"2":{"14":9,"16":1,"18":1,"19":5,"67":2,"77":4,"78":9,"79":2,"80":28,"81":2,"82":2,"83":1,"84":1}}],["layout",{"2":{"0":1}}],["later",{"2":{"17":1}}],["latitude",{"2":{"0":1}}],["lat",{"2":{"0":1}}],["labelled",{"2":{"60":1}}],["labelling",{"2":{"13":1}}],["labels=x",{"2":{"48":2}}],["labels",{"2":{"11":1,"17":21,"61":1}}],["label",{"2":{"0":3,"2":5,"35":1}}],["lt",{"2":{"0":12,"1":2,"3":4,"5":1,"13":2,"39":3,"57":1,"58":1,"79":1}}],["lot",{"2":{"48":1,"65":1}}],["log",{"2":{"33":1}}],["losing",{"2":{"17":1,"67":1}}],["looping",{"2":{"82":1}}],["loop",{"2":{"82":1}}],["look",{"2":{"46":1}}],["lookuparray",{"2":{"72":1}}],["lookupdim",{"2":{"18":1}}],["lookupcomponent",{"2":{"18":1}}],["lookuptrait",{"2":{"6":1,"7":1,"8":1,"9":1,"10":1,"18":1}}],["lookups",{"0":{"4":1,"74":1},"1":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1},"2":{"2":3,"3":2,"4":34,"5":11,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"13":1,"15":2,"18":3,"19":1,"28":1,"35":2,"38":1,"43":1,"51":1,"68":1,"73":1,"74":3,"75":1,"76":1}}],["lookup",{"0":{"6":1,"19":1,"75":1},"1":{"7":1,"8":1,"9":1,"10":1,"20":1,"21":1},"2":{"0":4,"1":1,"2":13,"3":2,"4":52,"5":4,"6":2,"7":6,"9":1,"10":4,"13":9,"15":2,"17":2,"18":14,"19":5,"36":3,"38":1,"41":3,"43":18,"44":8,"48":2,"69":1,"70":1,"72":1,"73":2,"74":14,"75":4,"77":1}}],["loosely",{"2":{"6":1}}],["location",{"2":{"9":1}}],["located",{"2":{"5":1}}],["locus",{"2":{"0":1,"4":13,"5":3,"9":2,"10":5,"43":6}}],["lowerbound",{"2":{"8":1}}],["lower",{"2":{"5":1,"8":1}}],["low",{"2":{"3":1}}],["long",{"2":{"39":1,"40":1,"81":1}}],["longitudes",{"2":{"4":1}}],["longitude",{"2":{"0":1}}],["longer",{"2":{"0":1,"3":1,"4":1}}],["lon",{"2":{"0":1}}],["loading",{"2":{"0":1}}],["load",{"2":{"0":1,"4":1,"46":1,"51":1,"58":1}}],["csv",{"0":{"85":1},"2":{"82":1,"85":5}}],["c=rand",{"2":{"77":1}}],["cryogridoutput",{"2":{"56":1}}],["cryogrid",{"0":{"56":1},"2":{"56":2}}],["crs",{"2":{"51":1}}],["create",{"2":{"4":2,"10":2,"13":4,"17":1,"18":1,"19":2,"23":1,"26":1,"35":1,"46":2,"72":1,"73":1,"74":5}}],["created",{"2":{"0":1}}],["creating",{"2":{"0":1,"28":1}}],["climate",{"2":{"53":1}}],["climatebase",{"0":{"53":1},"2":{"53":1}}],["cloud",{"2":{"34":1}}],["closest",{"2":{"73":1}}],["close",{"2":{"21":3,"73":1}}],["closely",{"2":{"19":4,"52":1}}],["closed",{"2":{"5":3,"48":35}}],["closedinterval",{"2":{"5":1}}],["clashes",{"2":{"0":1,"5":1}}],["cycling",{"2":{"4":1}}],["cyclical",{"2":{"74":1}}],["cyclicbins",{"2":{"17":4}}],["cyclic",{"2":{"4":5,"17":1,"74":5}}],["cycle=month",{"2":{"74":1}}],["cycle=24",{"2":{"48":1}}],["cycle=12",{"2":{"48":3}}],["cycles",{"2":{"17":1,"74":1}}],["cycled",{"2":{"4":3}}],["cycle",{"2":{"4":9,"17":5}}],["cua2",{"2":{"26":2}}],["cua",{"2":{"26":2}}],["cuarray",{"2":{"18":1,"26":2,"67":1}}],["cuda",{"0":{"26":1},"1":{"27":1},"2":{"26":2,"27":1}}],["currently",{"2":{"24":1}}],["current",{"2":{"4":1,"13":1,"19":1}}],["curresponding",{"2":{"4":2}}],["customise",{"2":{"71":1}}],["custom=dd",{"2":{"18":1}}],["custom=10",{"2":{"18":1}}],["custom",{"2":{"0":4,"3":1,"16":2,"17":1,"18":9,"27":1,"36":2,"49":1}}],["center",{"2":{"5":5,"9":2,"10":4,"43":7,"72":1,"75":1}}],["central",{"2":{"0":1}}],["cellular",{"2":{"57":1}}],["cells",{"2":{"9":1,"10":1,"73":1}}],["cell",{"2":{"3":1,"5":1}}],["choosing",{"2":{"73":1}}],["choose",{"2":{"40":1,"60":1}}],["chosen",{"2":{"2":1,"15":1,"17":1}}],["child",{"2":{"19":1}}],["chunked",{"2":{"34":1}}],["chunk",{"2":{"17":1}}],["channel",{"2":{"23":1}}],["channel=",{"2":{"23":1}}],["changing",{"2":{"4":1,"18":1,"71":1}}],["changes",{"2":{"21":1}}],["change",{"2":{"3":1,"4":4,"18":5,"72":1}}],["changed",{"2":{"3":1}}],["char",{"2":{"0":1,"3":1,"4":1,"15":2,"23":1,"68":2,"70":2,"72":3,"75":1,"83":2,"84":3}}],["checked",{"2":{"24":1}}],["checks",{"2":{"19":4,"24":2}}],["checking",{"2":{"19":1}}],["check=true",{"2":{"3":1}}],["check",{"2":{"1":2,"3":1,"4":1,"5":1,"13":2,"18":1,"19":11,"22":1,"70":1}}],["cost",{"2":{"33":1}}],["costly",{"2":{"19":1}}],["covers",{"2":{"45":1}}],["cov",{"2":{"32":1}}],["core",{"2":{"70":1}}],["cor",{"2":{"32":1}}],["correctly",{"2":{"42":2}}],["correct",{"2":{"4":2,"5":1,"10":1,"27":1}}],["corresponding",{"2":{"4":1}}],["correspond",{"2":{"3":1,"10":3}}],["coordinate",{"2":{"36":1}}],["coordinatetransformations",{"2":{"4":2}}],["coordination",{"2":{"34":1}}],["coords",{"2":{"18":2}}],["copy",{"2":{"18":1,"19":7}}],["code",{"2":{"14":2,"21":2,"26":1}}],["coded",{"2":{"6":1}}],["could",{"2":{"5":1,"25":1,"48":1}}],["counted",{"2":{"5":1}}],["collected",{"2":{"82":1}}],["collection",{"2":{"77":1}}],["collect",{"2":{"67":1}}],["colours",{"2":{"64":1}}],["color=",{"2":{"64":2,"65":1}}],["color",{"2":{"64":1}}],["colormap",{"0":{"63":1,"64":1},"2":{"64":2}}],["colormap=",{"2":{"61":1}}],["colon",{"2":{"2":2,"3":1,"14":1}}],["column",{"2":{"16":2,"84":3}}],["columns",{"2":{"1":1,"8":1,"13":1,"16":3,"82":2,"84":3}}],["command",{"2":{"22":1}}],["commands",{"2":{"22":1}}],["commondatamodel",{"2":{"34":1}}],["commondims",{"2":{"3":5}}],["commonly",{"2":{"4":1}}],["common",{"2":{"0":2,"4":1,"17":1,"25":1,"46":1,"51":1,"70":1}}],["compile",{"2":{"81":1}}],["compilation",{"2":{"81":1}}],["components",{"2":{"21":4,"42":4}}],["completely",{"2":{"19":4}}],["complicated",{"2":{"5":1,"23":1}}],["compatibility",{"0":{"34":1},"2":{"24":1}}],["compatible",{"2":{"16":1}}],["comparing",{"2":{"3":1,"19":1}}],["comparisons",{"2":{"3":2}}],["compare",{"2":{"3":6}}],["compared",{"2":{"3":1,"19":1}}],["comparedims",{"2":{"3":5}}],["combines",{"2":{"5":1,"43":1}}],["combined",{"2":{"4":1,"15":1,"18":1,"30":1,"69":1}}],["combinedims",{"2":{"3":1}}],["combine",{"2":{"3":1,"16":1}}],["combinations",{"2":{"15":2}}],["combination",{"2":{"1":1,"13":1,"34":2}}],["confusing",{"2":{"40":1}}],["confused",{"2":{"5":1}}],["consistency",{"2":{"77":1}}],["consistent",{"2":{"43":1}}],["consecutive",{"2":{"30":2}}],["constraint",{"2":{"30":1}}],["constructing",{"0":{"29":1},"2":{"41":1}}],["constructionbase",{"2":{"18":1,"40":2,"71":2}}],["construction",{"2":{"4":1,"10":1}}],["construct",{"2":{"16":1}}],["constructors",{"2":{"13":1,"41":2}}],["constructor",{"2":{"4":1,"14":1,"26":1,"70":1}}],["constructed",{"2":{"0":1,"3":1,"4":1,"14":1,"21":2,"37":1}}],["const",{"2":{"5":1,"18":1,"46":1}}],["concatenate",{"2":{"19":4}}],["concrete",{"2":{"0":1,"1":2,"3":3,"4":2,"13":3,"14":1}}],["converging",{"2":{"52":1}}],["conversion",{"2":{"11":1}}],["conversions",{"2":{"10":1}}],["converting",{"0":{"84":1,"85":1}}],["convertible",{"2":{"27":1}}],["converts",{"2":{"2":1}}],["convert",{"2":{"2":1,"3":1,"4":1,"27":2,"74":1}}],["converted",{"2":{"0":1,"3":1,"4":1,"16":1,"27":1}}],["controlled",{"2":{"64":1}}],["control",{"2":{"18":1,"19":1}}],["contents",{"2":{"11":1}}],["contexts",{"2":{"4":3}}],["context",{"2":{"3":1,"4":1,"13":1,"21":1}}],["contained",{"2":{"4":1,"5":1,"15":1,"66":1}}],["contain",{"2":{"2":1,"3":1,"5":2,"18":2}}],["contains",{"2":{"1":1,"4":2,"5":10,"13":1,"15":2,"17":1,"18":1,"73":2,"76":1}}],["containing",{"2":{"1":1,"3":1,"13":2}}],["caveats",{"2":{"70":1}}],["cairomakie",{"2":{"61":1}}],["cartesianindex",{"2":{"30":2}}],["cartesianindices",{"2":{"15":4,"30":1,"76":1}}],["category",{"2":{"83":5,"84":10,"85":1}}],["categorises",{"2":{"11":1}}],["categories",{"2":{"4":3,"74":1}}],["categorical",{"2":{"0":2,"3":2,"4":8,"5":3,"13":3,"15":2,"23":2,"48":4,"61":1,"68":2,"70":2,"72":4,"73":15,"74":5,"75":3,"83":2}}],["cat",{"2":{"19":2,"32":1}}],["cases",{"2":{"19":1,"36":1,"38":1}}],["case",{"2":{"18":1,"72":1}}],["calculate",{"2":{"17":1}}],["call",{"2":{"21":1,"48":1}}],["calling",{"2":{"18":1,"39":1,"41":1}}],["callable",{"2":{"17":1}}],["called",{"2":{"3":2,"27":1,"41":1}}],["capabilities",{"2":{"51":1}}],["capable",{"2":{"4":1}}],["captions",{"2":{"13":1}}],["caution",{"2":{"5":1}}],["cannot",{"2":{"7":1}}],["can",{"2":{"0":2,"1":4,"2":3,"3":7,"4":18,"5":7,"10":3,"11":2,"13":9,"14":2,"15":4,"16":1,"17":9,"18":8,"19":2,"22":1,"24":2,"25":3,"28":1,"29":1,"30":4,"31":2,"32":2,"35":7,"36":1,"40":1,"42":2,"43":1,"44":1,"46":3,"47":2,"48":7,"49":2,"64":1,"66":1,"67":1,"70":2,"71":1,"73":7,"74":2,"75":2,"76":4,"78":3,"80":1,"81":1,"84":2,"85":1}}],["c",{"2":{"0":6,"3":2,"4":2,"13":9,"15":3,"18":3,"23":2,"49":2,"60":1,"61":1,"63":1,"68":2,"70":2,"72":3,"73":33,"75":3,"76":2,"77":1,"78":8,"79":23,"80":28,"81":2,"83":3,"84":2}}],["zarr",{"2":{"34":1}}],["zip",{"2":{"34":1}}],["zero",{"2":{"21":2,"73":1,"79":1}}],["zeros",{"2":{"0":1,"13":6,"18":1,"28":4,"42":2}}],["z=dd",{"2":{"18":1}}],["z=",{"2":{"18":1}}],["zdim",{"2":{"0":4}}],["z",{"2":{"0":8,"1":9,"3":4,"13":9,"18":9,"19":3,"30":13,"35":3,"42":2,"61":1,"72":2,"83":4,"84":22,"85":9}}],["yaxarray",{"2":{"36":1,"52":1}}],["yaxarrays",{"0":{"52":1},"2":{"34":1,"52":1}}],["y=near",{"2":{"79":1}}],["y=not",{"2":{"73":1}}],["y=4",{"2":{"79":1,"81":1}}],["y=where",{"2":{"73":1}}],["y=at",{"2":{"73":2}}],["y=begin+1",{"2":{"31":1}}],["y=end",{"2":{"31":1}}],["y=dimarray",{"2":{"19":1}}],["y=>isodd",{"2":{"17":2}}],["yet",{"2":{"10":1,"21":2}}],["yearday",{"2":{"46":1}}],["yearmonthday",{"2":{"46":1}}],["yearmonth",{"2":{"46":1}}],["year",{"2":{"4":4,"17":1,"46":1}}],["years",{"2":{"4":3}}],["your",{"2":{"5":1,"18":1,"23":1,"40":2}}],["yourdimarray",{"2":{"40":1}}],["yourdim",{"2":{"0":1}}],["you",{"2":{"4":2,"5":1,"16":1,"18":5,"19":5,"21":2,"22":4,"25":2,"31":1,"32":1,"35":1,"40":1,"43":2,"46":1,"48":1,"66":1,"70":4,"72":4,"74":1,"78":1}}],["ydim",{"2":{"0":7}}],["y",{"2":{"0":16,"1":12,"3":8,"4":9,"5":15,"13":26,"14":2,"15":13,"16":2,"17":4,"18":11,"19":6,"25":13,"26":2,"28":24,"30":7,"31":2,"32":3,"33":3,"35":3,"42":3,"43":31,"44":22,"61":2,"63":1,"67":8,"68":3,"70":2,"72":10,"73":16,"75":3,"76":8,"77":10,"78":34,"79":4,"80":92,"83":10,"84":32,"85":1}}],["xy",{"2":{"84":2}}],["xarray",{"2":{"34":1}}],["xz",{"2":{"30":1}}],["x2",{"2":{"19":2}}],["x1",{"2":{"19":2}}],["x=not",{"2":{"73":1}}],["x=near",{"2":{"73":2}}],["x=where",{"2":{"73":1}}],["x=touches",{"2":{"73":1}}],["x=interval",{"2":{"73":1}}],["x=openinterval",{"2":{"73":1}}],["x=1",{"2":{"73":2,"79":1,"81":1}}],["x=contains",{"2":{"73":2}}],["x=at",{"2":{"73":3,"79":2}}],["x=all",{"2":{"5":1}}],["x=>",{"2":{"49":1}}],["x=>bins",{"2":{"48":2}}],["x=begin",{"2":{"31":1}}],["x=begin+1",{"2":{"31":1}}],["x=dimarray",{"2":{"19":1}}],["xs",{"2":{"2":1,"3":2,"4":6,"11":1,"13":2,"16":1}}],["xdim",{"2":{"0":7}}],["x3c",{"2":{"0":10,"4":12,"5":9,"7":6,"8":4,"9":3,"10":6,"11":2,"13":3,"14":1,"15":3,"16":2,"17":3,"20":2,"21":2,"33":2}}],["x",{"2":{"0":17,"1":27,"2":9,"3":22,"4":28,"5":32,"11":6,"13":65,"14":3,"15":17,"16":5,"17":2,"18":27,"19":7,"25":14,"26":2,"28":24,"30":18,"31":2,"32":3,"33":3,"35":6,"40":1,"42":4,"43":29,"44":23,"46":3,"47":3,"48":14,"49":3,"60":1,"61":3,"63":1,"67":8,"68":4,"70":5,"72":8,"73":25,"74":7,"75":3,"76":8,"77":10,"78":25,"80":96,"83":10,"84":32,"85":1}}],["ideal",{"2":{"48":1}}],["identity",{"2":{"17":2,"48":2}}],["identical",{"2":{"4":2,"11":1,"77":1}}],["io",{"2":{"21":11}}],["images",{"2":{"58":1}}],["immutable",{"2":{"18":1,"27":1,"40":1,"72":1}}],["improving",{"2":{"72":1}}],["imperative",{"2":{"68":1}}],["imply",{"2":{"18":1}}],["implements",{"2":{"42":4,"82":1}}],["implemented",{"2":{"39":1,"42":2}}],["implement",{"2":{"14":1,"40":1,"82":1}}],["implementation",{"2":{"4":2,"14":1,"42":4,"56":1}}],["implementations",{"2":{"0":1}}],["important",{"2":{"4":3}}],["ignoring",{"2":{"13":1}}],["ignores",{"2":{"61":1}}],["ignore",{"2":{"3":2,"35":1,"40":1}}],["ignored",{"2":{"3":1,"19":2}}],["irregular",{"2":{"4":3,"5":6,"8":5,"13":1,"15":2,"17":4,"18":2,"47":7,"48":6,"73":6,"74":3,"75":1,"76":4}}],["i",{"2":{"2":2,"3":3,"15":1,"23":1,"38":1,"39":1,"49":1,"63":1,"64":1,"84":1}}],["if",{"2":{"0":1,"1":2,"2":3,"3":5,"4":8,"5":6,"11":2,"13":2,"14":1,"15":2,"17":1,"18":7,"19":7,"22":1,"38":1,"40":1,"43":1,"61":1,"66":1,"70":2,"72":1,"76":1,"79":2,"80":1}}],["isend",{"2":{"44":5}}],["isexplicit",{"2":{"44":5}}],["ispoints",{"2":{"44":6}}],["isintervals",{"2":{"44":6}}],["isreverse",{"2":{"44":5}}],["isregular",{"2":{"43":2,"44":5}}],["isforward",{"2":{"44":5}}],["isordered",{"2":{"44":6}}],["iscenter",{"2":{"44":5}}],["iscyclic",{"2":{"44":6}}],["iscategorical",{"2":{"44":7}}],["isstart",{"2":{"44":5}}],["issampled",{"2":{"44":7}}],["issue",{"2":{"4":1,"72":1}}],["isbits",{"2":{"20":1,"27":1}}],["isa",{"2":{"14":1}}],["isapprox",{"2":{"5":1}}],["is",{"2":{"0":7,"1":3,"2":4,"3":14,"4":31,"5":9,"6":1,"7":3,"8":2,"10":1,"11":2,"13":7,"14":3,"15":6,"17":12,"18":11,"19":5,"20":3,"21":5,"22":1,"24":3,"26":3,"27":2,"31":2,"32":1,"34":3,"35":1,"36":4,"39":2,"40":5,"42":3,"43":6,"48":3,"49":1,"51":4,"52":3,"54":2,"55":1,"57":1,"58":1,"60":2,"64":1,"65":1,"67":1,"68":1,"69":1,"70":3,"71":1,"72":3,"73":7,"74":4,"75":5,"76":1,"77":2,"81":2,"82":1,"84":1}}],["iter",{"2":{"23":1}}],["iter=1",{"2":{"23":1}}],["iterates",{"2":{"19":2}}],["iterate",{"2":{"15":1}}],["iterator",{"2":{"14":2}}],["iteration",{"2":{"14":2,"34":1}}],["its",{"2":{"13":1,"17":2,"18":3,"27":1,"36":1,"52":2,"55":1,"72":1}}],["it",{"2":{"0":1,"2":1,"3":2,"4":11,"5":3,"7":1,"11":1,"13":1,"14":2,"15":1,"17":3,"18":7,"19":1,"20":2,"21":1,"22":3,"28":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":2,"38":1,"39":1,"40":1,"42":2,"43":1,"46":1,"48":2,"51":1,"55":1,"61":1,"68":1,"70":1,"72":2,"73":3,"74":1,"78":2}}],["inverts",{"2":{"78":1}}],["invalid",{"2":{"30":1}}],["inferno",{"2":{"61":1}}],["information",{"2":{"4":3,"13":1,"43":1}}],["inner",{"2":{"18":1,"19":1,"21":1,"67":2}}],["inbuilt",{"2":{"18":1}}],["initially",{"2":{"14":2}}],["inaccurate",{"2":{"8":1}}],["including",{"2":{"7":1,"34":1,"73":1}}],["included",{"2":{"3":1,"5":1,"11":1,"48":1}}],["include",{"2":{"2":1,"3":1,"5":1,"21":1,"73":1,"74":1}}],["installed",{"2":{"22":1}}],["install",{"2":{"22":1}}],["installation",{"0":{"22":1}}],["instead",{"2":{"5":2,"7":1,"11":1,"17":1,"31":1,"61":1,"76":1}}],["inside",{"2":{"5":1,"31":1,"73":1}}],["inserted",{"2":{"0":1}}],["inputs",{"2":{"39":1,"41":1}}],["input",{"2":{"3":1,"5":1,"8":1,"64":1}}],["inds",{"2":{"30":2}}],["individual",{"2":{"15":1}}],["indicate",{"2":{"5":1,"10":1,"32":1}}],["indicates",{"2":{"4":2,"7":3,"9":1,"10":1,"11":1}}],["indicating",{"2":{"4":5}}],["indices",{"2":{"2":2,"5":7,"13":1,"15":3,"18":2,"35":1,"73":3,"74":1,"76":1}}],["independent",{"2":{"0":1,"4":1}}],["independentdim",{"2":{"0":5}}],["indexes",{"2":{"73":1}}],["indexed",{"2":{"4":2,"14":2}}],["indexing",{"0":{"30":1,"31":1,"78":1,"79":1},"2":{"0":2,"4":4,"13":3,"14":2,"15":1,"29":1,"30":4,"31":3,"33":1,"51":1,"73":7,"79":1,"81":3}}],["index",{"2":{"0":2,"3":3,"4":5,"5":8,"6":1,"7":4,"8":4,"9":2,"10":5,"13":6,"14":2,"15":4,"16":2,"18":5,"30":2,"31":1,"35":1,"73":3,"76":1,"79":1}}],["inherits",{"2":{"52":1}}],["inherit",{"2":{"0":1,"1":1,"13":1}}],["int8",{"2":{"23":5}}],["intselectors",{"2":{"5":1}}],["intselector",{"2":{"5":4}}],["intentionally",{"2":{"34":1}}],["intended",{"2":{"5":1}}],["integrate",{"2":{"34":1}}],["integrations",{"0":{"50":1},"1":{"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1}}],["integration",{"0":{"27":1}}],["integers",{"2":{"46":1,"48":1}}],["integer",{"2":{"3":1,"13":4,"17":7,"39":1}}],["inteface",{"2":{"21":2}}],["interoperability",{"2":{"82":1}}],["interpolate",{"2":{"15":1}}],["interpolation",{"2":{"15":3,"76":1}}],["interact",{"2":{"5":1}}],["intermediate",{"2":{"5":1}}],["interfaces",{"0":{"42":1},"2":{"21":2,"42":5}}],["interface",{"0":{"16":1,"21":1,"42":1},"2":{"3":1,"21":4,"34":1,"36":1,"71":1,"82":2,"85":1}}],["internally",{"2":{"70":1}}],["internal",{"0":{"21":1},"2":{"3":1,"18":1}}],["intervalbounds",{"2":{"43":4,"73":1}}],["interval",{"2":{"0":1,"4":5,"5":12,"8":1,"9":2,"10":4,"15":1,"17":2,"43":2,"48":9,"73":3,"74":1,"75":1}}],["intervalsets",{"2":{"5":2,"17":1,"48":6,"73":2,"75":1}}],["intervals",{"2":{"0":1,"4":13,"5":10,"8":3,"9":4,"10":1,"15":1,"17":4,"43":1,"48":7,"72":2,"73":14,"74":6,"75":2}}],["int",{"2":{"1":5,"2":2,"5":1,"13":5,"14":2,"16":1,"17":4,"31":2,"32":1,"35":1,"39":1,"48":1,"73":4}}],["int64",{"2":{"0":2,"4":2,"5":11,"13":2,"15":2,"17":3,"18":2,"19":1,"23":4,"25":14,"28":2,"30":6,"43":17,"44":14,"46":12,"47":11,"48":5,"72":2,"74":3,"75":1,"76":3,"83":4,"84":8}}],["into",{"2":{"0":3,"4":3,"15":2,"16":1,"17":1,"18":1,"26":1,"27":1,"35":2,"48":4,"56":1,"61":1,"69":1,"81":1}}],["in",{"2":{"0":7,"1":3,"2":2,"3":12,"4":12,"5":10,"7":3,"8":2,"9":1,"10":2,"11":2,"13":5,"14":6,"15":5,"17":6,"18":24,"19":11,"20":1,"21":11,"24":1,"27":1,"30":2,"31":4,"32":1,"34":2,"35":1,"36":2,"38":1,"40":2,"41":2,"42":10,"43":2,"48":4,"60":1,"61":2,"65":1,"66":1,"70":5,"71":1,"72":2,"73":6,"74":3,"77":1,"80":2,"81":1,"82":1}}],["hundreds",{"2":{"82":1}}],["humidity",{"2":{"19":6}}],["histogram",{"2":{"33":2}}],["hierarchy",{"2":{"0":1}}],["h",{"2":{"23":1,"63":1,"84":1}}],["heatmap",{"2":{"61":1}}],["helper",{"2":{"48":1}}],["help",{"2":{"21":2}}],["here",{"2":{"14":1,"15":1,"18":1,"19":1,"28":1,"29":1,"48":3,"61":1,"70":1,"74":3}}],["having",{"2":{"19":1}}],["have",{"2":{"0":1,"4":3,"8":2,"11":1,"13":1,"14":2,"16":1,"17":2,"18":3,"19":1,"22":1,"30":1,"34":1,"36":1,"37":1,"38":1,"40":1,"48":1,"61":1,"72":1,"77":1,"84":1}}],["hard",{"2":{"6":1}}],["haskey",{"2":{"11":2}}],["hasselection",{"2":{"4":2}}],["hasn",{"2":{"2":1}}],["has",{"2":{"1":1,"3":2,"4":1,"11":1,"13":3,"14":1,"18":2,"19":2,"25":2,"27":1,"33":1,"38":1,"40":2,"41":1,"43":1,"74":1,"75":1}}],["hasdim",{"2":{"1":6,"13":6}}],["hold",{"2":{"17":1,"38":1,"75":1}}],["holds",{"2":{"4":4,"14":1,"74":2}}],["holding",{"2":{"1":1,"2":1,"8":1,"13":9,"15":1,"17":2,"69":1,"76":1}}],["however",{"2":{"5":1,"18":1}}],["how",{"2":{"4":2,"7":2,"19":1,"35":1,"46":1,"68":1}}],["hours",{"2":{"17":4,"48":2}}],["hour",{"2":{"0":1,"17":1,"46":4,"47":1,"48":2,"49":3}}],["slower",{"2":{"81":1}}],["slowly",{"2":{"52":1}}],["slightly",{"2":{"48":1}}],["slicing",{"2":{"3":1}}],["sliced",{"2":{"14":1,"18":1}}],["slicedims",{"2":{"3":2,"13":1}}],["slices",{"2":{"13":1,"19":4}}],["slice",{"2":{"3":1,"13":1,"18":1}}],["synchronisation",{"2":{"57":1}}],["symmetry",{"2":{"35":1}}],["symbol",{"2":{"1":1,"2":1,"3":4,"4":7,"11":1,"13":11,"14":6,"16":1,"17":3,"18":2,"19":1,"20":3,"23":1,"39":2,"41":1,"43":1,"47":7,"48":15,"49":2,"70":2,"73":15,"75":2,"78":2}}],["symbols",{"2":{"0":1,"1":1,"2":1,"3":1,"4":5,"11":1,"13":3,"18":1,"27":1,"29":1,"32":1}}],["system",{"2":{"27":1,"36":1}}],["scalar",{"2":{"79":1}}],["scalars",{"2":{"25":6,"79":1}}],["scaled",{"2":{"25":6}}],["scale",{"2":{"25":1}}],["scaling",{"0":{"25":1}}],["scope",{"2":{"0":1,"4":1,"35":1}}],["src",{"2":{"19":4,"31":2}}],["smaller",{"2":{"29":1}}],["small",{"2":{"19":1}}],["sat",{"2":{"74":2}}],["save",{"2":{"51":1}}],["saving",{"2":{"11":2}}],["samples",{"2":{"9":1,"33":2}}],["sampled",{"2":{"0":6,"4":16,"5":8,"9":1,"13":5,"15":4,"17":4,"18":10,"19":1,"23":4,"25":20,"26":2,"36":1,"43":24,"44":28,"47":9,"48":7,"49":5,"68":2,"70":2,"72":8,"73":13,"74":7,"75":3,"76":10,"77":2,"78":15,"79":1,"80":49,"83":4,"84":2}}],["sampling=dd",{"2":{"5":2}}],["sampling=intervals",{"2":{"4":2,"74":3}}],["sampling=points",{"2":{"4":2}}],["sampling",{"0":{"9":1},"2":{"0":1,"2":1,"3":1,"4":15,"5":1,"8":1,"9":6,"15":1,"18":1,"43":5,"70":1,"75":1}}],["same",{"2":{"0":2,"3":3,"4":1,"5":2,"11":1,"13":4,"15":2,"17":1,"18":2,"19":1,"25":1,"28":1,"30":1,"33":1,"38":2,"40":1,"43":1,"46":1,"60":1,"77":1,"82":1}}],["sharing",{"2":{"14":1}}],["share",{"2":{"14":1,"77":1}}],["shift",{"2":{"4":2}}],["shiftlocus",{"2":{"4":1}}],["show",{"2":{"21":9}}],["shows",{"2":{"13":1}}],["shown",{"2":{"2":1,"74":1}}],["should",{"2":{"2":1,"5":1,"13":1,"18":1,"21":2,"22":1,"38":1,"39":1,"40":1,"74":1,"84":1}}],["shortcuts",{"2":{"28":1}}],["shorthand",{"2":{"13":1,"74":1}}],["short",{"2":{"0":1}}],["swapping",{"2":{"18":1}}],["swap",{"2":{"3":1}}],["swapdims",{"2":{"3":3}}],["specialisations",{"2":{"17":1}}],["specify",{"2":{"10":5,"17":3,"18":3,"32":1,"35":1,"43":1,"48":1,"72":1,"74":1,"84":1}}],["specifying",{"2":{"4":1,"9":1,"74":1}}],["specifies",{"2":{"7":1,"20":1,"30":1,"43":1}}],["specified",{"2":{"2":1,"3":1,"4":1,"13":1,"75":1}}],["specifically",{"2":{"19":1}}],["specific",{"2":{"4":5,"6":1,"8":1,"9":1,"35":1,"68":1}}],["space",{"2":{"18":2}}],["spaced",{"2":{"17":1}}],["spacing",{"2":{"4":2}}],["span=irregular",{"2":{"74":1}}],["span=regular",{"2":{"4":1,"74":1}}],["span=autospan",{"2":{"4":2}}],["span",{"0":{"8":1},"2":{"4":15,"8":7,"43":5,"70":1,"75":1}}],["spatial",{"2":{"0":1,"34":1,"51":1,"52":1,"57":2,"84":1}}],["signature",{"2":{"40":1}}],["sits",{"2":{"30":1}}],["sizes",{"2":{"48":1}}],["size",{"2":{"2":1,"3":1,"4":5,"8":1,"17":1,"18":2,"19":6,"21":5,"25":1,"32":2,"42":3,"49":2,"67":2,"77":4,"78":22,"79":3,"80":88,"82":1,"83":2,"84":26}}],["singleton",{"2":{"18":1}}],["single",{"2":{"1":8,"3":2,"4":1,"5":5,"9":1,"13":8,"14":1,"17":1,"18":3,"25":1,"31":1,"40":1,"43":1,"69":1,"73":1,"79":1,"81":1}}],["simultaneously",{"2":{"69":1}}],["simulations",{"2":{"57":1}}],["simulation",{"2":{"57":1}}],["simulataneously",{"2":{"14":1}}],["similar",{"2":{"0":1,"4":1,"7":1,"9":1,"15":1,"49":1,"67":1}}],["simpler",{"2":{"46":1}}],["simple",{"2":{"45":1}}],["simply",{"2":{"0":1,"4":1,"5":1,"11":1,"13":1,"18":1,"21":1,"43":1,"76":1}}],["simplicity",{"2":{"0":1}}],["st2",{"2":{"78":2}}],["st",{"2":{"67":4,"77":1,"78":8,"79":4,"80":35,"83":1,"84":2,"85":1}}],["storage",{"2":{"51":1}}],["stored",{"2":{"13":1,"77":1}}],["std",{"2":{"32":1,"80":2}}],["style",{"2":{"27":1}}],["still",{"2":{"11":1,"26":1,"31":1,"72":1}}],["standard",{"2":{"82":1}}],["standards",{"2":{"10":1}}],["status",{"2":{"22":2}}],["statistics",{"2":{"14":2,"25":1,"46":1,"80":1}}],["stage",{"2":{"21":2}}],["stack",{"2":{"14":2,"18":2,"19":8,"21":4,"42":2,"67":1,"80":1,"81":1,"82":2}}],["stacks",{"2":{"14":1,"19":5,"81":1,"84":1,"85":1}}],["starts",{"2":{"67":1}}],["start=6",{"2":{"48":4}}],["start=1",{"2":{"48":1}}],["start=12",{"2":{"48":1}}],["start=january",{"2":{"48":1}}],["start=0",{"2":{"17":1}}],["start=dates",{"2":{"17":2}}],["starting",{"2":{"8":1,"48":2}}],["start",{"2":{"0":2,"4":6,"5":3,"9":1,"10":4,"17":9,"23":1,"43":1,"48":4,"73":5,"74":7}}],["stripped",{"2":{"27":1}}],["strickt",{"2":{"19":1}}],["strict=true",{"2":{"19":4}}],["strict=false",{"2":{"18":1}}],["strictness",{"0":{"19":1},"1":{"20":1,"21":1}}],["strict",{"2":{"18":1,"19":8,"24":2}}],["strings",{"2":{"5":1}}],["string",{"2":{"2":4,"3":1,"4":1,"13":1,"21":1,"48":2,"70":2,"74":3,"75":1,"85":1}}],["string=string",{"2":{"0":1}}],["strongly",{"2":{"18":1}}],["struct",{"2":{"3":1,"18":1,"66":2}}],["step=12",{"2":{"48":1}}],["step=2",{"2":{"48":1}}],["step=3",{"2":{"48":2}}],["step=hour",{"2":{"46":1}}],["step=autostep",{"2":{"8":1}}],["steprange",{"2":{"25":1}}],["steps",{"2":{"17":1}}],["step",{"2":{"3":1,"4":1,"8":2,"17":7,"18":1,"75":1}}],["s",{"2":{"0":1,"1":4,"2":1,"3":4,"5":16,"13":5,"14":3,"16":1,"17":1,"18":5,"20":1,"21":1,"24":1,"33":1,"34":3,"46":2,"47":1,"48":1,"49":1,"73":2,"84":1}}],["series",{"0":{"62":1},"1":{"63":1,"64":1,"65":1},"2":{"59":1,"63":1,"64":2,"65":1}}],["sep",{"2":{"48":6,"74":2}}],["separate",{"2":{"2":1,"51":1}}],["sequential",{"2":{"17":1}}],["seamlessly",{"2":{"27":1}}],["sea",{"2":{"19":4}}],["seasons",{"2":{"17":4,"48":5}}],["searched",{"2":{"7":1}}],["searchsortedfirst",{"2":{"7":1}}],["searchsorted",{"2":{"7":1}}],["sections",{"2":{"17":1}}],["second",{"2":{"0":1,"2":1,"4":4,"11":1,"13":2,"18":1}}],["sense",{"2":{"5":1,"51":1,"70":1}}],["seed",{"2":{"13":1}}],["see",{"2":{"3":1,"14":1,"25":1,"42":2,"46":1,"48":1}}],["selections",{"2":{"5":1}}],["selectindices",{"2":{"2":1}}],["selects",{"2":{"5":2,"73":1}}],["select",{"0":{"49":1},"2":{"5":6,"19":2,"49":1,"73":2,"74":1,"76":1}}],["selected",{"2":{"5":4,"17":4,"73":2}}],["selectors=near",{"2":{"15":1,"76":1}}],["selectorss",{"2":{"4":2}}],["selectors",{"0":{"5":1,"73":1},"1":{"74":1,"75":1,"76":1},"2":{"2":1,"4":12,"5":8,"8":1,"13":1,"14":1,"15":6,"31":1,"74":2,"75":1,"76":3,"79":1}}],["selector",{"2":{"0":1,"2":2,"4":3,"5":13,"35":1,"40":1,"70":1,"73":9,"78":1}}],["setproperties",{"2":{"18":1,"71":1}}],["settings",{"0":{"19":1},"1":{"20":1,"21":1}}],["setting",{"2":{"18":1,"19":1}}],["setindex",{"2":{"14":1,"31":1}}],["setdims",{"2":{"3":3}}],["set",{"0":{"72":1},"2":{"0":1,"4":6,"8":1,"11":2,"13":13,"18":22,"19":2,"25":1,"70":1,"72":11,"73":2,"75":3}}],["sounds",{"2":{"39":1}}],["sources",{"2":{"4":1,"18":7,"51":1}}],["source",{"2":{"0":15,"1":5,"2":5,"3":12,"4":23,"5":10,"6":1,"7":6,"8":5,"9":3,"10":6,"11":4,"13":16,"14":2,"15":3,"16":2,"17":9,"18":12,"19":9,"20":3,"21":6}}],["solution",{"2":{"17":1}}],["so",{"2":{"4":2,"5":1,"18":2,"24":1,"27":1,"30":1,"43":1,"48":1,"71":1,"74":1,"82":1,"84":1}}],["sorted",{"2":{"5":1,"17":2}}],["sortdims",{"2":{"3":1}}],["sort",{"2":{"3":3}}],["sometimes",{"2":{"48":1,"72":1}}],["something",{"2":{"17":1,"23":1}}],["somewhere",{"2":{"14":2,"70":1}}],["some",{"2":{"0":1,"4":1,"13":1,"14":1,"17":1,"19":1,"25":1,"35":1,"38":1,"40":1,"46":2,"77":1,"81":1,"83":1}}],["sun",{"2":{"74":2}}],["surface",{"2":{"19":4}}],["sure",{"2":{"15":2}}],["surprising",{"2":{"14":2}}],["summer",{"2":{"48":1}}],["summary",{"2":{"42":2}}],["sum",{"2":{"14":1,"17":1,"32":3,"47":1,"80":5}}],["succinct",{"2":{"14":2}}],["such",{"2":{"0":2,"2":1,"4":1,"5":1,"10":1,"17":2}}],["supporting",{"2":{"85":1}}],["support",{"2":{"60":1}}],["supplied",{"2":{"5":1}}],["supertypes",{"2":{"3":1}}],["supertype=dimension",{"2":{"0":1}}],["supertype",{"2":{"0":8,"4":5,"5":3,"6":1,"7":1,"10":1,"11":1,"13":2,"14":1,"16":1,"20":1}}],["submodule",{"2":{"35":1}}],["subset",{"2":{"19":2,"78":1}}],["subsetting",{"2":{"5":1}}],["subtypes",{"2":{"21":1}}],["subtype",{"2":{"13":1}}],["sub",{"2":{"0":2}}],["m=rand",{"2":{"78":1}}],["my",{"2":{"70":3}}],["mydimstack",{"2":{"14":2}}],["mutable",{"2":{"66":1}}],["much",{"2":{"26":1,"60":1,"70":1}}],["multiplying",{"2":{"19":2}}],["multiplication",{"2":{"19":5}}],["multiple",{"2":{"4":1,"14":3,"17":1,"44":1,"69":1}}],["multipications",{"2":{"19":1}}],["multi",{"0":{"14":1},"2":{"38":1}}],["must",{"2":{"4":3,"5":3,"13":2,"14":2,"18":2,"21":2,"27":2,"37":1,"38":3,"40":1,"41":1,"66":1,"77":1}}],["mixing",{"2":{"30":1}}],["mix",{"2":{"30":1,"80":1}}],["mixed",{"2":{"14":2,"15":2,"36":1}}],["mime",{"2":{"21":5}}],["mid",{"2":{"5":1}}],["min",{"2":{"33":4}}],["minus",{"2":{"4":1}}],["minimum",{"2":{"3":1,"32":1,"47":1,"80":2}}],["missingval",{"2":{"18":1,"51":1}}],["missing",{"2":{"3":1,"18":1,"41":1,"51":1}}],["msg",{"2":{"3":1}}],["measured",{"2":{"81":1}}],["means",{"2":{"3":1,"5":1,"7":1,"10":1,"16":1,"18":1,"24":1,"25":1,"27":1,"35":1,"38":1,"44":2,"73":1}}],["mean",{"2":{"3":1,"4":1,"9":1,"13":1,"14":4,"17":10,"24":1,"25":2,"32":1,"33":4,"47":3,"48":3,"49":1,"80":3}}],["meaning",{"2":{"2":1,"4":1,"15":1}}],["merging",{"2":{"78":1}}],["merges",{"2":{"69":1}}],["merge",{"2":{"30":1,"78":5,"84":1}}],["merged",{"2":{"18":3}}],["mergedims=",{"2":{"84":1}}],["mergedims=nothing",{"2":{"16":3}}],["mergedims",{"0":{"69":1},"2":{"16":1,"18":5,"69":1}}],["mergedlookup",{"2":{"4":3,"18":3,"30":1}}],["median",{"2":{"32":1,"33":4,"47":1}}],["memory",{"2":{"33":2}}],["mem",{"2":{"26":1}}],["messy",{"2":{"17":1}}],["mesages",{"2":{"3":1}}],["metadata=dict",{"2":{"28":5,"70":1}}],["metadata=metadata",{"2":{"14":1}}],["metadata=nometadata",{"2":{"4":3,"13":1,"14":1}}],["metadata",{"0":{"11":1},"2":{"3":1,"4":16,"11":16,"13":11,"17":3,"18":4,"21":9,"27":1,"28":5,"40":1,"42":8,"47":7,"48":11,"49":2,"66":1,"70":5}}],["method",{"2":{"1":4,"3":3,"4":4,"9":1,"11":2,"13":7,"15":1,"18":2,"21":3,"40":1,"42":2}}],["methods",{"0":{"1":1,"2":1,"3":1,"17":1,"18":1},"2":{"0":2,"1":1,"3":3,"4":3,"7":1,"13":1,"14":5,"17":1,"19":3,"21":2,"32":1,"35":1,"36":1,"40":1,"43":1,"44":1,"49":1,"53":1}}],["m",{"2":{"0":1,"4":3,"68":2,"70":2,"72":3,"78":2,"84":1}}],["mon",{"2":{"74":2}}],["monthabbr",{"2":{"74":2}}],["months",{"2":{"17":5,"48":4,"74":1}}],["monthly",{"2":{"17":2}}],["month",{"2":{"0":6,"13":1,"17":4,"25":21,"46":1,"47":2,"48":13,"74":5}}],["moving",{"2":{"60":1,"67":1}}],["moved",{"2":{"27":2}}],["move",{"2":{"26":1}}],["moves",{"2":{"13":1}}],["mod",{"2":{"67":2}}],["models",{"2":{"54":1,"57":1}}],["model",{"2":{"27":1,"56":1}}],["modification",{"2":{"27":1}}],["modified",{"2":{"5":1}}],["modifying",{"0":{"66":1},"1":{"67":1,"68":1,"69":1,"70":1,"71":1,"72":1}}],["modify",{"0":{"67":1},"2":{"6":1,"18":6,"26":1,"66":1,"67":6}}],["module",{"2":{"0":2,"4":1}}],["mostly",{"2":{"13":1,"18":2,"60":1,"61":1}}],["most",{"2":{"4":1,"14":4,"18":1,"19":1,"21":1,"26":1,"34":1,"36":1,"70":1,"74":1,"75":1}}],["more",{"2":{"0":2,"4":4,"13":1,"16":1,"21":1,"23":1,"40":2,"52":1,"65":1,"67":1,"71":1,"73":1}}],["magic",{"0":{"71":1}}],["made",{"2":{"51":1}}],["masking",{"2":{"51":1}}],["mar",{"2":{"48":6,"74":1}}],["markersize=15",{"2":{"65":1}}],["markers",{"0":{"65":1},"2":{"10":1}}],["max",{"2":{"33":4}}],["maximum",{"2":{"5":1,"21":1,"32":1,"47":1,"80":3}}],["manipulation",{"2":{"51":1}}],["mandatory",{"2":{"21":4,"42":2}}],["many",{"2":{"14":4,"21":2,"32":1,"81":1}}],["manually",{"2":{"4":5,"17":1,"40":1,"74":2,"75":1,"81":1}}],["mapped",{"2":{"51":1}}],["mapslices",{"2":{"32":1}}],["mapreduce",{"2":{"32":1}}],["map",{"2":{"14":5,"17":4,"19":1}}],["maintains",{"2":{"13":1}}],["main",{"2":{"13":1,"21":4}}],["makie",{"0":{"61":1},"1":{"62":1,"63":1,"64":1,"65":1},"2":{"60":2,"61":3,"63":1,"65":1}}],["making",{"2":{"0":1}}],["makes",{"2":{"20":1,"43":1}}],["make",{"2":{"4":1,"5":1,"15":2,"70":1,"74":1}}],["math",{"2":{"31":1}}],["matmul",{"2":{"19":4}}],["matrix",{"2":{"8":1,"19":6,"28":3,"67":3,"80":1}}],["matter",{"2":{"3":1,"15":1}}],["match",{"2":{"1":3,"2":2,"3":3,"4":1,"5":1,"13":3,"17":1,"18":4,"19":9,"24":1,"78":1,"80":1,"82":1}}],["matches",{"2":{"1":1,"5":1,"13":1,"17":1,"21":4,"42":4,"70":1}}],["matching",{"2":{"0":2,"1":1,"3":1,"4":3,"13":1,"14":2,"17":2,"18":1,"39":2,"73":1,"76":1}}],["macro",{"2":{"0":1,"3":1,"18":3,"24":1,"25":1}}],["may",{"2":{"0":2,"3":1,"4":5,"5":4,"6":1,"8":1,"11":2,"14":2,"19":1,"21":1,"48":6,"70":2,"72":1,"74":3}}],["tue",{"2":{"74":2}}],["turned",{"2":{"24":1}}],["turn",{"2":{"19":2}}],["tuples",{"2":{"3":4,"4":1,"15":1,"17":2,"30":2,"41":1,"43":1,"46":1,"69":1}}],["tuple",{"2":{"1":22,"2":8,"3":34,"4":32,"8":2,"11":5,"13":42,"14":3,"15":8,"17":2,"18":10,"19":1,"21":5,"30":3,"37":1,"41":1,"42":2,"43":6,"46":4,"47":3,"73":1,"78":1,"80":4,"84":2}}],["tell",{"2":{"68":1}}],["text",{"2":{"21":2}}],["testable",{"2":{"42":1}}],["testing",{"0":{"42":1},"2":{"42":2}}],["test",{"0":{"62":1},"1":{"63":1,"64":1,"65":1},"2":{"21":4,"42":4}}],["tested",{"2":{"21":2}}],["testname",{"2":{"18":1}}],["temporal",{"2":{"57":1}}],["tempo",{"2":{"46":9,"47":1}}],["temp",{"2":{"19":4}}],["term",{"2":{"6":1,"43":1}}],["terms",{"2":{"4":1}}],["twice",{"2":{"5":1}}],["two",{"2":{"3":1,"4":2,"5":4,"13":4,"14":2,"16":1,"27":1,"48":1,"73":1,"77":1}}],["tries",{"2":{"72":1}}],["trivially",{"2":{"49":1}}],["trial",{"2":{"33":2}}],["try",{"2":{"18":1}}],["treated",{"2":{"17":1}}],["treat",{"2":{"16":1}}],["track",{"2":{"13":1}}],["tracking",{"2":{"4":1,"8":1,"11":1}}],["trait",{"2":{"6":1,"18":2}}],["traits",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1},"2":{"3":1,"4":1,"6":2,"7":1,"18":1,"74":1}}],["transforming",{"2":{"17":1,"18":1}}],["transform",{"2":{"4":1,"46":1,"70":1}}],["transformation",{"2":{"4":3}}],["transformations",{"2":{"3":1,"4":1,"13":1}}],["transformed",{"2":{"4":4}}],["transpose",{"2":{"0":1,"32":2,"80":1}}],["transect",{"2":{"0":1}}],["true",{"2":{"1":4,"3":3,"13":4,"14":1,"17":2,"18":2,"30":1,"42":89,"44":21}}],["typ",{"2":{"0":2}}],["typeof",{"2":{"18":1,"26":1,"74":2}}],["typed",{"2":{"18":1}}],["typemax",{"2":{"4":1}}],["typemin",{"2":{"4":1}}],["type",{"2":{"0":3,"1":6,"2":3,"3":15,"4":2,"8":1,"11":2,"13":6,"14":1,"16":2,"18":4,"20":1,"27":1,"30":1,"39":2,"41":1,"43":1,"70":1,"72":1,"85":1}}],["types",{"2":{"0":6,"1":5,"2":1,"3":8,"4":7,"5":1,"6":1,"10":1,"11":2,"13":7,"16":1,"18":3,"31":1,"32":2,"35":2,"36":2,"46":1,"51":1,"55":1,"75":2}}],["tabular",{"2":{"82":1}}],["table",{"2":{"16":1,"84":1}}],["tabletraits",{"0":{"16":1},"2":{"16":1}}],["tables",{"0":{"16":1,"82":1},"1":{"83":1,"84":1,"85":1},"2":{"0":1,"13":1,"16":4,"82":2,"85":1}}],["taking",{"2":{"48":1}}],["taken",{"2":{"15":1}}],["take",{"2":{"0":1,"4":2,"5":1,"14":1,"17":2,"47":1,"64":1,"73":3,"81":1,"84":1}}],["target",{"2":{"15":2}}],["t",{"2":{"0":1,"2":2,"3":2,"4":10,"11":1,"15":1,"19":4,"25":3,"30":2,"31":1,"70":1,"71":1,"72":1,"74":1,"75":1,"76":1,"84":1}}],["title",{"2":{"21":5}}],["ti=>",{"2":{"49":1}}],["ti=>cyclicbins",{"2":{"48":4}}],["ti=>bins",{"2":{"48":8}}],["ti=>yearday",{"2":{"47":2}}],["ti=>yearmonth",{"2":{"47":2}}],["ti=>yearmonthday",{"2":{"47":2}}],["ti=>hour",{"2":{"47":2}}],["ti=>dayofyear",{"2":{"47":2}}],["ti=>month",{"2":{"17":6,"47":3}}],["ti=2",{"2":{"15":1}}],["ti=all",{"2":{"5":1}}],["time=1",{"2":{"23":1}}],["timeseriestools",{"0":{"59":1},"2":{"59":1}}],["times",{"2":{"0":1,"47":1,"77":2}}],["timedime",{"2":{"0":1}}],["timedim",{"2":{"0":4,"3":1}}],["time",{"0":{"25":1},"2":{"0":4,"4":1,"14":1,"17":1,"19":1,"21":1,"23":1,"33":6,"47":1,"59":1,"81":1}}],["ti",{"2":{"0":14,"1":1,"3":3,"5":3,"13":5,"15":1,"16":2,"17":6,"18":5,"19":3,"25":15,"32":3,"35":1,"47":10,"48":23,"49":5,"61":1}}],["though",{"2":{"81":1}}],["those",{"2":{"5":1,"19":2,"35":1,"70":1}}],["thur",{"2":{"74":2}}],["think",{"2":{"72":1}}],["thing",{"2":{"72":2}}],["things",{"2":{"21":2,"26":1,"66":1,"67":1,"70":2,"75":1}}],["this",{"2":{"0":1,"2":3,"3":6,"4":13,"5":6,"7":1,"8":1,"10":2,"11":2,"14":4,"15":2,"16":2,"17":6,"18":8,"19":6,"20":1,"21":3,"22":1,"24":1,"26":1,"27":2,"30":1,"31":1,"32":1,"34":1,"35":1,"38":1,"39":1,"41":1,"42":1,"43":1,"45":1,"48":5,"57":1,"60":1,"67":2,"70":1,"72":1,"73":1,"75":2,"77":1,"80":1,"81":1}}],["through",{"2":{"13":1,"55":1}}],["throws",{"2":{"5":1}}],["throw",{"2":{"3":1,"30":1}}],["throwing",{"2":{"3":1}}],["thrown",{"2":{"2":1,"3":1,"5":1,"70":1}}],["three",{"2":{"4":2,"14":2,"17":1,"48":1}}],["than",{"2":{"3":1,"4":2,"5":2,"9":1,"17":2,"27":1,"39":1,"40":1,"48":1,"66":1,"68":1,"73":1,"81":1}}],["that",{"2":{"0":3,"1":2,"2":2,"3":1,"4":13,"5":15,"7":4,"8":3,"9":2,"10":1,"11":1,"13":8,"14":4,"15":4,"17":4,"18":7,"19":12,"22":1,"24":4,"27":2,"28":1,"31":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":3,"43":3,"46":2,"70":1,"74":2,"75":1,"77":1,"82":1,"84":1}}],["then",{"2":{"18":1,"73":1,"75":1}}],["their",{"2":{"3":2,"14":2,"18":3,"43":1,"51":2}}],["there",{"2":{"2":2,"4":2,"13":4,"18":1,"24":1,"28":1,"40":1,"43":1,"48":1,"72":1,"74":1,"81":1}}],["these",{"2":{"0":3,"1":1,"3":2,"4":4,"6":2,"7":1,"8":1,"9":1,"10":1,"13":2,"14":1,"15":2,"16":1,"17":2,"18":1,"19":3,"30":1,"35":1,"36":1,"39":1,"40":3,"44":1,"70":1,"74":2,"76":1}}],["they",{"2":{"0":1,"2":1,"3":2,"4":3,"5":2,"10":2,"11":1,"13":1,"15":2,"18":2,"19":1,"21":2,"27":1,"30":1,"34":1,"35":2,"60":1,"66":1,"70":1,"74":1,"75":3,"82":1}}],["them",{"2":{"0":1,"4":1,"5":3,"11":1,"19":1,"27":1,"30":1,"43":1,"47":1,"48":1,"73":1,"74":1}}],["the",{"0":{"25":1},"2":{"0":20,"1":13,"2":8,"3":43,"4":85,"5":45,"6":3,"7":9,"8":7,"9":7,"10":9,"11":6,"13":49,"14":24,"15":16,"16":4,"17":48,"18":56,"19":22,"20":4,"21":9,"22":3,"23":1,"24":3,"25":8,"26":9,"27":5,"28":1,"29":1,"30":6,"31":4,"32":3,"33":2,"34":1,"35":6,"36":1,"38":7,"39":3,"40":6,"41":4,"42":4,"43":11,"44":1,"46":6,"47":4,"48":10,"51":1,"52":1,"56":1,"60":4,"61":5,"64":2,"66":3,"67":4,"68":1,"69":1,"70":7,"71":4,"72":9,"73":19,"74":13,"75":6,"76":2,"77":3,"78":2,"79":1,"80":5,"82":8,"84":3,"85":1}}],["tolerance",{"2":{"73":1}}],["todo",{"2":{"49":1,"72":1}}],["together",{"2":{"24":1}}],["top",{"2":{"21":1,"30":1}}],["tools",{"2":{"34":1,"51":2,"58":1}}],["too",{"2":{"19":1,"27":1,"55":1,"70":1}}],["total",{"2":{"17":1}}],["touched",{"2":{"73":1}}],["touches",{"2":{"5":7,"73":2}}],["touch",{"2":{"5":2}}],["touching",{"2":{"5":1}}],["tosort",{"2":{"3":4}}],["to",{"0":{"84":1,"85":1},"2":{"0":8,"1":5,"2":4,"3":18,"4":35,"5":18,"6":1,"8":1,"9":2,"10":12,"11":5,"13":19,"14":8,"15":5,"16":1,"17":16,"18":32,"19":21,"20":2,"21":6,"22":3,"24":4,"25":4,"26":2,"27":10,"30":1,"31":2,"32":3,"34":3,"35":5,"36":4,"38":1,"39":1,"40":3,"41":1,"42":2,"43":1,"44":1,"46":2,"48":7,"49":2,"51":1,"57":1,"58":1,"60":2,"66":1,"67":5,"68":2,"70":3,"72":6,"73":4,"74":4,"75":3,"77":1,"78":1,"80":1,"81":2,"82":2,"85":1}}],["jan",{"2":{"48":4,"74":1}}],["january",{"2":{"17":2,"48":1}}],["jarring",{"2":{"14":2}}],["jump",{"0":{"55":1},"2":{"55":1}}],["jul",{"2":{"48":6,"74":1}}],["juliaprint",{"2":{"21":2}}],["juliaposition",{"2":{"10":1}}],["juliapoints",{"2":{"9":1}}],["juliahours",{"2":{"17":1}}],["juliahasselection",{"2":{"4":1}}],["juliahasdim",{"2":{"1":1,"13":1}}],["juliaranges",{"2":{"17":1}}],["juliareorder",{"2":{"18":1}}],["juliarebuild",{"2":{"18":1,"21":1,"40":1}}],["juliarefdims",{"2":{"13":1,"21":1}}],["juliaregular",{"2":{"8":1}}],["juliareverseordered",{"2":{"7":1}}],["juliareducedims",{"2":{"3":1}}],["juliagroupby",{"2":{"17":1}}],["juliamakie",{"2":{"61":1,"64":2,"65":1}}],["juliamap",{"2":{"14":1}}],["juliamodify",{"2":{"18":1}}],["juliamonths",{"2":{"17":1}}],["juliamergedims",{"2":{"18":3}}],["juliamergedlookup",{"2":{"4":1}}],["juliametadata",{"2":{"11":1,"13":1}}],["juliamean",{"2":{"0":4,"14":1}}],["juliafunction",{"2":{"14":1}}],["juliaforwardordered",{"2":{"7":1}}],["juliaformat",{"2":{"2":1,"41":1}}],["juliaend",{"2":{"10":1}}],["juliaexplicit",{"2":{"8":1}}],["juliairregular",{"2":{"8":1}}],["juliaintervals",{"2":{"9":1,"17":1}}],["juliaintselector",{"2":{"5":1}}],["juliaindependentdim",{"2":{"0":1}}],["juliawhere",{"2":{"5":1}}],["juliaordered",{"2":{"7":1}}],["juliaorder",{"2":{"4":1,"7":1}}],["juliaotherdims",{"2":{"1":1,"13":1}}],["juliab",{"2":{"63":1}}],["juliablockwidth",{"2":{"21":1}}],["juliabroadcast",{"2":{"18":2}}],["juliabins",{"2":{"17":1}}],["juliabegin",{"2":{"10":1}}],["juliabetween",{"2":{"5":1}}],["juliabounds",{"2":{"4":1}}],["juliabase",{"2":{"13":4,"19":5}}],["juliabasedims",{"2":{"3":1}}],["juliabasetypeof",{"2":{"3":1}}],["julianame",{"2":{"13":1,"20":1}}],["julianame2dim",{"2":{"3":1}}],["julianoname",{"2":{"20":1}}],["julianometadata",{"2":{"11":1}}],["julianolookup",{"2":{"4":1}}],["julianear",{"2":{"5":1}}],["juliatouches",{"2":{"5":1}}],["juliatransformed",{"2":{"4":1}}],["juliatimedim",{"2":{"0":2}}],["juliaunmergedims",{"2":{"18":2}}],["juliaunits",{"2":{"11":1}}],["juliaunordered",{"2":{"7":1}}],["juliaunaligned",{"2":{"4":1}}],["juliausing",{"2":{"0":3,"3":2,"4":6,"5":7,"18":3,"23":1,"25":1,"26":1,"35":1,"43":1,"46":1,"61":1,"73":1,"74":1,"80":1,"83":1,"85":1}}],["juliacat",{"2":{"19":1}}],["juliacategorical",{"2":{"4":1}}],["juliacenter",{"2":{"10":1}}],["juliacopy",{"2":{"19":2}}],["juliacontains",{"2":{"5":1}}],["juliacombinedims",{"2":{"3":1}}],["juliacomparedims",{"2":{"3":1}}],["juliacommondims",{"2":{"3":1}}],["juliacyclicbins",{"2":{"17":1}}],["juliacyclic",{"2":{"4":1}}],["juliaa",{"2":{"18":1}}],["juliaall",{"2":{"5":1}}],["juliaaligned",{"2":{"4":1}}],["juliaat",{"2":{"5":1}}],["juliaarrayselector",{"2":{"5":1}}],["juliaautoposition",{"2":{"10":1}}],["juliaautospan",{"2":{"8":1}}],["juliaautoorder",{"2":{"7":1}}],["juliaautovalues",{"2":{"4":1}}],["juliaautolookup",{"2":{"4":1}}],["juliaabstractname",{"2":{"20":1}}],["juliaabstractdimtable",{"2":{"16":1}}],["juliaabstractdimstack",{"2":{"14":1}}],["juliaabstractdimarray",{"2":{"13":1}}],["juliaabstractbasicdimarray",{"2":{"13":1}}],["juliaabstractmetadata",{"2":{"11":1}}],["juliaabstractcategorical",{"2":{"4":1}}],["juliaabstractcyclic",{"2":{"4":1}}],["juliaabstractsampled",{"2":{"4":1}}],["juliaanondim",{"2":{"0":1}}],["juliashow",{"2":{"21":2}}],["juliashiftlocus",{"2":{"4":1}}],["juliastrict",{"2":{"19":4}}],["juliastart",{"2":{"10":1}}],["juliaspan",{"2":{"4":1,"8":1}}],["juliasampling",{"2":{"4":1,"9":1}}],["juliasampled",{"2":{"4":1}}],["juliaset",{"2":{"18":1}}],["juliasetdims",{"2":{"3":1}}],["juliaseasons",{"2":{"17":1}}],["juliaselector",{"2":{"5":1}}],["juliaselectindices",{"2":{"2":1}}],["juliasortdims",{"2":{"3":1}}],["juliaslicedims",{"2":{"3":1}}],["juliaswapdims",{"2":{"3":1}}],["julialocus",{"2":{"4":1}}],["julialookuptrait",{"2":{"6":1}}],["julialookups",{"2":{"4":1}}],["julialookup",{"2":{"2":1,"4":1}}],["julialabel",{"2":{"2":1}}],["julia>",{"2":{"1":12,"3":4,"13":24,"14":8,"15":4,"16":2,"17":2,"18":4,"19":4,"22":1,"28":1,"33":1,"35":1,"42":1,"43":1,"67":1,"68":2,"73":2,"74":1,"77":1,"81":1}}],["julia",{"2":{"0":1,"17":1,"18":2,"21":2,"24":2,"26":1,"27":1,"31":1,"32":1,"34":3,"54":1,"56":1,"82":1}}],["juliajulia>",{"2":{"0":1,"1":4,"3":1,"13":9,"14":1,"15":2,"16":1,"17":4,"18":6,"19":1,"22":3,"23":4,"25":10,"26":2,"28":14,"29":2,"30":7,"31":2,"32":2,"33":3,"35":4,"42":4,"43":50,"44":73,"46":9,"47":8,"48":13,"49":4,"67":8,"68":2,"70":6,"71":2,"72":6,"73":17,"74":11,"75":1,"76":5,"77":2,"78":9,"79":4,"80":34,"81":2,"83":3,"84":5}}],["juliaz",{"2":{"0":1}}],["juliazdim",{"2":{"0":2}}],["juliayearday",{"2":{"46":1}}],["juliay",{"2":{"0":1}}],["juliaydim",{"2":{"0":2}}],["juliaval",{"2":{"0":4,"4":1}}],["juliadimgroupbyarray",{"2":{"17":1}}],["juliadimtable",{"2":{"16":1}}],["juliadimpoints",{"2":{"15":1}}],["juliadimindices",{"2":{"15":1}}],["juliadimarray",{"2":{"13":1}}],["juliadimnum",{"2":{"1":1,"13":1}}],["juliadimselectors",{"2":{"15":1}}],["juliadimstack",{"2":{"14":1}}],["juliadimsmatch",{"2":{"3":1}}],["juliadims2indices",{"2":{"2":1}}],["juliadims",{"2":{"1":2,"13":2}}],["juliadim",{"2":{"0":1}}],["juliadimension",{"2":{"0":1}}],["juliadimensions",{"2":{"0":1}}],["juliadependentdim",{"2":{"0":1}}],["juliaxdim",{"2":{"0":2}}],["juliax",{"2":{"0":3}}],["jun",{"2":{"48":6,"74":1}}],["just",{"2":{"5":2,"19":1,"24":1,"38":1,"40":1,"43":1,"48":3,"71":1,"72":1,"78":1}}],["j",{"2":{"3":2,"23":3,"63":1,"84":1}}],["jl",{"0":{"16":2,"34":1,"42":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1},"1":{"62":1,"63":1,"64":1,"65":1},"2":{"0":2,"4":5,"5":2,"16":2,"17":1,"18":2,"21":6,"26":1,"27":7,"31":6,"34":11,"35":1,"36":1,"37":1,"38":2,"40":3,"42":1,"43":2,"45":1,"51":3,"52":4,"53":2,"54":1,"55":1,"56":1,"57":2,"58":1,"59":1,"60":4,"61":1,"65":1,"66":1,"70":1,"71":2,"82":5,"85":2}}],["omitted",{"2":{"84":4}}],["o=rand",{"2":{"78":1}}],["oct",{"2":{"48":4,"74":1}}],["own",{"2":{"46":1,"49":1,"55":1}}],["objs",{"2":{"39":1}}],["obj",{"2":{"37":1,"39":2,"40":2}}],["object",{"2":{"0":1,"1":9,"2":1,"3":7,"4":7,"6":1,"10":1,"11":2,"13":12,"15":1,"16":1,"18":11,"21":1,"31":2,"35":2,"40":1,"43":3,"49":1,"68":1,"70":1,"72":1}}],["objects",{"0":{"66":1},"1":{"67":1,"68":1,"69":1,"70":1,"71":1,"72":1},"2":{"0":1,"2":2,"3":1,"4":1,"5":2,"7":1,"11":1,"13":1,"14":3,"17":1,"18":4,"27":1,"30":1,"35":1,"37":1,"38":1,"39":1,"40":3,"43":1,"49":2,"66":1,"71":2,"72":1,"80":1}}],["our",{"2":{"30":2,"43":1,"46":1,"48":6}}],["outer",{"2":{"41":1,"67":1,"74":1,"75":3}}],["outcome",{"2":{"14":2}}],["out",{"2":{"4":1,"16":1,"35":1,"51":1,"60":1}}],["outputs",{"2":{"57":1}}],["output",{"2":{"0":4,"3":2,"4":5,"5":7,"18":2,"25":1,"48":1,"49":1,"56":1}}],["old",{"2":{"18":6}}],["optimization",{"2":{"55":1}}],["optimised",{"2":{"7":1}}],["options",{"2":{"18":5,"42":2}}],["optional",{"2":{"13":1,"21":4,"42":2}}],["operation",{"2":{"17":1,"32":1}}],["operations",{"2":{"0":1,"13":1,"17":1,"19":1,"27":1}}],["open",{"2":{"5":1,"48":35,"73":1}}],["openinterval",{"2":{"5":1}}],["o",{"2":{"4":1,"78":2,"84":1}}],["overheads",{"2":{"81":1}}],["overlapping",{"2":{"17":1}}],["over",{"2":{"0":1,"4":4,"9":1,"14":3,"15":2,"17":2,"18":6,"19":2,"24":2,"25":1,"47":1,"74":1,"80":1}}],["others",{"2":{"18":2}}],["otherwise",{"2":{"4":1,"17":1,"18":1,"19":1,"36":1}}],["otherdims",{"2":{"1":3,"13":3,"15":1,"43":8,"44":13}}],["other",{"2":{"0":2,"3":2,"4":2,"5":2,"17":1,"18":3,"19":2,"24":1,"25":1,"27":1,"28":1,"36":1,"44":1,"46":1,"49":1,"61":1,"74":1,"75":2,"77":1,"78":1,"82":1,"85":1}}],["orange",{"2":{"64":1,"65":1}}],["organized",{"2":{"35":1}}],["organises",{"2":{"0":1}}],["originates",{"2":{"17":1}}],["original",{"2":{"3":3,"18":7}}],["origin",{"2":{"11":1}}],["ordering",{"2":{"4":1}}],["order=unordered",{"2":{"4":1,"74":1}}],["order=autoorder",{"2":{"4":2}}],["order=forwardordered",{"2":{"3":1,"74":2}}],["ordered",{"2":{"1":1,"4":1,"7":4,"13":3,"74":2}}],["order",{"0":{"7":1},"2":{"1":1,"2":1,"3":12,"4":23,"5":1,"7":9,"13":1,"15":7,"18":17,"19":4,"25":1,"30":4,"43":6,"61":1,"70":3,"75":2}}],["or",{"2":{"0":5,"1":20,"2":7,"3":20,"4":33,"5":7,"7":1,"8":5,"9":3,"10":3,"11":6,"13":31,"14":7,"15":6,"16":4,"17":16,"18":15,"19":5,"21":4,"22":1,"23":2,"25":2,"27":1,"30":1,"31":2,"32":2,"35":1,"36":3,"38":1,"39":1,"41":1,"42":2,"43":10,"44":1,"45":1,"48":1,"64":1,"66":1,"67":1,"70":1,"73":4,"74":3,"75":3,"76":2,"77":1,"78":2,"82":1,"85":1}}],["off",{"2":{"19":1,"24":1}}],["offsetarrays",{"2":{"38":2}}],["offset",{"2":{"5":1}}],["often",{"2":{"17":1,"18":1,"27":1,"51":1,"74":1}}],["of",{"2":{"0":5,"1":13,"2":6,"3":17,"4":45,"5":13,"6":5,"7":3,"8":1,"9":2,"10":7,"11":5,"13":34,"14":10,"15":16,"16":3,"17":40,"18":29,"19":10,"20":1,"21":16,"24":1,"25":2,"26":2,"27":1,"28":2,"30":8,"31":1,"34":3,"35":2,"36":1,"37":1,"38":1,"39":1,"40":2,"41":4,"42":10,"43":10,"46":2,"47":2,"48":5,"51":2,"53":1,"54":1,"56":1,"60":1,"64":1,"66":1,"67":1,"69":2,"70":4,"72":2,"73":2,"74":4,"75":3,"76":2,"77":5,"78":2,"79":1,"80":3,"82":5,"84":1}}],["oneto",{"2":{"19":2,"25":2,"74":2}}],["one",{"2":{"3":1,"4":3,"9":1,"14":2,"18":1,"19":3,"26":1,"27":1,"40":2,"70":2,"73":1,"77":1,"79":1,"84":3}}],["ones",{"2":{"1":4,"3":3,"4":1,"13":10,"16":1,"18":4,"24":1,"28":4,"33":1}}],["only",{"2":{"2":1,"4":1,"5":1,"13":3,"15":4,"18":4,"40":2,"48":1,"66":1,"70":1,"77":1,"78":1,"80":1,"84":1}}],["on",{"2":{"0":6,"1":1,"2":3,"3":1,"4":2,"5":1,"10":1,"11":1,"13":3,"14":2,"17":3,"18":3,"19":2,"20":1,"21":3,"24":2,"26":3,"27":2,"30":1,"34":1,"41":1,"42":2,"48":1,"57":1,"60":2,"70":1,"71":1,"78":2}}],["away",{"2":{"70":1}}],["aware",{"2":{"24":1,"51":1}}],["a1",{"2":{"70":4}}],["aimed",{"2":{"52":1}}],["aggregate",{"2":{"48":1}}],["again",{"2":{"14":1,"30":1}}],["a=rand",{"2":{"77":1}}],["a=falses",{"2":{"67":1}}],["a=3",{"2":{"29":1}}],["a=1",{"2":{"23":1}}],["aug",{"2":{"48":6,"74":1}}],["auxiliary",{"2":{"27":1,"57":1}}],["autodetection",{"0":{"75":1}}],["automata",{"2":{"57":1}}],["automated",{"2":{"18":1}}],["automatic",{"2":{"0":1,"4":1,"10":1}}],["automatically",{"2":{"0":1,"4":3,"7":1,"27":1,"40":1,"74":2,"75":1}}],["autoposition",{"2":{"10":2}}],["autospan",{"2":{"8":2,"74":1}}],["autovalues",{"2":{"4":1,"74":1}}],["autolookup",{"2":{"4":3}}],["autoorder",{"2":{"4":3,"7":2,"74":1}}],["auto",{"2":{"2":1}}],["amazing",{"2":{"26":1}}],["amp",{"0":{"26":1},"1":{"27":1}}],["ambiguity",{"2":{"2":1,"11":1,"18":1,"24":1,"72":1}}],["after",{"2":{"13":1,"17":3,"21":3,"25":1,"48":1}}],["affine",{"2":{"4":1}}],["affect",{"2":{"0":1}}],["apr",{"2":{"48":6,"74":2}}],["appearance",{"2":{"18":1}}],["applies",{"2":{"67":1}}],["applied",{"2":{"4":1,"14":1,"17":2,"18":1,"80":1}}],["applicable",{"2":{"18":1}}],["applications",{"2":{"70":1}}],["application",{"2":{"17":1,"34":1}}],["applying",{"2":{"17":2}}],["apply",{"2":{"14":3,"49":1}}],["api",{"0":{"12":1},"1":{"13":1,"14":1,"15":1,"16":1}}],["adherence",{"2":{"34":1}}],["adjoint",{"2":{"32":1,"80":1}}],["adjacent",{"2":{"5":1}}],["adapt",{"2":{"27":3}}],["add",{"2":{"21":1,"22":2,"28":1,"74":1}}],["addition",{"2":{"73":1}}],["additionally",{"2":{"22":1}}],["additional",{"2":{"21":2,"74":1}}],["adding",{"2":{"4":3,"21":2}}],["added",{"2":{"3":1,"21":3,"24":1,"36":1,"42":2}}],["available",{"2":{"4":1,"11":2}}],["avoids",{"2":{"14":1,"17":1}}],["avoid",{"2":{"0":1,"5":1,"14":1,"21":1,"24":1}}],["actual",{"2":{"27":1}}],["actually",{"2":{"2":1,"4":1}}],["active",{"2":{"19":2}}],["acepted",{"2":{"13":4}}],["accessed",{"2":{"78":1}}],["accessors",{"2":{"71":1}}],["accessing",{"2":{"33":1}}],["access",{"2":{"28":1,"35":1}}],["accepted",{"2":{"21":2,"42":2,"70":1}}],["accept",{"2":{"13":1,"14":1,"39":1,"41":1,"70":1}}],["acceptable",{"2":{"8":1}}],["accepts",{"2":{"4":1,"5":1,"55":1}}],["accurate",{"2":{"8":1}}],["account",{"2":{"4":2}}],["atol=0",{"2":{"73":1}}],["atol=nothing",{"2":{"5":1}}],["atol",{"2":{"5":1,"15":6,"70":1}}],["attach",{"2":{"4":1}}],["attached",{"2":{"3":1,"38":1}}],["attempting",{"2":{"19":2}}],["attempt",{"2":{"0":1}}],["at",{"2":{"0":1,"3":2,"4":6,"5":11,"9":3,"13":1,"14":3,"15":4,"17":2,"18":1,"21":5,"43":1,"46":1,"48":1,"51":1,"52":1,"73":2,"74":2,"76":2,"77":2}}],["astroimage",{"2":{"58":1}}],["astroimages",{"0":{"58":1},"2":{"58":1}}],["astronomical",{"2":{"58":1}}],["assumes",{"2":{"70":1}}],["assert",{"2":{"49":1}}],["associate",{"2":{"35":2}}],["assignment",{"2":{"18":1,"25":1}}],["assigned",{"2":{"4":9,"66":1,"75":1}}],["ascending",{"2":{"5":1}}],["as",{"2":{"0":6,"1":1,"2":3,"3":5,"4":8,"5":4,"8":1,"10":3,"13":7,"14":6,"15":4,"16":5,"17":5,"18":8,"19":4,"21":2,"24":2,"26":2,"27":3,"32":1,"33":1,"35":1,"36":1,"38":1,"39":2,"40":4,"60":3,"61":1,"64":1,"70":3,"73":2,"74":1,"75":5}}],["above",{"2":{"44":1,"47":2}}],["about",{"2":{"0":1,"4":3,"11":1,"26":1,"71":1}}],["abstracdimarray",{"2":{"31":1}}],["abstractname",{"2":{"20":3}}],["abstraction",{"2":{"18":1}}],["abstractdimtable",{"2":{"16":2}}],["abstractdimstack",{"2":{"14":4,"16":3,"17":5,"18":10,"19":7,"21":5,"36":1,"41":1,"51":1,"54":1,"67":1,"70":2,"77":1,"80":2,"82":1}}],["abstractdimarrays",{"2":{"3":1,"18":4,"20":1,"21":2,"31":1}}],["abstractdimarray",{"2":{"0":1,"3":2,"4":1,"11":2,"13":7,"14":5,"15":1,"16":4,"17":7,"18":17,"19":7,"21":6,"24":1,"27":2,"32":1,"36":1,"40":3,"41":2,"45":1,"51":1,"52":1,"55":1,"57":2,"58":1,"60":1,"61":1,"67":1,"70":2,"77":1,"80":1,"82":1}}],["abstractrng",{"2":{"13":2}}],["abstractrange",{"2":{"4":4,"17":2,"74":1,"75":1}}],["abstractbasicarray",{"2":{"13":1}}],["abstractbasicdimarray",{"2":{"13":2,"18":1}}],["abstractmetadata",{"2":{"11":3,"18":1}}],["abstractmatrix",{"2":{"8":1}}],["abstractstring",{"2":{"4":1}}],["abstractsampled",{"2":{"4":6,"36":1,"51":1,"74":1}}],["abstractcolumns",{"2":{"16":1}}],["abstractcategorical",{"2":{"4":4,"36":1}}],["abstractcyclic",{"2":{"4":2}}],["abstractarray",{"2":{"2":3,"3":2,"4":4,"5":1,"13":4,"14":2,"15":3,"17":4,"18":4,"19":2,"28":1,"34":1,"38":1,"48":2,"74":1,"75":1,"77":1}}],["abstractvector",{"2":{"0":1,"4":4,"13":8}}],["abstract",{"2":{"0":7,"1":2,"3":4,"4":4,"5":3,"6":1,"10":1,"11":1,"13":4,"14":2,"16":1,"18":1,"20":1}}],["abs",{"2":{"23":1}}],["absent",{"2":{"3":1}}],["axis",{"2":{"0":6,"2":1,"3":2,"4":9,"10":3,"13":4,"15":1,"18":1,"38":1,"48":1,"60":1,"61":2,"73":2,"74":2}}],["axes",{"0":{"38":1},"2":{"0":1,"1":1,"4":1,"13":1,"19":3,"25":2,"30":2,"32":1,"38":2,"61":2,"70":1}}],["alpha",{"2":{"23":1}}],["alpha=",{"2":{"23":1}}],["align",{"2":{"10":1}}],["aligned",{"2":{"4":6,"76":1}}],["although",{"2":{"4":1,"13":1,"60":1}}],["alone",{"2":{"4":2}}],["along",{"0":{"25":1},"2":{"0":1,"17":1,"32":1,"43":1,"74":1}}],["algorithms",{"2":{"3":1,"70":1}}],["always",{"2":{"1":1,"3":1,"9":1,"11":2,"13":1,"14":2,"18":2,"19":4,"21":2,"40":1,"44":1,"51":1,"70":1}}],["already",{"2":{"0":1,"27":1}}],["also",{"2":{"0":3,"3":3,"5":2,"10":1,"11":1,"14":1,"17":1,"18":3,"25":1,"30":1,"31":1,"32":1,"35":1,"38":1,"39":1,"40":1,"47":1,"48":3,"49":2,"51":1,"61":2,"72":1,"73":4,"74":1,"76":1,"79":1,"85":1}}],["allocate",{"2":{"82":1}}],["allocations",{"2":{"81":2}}],["allocation",{"2":{"18":1}}],["allocs",{"2":{"33":2}}],["allows",{"2":{"10":1,"17":1,"18":1}}],["allowing",{"2":{"4":1}}],["allow",{"2":{"4":1,"10":1,"11":1,"57":1}}],["all",{"2":{"0":5,"2":1,"3":3,"4":5,"5":6,"6":1,"11":1,"13":3,"14":5,"15":3,"18":11,"19":8,"20":1,"21":2,"27":1,"31":1,"40":2,"42":2,"43":1,"44":3,"48":1,"51":1,"57":2,"66":1,"67":3,"73":1,"77":2,"78":1,"79":1,"80":1,"81":1,"82":1}}],["arviz",{"0":{"54":1},"2":{"36":1,"54":2}}],["archgdal",{"2":{"34":1}}],["around",{"2":{"17":3}}],["arbitrary",{"0":{"29":1},"2":{"15":1,"17":2,"29":1,"48":1}}],["arg",{"2":{"21":3,"42":3,"70":1}}],["args",{"2":{"3":1,"18":3,"21":12,"40":1,"42":12}}],["argumenterror",{"2":{"30":1}}],["argument",{"2":{"2":1,"3":2,"4":4,"11":2,"13":2,"14":1,"18":4,"25":1,"39":1,"40":3,"64":1}}],["arguments",{"2":{"0":1,"1":4,"3":4,"4":8,"8":1,"13":6,"14":1,"17":1,"18":5,"21":2,"27":1,"40":1,"42":2,"70":2}}],["arrays",{"0":{"13":1},"2":{"5":1,"13":5,"14":1,"17":1,"18":2,"19":1,"20":1,"21":2,"25":1,"66":1,"67":3,"75":3,"76":1,"84":1,"85":1}}],["arrayselectors",{"2":{"5":1}}],["arrayselector",{"2":{"5":4}}],["array",{"0":{"14":1,"79":1},"2":{"0":3,"1":1,"2":2,"3":4,"4":16,"5":1,"9":1,"10":1,"11":1,"13":6,"14":3,"15":3,"16":1,"17":1,"18":8,"19":4,"20":2,"21":2,"23":1,"24":1,"25":1,"26":1,"27":3,"31":1,"32":1,"33":1,"36":2,"38":3,"41":2,"42":2,"47":1,"48":1,"55":1,"67":4,"70":4,"73":2,"74":1,"75":2,"76":1,"81":1,"82":1}}],["aren",{"2":{"76":1}}],["areound",{"2":{"18":1}}],["area",{"2":{"5":3}}],["are",{"2":{"0":7,"1":1,"2":2,"3":17,"4":15,"5":11,"7":1,"8":2,"9":2,"11":1,"13":9,"14":3,"15":4,"16":2,"17":1,"18":15,"19":5,"21":13,"24":1,"25":1,"27":2,"28":2,"30":1,"34":2,"35":4,"36":3,"40":2,"42":10,"43":1,"46":1,"48":1,"51":2,"57":2,"61":1,"66":2,"70":3,"74":2,"75":9,"76":1,"79":2,"80":1,"81":1,"82":3}}],["analysis",{"2":{"48":1,"53":1,"54":1}}],["analogous",{"2":{"24":1}}],["answer",{"2":{"34":1}}],["ansi",{"2":{"21":1}}],["anomalies",{"2":{"17":1}}],["another",{"2":{"4":1,"13":1,"14":1,"15":2,"19":1,"29":1,"45":1,"52":1,"70":1,"73":1,"76":1,"78":1,"79":2}}],["anonymous",{"2":{"0":1}}],["anondim",{"2":{"0":2}}],["annual",{"2":{"4":1}}],["anything",{"2":{"2":1,"18":1}}],["any",{"2":{"0":1,"1":5,"2":1,"3":4,"4":5,"5":5,"11":2,"13":5,"17":8,"18":1,"19":1,"21":2,"27":1,"28":10,"35":2,"39":3,"40":1,"43":2,"47":7,"48":11,"49":3,"55":1,"74":1,"77":1,"80":1,"85":1}}],["an",{"2":{"0":2,"1":8,"2":1,"3":5,"4":9,"5":5,"6":1,"7":1,"8":1,"9":1,"10":3,"11":2,"13":21,"14":1,"15":6,"16":3,"17":6,"18":8,"19":2,"20":1,"21":6,"24":1,"27":1,"30":1,"31":2,"32":1,"35":1,"38":1,"40":1,"41":2,"43":6,"47":1,"48":3,"49":1,"54":2,"64":1,"73":2,"74":2,"75":1,"77":2,"82":1}}],["and",{"0":{"24":1,"47":1,"82":1},"1":{"25":1,"83":1,"84":1,"85":1},"2":{"0":9,"2":7,"3":8,"4":27,"5":10,"7":2,"8":3,"10":2,"11":4,"13":17,"14":13,"15":2,"16":3,"17":4,"18":10,"19":11,"20":1,"21":12,"23":1,"24":2,"25":4,"26":1,"27":4,"28":2,"29":2,"30":1,"31":3,"34":5,"35":3,"36":1,"38":2,"39":1,"40":3,"41":3,"42":6,"43":3,"44":2,"48":4,"49":1,"51":7,"52":2,"57":2,"58":1,"60":3,"61":4,"66":1,"67":2,"70":2,"71":1,"72":1,"73":3,"74":3,"75":8,"76":1,"77":1,"78":1,"80":1,"81":3,"82":6,"84":3,"85":1}}],["a",{"0":{"64":1},"2":{"0":30,"1":30,"2":11,"3":32,"4":50,"5":38,"6":1,"7":2,"8":4,"9":1,"10":6,"11":8,"13":68,"14":32,"15":16,"16":5,"17":43,"18":46,"19":12,"20":2,"21":13,"23":6,"24":3,"25":7,"26":5,"27":1,"28":7,"29":3,"31":2,"35":4,"36":2,"37":1,"38":2,"40":1,"41":2,"42":4,"43":64,"44":73,"45":2,"46":1,"47":8,"48":14,"49":4,"51":5,"52":1,"54":1,"55":2,"56":1,"57":1,"60":2,"61":6,"63":1,"64":3,"65":2,"66":1,"67":10,"68":9,"69":2,"70":13,"71":4,"72":14,"73":60,"74":14,"75":6,"76":5,"77":5,"78":14,"79":27,"80":41,"81":6,"83":5,"84":33,"85":9}}]],"serializationVersion":2}';export{e as default}; diff --git a/dev/assets/chunks/VPLocalSearchBox.96yseQxt.js b/dev/assets/chunks/VPLocalSearchBox.XEwDE-_y.js similarity index 68% rename from dev/assets/chunks/VPLocalSearchBox.96yseQxt.js rename to dev/assets/chunks/VPLocalSearchBox.XEwDE-_y.js index 50905869b..787a8c2ce 100644 --- a/dev/assets/chunks/VPLocalSearchBox.96yseQxt.js +++ b/dev/assets/chunks/VPLocalSearchBox.XEwDE-_y.js @@ -1,7 +1,7 @@ -var Nt=Object.defineProperty;var Ft=(a,e,t)=>e in a?Nt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Re=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{V as Ot,p as se,h as pe,aj as Xe,ak as Rt,al as Ct,q as je,am as Mt,d as At,D as ye,an as et,ao as Lt,ap as Dt,s as zt,aq as Pt,v as Ce,P as ue,O as we,ar as jt,as as Vt,W as $t,R as Bt,$ as Wt,o as q,b as Kt,j as S,a0 as Jt,k as D,at as Ut,au as qt,av as Gt,c as Y,n as tt,e as xe,C as st,F as nt,a as de,t as he,aw as Ht,ax as it,ay as Qt,a8 as Yt,ae as Zt,az as Xt,_ as es}from"./framework.B8l2DGq3.js";import{u as ts,c as ss}from"./theme.b8NutB4I.js";const ns={root:()=>Ot(()=>import("./@localSearchIndexroot.CMyb46FE.js"),[])};/*! +var Nt=Object.defineProperty;var Ft=(a,e,t)=>e in a?Nt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{V as Ot,p as ne,h as ve,aj as Xe,ak as Rt,al as Ct,q as Ve,am as Mt,d as At,D as we,an as et,ao as Lt,ap as Dt,s as zt,aq as Pt,v as Me,P as de,O as xe,ar as jt,as as Vt,W as $t,R as Bt,$ as Wt,o as q,b as Kt,j as S,a0 as Jt,k as D,at as Ut,au as qt,av as Gt,c as Y,n as tt,e as Se,C as st,F as nt,a as he,t as fe,aw as Ht,ax as it,ay as Qt,a8 as Yt,ae as Zt,az as Xt,_ as es}from"./framework.BAAK0EyE.js";import{u as ts,c as ss}from"./theme.By8UT2IG.js";const ns={root:()=>Ot(()=>import("./@localSearchIndexroot.DZIvyN8P.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE -*/var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ie=vt.join(","),mt=typeof Element>"u",ie=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,ke=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Ne=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},is=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(Ne(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ie));return t&&ie.call(e,Ie)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Ne(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=ie.call(i,Ie);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var v=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),p=!Ne(v,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(v&&p){var b=a(v===!0?i.children:v.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ne=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||is(e))&&!yt(e)?0:e.tabIndex},rs=function(e,t){var s=ne(e);return s<0&&t&&!yt(e)?0:s},as=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},os=function(e){return wt(e)&&e.type==="hidden"},ls=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},cs=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(ie.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var l=e.parentElement,c=ke(e);if(l&&!l.shadowRoot&&n(l)===!0)return rt(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(fs(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return rt(e);return!1},vs=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},gs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=rs(o,i),c=i?a(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(as).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},bs=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Ve.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ms}):s=gt(e,t.includeContainer,Ve.bind(null,t)),gs(s)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Fe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Fe.bind(null,t)),s},re=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ie.call(e,Ie)===!1?!1:Ve(t,e)},ws=vt.concat("iframe").join(","),Me=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ie.call(e,ws)===!1?!1:Fe(t,e)};/*! +*/var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],ke=vt.join(","),mt=typeof Element>"u",re=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Fe=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},is=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(Fe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(ke));return t&&re.call(e,ke)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Fe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=re.call(i,ke);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var v=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),p=!Fe(v,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(v&&p){var b=a(v===!0?i.children:v.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ie=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||is(e))&&!yt(e)?0:e.tabIndex},rs=function(e,t){var s=ie(e);return s<0&&t&&!yt(e)?0:s},as=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},os=function(e){return wt(e)&&e.type==="hidden"},ls=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},cs=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var l=e.parentElement,c=Ne(e);if(l&&!l.shadowRoot&&n(l)===!0)return rt(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(fs(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return rt(e);return!1},vs=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},gs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=rs(o,i),c=i?a(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(as).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},bs=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:$e.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ms}):s=gt(e,t.includeContainer,$e.bind(null,t)),gs(s)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Oe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Oe.bind(null,t)),s},ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,ke)===!1?!1:$e(t,e)},ws=vt.concat("iframe").join(","),Ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,ws)===!1?!1:Oe(t,e)};/*! * focus-trap 7.6.0 * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE -*/function xs(a,e,t){return(e=_s(e))in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function at(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(a);e&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable})),t.push.apply(t,s)}return t}function ot(a){for(var e=1;e0){var s=e[e.length-1];s!==t&&s.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var s=e.indexOf(t);s!==-1&&e.splice(s,1),e.length>0&&e[e.length-1].unpause()}},Es=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Ts=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ve=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Is=function(e){return ve(e)&&!e.shiftKey},ks=function(e){return ve(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ut=function(e,t){var s=-1;return e.every(function(n,r){return t(n)?(s=r,!1):!0}),s},fe=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n1?g-1:0),E=1;E=0)d=s.activeElement;else{var u=i.tabbableGroups[0],g=u&&u.firstTabbableNode;d=g||h("fallbackFocus")}if(!d)throw new Error("Your focus-trap needs to have at least one focusable element");return d},p=function(){if(i.containerGroups=i.containers.map(function(d){var u=bs(d,r.tabbableOptions),g=ys(d,r.tabbableOptions),_=u.length>0?u[0]:void 0,E=u.length>0?u[u.length-1]:void 0,N=g.find(function(f){return re(f)}),F=g.slice().reverse().find(function(f){return re(f)}),m=!!u.find(function(f){return ne(f)>0});return{container:d,tabbableNodes:u,focusableNodes:g,posTabIndexesFound:m,firstTabbableNode:_,lastTabbableNode:E,firstDomTabbableNode:N,lastDomTabbableNode:F,nextTabbableNode:function(T){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,C=u.indexOf(T);return C<0?A?g.slice(g.indexOf(T)+1).find(function(M){return re(M)}):g.slice(0,g.indexOf(T)).reverse().find(function(M){return re(M)}):u[C+(A?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(d){return d.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(d){return d.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},b=function(d){var u=d.activeElement;if(u)return u.shadowRoot&&u.shadowRoot.activeElement!==null?b(u.shadowRoot):u},y=function(d){if(d!==!1&&d!==b(document)){if(!d||!d.focus){y(v());return}d.focus({preventScroll:!!r.preventScroll}),i.mostRecentlyFocusedNode=d,Es(d)&&d.select()}},x=function(d){var u=h("setReturnFocus",d);return u||(u===!1?!1:d)},w=function(d){var u=d.target,g=d.event,_=d.isBackward,E=_===void 0?!1:_;u=u||Se(g),p();var N=null;if(i.tabbableGroups.length>0){var F=c(u,g),m=F>=0?i.containerGroups[F]:void 0;if(F<0)E?N=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:N=i.tabbableGroups[0].firstTabbableNode;else if(E){var f=ut(i.tabbableGroups,function(L){var j=L.firstTabbableNode;return u===j});if(f<0&&(m.container===u||Me(u,r.tabbableOptions)&&!re(u,r.tabbableOptions)&&!m.nextTabbableNode(u,!1))&&(f=F),f>=0){var T=f===0?i.tabbableGroups.length-1:f-1,A=i.tabbableGroups[T];N=ne(u)>=0?A.lastTabbableNode:A.lastDomTabbableNode}else ve(g)||(N=m.nextTabbableNode(u,!1))}else{var C=ut(i.tabbableGroups,function(L){var j=L.lastTabbableNode;return u===j});if(C<0&&(m.container===u||Me(u,r.tabbableOptions)&&!re(u,r.tabbableOptions)&&!m.nextTabbableNode(u))&&(C=F),C>=0){var M=C===i.tabbableGroups.length-1?0:C+1,I=i.tabbableGroups[M];N=ne(u)>=0?I.firstTabbableNode:I.firstDomTabbableNode}else ve(g)||(N=m.nextTabbableNode(u))}}else N=h("fallbackFocus");return N},O=function(d){var u=Se(d);if(!(c(u,d)>=0)){if(fe(r.clickOutsideDeactivates,d)){o.deactivate({returnFocus:r.returnFocusOnDeactivate});return}fe(r.allowOutsideClick,d)||d.preventDefault()}},R=function(d){var u=Se(d),g=c(u,d)>=0;if(g||u instanceof Document)g&&(i.mostRecentlyFocusedNode=u);else{d.stopImmediatePropagation();var _,E=!0;if(i.mostRecentlyFocusedNode)if(ne(i.mostRecentlyFocusedNode)>0){var N=c(i.mostRecentlyFocusedNode),F=i.containerGroups[N].tabbableNodes;if(F.length>0){var m=F.findIndex(function(f){return f===i.mostRecentlyFocusedNode});m>=0&&(r.isKeyForward(i.recentNavEvent)?m+1=0&&(_=F[m-1],E=!1))}}else i.containerGroups.some(function(f){return f.tabbableNodes.some(function(T){return ne(T)>0})})||(E=!1);else E=!1;E&&(_=w({target:i.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(i.recentNavEvent)})),y(_||i.mostRecentlyFocusedNode||v())}i.recentNavEvent=void 0},K=function(d){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=d;var g=w({event:d,isBackward:u});g&&(ve(d)&&d.preventDefault(),y(g))},G=function(d){(r.isKeyForward(d)||r.isKeyBackward(d))&&K(d,r.isKeyBackward(d))},W=function(d){Ts(d)&&fe(r.escapeDeactivates,d)!==!1&&(d.preventDefault(),o.deactivate())},V=function(d){var u=Se(d);c(u,d)>=0||fe(r.clickOutsideDeactivates,d)||fe(r.allowOutsideClick,d)||(d.preventDefault(),d.stopImmediatePropagation())},$=function(){if(i.active)return lt.activateTrap(n,o),i.delayInitialFocusTimer=r.delayInitialFocus?ct(function(){y(v())}):y(v()),s.addEventListener("focusin",R,!0),s.addEventListener("mousedown",O,{capture:!0,passive:!1}),s.addEventListener("touchstart",O,{capture:!0,passive:!1}),s.addEventListener("click",V,{capture:!0,passive:!1}),s.addEventListener("keydown",G,{capture:!0,passive:!1}),s.addEventListener("keydown",W),o},me=function(){if(i.active)return s.removeEventListener("focusin",R,!0),s.removeEventListener("mousedown",O,!0),s.removeEventListener("touchstart",O,!0),s.removeEventListener("click",V,!0),s.removeEventListener("keydown",G,!0),s.removeEventListener("keydown",W),o},P=function(d){var u=d.some(function(g){var _=Array.from(g.removedNodes);return _.some(function(E){return E===i.mostRecentlyFocusedNode})});u&&y(v())},H=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(P):void 0,J=function(){H&&(H.disconnect(),i.active&&!i.paused&&i.containers.map(function(d){H.observe(d,{subtree:!0,childList:!0})}))};return o={get active(){return i.active},get paused(){return i.paused},activate:function(d){if(i.active)return this;var u=l(d,"onActivate"),g=l(d,"onPostActivate"),_=l(d,"checkCanFocusTrap");_||p(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=s.activeElement,u==null||u();var E=function(){_&&p(),$(),J(),g==null||g()};return _?(_(i.containers.concat()).then(E,E),this):(E(),this)},deactivate:function(d){if(!i.active)return this;var u=ot({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},d);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,me(),i.active=!1,i.paused=!1,J(),lt.deactivateTrap(n,o);var g=l(u,"onDeactivate"),_=l(u,"onPostDeactivate"),E=l(u,"checkCanReturnFocus"),N=l(u,"returnFocus","returnFocusOnDeactivate");g==null||g();var F=function(){ct(function(){N&&y(x(i.nodeFocusedBeforeActivation)),_==null||_()})};return N&&E?(E(x(i.nodeFocusedBeforeActivation)).then(F,F),this):(F(),this)},pause:function(d){if(i.paused||!i.active)return this;var u=l(d,"onPause"),g=l(d,"onPostPause");return i.paused=!0,u==null||u(),me(),J(),g==null||g(),this},unpause:function(d){if(!i.paused||!i.active)return this;var u=l(d,"onUnpause"),g=l(d,"onPostUnpause");return i.paused=!1,u==null||u(),p(),$(),J(),g==null||g(),this},updateContainerElements:function(d){var u=[].concat(d).filter(Boolean);return i.containers=u.map(function(g){return typeof g=="string"?s.querySelector(g):g}),i.active&&p(),J(),this}},o.updateContainerElements(e),o};function Os(a,e={}){let t;const{immediate:s,...n}=e,r=se(!1),i=se(!1),o=p=>t&&t.activate(p),l=p=>t&&t.deactivate(p),c=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)},v=pe(()=>{const p=Xe(a);return(Array.isArray(p)?p:[p]).map(b=>{const y=Xe(b);return typeof y=="string"?y:Rt(y)}).filter(Ct)});return je(v,p=>{p.length&&(t=Fs(p,{...n,onActivate(){r.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){r.value=!1,e.onDeactivate&&e.onDeactivate()}}),s&&o())},{flush:"post"}),Mt(()=>l()),{hasFocus:r,isPaused:i,activate:o,deactivate:l,pause:c,unpause:h}}class oe{constructor(e,t=!0,s=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=s,this.iframesTimeout=n}static matches(e,t){const s=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let r=!1;return s.every(i=>n.call(e,i)?(r=!0,!1):!0),r}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(s=>{const n=t.filter(r=>r.contains(s)).length>0;t.indexOf(s)===-1&&!n&&t.push(s)}),t}getIframeContents(e,t,s=()=>{}){let n;try{const r=e.contentWindow;if(n=r.document,!r||!n)throw new Error("iframe inaccessible")}catch{s()}n&&t(n)}isIframeBlank(e){const t="about:blank",s=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&s!==t&&s}observeIframeLoad(e,t,s){let n=!1,r=null;const i=()=>{if(!n){n=!0,clearTimeout(r);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,s))}catch{s()}}};e.addEventListener("load",i),r=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,s){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,s):this.getIframeContents(e,t,s):this.observeIframeLoad(e,t,s)}catch{s()}}waitForIframes(e,t){let s=0;this.forEachIframe(e,()=>!0,n=>{s++,this.waitForIframes(n.querySelector("html"),()=>{--s||t()})},n=>{n||t()})}forEachIframe(e,t,s,n=()=>{}){let r=e.querySelectorAll("iframe"),i=r.length,o=0;r=Array.prototype.slice.call(r);const l=()=>{--i<=0&&n(o)};i||l(),r.forEach(c=>{oe.matches(c,this.exclude)?l():this.onIframeReady(c,h=>{t(c)&&(o++,s(h)),l()},l)})}createIterator(e,t,s){return document.createNodeIterator(e,t,s,!1)}createInstanceOnIframe(e){return new oe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,s){const n=e.compareDocumentPosition(s),r=Node.DOCUMENT_POSITION_PRECEDING;if(n&r)if(t!==null){const i=t.compareDocumentPosition(s),o=Node.DOCUMENT_POSITION_FOLLOWING;if(i&o)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let s;return t===null?s=e.nextNode():s=e.nextNode()&&e.nextNode(),{prevNode:t,node:s}}checkIframeFilter(e,t,s,n){let r=!1,i=!1;return n.forEach((o,l)=>{o.val===s&&(r=l,i=o.handled)}),this.compareNodeIframe(e,t,s)?(r===!1&&!i?n.push({val:s,handled:!0}):r!==!1&&!i&&(n[r].handled=!0),!0):(r===!1&&n.push({val:s,handled:!1}),!1)}handleOpenIframes(e,t,s,n){e.forEach(r=>{r.handled||this.getIframeContents(r.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,s,n)})})}iterateThroughNodes(e,t,s,n,r){const i=this.createIterator(t,e,n);let o=[],l=[],c,h,v=()=>({prevNode:h,node:c}=this.getIteratorNode(i),c);for(;v();)this.iframes&&this.forEachIframe(t,p=>this.checkIframeFilter(c,h,p,o),p=>{this.createInstanceOnIframe(p).forEachNode(e,b=>l.push(b),n)}),l.push(c);l.forEach(p=>{s(p)}),this.iframes&&this.handleOpenIframes(o,e,s,n),r()}forEachNode(e,t,s,n=()=>{}){const r=this.getContexts();let i=r.length;i||n(),r.forEach(o=>{const l=()=>{this.iterateThroughNodes(e,o,t,s,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(o,l):l()})}}let Rs=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new oe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const s=this.opt.log;this.opt.debug&&typeof s=="object"&&typeof s[t]=="function"&&s[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,s=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let r in t)if(t.hasOwnProperty(r)){const i=t[r],o=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(r):this.escapeStr(r),l=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);o!==""&&l!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(o)}|${this.escapeStr(l)})`,`gm${s}`),n+`(${this.processSynomyms(o)}|${this.processSynomyms(l)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,s,n)=>{let r=n.charAt(s+1);return/[(|)\\]/.test(r)||r===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const s=this.opt.ignorePunctuation;return Array.isArray(s)&&s.length&&t.push(this.escapeStr(s.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",s=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(r=>{s.every(i=>{if(i.indexOf(r)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let s=this.opt.accuracy,n=typeof s=="string"?s:s.value,r=typeof s=="string"?[]:s.limiters,i="";switch(r.forEach(o=>{i+=`|${this.escapeStr(o)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(s=>{this.opt.separateWordSearch?s.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):s.trim()&&t.indexOf(s)===-1&&t.push(s)}),{keywords:t.sort((s,n)=>n.length-s.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let s=0;return e.sort((n,r)=>n.start-r.start).forEach(n=>{let{start:r,end:i,valid:o}=this.callNoMatchOnInvalidRanges(n,s);o&&(n.start=r,n.length=i-r,t.push(n),s=i)}),t}callNoMatchOnInvalidRanges(e,t){let s,n,r=!1;return e&&typeof e.start<"u"?(s=parseInt(e.start,10),n=s+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-s>0?r=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:s,end:n,valid:r}}checkWhitespaceRanges(e,t,s){let n,r=!0,i=s.length,o=t-i,l=parseInt(e.start,10)-o;return l=l>i?i:l,n=l+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),l<0||n-l<0||l>i||n>i?(r=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):s.substring(l,n).replace(/\s+/g,"")===""&&(r=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:n,valid:r}}getTextNodes(e){let t="",s=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{s.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:s})})}matchesExclude(e){return oe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,s){const n=this.opt.element?this.opt.element:"mark",r=e.splitText(t),i=r.splitText(s-t);let o=document.createElement(n);return o.setAttribute("data-markjs","true"),this.opt.className&&o.setAttribute("class",this.opt.className),o.textContent=r.textContent,r.parentNode.replaceChild(o,r),i}wrapRangeInMappedTextNode(e,t,s,n,r){e.nodes.every((i,o)=>{const l=e.nodes[o+1];if(typeof l>"u"||l.start>t){if(!n(i.node))return!1;const c=t-i.start,h=(s>i.end?i.end:s)-i.start,v=e.value.substr(0,i.start),p=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,c,h),e.value=v+p,e.nodes.forEach((b,y)=>{y>=o&&(e.nodes[y].start>0&&y!==o&&(e.nodes[y].start-=h),e.nodes[y].end-=h)}),s-=h,r(i.node.previousSibling,i.start),s>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,s,n,r){const i=t===0?0:t+1;this.getTextNodes(o=>{o.nodes.forEach(l=>{l=l.node;let c;for(;(c=e.exec(l.textContent))!==null&&c[i]!=="";){if(!s(c[i],l))continue;let h=c.index;if(i!==0)for(let v=1;v{let l;for(;(l=e.exec(o.value))!==null&&l[i]!=="";){let c=l.index;if(i!==0)for(let v=1;vs(l[i],v),(v,p)=>{e.lastIndex=p,n(v)})}r()})}wrapRangeFromIndex(e,t,s,n){this.getTextNodes(r=>{const i=r.value.length;e.forEach((o,l)=>{let{start:c,end:h,valid:v}=this.checkWhitespaceRanges(o,i,r.value);v&&this.wrapRangeInMappedTextNode(r,c,h,p=>t(p,o,r.value.substring(c,h),l),p=>{s(p,o)})}),n()})}unwrapMatches(e){const t=e.parentNode;let s=document.createDocumentFragment();for(;e.firstChild;)s.appendChild(e.removeChild(e.firstChild));t.replaceChild(s,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let s=0,n="wrapMatches";const r=i=>{s++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,o)=>this.opt.filter(o,i,s),r,()=>{s===0&&this.opt.noMatch(e),this.opt.done(s)})}mark(e,t){this.opt=t;let s=0,n="wrapMatches";const{keywords:r,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),o=this.opt.caseSensitive?"":"i",l=c=>{let h=new RegExp(this.createRegExp(c),`gm${o}`),v=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(p,b)=>this.opt.filter(b,c,s,v),p=>{v++,s++,this.opt.each(p)},()=>{v===0&&this.opt.noMatch(c),r[i-1]===c?this.opt.done(s):l(r[r.indexOf(c)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(s):l(r[0])}markRanges(e,t){this.opt=t;let s=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(r,i,o,l)=>this.opt.filter(r,i,o,l),(r,i)=>{s++,this.opt.each(r,i)},()=>{this.opt.done(s)})):this.opt.done(s)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,s=>{this.unwrapMatches(s)},s=>{const n=oe.matches(s,t),r=this.matchesExclude(s);return!n||r?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Cs(a){const e=new Rs(a);return this.mark=(t,s)=>(e.mark(t,s),this),this.markRegExp=(t,s)=>(e.markRegExp(t,s),this),this.markRanges=(t,s)=>(e.markRanges(t,s),this),this.unmark=t=>(e.unmark(t),this),this}function Te(a,e,t,s){function n(r){return r instanceof t?r:new t(function(i){i(r)})}return new(t||(t=Promise))(function(r,i){function o(h){try{c(s.next(h))}catch(v){i(v)}}function l(h){try{c(s.throw(h))}catch(v){i(v)}}function c(h){h.done?r(h.value):n(h.value).then(o,l)}c((s=s.apply(a,[])).next())})}const Ms="ENTRIES",xt="KEYS",St="VALUES",z="";class Ae{constructor(e,t){const s=e._tree,n=Array.from(s.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:s,keys:n}]:[]}next(){const e=this.dive();return this.backtrack(),e}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:e,keys:t}=ae(this._path);if(ae(t)===z)return{done:!1,value:this.result()};const s=e.get(ae(t));return this._path.push({node:s,keys:Array.from(s.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const e=ae(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:e})=>ae(e)).filter(e=>e!==z).join("")}value(){return ae(this._path).node.get(z)}result(){switch(this._type){case St:return this.value();case xt:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const ae=a=>a[a.length-1],As=(a,e,t)=>{const s=new Map;if(e===void 0)return s;const n=e.length+1,r=n+t,i=new Uint8Array(r*n).fill(t+1);for(let o=0;o{const l=r*i;e:for(const c of a.keys())if(c===z){const h=n[l-1];h<=t&&s.set(o,[a.get(c),h])}else{let h=r;for(let v=0;vt)continue e}_t(a.get(c),e,t,s,n,h,i,o+c)}};class Z{constructor(e=new Map,t=""){this._size=void 0,this._tree=e,this._prefix=t}atPrefix(e){if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");const[t,s]=Oe(this._tree,e.slice(this._prefix.length));if(t===void 0){const[n,r]=Ke(s);for(const i of n.keys())if(i!==z&&i.startsWith(r)){const o=new Map;return o.set(i.slice(r.length),n.get(i)),new Z(o,e)}}return new Z(t,e)}clear(){this._size=void 0,this._tree.clear()}delete(e){return this._size=void 0,Ls(this._tree,e)}entries(){return new Ae(this,Ms)}forEach(e){for(const[t,s]of this)e(t,s,this)}fuzzyGet(e,t){return As(this._tree,e,t)}get(e){const t=$e(this._tree,e);return t!==void 0?t.get(z):void 0}has(e){const t=$e(this._tree,e);return t!==void 0&&t.has(z)}keys(){return new Ae(this,xt)}set(e,t){if(typeof e!="string")throw new Error("key must be a string");return this._size=void 0,Le(this._tree,e).set(z,t),this}get size(){if(this._size)return this._size;this._size=0;const e=this.entries();for(;!e.next().done;)this._size+=1;return this._size}update(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=Le(this._tree,e);return s.set(z,t(s.get(z))),this}fetch(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=Le(this._tree,e);let n=s.get(z);return n===void 0&&s.set(z,n=t()),n}values(){return new Ae(this,St)}[Symbol.iterator](){return this.entries()}static from(e){const t=new Z;for(const[s,n]of e)t.set(s,n);return t}static fromObject(e){return Z.from(Object.entries(e))}}const Oe=(a,e,t=[])=>{if(e.length===0||a==null)return[a,t];for(const s of a.keys())if(s!==z&&e.startsWith(s))return t.push([a,s]),Oe(a.get(s),e.slice(s.length),t);return t.push([a,e]),Oe(void 0,"",t)},$e=(a,e)=>{if(e.length===0||a==null)return a;for(const t of a.keys())if(t!==z&&e.startsWith(t))return $e(a.get(t),e.slice(t.length))},Le=(a,e)=>{const t=e.length;e:for(let s=0;a&&s{const[t,s]=Oe(a,e);if(t!==void 0){if(t.delete(z),t.size===0)Et(s);else if(t.size===1){const[n,r]=t.entries().next().value;Tt(s,n,r)}}},Et=a=>{if(a.length===0)return;const[e,t]=Ke(a);if(e.delete(t),e.size===0)Et(a.slice(0,-1));else if(e.size===1){const[s,n]=e.entries().next().value;s!==z&&Tt(a.slice(0,-1),s,n)}},Tt=(a,e,t)=>{if(a.length===0)return;const[s,n]=Ke(a);s.set(n+e,t),s.delete(n)},Ke=a=>a[a.length-1],Je="or",It="and",Ds="and_not";class le{constructor(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const t=e.autoVacuum==null||e.autoVacuum===!0?Pe:e.autoVacuum;this._options=Object.assign(Object.assign(Object.assign({},ze),e),{autoVacuum:t,searchOptions:Object.assign(Object.assign({},dt),e.searchOptions||{}),autoSuggestOptions:Object.assign(Object.assign({},$s),e.autoSuggestOptions||{})}),this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=We,this.addFields(this._options.fields)}add(e){const{extractField:t,tokenize:s,processTerm:n,fields:r,idField:i}=this._options,o=t(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);if(this._idToShortId.has(o))throw new Error(`MiniSearch: duplicate ID ${o}`);const l=this.addDocumentId(o);this.saveStoredFields(l,e);for(const c of r){const h=t(e,c);if(h==null)continue;const v=s(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.addFieldLength(l,p,this._documentCount-1,b);for(const y of v){const x=n(y,c);if(Array.isArray(x))for(const w of x)this.addTerm(p,l,w);else x&&this.addTerm(p,l,x)}}}addAll(e){for(const t of e)this.add(t)}addAllAsync(e,t={}){const{chunkSize:s=10}=t,n={chunk:[],promise:Promise.resolve()},{chunk:r,promise:i}=e.reduce(({chunk:o,promise:l},c,h)=>(o.push(c),(h+1)%s===0?{chunk:[],promise:l.then(()=>new Promise(v=>setTimeout(v,0))).then(()=>this.addAll(o))}:{chunk:o,promise:l}),n);return i.then(()=>this.addAll(r))}remove(e){const{tokenize:t,processTerm:s,extractField:n,fields:r,idField:i}=this._options,o=n(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);const l=this._idToShortId.get(o);if(l==null)throw new Error(`MiniSearch: cannot remove document with ID ${o}: it is not in the index`);for(const c of r){const h=n(e,c);if(h==null)continue;const v=t(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.removeFieldLength(l,p,this._documentCount,b);for(const y of v){const x=s(y,c);if(Array.isArray(x))for(const w of x)this.removeTerm(p,l,w);else x&&this.removeTerm(p,l,x)}}this._storedFields.delete(l),this._documentIds.delete(l),this._idToShortId.delete(o),this._fieldLength.delete(l),this._documentCount-=1}removeAll(e){if(e)for(const t of e)this.remove(t);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(e){const t=this._idToShortId.get(e);if(t==null)throw new Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);this._idToShortId.delete(e),this._documentIds.delete(t),this._storedFields.delete(t),(this._fieldLength.get(t)||[]).forEach((s,n)=>{this.removeFieldLength(t,n,this._documentCount,s)}),this._fieldLength.delete(t),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:e,minDirtCount:t,batchSize:s,batchWait:n}=this._options.autoVacuum;this.conditionalVacuum({batchSize:s,batchWait:n},{minDirtCount:t,minDirtFactor:e})}discardAll(e){const t=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const s of e)this.discard(s)}finally{this._options.autoVacuum=t}this.maybeAutoVacuum()}replace(e){const{idField:t,extractField:s}=this._options,n=s(e,t);this.discard(n),this.add(e)}vacuum(e={}){return this.conditionalVacuum(e)}conditionalVacuum(e,t){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const s=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=We,this.performVacuuming(e,s)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)}performVacuuming(e,t){return Te(this,void 0,void 0,function*(){const s=this._dirtCount;if(this.vacuumConditionsMet(t)){const n=e.batchSize||Be.batchSize,r=e.batchWait||Be.batchWait;let i=1;for(const[o,l]of this._index){for(const[c,h]of l)for(const[v]of h)this._documentIds.has(v)||(h.size<=1?l.delete(c):h.delete(v));this._index.get(o).size===0&&this._index.delete(o),i%n===0&&(yield new Promise(c=>setTimeout(c,r))),i+=1}this._dirtCount-=s}yield null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null})}vacuumConditionsMet(e){if(e==null)return!0;let{minDirtCount:t,minDirtFactor:s}=e;return t=t||Pe.minDirtCount,s=s||Pe.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=s}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(e){return this._idToShortId.has(e)}getStoredFields(e){const t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)}search(e,t={}){const s=this.executeQuery(e,t),n=[];for(const[r,{score:i,terms:o,match:l}]of s){const c=o.length||1,h={id:this._documentIds.get(r),score:i*c,terms:Object.keys(l),queryTerms:o,match:l};Object.assign(h,this._storedFields.get(r)),(t.filter==null||t.filter(h))&&n.push(h)}return e===le.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||n.sort(ft),n}autoSuggest(e,t={}){t=Object.assign(Object.assign({},this._options.autoSuggestOptions),t);const s=new Map;for(const{score:r,terms:i}of this.search(e,t)){const o=i.join(" "),l=s.get(o);l!=null?(l.score+=r,l.count+=1):s.set(o,{score:r,terms:i,count:1})}const n=[];for(const[r,{score:i,terms:o,count:l}]of s)n.push({suggestion:r,terms:o,score:i/l});return n.sort(ft),n}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)}static loadJSONAsync(e,t){return Te(this,void 0,void 0,function*(){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(e),t)})}static getDefault(e){if(ze.hasOwnProperty(e))return De(ze,e);throw new Error(`MiniSearch: unknown option "${e}"`)}static loadJS(e,t){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=_e(n),l._fieldLength=_e(r),l._storedFields=_e(i);for(const[c,h]of l._documentIds)l._idToShortId.set(h,c);for(const[c,h]of s){const v=new Map;for(const p of Object.keys(h)){let b=h[p];o===1&&(b=b.ds),v.set(parseInt(p,10),_e(b))}l._index.set(c,v)}return l}static loadJSAsync(e,t){return Te(this,void 0,void 0,function*(){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=yield Ee(n),l._fieldLength=yield Ee(r),l._storedFields=yield Ee(i);for(const[h,v]of l._documentIds)l._idToShortId.set(v,h);let c=0;for(const[h,v]of s){const p=new Map;for(const b of Object.keys(v)){let y=v[b];o===1&&(y=y.ds),p.set(parseInt(b,10),yield Ee(y))}++c%1e3===0&&(yield kt(0)),l._index.set(h,p)}return l})}static instantiateMiniSearch(e,t){const{documentCount:s,nextId:n,fieldIds:r,averageFieldLength:i,dirtCount:o,serializationVersion:l}=e;if(l!==1&&l!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const c=new le(t);return c._documentCount=s,c._nextId=n,c._idToShortId=new Map,c._fieldIds=r,c._avgFieldLength=i,c._dirtCount=o||0,c._index=new Z,c}executeQuery(e,t={}){if(e===le.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){const p=Object.assign(Object.assign(Object.assign({},t),e),{queries:void 0}),b=e.queries.map(y=>this.executeQuery(y,p));return this.combineResults(b,p.combineWith)}const{tokenize:s,processTerm:n,searchOptions:r}=this._options,i=Object.assign(Object.assign({tokenize:s,processTerm:n},r),t),{tokenize:o,processTerm:l}=i,v=o(e).flatMap(p=>l(p)).filter(p=>!!p).map(Vs(i)).map(p=>this.executeQuerySpec(p,i));return this.combineResults(v,i.combineWith)}executeQuerySpec(e,t){const s=Object.assign(Object.assign({},this._options.searchOptions),t),n=(s.fields||this._options.fields).reduce((x,w)=>Object.assign(Object.assign({},x),{[w]:De(s.boost,w)||1}),{}),{boostDocument:r,weights:i,maxFuzzy:o,bm25:l}=s,{fuzzy:c,prefix:h}=Object.assign(Object.assign({},dt.weights),i),v=this._index.get(e.term),p=this.termResults(e.term,e.term,1,e.termBoost,v,n,r,l);let b,y;if(e.prefix&&(b=this._index.atPrefix(e.term)),e.fuzzy){const x=e.fuzzy===!0?.2:e.fuzzy,w=x<1?Math.min(o,Math.round(e.term.length*x)):x;w&&(y=this._index.fuzzyGet(e.term,w))}if(b)for(const[x,w]of b){const O=x.length-e.term.length;if(!O)continue;y==null||y.delete(x);const R=h*x.length/(x.length+.3*O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}if(y)for(const x of y.keys()){const[w,O]=y.get(x);if(!O)continue;const R=c*x.length/(x.length+O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}return p}executeWildcardQuery(e){const t=new Map,s=Object.assign(Object.assign({},this._options.searchOptions),e);for(const[n,r]of this._documentIds){const i=s.boostDocument?s.boostDocument(r,"",this._storedFields.get(n)):1;t.set(n,{score:i,terms:[],match:{}})}return t}combineResults(e,t=Je){if(e.length===0)return new Map;const s=t.toLowerCase(),n=zs[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map}toJSON(){const e=[];for(const[t,s]of this._index){const n={};for(const[r,i]of s)n[r]=Object.fromEntries(i);e.push([t,n])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:e,serializationVersion:2}}termResults(e,t,s,n,r,i,o,l,c=new Map){if(r==null)return c;for(const h of Object.keys(i)){const v=i[h],p=this._fieldIds[h],b=r.get(p);if(b==null)continue;let y=b.size;const x=this._avgFieldLength[p];for(const w of b.keys()){if(!this._documentIds.has(w)){this.removeTerm(p,w,t),y-=1;continue}const O=o?o(this._documentIds.get(w),t,this._storedFields.get(w)):1;if(!O)continue;const R=b.get(w),K=this._fieldLength.get(w)[p],G=js(R,y,this._documentCount,K,x,l),W=s*n*v*O*G,V=c.get(w);if(V){V.score+=W,Bs(V.terms,e);const $=De(V.match,t);$?$.push(h):V.match[t]=[h]}else c.set(w,{score:W,terms:[e],match:{[t]:[h]}})}}return c}addTerm(e,t,s){const n=this._index.fetch(s,pt);let r=n.get(e);if(r==null)r=new Map,r.set(t,1),n.set(e,r);else{const i=r.get(t);r.set(t,(i||0)+1)}}removeTerm(e,t,s){if(!this._index.has(s)){this.warnDocumentChanged(t,e,s);return}const n=this._index.fetch(s,pt),r=n.get(e);r==null||r.get(t)==null?this.warnDocumentChanged(t,e,s):r.get(t)<=1?r.size<=1?n.delete(e):r.delete(t):r.set(t,r.get(t)-1),this._index.get(s).size===0&&this._index.delete(s)}warnDocumentChanged(e,t,s){for(const n of Object.keys(this._fieldIds))if(this._fieldIds[n]===t){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term "${s}" was not present in field "${n}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(e){const t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t}addFields(e){for(let t=0;tObject.prototype.hasOwnProperty.call(a,e)?a[e]:void 0,zs={[Je]:(a,e)=>{for(const t of e.keys()){const s=a.get(t);if(s==null)a.set(t,e.get(t));else{const{score:n,terms:r,match:i}=e.get(t);s.score=s.score+n,s.match=Object.assign(s.match,i),ht(s.terms,r)}}return a},[It]:(a,e)=>{const t=new Map;for(const s of e.keys()){const n=a.get(s);if(n==null)continue;const{score:r,terms:i,match:o}=e.get(s);ht(n.terms,i),t.set(s,{score:n.score+r,terms:n.terms,match:Object.assign(n.match,o)})}return t},[Ds]:(a,e)=>{for(const t of e.keys())a.delete(t);return a}},Ps={k:1.2,b:.7,d:.5},js=(a,e,t,s,n,r)=>{const{k:i,b:o,d:l}=r;return Math.log(1+(t-e+.5)/(e+.5))*(l+a*(i+1)/(a+i*(1-o+o*s/n)))},Vs=a=>(e,t,s)=>{const n=typeof a.fuzzy=="function"?a.fuzzy(e,t,s):a.fuzzy||!1,r=typeof a.prefix=="function"?a.prefix(e,t,s):a.prefix===!0,i=typeof a.boostTerm=="function"?a.boostTerm(e,t,s):1;return{term:e,fuzzy:n,prefix:r,termBoost:i}},ze={idField:"id",extractField:(a,e)=>a[e],tokenize:a=>a.split(Ws),processTerm:a=>a.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(a,e)=>{typeof(console==null?void 0:console[a])=="function"&&console[a](e)},autoVacuum:!0},dt={combineWith:Je,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Ps},$s={combineWith:It,prefix:(a,e,t)=>e===t.length-1},Be={batchSize:1e3,batchWait:10},We={minDirtFactor:.1,minDirtCount:20},Pe=Object.assign(Object.assign({},Be),We),Bs=(a,e)=>{a.includes(e)||a.push(e)},ht=(a,e)=>{for(const t of e)a.includes(t)||a.push(t)},ft=({score:a},{score:e})=>e-a,pt=()=>new Map,_e=a=>{const e=new Map;for(const t of Object.keys(a))e.set(parseInt(t,10),a[t]);return e},Ee=a=>Te(void 0,void 0,void 0,function*(){const e=new Map;let t=0;for(const s of Object.keys(a))e.set(parseInt(s,10),a[s]),++t%1e3===0&&(yield kt(0));return e}),kt=a=>new Promise(e=>setTimeout(e,a)),Ws=/[\n\r\p{Z}\p{P}]+/u;class Ks{constructor(e=10){Re(this,"max");Re(this,"cache");this.max=e,this.cache=new Map}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){this.cache.has(e)?this.cache.delete(e):this.cache.size===this.max&&this.cache.delete(this.first()),this.cache.set(e,t)}first(){return this.cache.keys().next().value}clear(){this.cache.clear()}}const Js=["aria-owns"],Us={class:"shell"},qs=["title"],Gs={class:"search-actions before"},Hs=["title"],Qs=["placeholder"],Ys={class:"search-actions"},Zs=["title"],Xs=["disabled","title"],en=["id","role","aria-labelledby"],tn=["aria-selected"],sn=["href","aria-label","onMouseenter","onFocusin"],nn={class:"titles"},rn=["innerHTML"],an={class:"title main"},on=["innerHTML"],ln={key:0,class:"excerpt-wrapper"},cn={key:0,class:"excerpt",inert:""},un=["innerHTML"],dn={key:0,class:"no-results"},hn={class:"search-keyboard-shortcuts"},fn=["aria-label"],pn=["aria-label"],vn=["aria-label"],mn=["aria-label"],gn=At({__name:"VPLocalSearchBox",emits:["close"],setup(a,{emit:e}){var N,F;const t=e,s=ye(),n=ye(),r=ye(ns),i=ts(),{activate:o}=Os(s,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:l,theme:c}=i,h=et(async()=>{var m,f,T,A,C,M,I,L,j;return it(le.loadJSON((T=await((f=(m=r.value)[l.value])==null?void 0:f.call(m)))==null?void 0:T.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((A=c.value.search)==null?void 0:A.provider)==="local"&&((M=(C=c.value.search.options)==null?void 0:C.miniSearch)==null?void 0:M.searchOptions)},...((I=c.value.search)==null?void 0:I.provider)==="local"&&((j=(L=c.value.search.options)==null?void 0:L.miniSearch)==null?void 0:j.options)}))}),p=pe(()=>{var m,f;return((m=c.value.search)==null?void 0:m.provider)==="local"&&((f=c.value.search.options)==null?void 0:f.disableQueryPersistence)===!0}).value?se(""):Lt("vitepress:local-search-filter",""),b=Dt("vitepress:local-search-detailed-list",((N=c.value.search)==null?void 0:N.provider)==="local"&&((F=c.value.search.options)==null?void 0:F.detailedView)===!0),y=pe(()=>{var m,f,T;return((m=c.value.search)==null?void 0:m.provider)==="local"&&(((f=c.value.search.options)==null?void 0:f.disableDetailedView)===!0||((T=c.value.search.options)==null?void 0:T.detailedView)===!1)}),x=pe(()=>{var f,T,A,C,M,I,L;const m=((f=c.value.search)==null?void 0:f.options)??c.value.algolia;return((M=(C=(A=(T=m==null?void 0:m.locales)==null?void 0:T[l.value])==null?void 0:A.translations)==null?void 0:C.button)==null?void 0:M.buttonText)||((L=(I=m==null?void 0:m.translations)==null?void 0:I.button)==null?void 0:L.buttonText)||"Search"});zt(()=>{y.value&&(b.value=!1)});const w=ye([]),O=se(!1);je(p,()=>{O.value=!1});const R=et(async()=>{if(n.value)return it(new Cs(n.value))},null),K=new Ks(16);Pt(()=>[h.value,p.value,b.value],async([m,f,T],A,C)=>{var ge,Ue,qe,Ge;(A==null?void 0:A[0])!==m&&K.clear();let M=!1;if(C(()=>{M=!0}),!m)return;w.value=m.search(f).slice(0,16),O.value=!0;const I=T?await Promise.all(w.value.map(B=>G(B.id))):[];if(M)return;for(const{id:B,mod:X}of I){const ee=B.slice(0,B.indexOf("#"));let Q=K.get(ee);if(Q)continue;Q=new Map,K.set(ee,Q);const U=X.default??X;if(U!=null&&U.render||U!=null&&U.setup){const te=Qt(U);te.config.warnHandler=()=>{},te.provide(Yt,i),Object.defineProperties(te.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const He=document.createElement("div");te.mount(He),He.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(ce=>{var Ze;const be=(Ze=ce.querySelector("a"))==null?void 0:Ze.getAttribute("href"),Qe=(be==null?void 0:be.startsWith("#"))&&be.slice(1);if(!Qe)return;let Ye="";for(;(ce=ce.nextElementSibling)&&!/^h[1-6]$/i.test(ce.tagName);)Ye+=ce.outerHTML;Q.set(Qe,Ye)}),te.unmount()}if(M)return}const L=new Set;if(w.value=w.value.map(B=>{const[X,ee]=B.id.split("#"),Q=K.get(X),U=(Q==null?void 0:Q.get(ee))??"";for(const te in B.match)L.add(te);return{...B,text:U}}),await ue(),M)return;await new Promise(B=>{var X;(X=R.value)==null||X.unmark({done:()=>{var ee;(ee=R.value)==null||ee.markRegExp(E(L),{done:B})}})});const j=((ge=s.value)==null?void 0:ge.querySelectorAll(".result .excerpt"))??[];for(const B of j)(Ue=B.querySelector('mark[data-markjs="true"]'))==null||Ue.scrollIntoView({block:"center"});(Ge=(qe=n.value)==null?void 0:qe.firstElementChild)==null||Ge.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function G(m){const f=Zt(m.slice(0,m.indexOf("#")));try{if(!f)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(f)}}catch(T){return console.error(T),{id:m,mod:{}}}}const W=se(),V=pe(()=>{var m;return((m=p.value)==null?void 0:m.length)<=0});function $(m=!0){var f,T;(f=W.value)==null||f.focus(),m&&((T=W.value)==null||T.select())}Ce(()=>{$()});function me(m){m.pointerType==="mouse"&&$()}const P=se(-1),H=se(!1);je(w,m=>{P.value=m.length?0:-1,J()});function J(){ue(()=>{const m=document.querySelector(".result.selected");m==null||m.scrollIntoView({block:"nearest"})})}we("ArrowUp",m=>{m.preventDefault(),P.value--,P.value<0&&(P.value=w.value.length-1),H.value=!0,J()}),we("ArrowDown",m=>{m.preventDefault(),P.value++,P.value>=w.value.length&&(P.value=0),H.value=!0,J()});const k=jt();we("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const f=w.value[P.value];if(m.target instanceof HTMLInputElement&&!f){m.preventDefault();return}f&&(k.go(f.id),t("close"))}),we("Escape",()=>{t("close")});const u=ss({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Ce(()=>{window.history.pushState(null,"",null)}),Vt("popstate",m=>{m.preventDefault(),t("close")});const g=$t(Bt?document.body:null);Ce(()=>{ue(()=>{g.value=!0,ue().then(()=>o())})}),Wt(()=>{g.value=!1});function _(){p.value="",ue().then(()=>$(!1))}function E(m){return new RegExp([...m].sort((f,T)=>T.length-f.length).map(f=>`(${Xt(f)})`).join("|"),"gi")}return(m,f)=>{var T,A,C,M;return q(),Kt(Ht,{to:"body"},[S("div",{ref_key:"el",ref:s,role:"button","aria-owns":(T=w.value)!=null&&T.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[S("div",{class:"backdrop",onClick:f[0]||(f[0]=I=>m.$emit("close"))}),S("div",Us,[S("form",{class:"search-bar",onPointerup:f[4]||(f[4]=I=>me(I)),onSubmit:f[5]||(f[5]=Jt(()=>{},["prevent"]))},[S("label",{title:x.value,id:"localsearch-label",for:"localsearch-input"},f[8]||(f[8]=[S("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)]),8,qs),S("div",Gs,[S("button",{class:"back-button",title:D(u)("modal.backButtonTitle"),onClick:f[1]||(f[1]=I=>m.$emit("close"))},f[9]||(f[9]=[S("span",{class:"vpi-arrow-left local-search-icon"},null,-1)]),8,Hs)]),Ut(S("input",{ref_key:"searchInput",ref:W,"onUpdate:modelValue":f[2]||(f[2]=I=>Gt(p)?p.value=I:null),placeholder:x.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,Qs),[[qt,D(p)]]),S("div",Ys,[y.value?xe("",!0):(q(),Y("button",{key:0,class:tt(["toggle-layout-button",{"detailed-list":D(b)}]),type:"button",title:D(u)("modal.displayDetails"),onClick:f[3]||(f[3]=I=>P.value>-1&&(b.value=!D(b)))},f[10]||(f[10]=[S("span",{class:"vpi-layout-list local-search-icon"},null,-1)]),10,Zs)),S("button",{class:"clear-button",type:"reset",disabled:V.value,title:D(u)("modal.resetButtonTitle"),onClick:_},f[11]||(f[11]=[S("span",{class:"vpi-delete local-search-icon"},null,-1)]),8,Xs)])],32),S("ul",{ref_key:"resultsEl",ref:n,id:(A=w.value)!=null&&A.length?"localsearch-list":void 0,role:(C=w.value)!=null&&C.length?"listbox":void 0,"aria-labelledby":(M=w.value)!=null&&M.length?"localsearch-label":void 0,class:"results",onMousemove:f[7]||(f[7]=I=>H.value=!1)},[(q(!0),Y(nt,null,st(w.value,(I,L)=>(q(),Y("li",{key:I.id,role:"option","aria-selected":P.value===L?"true":"false"},[S("a",{href:I.id,class:tt(["result",{selected:P.value===L}]),"aria-label":[...I.titles,I.title].join(" > "),onMouseenter:j=>!H.value&&(P.value=L),onFocusin:j=>P.value=L,onClick:f[6]||(f[6]=j=>m.$emit("close"))},[S("div",null,[S("div",nn,[f[13]||(f[13]=S("span",{class:"title-icon"},"#",-1)),(q(!0),Y(nt,null,st(I.titles,(j,ge)=>(q(),Y("span",{key:ge,class:"title"},[S("span",{class:"text",innerHTML:j},null,8,rn),f[12]||(f[12]=S("span",{class:"vpi-chevron-right local-search-icon"},null,-1))]))),128)),S("span",an,[S("span",{class:"text",innerHTML:I.title},null,8,on)])]),D(b)?(q(),Y("div",ln,[I.text?(q(),Y("div",cn,[S("div",{class:"vp-doc",innerHTML:I.text},null,8,un)])):xe("",!0),f[14]||(f[14]=S("div",{class:"excerpt-gradient-bottom"},null,-1)),f[15]||(f[15]=S("div",{class:"excerpt-gradient-top"},null,-1))])):xe("",!0)])],42,sn)],8,tn))),128)),D(p)&&!w.value.length&&O.value?(q(),Y("li",dn,[de(he(D(u)("modal.noResultsText"))+' "',1),S("strong",null,he(D(p)),1),f[16]||(f[16]=de('" '))])):xe("",!0)],40,en),S("div",hn,[S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.navigateUpKeyAriaLabel")},f[17]||(f[17]=[S("span",{class:"vpi-arrow-up navigate-icon"},null,-1)]),8,fn),S("kbd",{"aria-label":D(u)("modal.footer.navigateDownKeyAriaLabel")},f[18]||(f[18]=[S("span",{class:"vpi-arrow-down navigate-icon"},null,-1)]),8,pn),de(" "+he(D(u)("modal.footer.navigateText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.selectKeyAriaLabel")},f[19]||(f[19]=[S("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)]),8,vn),de(" "+he(D(u)("modal.footer.selectText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.closeKeyAriaLabel")},"esc",8,mn),de(" "+he(D(u)("modal.footer.closeText")),1)])])])],8,Js)])}}}),_n=es(gn,[["__scopeId","data-v-5b749456"]]);export{_n as default}; +*/function xs(a,e,t){return(e=_s(e))in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function at(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(a);e&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable})),t.push.apply(t,s)}return t}function ot(a){for(var e=1;e0){var s=e[e.length-1];s!==t&&s.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var s=e.indexOf(t);s!==-1&&e.splice(s,1),e.length>0&&e[e.length-1].unpause()}},Es=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Ts=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},me=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Is=function(e){return me(e)&&!e.shiftKey},ks=function(e){return me(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ut=function(e,t){var s=-1;return e.every(function(n,r){return t(n)?(s=r,!1):!0}),s},pe=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n1?g-1:0),E=1;E=0)d=s.activeElement;else{var u=i.tabbableGroups[0],g=u&&u.firstTabbableNode;d=g||h("fallbackFocus")}if(!d)throw new Error("Your focus-trap needs to have at least one focusable element");return d},p=function(){if(i.containerGroups=i.containers.map(function(d){var u=bs(d,r.tabbableOptions),g=ys(d,r.tabbableOptions),_=u.length>0?u[0]:void 0,E=u.length>0?u[u.length-1]:void 0,N=g.find(function(f){return ae(f)}),F=g.slice().reverse().find(function(f){return ae(f)}),m=!!u.find(function(f){return ie(f)>0});return{container:d,tabbableNodes:u,focusableNodes:g,posTabIndexesFound:m,firstTabbableNode:_,lastTabbableNode:E,firstDomTabbableNode:N,lastDomTabbableNode:F,nextTabbableNode:function(I){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,C=u.indexOf(I);return C<0?A?g.slice(g.indexOf(I)+1).find(function(M){return ae(M)}):g.slice(0,g.indexOf(I)).reverse().find(function(M){return ae(M)}):u[C+(A?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(d){return d.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(d){return d.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},b=function(d){var u=d.activeElement;if(u)return u.shadowRoot&&u.shadowRoot.activeElement!==null?b(u.shadowRoot):u},y=function(d){if(d!==!1&&d!==b(document)){if(!d||!d.focus){y(v());return}d.focus({preventScroll:!!r.preventScroll}),i.mostRecentlyFocusedNode=d,Es(d)&&d.select()}},x=function(d){var u=h("setReturnFocus",d);return u||(u===!1?!1:d)},w=function(d){var u=d.target,g=d.event,_=d.isBackward,E=_===void 0?!1:_;u=u||_e(g),p();var N=null;if(i.tabbableGroups.length>0){var F=c(u,g),m=F>=0?i.containerGroups[F]:void 0;if(F<0)E?N=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:N=i.tabbableGroups[0].firstTabbableNode;else if(E){var f=ut(i.tabbableGroups,function(T){var P=T.firstTabbableNode;return u===P});if(f<0&&(m.container===u||Ae(u,r.tabbableOptions)&&!ae(u,r.tabbableOptions)&&!m.nextTabbableNode(u,!1))&&(f=F),f>=0){var I=f===0?i.tabbableGroups.length-1:f-1,A=i.tabbableGroups[I];N=ie(u)>=0?A.lastTabbableNode:A.lastDomTabbableNode}else me(g)||(N=m.nextTabbableNode(u,!1))}else{var C=ut(i.tabbableGroups,function(T){var P=T.lastTabbableNode;return u===P});if(C<0&&(m.container===u||Ae(u,r.tabbableOptions)&&!ae(u,r.tabbableOptions)&&!m.nextTabbableNode(u))&&(C=F),C>=0){var M=C===i.tabbableGroups.length-1?0:C+1,j=i.tabbableGroups[M];N=ie(u)>=0?j.firstTabbableNode:j.firstDomTabbableNode}else me(g)||(N=m.nextTabbableNode(u))}}else N=h("fallbackFocus");return N},O=function(d){var u=_e(d);if(!(c(u,d)>=0)){if(pe(r.clickOutsideDeactivates,d)){o.deactivate({returnFocus:r.returnFocusOnDeactivate});return}pe(r.allowOutsideClick,d)||d.preventDefault()}},R=function(d){var u=_e(d),g=c(u,d)>=0;if(g||u instanceof Document)g&&(i.mostRecentlyFocusedNode=u);else{d.stopImmediatePropagation();var _,E=!0;if(i.mostRecentlyFocusedNode)if(ie(i.mostRecentlyFocusedNode)>0){var N=c(i.mostRecentlyFocusedNode),F=i.containerGroups[N].tabbableNodes;if(F.length>0){var m=F.findIndex(function(f){return f===i.mostRecentlyFocusedNode});m>=0&&(r.isKeyForward(i.recentNavEvent)?m+1=0&&(_=F[m-1],E=!1))}}else i.containerGroups.some(function(f){return f.tabbableNodes.some(function(I){return ie(I)>0})})||(E=!1);else E=!1;E&&(_=w({target:i.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(i.recentNavEvent)})),y(_||i.mostRecentlyFocusedNode||v())}i.recentNavEvent=void 0},K=function(d){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=d;var g=w({event:d,isBackward:u});g&&(me(d)&&d.preventDefault(),y(g))},G=function(d){(r.isKeyForward(d)||r.isKeyBackward(d))&&K(d,r.isKeyBackward(d))},W=function(d){Ts(d)&&pe(r.escapeDeactivates,d)!==!1&&(d.preventDefault(),o.deactivate())},V=function(d){var u=_e(d);c(u,d)>=0||pe(r.clickOutsideDeactivates,d)||pe(r.allowOutsideClick,d)||(d.preventDefault(),d.stopImmediatePropagation())},$=function(){if(i.active)return lt.activateTrap(n,o),i.delayInitialFocusTimer=r.delayInitialFocus?ct(function(){y(v())}):y(v()),s.addEventListener("focusin",R,!0),s.addEventListener("mousedown",O,{capture:!0,passive:!1}),s.addEventListener("touchstart",O,{capture:!0,passive:!1}),s.addEventListener("click",V,{capture:!0,passive:!1}),s.addEventListener("keydown",G,{capture:!0,passive:!1}),s.addEventListener("keydown",W),o},ge=function(){if(i.active)return s.removeEventListener("focusin",R,!0),s.removeEventListener("mousedown",O,!0),s.removeEventListener("touchstart",O,!0),s.removeEventListener("click",V,!0),s.removeEventListener("keydown",G,!0),s.removeEventListener("keydown",W),o},L=function(d){var u=d.some(function(g){var _=Array.from(g.removedNodes);return _.some(function(E){return E===i.mostRecentlyFocusedNode})});u&&y(v())},H=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(L):void 0,J=function(){H&&(H.disconnect(),i.active&&!i.paused&&i.containers.map(function(d){H.observe(d,{subtree:!0,childList:!0})}))};return o={get active(){return i.active},get paused(){return i.paused},activate:function(d){if(i.active)return this;var u=l(d,"onActivate"),g=l(d,"onPostActivate"),_=l(d,"checkCanFocusTrap");_||p(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=s.activeElement,u==null||u();var E=function(){_&&p(),$(),J(),g==null||g()};return _?(_(i.containers.concat()).then(E,E),this):(E(),this)},deactivate:function(d){if(!i.active)return this;var u=ot({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},d);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,ge(),i.active=!1,i.paused=!1,J(),lt.deactivateTrap(n,o);var g=l(u,"onDeactivate"),_=l(u,"onPostDeactivate"),E=l(u,"checkCanReturnFocus"),N=l(u,"returnFocus","returnFocusOnDeactivate");g==null||g();var F=function(){ct(function(){N&&y(x(i.nodeFocusedBeforeActivation)),_==null||_()})};return N&&E?(E(x(i.nodeFocusedBeforeActivation)).then(F,F),this):(F(),this)},pause:function(d){if(i.paused||!i.active)return this;var u=l(d,"onPause"),g=l(d,"onPostPause");return i.paused=!0,u==null||u(),ge(),J(),g==null||g(),this},unpause:function(d){if(!i.paused||!i.active)return this;var u=l(d,"onUnpause"),g=l(d,"onPostUnpause");return i.paused=!1,u==null||u(),p(),$(),J(),g==null||g(),this},updateContainerElements:function(d){var u=[].concat(d).filter(Boolean);return i.containers=u.map(function(g){return typeof g=="string"?s.querySelector(g):g}),i.active&&p(),J(),this}},o.updateContainerElements(e),o};function Os(a,e={}){let t;const{immediate:s,...n}=e,r=ne(!1),i=ne(!1),o=p=>t&&t.activate(p),l=p=>t&&t.deactivate(p),c=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)},v=ve(()=>{const p=Xe(a);return(Array.isArray(p)?p:[p]).map(b=>{const y=Xe(b);return typeof y=="string"?y:Rt(y)}).filter(Ct)});return Ve(v,p=>{p.length&&(t=Fs(p,{...n,onActivate(){r.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){r.value=!1,e.onDeactivate&&e.onDeactivate()}}),s&&o())},{flush:"post"}),Mt(()=>l()),{hasFocus:r,isPaused:i,activate:o,deactivate:l,pause:c,unpause:h}}class le{constructor(e,t=!0,s=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=s,this.iframesTimeout=n}static matches(e,t){const s=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let r=!1;return s.every(i=>n.call(e,i)?(r=!0,!1):!0),r}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(s=>{const n=t.filter(r=>r.contains(s)).length>0;t.indexOf(s)===-1&&!n&&t.push(s)}),t}getIframeContents(e,t,s=()=>{}){let n;try{const r=e.contentWindow;if(n=r.document,!r||!n)throw new Error("iframe inaccessible")}catch{s()}n&&t(n)}isIframeBlank(e){const t="about:blank",s=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&s!==t&&s}observeIframeLoad(e,t,s){let n=!1,r=null;const i=()=>{if(!n){n=!0,clearTimeout(r);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,s))}catch{s()}}};e.addEventListener("load",i),r=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,s){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,s):this.getIframeContents(e,t,s):this.observeIframeLoad(e,t,s)}catch{s()}}waitForIframes(e,t){let s=0;this.forEachIframe(e,()=>!0,n=>{s++,this.waitForIframes(n.querySelector("html"),()=>{--s||t()})},n=>{n||t()})}forEachIframe(e,t,s,n=()=>{}){let r=e.querySelectorAll("iframe"),i=r.length,o=0;r=Array.prototype.slice.call(r);const l=()=>{--i<=0&&n(o)};i||l(),r.forEach(c=>{le.matches(c,this.exclude)?l():this.onIframeReady(c,h=>{t(c)&&(o++,s(h)),l()},l)})}createIterator(e,t,s){return document.createNodeIterator(e,t,s,!1)}createInstanceOnIframe(e){return new le(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,s){const n=e.compareDocumentPosition(s),r=Node.DOCUMENT_POSITION_PRECEDING;if(n&r)if(t!==null){const i=t.compareDocumentPosition(s),o=Node.DOCUMENT_POSITION_FOLLOWING;if(i&o)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let s;return t===null?s=e.nextNode():s=e.nextNode()&&e.nextNode(),{prevNode:t,node:s}}checkIframeFilter(e,t,s,n){let r=!1,i=!1;return n.forEach((o,l)=>{o.val===s&&(r=l,i=o.handled)}),this.compareNodeIframe(e,t,s)?(r===!1&&!i?n.push({val:s,handled:!0}):r!==!1&&!i&&(n[r].handled=!0),!0):(r===!1&&n.push({val:s,handled:!1}),!1)}handleOpenIframes(e,t,s,n){e.forEach(r=>{r.handled||this.getIframeContents(r.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,s,n)})})}iterateThroughNodes(e,t,s,n,r){const i=this.createIterator(t,e,n);let o=[],l=[],c,h,v=()=>({prevNode:h,node:c}=this.getIteratorNode(i),c);for(;v();)this.iframes&&this.forEachIframe(t,p=>this.checkIframeFilter(c,h,p,o),p=>{this.createInstanceOnIframe(p).forEachNode(e,b=>l.push(b),n)}),l.push(c);l.forEach(p=>{s(p)}),this.iframes&&this.handleOpenIframes(o,e,s,n),r()}forEachNode(e,t,s,n=()=>{}){const r=this.getContexts();let i=r.length;i||n(),r.forEach(o=>{const l=()=>{this.iterateThroughNodes(e,o,t,s,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(o,l):l()})}}let Rs=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new le(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const s=this.opt.log;this.opt.debug&&typeof s=="object"&&typeof s[t]=="function"&&s[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,s=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let r in t)if(t.hasOwnProperty(r)){const i=t[r],o=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(r):this.escapeStr(r),l=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);o!==""&&l!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(o)}|${this.escapeStr(l)})`,`gm${s}`),n+`(${this.processSynomyms(o)}|${this.processSynomyms(l)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,s,n)=>{let r=n.charAt(s+1);return/[(|)\\]/.test(r)||r===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const s=this.opt.ignorePunctuation;return Array.isArray(s)&&s.length&&t.push(this.escapeStr(s.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",s=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(r=>{s.every(i=>{if(i.indexOf(r)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let s=this.opt.accuracy,n=typeof s=="string"?s:s.value,r=typeof s=="string"?[]:s.limiters,i="";switch(r.forEach(o=>{i+=`|${this.escapeStr(o)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(s=>{this.opt.separateWordSearch?s.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):s.trim()&&t.indexOf(s)===-1&&t.push(s)}),{keywords:t.sort((s,n)=>n.length-s.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let s=0;return e.sort((n,r)=>n.start-r.start).forEach(n=>{let{start:r,end:i,valid:o}=this.callNoMatchOnInvalidRanges(n,s);o&&(n.start=r,n.length=i-r,t.push(n),s=i)}),t}callNoMatchOnInvalidRanges(e,t){let s,n,r=!1;return e&&typeof e.start<"u"?(s=parseInt(e.start,10),n=s+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-s>0?r=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:s,end:n,valid:r}}checkWhitespaceRanges(e,t,s){let n,r=!0,i=s.length,o=t-i,l=parseInt(e.start,10)-o;return l=l>i?i:l,n=l+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),l<0||n-l<0||l>i||n>i?(r=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):s.substring(l,n).replace(/\s+/g,"")===""&&(r=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:n,valid:r}}getTextNodes(e){let t="",s=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{s.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:s})})}matchesExclude(e){return le.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,s){const n=this.opt.element?this.opt.element:"mark",r=e.splitText(t),i=r.splitText(s-t);let o=document.createElement(n);return o.setAttribute("data-markjs","true"),this.opt.className&&o.setAttribute("class",this.opt.className),o.textContent=r.textContent,r.parentNode.replaceChild(o,r),i}wrapRangeInMappedTextNode(e,t,s,n,r){e.nodes.every((i,o)=>{const l=e.nodes[o+1];if(typeof l>"u"||l.start>t){if(!n(i.node))return!1;const c=t-i.start,h=(s>i.end?i.end:s)-i.start,v=e.value.substr(0,i.start),p=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,c,h),e.value=v+p,e.nodes.forEach((b,y)=>{y>=o&&(e.nodes[y].start>0&&y!==o&&(e.nodes[y].start-=h),e.nodes[y].end-=h)}),s-=h,r(i.node.previousSibling,i.start),s>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,s,n,r){const i=t===0?0:t+1;this.getTextNodes(o=>{o.nodes.forEach(l=>{l=l.node;let c;for(;(c=e.exec(l.textContent))!==null&&c[i]!=="";){if(!s(c[i],l))continue;let h=c.index;if(i!==0)for(let v=1;v{let l;for(;(l=e.exec(o.value))!==null&&l[i]!=="";){let c=l.index;if(i!==0)for(let v=1;vs(l[i],v),(v,p)=>{e.lastIndex=p,n(v)})}r()})}wrapRangeFromIndex(e,t,s,n){this.getTextNodes(r=>{const i=r.value.length;e.forEach((o,l)=>{let{start:c,end:h,valid:v}=this.checkWhitespaceRanges(o,i,r.value);v&&this.wrapRangeInMappedTextNode(r,c,h,p=>t(p,o,r.value.substring(c,h),l),p=>{s(p,o)})}),n()})}unwrapMatches(e){const t=e.parentNode;let s=document.createDocumentFragment();for(;e.firstChild;)s.appendChild(e.removeChild(e.firstChild));t.replaceChild(s,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let s=0,n="wrapMatches";const r=i=>{s++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,o)=>this.opt.filter(o,i,s),r,()=>{s===0&&this.opt.noMatch(e),this.opt.done(s)})}mark(e,t){this.opt=t;let s=0,n="wrapMatches";const{keywords:r,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),o=this.opt.caseSensitive?"":"i",l=c=>{let h=new RegExp(this.createRegExp(c),`gm${o}`),v=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(p,b)=>this.opt.filter(b,c,s,v),p=>{v++,s++,this.opt.each(p)},()=>{v===0&&this.opt.noMatch(c),r[i-1]===c?this.opt.done(s):l(r[r.indexOf(c)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(s):l(r[0])}markRanges(e,t){this.opt=t;let s=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(r,i,o,l)=>this.opt.filter(r,i,o,l),(r,i)=>{s++,this.opt.each(r,i)},()=>{this.opt.done(s)})):this.opt.done(s)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,s=>{this.unwrapMatches(s)},s=>{const n=le.matches(s,t),r=this.matchesExclude(s);return!n||r?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Cs(a){const e=new Rs(a);return this.mark=(t,s)=>(e.mark(t,s),this),this.markRegExp=(t,s)=>(e.markRegExp(t,s),this),this.markRanges=(t,s)=>(e.markRanges(t,s),this),this.unmark=t=>(e.unmark(t),this),this}function Ie(a,e,t,s){function n(r){return r instanceof t?r:new t(function(i){i(r)})}return new(t||(t=Promise))(function(r,i){function o(h){try{c(s.next(h))}catch(v){i(v)}}function l(h){try{c(s.throw(h))}catch(v){i(v)}}function c(h){h.done?r(h.value):n(h.value).then(o,l)}c((s=s.apply(a,[])).next())})}const Ms="ENTRIES",xt="KEYS",St="VALUES",z="";class Le{constructor(e,t){const s=e._tree,n=Array.from(s.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:s,keys:n}]:[]}next(){const e=this.dive();return this.backtrack(),e}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:e,keys:t}=oe(this._path);if(oe(t)===z)return{done:!1,value:this.result()};const s=e.get(oe(t));return this._path.push({node:s,keys:Array.from(s.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const e=oe(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:e})=>oe(e)).filter(e=>e!==z).join("")}value(){return oe(this._path).node.get(z)}result(){switch(this._type){case St:return this.value();case xt:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const oe=a=>a[a.length-1],As=(a,e,t)=>{const s=new Map;if(e===void 0)return s;const n=e.length+1,r=n+t,i=new Uint8Array(r*n).fill(t+1);for(let o=0;o{const l=r*i;e:for(const c of a.keys())if(c===z){const h=n[l-1];h<=t&&s.set(o,[a.get(c),h])}else{let h=r;for(let v=0;vt)continue e}_t(a.get(c),e,t,s,n,h,i,o+c)}};class Z{constructor(e=new Map,t=""){this._size=void 0,this._tree=e,this._prefix=t}atPrefix(e){if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");const[t,s]=Re(this._tree,e.slice(this._prefix.length));if(t===void 0){const[n,r]=Je(s);for(const i of n.keys())if(i!==z&&i.startsWith(r)){const o=new Map;return o.set(i.slice(r.length),n.get(i)),new Z(o,e)}}return new Z(t,e)}clear(){this._size=void 0,this._tree.clear()}delete(e){return this._size=void 0,Ls(this._tree,e)}entries(){return new Le(this,Ms)}forEach(e){for(const[t,s]of this)e(t,s,this)}fuzzyGet(e,t){return As(this._tree,e,t)}get(e){const t=Be(this._tree,e);return t!==void 0?t.get(z):void 0}has(e){const t=Be(this._tree,e);return t!==void 0&&t.has(z)}keys(){return new Le(this,xt)}set(e,t){if(typeof e!="string")throw new Error("key must be a string");return this._size=void 0,De(this._tree,e).set(z,t),this}get size(){if(this._size)return this._size;this._size=0;const e=this.entries();for(;!e.next().done;)this._size+=1;return this._size}update(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);return s.set(z,t(s.get(z))),this}fetch(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);let n=s.get(z);return n===void 0&&s.set(z,n=t()),n}values(){return new Le(this,St)}[Symbol.iterator](){return this.entries()}static from(e){const t=new Z;for(const[s,n]of e)t.set(s,n);return t}static fromObject(e){return Z.from(Object.entries(e))}}const Re=(a,e,t=[])=>{if(e.length===0||a==null)return[a,t];for(const s of a.keys())if(s!==z&&e.startsWith(s))return t.push([a,s]),Re(a.get(s),e.slice(s.length),t);return t.push([a,e]),Re(void 0,"",t)},Be=(a,e)=>{if(e.length===0||a==null)return a;for(const t of a.keys())if(t!==z&&e.startsWith(t))return Be(a.get(t),e.slice(t.length))},De=(a,e)=>{const t=e.length;e:for(let s=0;a&&s{const[t,s]=Re(a,e);if(t!==void 0){if(t.delete(z),t.size===0)Et(s);else if(t.size===1){const[n,r]=t.entries().next().value;Tt(s,n,r)}}},Et=a=>{if(a.length===0)return;const[e,t]=Je(a);if(e.delete(t),e.size===0)Et(a.slice(0,-1));else if(e.size===1){const[s,n]=e.entries().next().value;s!==z&&Tt(a.slice(0,-1),s,n)}},Tt=(a,e,t)=>{if(a.length===0)return;const[s,n]=Je(a);s.set(n+e,t),s.delete(n)},Je=a=>a[a.length-1],Ue="or",It="and",Ds="and_not";class ce{constructor(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const t=e.autoVacuum==null||e.autoVacuum===!0?je:e.autoVacuum;this._options=Object.assign(Object.assign(Object.assign({},Pe),e),{autoVacuum:t,searchOptions:Object.assign(Object.assign({},dt),e.searchOptions||{}),autoSuggestOptions:Object.assign(Object.assign({},$s),e.autoSuggestOptions||{})}),this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Ke,this.addFields(this._options.fields)}add(e){const{extractField:t,tokenize:s,processTerm:n,fields:r,idField:i}=this._options,o=t(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);if(this._idToShortId.has(o))throw new Error(`MiniSearch: duplicate ID ${o}`);const l=this.addDocumentId(o);this.saveStoredFields(l,e);for(const c of r){const h=t(e,c);if(h==null)continue;const v=s(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.addFieldLength(l,p,this._documentCount-1,b);for(const y of v){const x=n(y,c);if(Array.isArray(x))for(const w of x)this.addTerm(p,l,w);else x&&this.addTerm(p,l,x)}}}addAll(e){for(const t of e)this.add(t)}addAllAsync(e,t={}){const{chunkSize:s=10}=t,n={chunk:[],promise:Promise.resolve()},{chunk:r,promise:i}=e.reduce(({chunk:o,promise:l},c,h)=>(o.push(c),(h+1)%s===0?{chunk:[],promise:l.then(()=>new Promise(v=>setTimeout(v,0))).then(()=>this.addAll(o))}:{chunk:o,promise:l}),n);return i.then(()=>this.addAll(r))}remove(e){const{tokenize:t,processTerm:s,extractField:n,fields:r,idField:i}=this._options,o=n(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);const l=this._idToShortId.get(o);if(l==null)throw new Error(`MiniSearch: cannot remove document with ID ${o}: it is not in the index`);for(const c of r){const h=n(e,c);if(h==null)continue;const v=t(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.removeFieldLength(l,p,this._documentCount,b);for(const y of v){const x=s(y,c);if(Array.isArray(x))for(const w of x)this.removeTerm(p,l,w);else x&&this.removeTerm(p,l,x)}}this._storedFields.delete(l),this._documentIds.delete(l),this._idToShortId.delete(o),this._fieldLength.delete(l),this._documentCount-=1}removeAll(e){if(e)for(const t of e)this.remove(t);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(e){const t=this._idToShortId.get(e);if(t==null)throw new Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);this._idToShortId.delete(e),this._documentIds.delete(t),this._storedFields.delete(t),(this._fieldLength.get(t)||[]).forEach((s,n)=>{this.removeFieldLength(t,n,this._documentCount,s)}),this._fieldLength.delete(t),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:e,minDirtCount:t,batchSize:s,batchWait:n}=this._options.autoVacuum;this.conditionalVacuum({batchSize:s,batchWait:n},{minDirtCount:t,minDirtFactor:e})}discardAll(e){const t=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const s of e)this.discard(s)}finally{this._options.autoVacuum=t}this.maybeAutoVacuum()}replace(e){const{idField:t,extractField:s}=this._options,n=s(e,t);this.discard(n),this.add(e)}vacuum(e={}){return this.conditionalVacuum(e)}conditionalVacuum(e,t){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const s=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=Ke,this.performVacuuming(e,s)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)}performVacuuming(e,t){return Ie(this,void 0,void 0,function*(){const s=this._dirtCount;if(this.vacuumConditionsMet(t)){const n=e.batchSize||We.batchSize,r=e.batchWait||We.batchWait;let i=1;for(const[o,l]of this._index){for(const[c,h]of l)for(const[v]of h)this._documentIds.has(v)||(h.size<=1?l.delete(c):h.delete(v));this._index.get(o).size===0&&this._index.delete(o),i%n===0&&(yield new Promise(c=>setTimeout(c,r))),i+=1}this._dirtCount-=s}yield null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null})}vacuumConditionsMet(e){if(e==null)return!0;let{minDirtCount:t,minDirtFactor:s}=e;return t=t||je.minDirtCount,s=s||je.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=s}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(e){return this._idToShortId.has(e)}getStoredFields(e){const t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)}search(e,t={}){const s=this.executeQuery(e,t),n=[];for(const[r,{score:i,terms:o,match:l}]of s){const c=o.length||1,h={id:this._documentIds.get(r),score:i*c,terms:Object.keys(l),queryTerms:o,match:l};Object.assign(h,this._storedFields.get(r)),(t.filter==null||t.filter(h))&&n.push(h)}return e===ce.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||n.sort(ft),n}autoSuggest(e,t={}){t=Object.assign(Object.assign({},this._options.autoSuggestOptions),t);const s=new Map;for(const{score:r,terms:i}of this.search(e,t)){const o=i.join(" "),l=s.get(o);l!=null?(l.score+=r,l.count+=1):s.set(o,{score:r,terms:i,count:1})}const n=[];for(const[r,{score:i,terms:o,count:l}]of s)n.push({suggestion:r,terms:o,score:i/l});return n.sort(ft),n}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)}static loadJSONAsync(e,t){return Ie(this,void 0,void 0,function*(){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(e),t)})}static getDefault(e){if(Pe.hasOwnProperty(e))return ze(Pe,e);throw new Error(`MiniSearch: unknown option "${e}"`)}static loadJS(e,t){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=Ee(n),l._fieldLength=Ee(r),l._storedFields=Ee(i);for(const[c,h]of l._documentIds)l._idToShortId.set(h,c);for(const[c,h]of s){const v=new Map;for(const p of Object.keys(h)){let b=h[p];o===1&&(b=b.ds),v.set(parseInt(p,10),Ee(b))}l._index.set(c,v)}return l}static loadJSAsync(e,t){return Ie(this,void 0,void 0,function*(){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=yield Te(n),l._fieldLength=yield Te(r),l._storedFields=yield Te(i);for(const[h,v]of l._documentIds)l._idToShortId.set(v,h);let c=0;for(const[h,v]of s){const p=new Map;for(const b of Object.keys(v)){let y=v[b];o===1&&(y=y.ds),p.set(parseInt(b,10),yield Te(y))}++c%1e3===0&&(yield kt(0)),l._index.set(h,p)}return l})}static instantiateMiniSearch(e,t){const{documentCount:s,nextId:n,fieldIds:r,averageFieldLength:i,dirtCount:o,serializationVersion:l}=e;if(l!==1&&l!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const c=new ce(t);return c._documentCount=s,c._nextId=n,c._idToShortId=new Map,c._fieldIds=r,c._avgFieldLength=i,c._dirtCount=o||0,c._index=new Z,c}executeQuery(e,t={}){if(e===ce.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){const p=Object.assign(Object.assign(Object.assign({},t),e),{queries:void 0}),b=e.queries.map(y=>this.executeQuery(y,p));return this.combineResults(b,p.combineWith)}const{tokenize:s,processTerm:n,searchOptions:r}=this._options,i=Object.assign(Object.assign({tokenize:s,processTerm:n},r),t),{tokenize:o,processTerm:l}=i,v=o(e).flatMap(p=>l(p)).filter(p=>!!p).map(Vs(i)).map(p=>this.executeQuerySpec(p,i));return this.combineResults(v,i.combineWith)}executeQuerySpec(e,t){const s=Object.assign(Object.assign({},this._options.searchOptions),t),n=(s.fields||this._options.fields).reduce((x,w)=>Object.assign(Object.assign({},x),{[w]:ze(s.boost,w)||1}),{}),{boostDocument:r,weights:i,maxFuzzy:o,bm25:l}=s,{fuzzy:c,prefix:h}=Object.assign(Object.assign({},dt.weights),i),v=this._index.get(e.term),p=this.termResults(e.term,e.term,1,e.termBoost,v,n,r,l);let b,y;if(e.prefix&&(b=this._index.atPrefix(e.term)),e.fuzzy){const x=e.fuzzy===!0?.2:e.fuzzy,w=x<1?Math.min(o,Math.round(e.term.length*x)):x;w&&(y=this._index.fuzzyGet(e.term,w))}if(b)for(const[x,w]of b){const O=x.length-e.term.length;if(!O)continue;y==null||y.delete(x);const R=h*x.length/(x.length+.3*O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}if(y)for(const x of y.keys()){const[w,O]=y.get(x);if(!O)continue;const R=c*x.length/(x.length+O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}return p}executeWildcardQuery(e){const t=new Map,s=Object.assign(Object.assign({},this._options.searchOptions),e);for(const[n,r]of this._documentIds){const i=s.boostDocument?s.boostDocument(r,"",this._storedFields.get(n)):1;t.set(n,{score:i,terms:[],match:{}})}return t}combineResults(e,t=Ue){if(e.length===0)return new Map;const s=t.toLowerCase(),n=zs[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map}toJSON(){const e=[];for(const[t,s]of this._index){const n={};for(const[r,i]of s)n[r]=Object.fromEntries(i);e.push([t,n])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:e,serializationVersion:2}}termResults(e,t,s,n,r,i,o,l,c=new Map){if(r==null)return c;for(const h of Object.keys(i)){const v=i[h],p=this._fieldIds[h],b=r.get(p);if(b==null)continue;let y=b.size;const x=this._avgFieldLength[p];for(const w of b.keys()){if(!this._documentIds.has(w)){this.removeTerm(p,w,t),y-=1;continue}const O=o?o(this._documentIds.get(w),t,this._storedFields.get(w)):1;if(!O)continue;const R=b.get(w),K=this._fieldLength.get(w)[p],G=js(R,y,this._documentCount,K,x,l),W=s*n*v*O*G,V=c.get(w);if(V){V.score+=W,Bs(V.terms,e);const $=ze(V.match,t);$?$.push(h):V.match[t]=[h]}else c.set(w,{score:W,terms:[e],match:{[t]:[h]}})}}return c}addTerm(e,t,s){const n=this._index.fetch(s,pt);let r=n.get(e);if(r==null)r=new Map,r.set(t,1),n.set(e,r);else{const i=r.get(t);r.set(t,(i||0)+1)}}removeTerm(e,t,s){if(!this._index.has(s)){this.warnDocumentChanged(t,e,s);return}const n=this._index.fetch(s,pt),r=n.get(e);r==null||r.get(t)==null?this.warnDocumentChanged(t,e,s):r.get(t)<=1?r.size<=1?n.delete(e):r.delete(t):r.set(t,r.get(t)-1),this._index.get(s).size===0&&this._index.delete(s)}warnDocumentChanged(e,t,s){for(const n of Object.keys(this._fieldIds))if(this._fieldIds[n]===t){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term "${s}" was not present in field "${n}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(e){const t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t}addFields(e){for(let t=0;tObject.prototype.hasOwnProperty.call(a,e)?a[e]:void 0,zs={[Ue]:(a,e)=>{for(const t of e.keys()){const s=a.get(t);if(s==null)a.set(t,e.get(t));else{const{score:n,terms:r,match:i}=e.get(t);s.score=s.score+n,s.match=Object.assign(s.match,i),ht(s.terms,r)}}return a},[It]:(a,e)=>{const t=new Map;for(const s of e.keys()){const n=a.get(s);if(n==null)continue;const{score:r,terms:i,match:o}=e.get(s);ht(n.terms,i),t.set(s,{score:n.score+r,terms:n.terms,match:Object.assign(n.match,o)})}return t},[Ds]:(a,e)=>{for(const t of e.keys())a.delete(t);return a}},Ps={k:1.2,b:.7,d:.5},js=(a,e,t,s,n,r)=>{const{k:i,b:o,d:l}=r;return Math.log(1+(t-e+.5)/(e+.5))*(l+a*(i+1)/(a+i*(1-o+o*s/n)))},Vs=a=>(e,t,s)=>{const n=typeof a.fuzzy=="function"?a.fuzzy(e,t,s):a.fuzzy||!1,r=typeof a.prefix=="function"?a.prefix(e,t,s):a.prefix===!0,i=typeof a.boostTerm=="function"?a.boostTerm(e,t,s):1;return{term:e,fuzzy:n,prefix:r,termBoost:i}},Pe={idField:"id",extractField:(a,e)=>a[e],tokenize:a=>a.split(Ws),processTerm:a=>a.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(a,e)=>{typeof(console==null?void 0:console[a])=="function"&&console[a](e)},autoVacuum:!0},dt={combineWith:Ue,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Ps},$s={combineWith:It,prefix:(a,e,t)=>e===t.length-1},We={batchSize:1e3,batchWait:10},Ke={minDirtFactor:.1,minDirtCount:20},je=Object.assign(Object.assign({},We),Ke),Bs=(a,e)=>{a.includes(e)||a.push(e)},ht=(a,e)=>{for(const t of e)a.includes(t)||a.push(t)},ft=({score:a},{score:e})=>e-a,pt=()=>new Map,Ee=a=>{const e=new Map;for(const t of Object.keys(a))e.set(parseInt(t,10),a[t]);return e},Te=a=>Ie(void 0,void 0,void 0,function*(){const e=new Map;let t=0;for(const s of Object.keys(a))e.set(parseInt(s,10),a[s]),++t%1e3===0&&(yield kt(0));return e}),kt=a=>new Promise(e=>setTimeout(e,a)),Ws=/[\n\r\p{Z}\p{P}]+/u;class Ks{constructor(e=10){Ce(this,"max");Ce(this,"cache");this.max=e,this.cache=new Map}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){this.cache.has(e)?this.cache.delete(e):this.cache.size===this.max&&this.cache.delete(this.first()),this.cache.set(e,t)}first(){return this.cache.keys().next().value}clear(){this.cache.clear()}}const Js=["aria-owns"],Us={class:"shell"},qs=["title"],Gs={class:"search-actions before"},Hs=["title"],Qs=["aria-activedescendant","aria-controls","placeholder"],Ys={class:"search-actions"},Zs=["title"],Xs=["disabled","title"],en=["id","role","aria-labelledby"],tn=["id","aria-selected"],sn=["href","aria-label","onMouseenter","onFocusin"],nn={class:"titles"},rn=["innerHTML"],an={class:"title main"},on=["innerHTML"],ln={key:0,class:"excerpt-wrapper"},cn={key:0,class:"excerpt",inert:""},un=["innerHTML"],dn={key:0,class:"no-results"},hn={class:"search-keyboard-shortcuts"},fn=["aria-label"],pn=["aria-label"],vn=["aria-label"],mn=["aria-label"],gn=At({__name:"VPLocalSearchBox",emits:["close"],setup(a,{emit:e}){var N,F;const t=e,s=we(),n=we(),r=we(ns),i=ts(),{activate:o}=Os(s,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:l,theme:c}=i,h=et(async()=>{var m,f,I,A,C,M,j,T,P;return it(ce.loadJSON((I=await((f=(m=r.value)[l.value])==null?void 0:f.call(m)))==null?void 0:I.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((A=c.value.search)==null?void 0:A.provider)==="local"&&((M=(C=c.value.search.options)==null?void 0:C.miniSearch)==null?void 0:M.searchOptions)},...((j=c.value.search)==null?void 0:j.provider)==="local"&&((P=(T=c.value.search.options)==null?void 0:T.miniSearch)==null?void 0:P.options)}))}),p=ve(()=>{var m,f;return((m=c.value.search)==null?void 0:m.provider)==="local"&&((f=c.value.search.options)==null?void 0:f.disableQueryPersistence)===!0}).value?ne(""):Lt("vitepress:local-search-filter",""),b=Dt("vitepress:local-search-detailed-list",((N=c.value.search)==null?void 0:N.provider)==="local"&&((F=c.value.search.options)==null?void 0:F.detailedView)===!0),y=ve(()=>{var m,f,I;return((m=c.value.search)==null?void 0:m.provider)==="local"&&(((f=c.value.search.options)==null?void 0:f.disableDetailedView)===!0||((I=c.value.search.options)==null?void 0:I.detailedView)===!1)}),x=ve(()=>{var f,I,A,C,M,j,T;const m=((f=c.value.search)==null?void 0:f.options)??c.value.algolia;return((M=(C=(A=(I=m==null?void 0:m.locales)==null?void 0:I[l.value])==null?void 0:A.translations)==null?void 0:C.button)==null?void 0:M.buttonText)||((T=(j=m==null?void 0:m.translations)==null?void 0:j.button)==null?void 0:T.buttonText)||"Search"});zt(()=>{y.value&&(b.value=!1)});const w=we([]),O=ne(!1);Ve(p,()=>{O.value=!1});const R=et(async()=>{if(n.value)return it(new Cs(n.value))},null),K=new Ks(16);Pt(()=>[h.value,p.value,b.value],async([m,f,I],A,C)=>{var X,be,qe,Ge;(A==null?void 0:A[0])!==m&&K.clear();let M=!1;if(C(()=>{M=!0}),!m)return;w.value=m.search(f).slice(0,16),O.value=!0;const j=I?await Promise.all(w.value.map(B=>G(B.id))):[];if(M)return;for(const{id:B,mod:ee}of j){const te=B.slice(0,B.indexOf("#"));let Q=K.get(te);if(Q)continue;Q=new Map,K.set(te,Q);const U=ee.default??ee;if(U!=null&&U.render||U!=null&&U.setup){const se=Qt(U);se.config.warnHandler=()=>{},se.provide(Yt,i),Object.defineProperties(se.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const He=document.createElement("div");se.mount(He),He.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(ue=>{var Ze;const ye=(Ze=ue.querySelector("a"))==null?void 0:Ze.getAttribute("href"),Qe=(ye==null?void 0:ye.startsWith("#"))&&ye.slice(1);if(!Qe)return;let Ye="";for(;(ue=ue.nextElementSibling)&&!/^h[1-6]$/i.test(ue.tagName);)Ye+=ue.outerHTML;Q.set(Qe,Ye)}),se.unmount()}if(M)return}const T=new Set;if(w.value=w.value.map(B=>{const[ee,te]=B.id.split("#"),Q=K.get(ee),U=(Q==null?void 0:Q.get(te))??"";for(const se in B.match)T.add(se);return{...B,text:U}}),await de(),M)return;await new Promise(B=>{var ee;(ee=R.value)==null||ee.unmark({done:()=>{var te;(te=R.value)==null||te.markRegExp(E(T),{done:B})}})});const P=((X=s.value)==null?void 0:X.querySelectorAll(".result .excerpt"))??[];for(const B of P)(be=B.querySelector('mark[data-markjs="true"]'))==null||be.scrollIntoView({block:"center"});(Ge=(qe=n.value)==null?void 0:qe.firstElementChild)==null||Ge.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function G(m){const f=Zt(m.slice(0,m.indexOf("#")));try{if(!f)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(f)}}catch(I){return console.error(I),{id:m,mod:{}}}}const W=ne(),V=ve(()=>{var m;return((m=p.value)==null?void 0:m.length)<=0});function $(m=!0){var f,I;(f=W.value)==null||f.focus(),m&&((I=W.value)==null||I.select())}Me(()=>{$()});function ge(m){m.pointerType==="mouse"&&$()}const L=ne(-1),H=ne(!1);Ve(w,m=>{L.value=m.length?0:-1,J()});function J(){de(()=>{const m=document.querySelector(".result.selected");m==null||m.scrollIntoView({block:"nearest"})})}xe("ArrowUp",m=>{m.preventDefault(),L.value--,L.value<0&&(L.value=w.value.length-1),H.value=!0,J()}),xe("ArrowDown",m=>{m.preventDefault(),L.value++,L.value>=w.value.length&&(L.value=0),H.value=!0,J()});const k=jt();xe("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const f=w.value[L.value];if(m.target instanceof HTMLInputElement&&!f){m.preventDefault();return}f&&(k.go(f.id),t("close"))}),xe("Escape",()=>{t("close")});const u=ss({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Me(()=>{window.history.pushState(null,"",null)}),Vt("popstate",m=>{m.preventDefault(),t("close")});const g=$t(Bt?document.body:null);Me(()=>{de(()=>{g.value=!0,de().then(()=>o())})}),Wt(()=>{g.value=!1});function _(){p.value="",de().then(()=>$(!1))}function E(m){return new RegExp([...m].sort((f,I)=>I.length-f.length).map(f=>`(${Xt(f)})`).join("|"),"gi")}return(m,f)=>{var I,A,C,M,j;return q(),Kt(Ht,{to:"body"},[S("div",{ref_key:"el",ref:s,role:"button","aria-owns":(I=w.value)!=null&&I.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[S("div",{class:"backdrop",onClick:f[0]||(f[0]=T=>m.$emit("close"))}),S("div",Us,[S("form",{class:"search-bar",onPointerup:f[4]||(f[4]=T=>ge(T)),onSubmit:f[5]||(f[5]=Jt(()=>{},["prevent"]))},[S("label",{title:x.value,id:"localsearch-label",for:"localsearch-input"},f[8]||(f[8]=[S("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)]),8,qs),S("div",Gs,[S("button",{class:"back-button",title:D(u)("modal.backButtonTitle"),onClick:f[1]||(f[1]=T=>m.$emit("close"))},f[9]||(f[9]=[S("span",{class:"vpi-arrow-left local-search-icon"},null,-1)]),8,Hs)]),Ut(S("input",{ref_key:"searchInput",ref:W,"onUpdate:modelValue":f[2]||(f[2]=T=>Gt(p)?p.value=T:null),"aria-activedescendant":L.value>-1?"localsearch-item-"+L.value:void 0,"aria-autocomplete":"both","aria-controls":(A=w.value)!=null&&A.length?"localsearch-list":void 0,"aria-labelledby":"localsearch-label",autocapitalize:"off",autocomplete:"off",autocorrect:"off",class:"search-input",id:"localsearch-input",enterkeyhint:"go",maxlength:"64",placeholder:x.value,spellcheck:"false",type:"search"},null,8,Qs),[[qt,D(p)]]),S("div",Ys,[y.value?Se("",!0):(q(),Y("button",{key:0,class:tt(["toggle-layout-button",{"detailed-list":D(b)}]),type:"button",title:D(u)("modal.displayDetails"),onClick:f[3]||(f[3]=T=>L.value>-1&&(b.value=!D(b)))},f[10]||(f[10]=[S("span",{class:"vpi-layout-list local-search-icon"},null,-1)]),10,Zs)),S("button",{class:"clear-button",type:"reset",disabled:V.value,title:D(u)("modal.resetButtonTitle"),onClick:_},f[11]||(f[11]=[S("span",{class:"vpi-delete local-search-icon"},null,-1)]),8,Xs)])],32),S("ul",{ref_key:"resultsEl",ref:n,id:(C=w.value)!=null&&C.length?"localsearch-list":void 0,role:(M=w.value)!=null&&M.length?"listbox":void 0,"aria-labelledby":(j=w.value)!=null&&j.length?"localsearch-label":void 0,class:"results",onMousemove:f[7]||(f[7]=T=>H.value=!1)},[(q(!0),Y(nt,null,st(w.value,(T,P)=>(q(),Y("li",{key:T.id,id:"localsearch-item-"+P,"aria-selected":L.value===P?"true":"false",role:"option"},[S("a",{href:T.id,class:tt(["result",{selected:L.value===P}]),"aria-label":[...T.titles,T.title].join(" > "),onMouseenter:X=>!H.value&&(L.value=P),onFocusin:X=>L.value=P,onClick:f[6]||(f[6]=X=>m.$emit("close"))},[S("div",null,[S("div",nn,[f[13]||(f[13]=S("span",{class:"title-icon"},"#",-1)),(q(!0),Y(nt,null,st(T.titles,(X,be)=>(q(),Y("span",{key:be,class:"title"},[S("span",{class:"text",innerHTML:X},null,8,rn),f[12]||(f[12]=S("span",{class:"vpi-chevron-right local-search-icon"},null,-1))]))),128)),S("span",an,[S("span",{class:"text",innerHTML:T.title},null,8,on)])]),D(b)?(q(),Y("div",ln,[T.text?(q(),Y("div",cn,[S("div",{class:"vp-doc",innerHTML:T.text},null,8,un)])):Se("",!0),f[14]||(f[14]=S("div",{class:"excerpt-gradient-bottom"},null,-1)),f[15]||(f[15]=S("div",{class:"excerpt-gradient-top"},null,-1))])):Se("",!0)])],42,sn)],8,tn))),128)),D(p)&&!w.value.length&&O.value?(q(),Y("li",dn,[he(fe(D(u)("modal.noResultsText"))+' "',1),S("strong",null,fe(D(p)),1),f[16]||(f[16]=he('" '))])):Se("",!0)],40,en),S("div",hn,[S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.navigateUpKeyAriaLabel")},f[17]||(f[17]=[S("span",{class:"vpi-arrow-up navigate-icon"},null,-1)]),8,fn),S("kbd",{"aria-label":D(u)("modal.footer.navigateDownKeyAriaLabel")},f[18]||(f[18]=[S("span",{class:"vpi-arrow-down navigate-icon"},null,-1)]),8,pn),he(" "+fe(D(u)("modal.footer.navigateText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.selectKeyAriaLabel")},f[19]||(f[19]=[S("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)]),8,vn),he(" "+fe(D(u)("modal.footer.selectText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.closeKeyAriaLabel")},"esc",8,mn),he(" "+fe(D(u)("modal.footer.closeText")),1)])])])],8,Js)])}}}),_n=es(gn,[["__scopeId","data-v-1783de97"]]);export{_n as default}; diff --git a/dev/assets/chunks/framework.B8l2DGq3.js b/dev/assets/chunks/framework.B8l2DGq3.js deleted file mode 100644 index a784c3868..000000000 --- a/dev/assets/chunks/framework.B8l2DGq3.js +++ /dev/null @@ -1,18 +0,0 @@ -/** -* @vue/shared v3.5.11 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function Ds(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Z={},Tt=[],Be=()=>{},zo=()=>!1,Zt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Hs=e=>e.startsWith("onUpdate:"),fe=Object.assign,$s=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Jo=Object.prototype.hasOwnProperty,J=(e,t)=>Jo.call(e,t),K=Array.isArray,Ct=e=>Hn(e)==="[object Map]",fi=e=>Hn(e)==="[object Set]",q=e=>typeof e=="function",re=e=>typeof e=="string",st=e=>typeof e=="symbol",ne=e=>e!==null&&typeof e=="object",ui=e=>(ne(e)||q(e))&&q(e.then)&&q(e.catch),di=Object.prototype.toString,Hn=e=>di.call(e),Qo=e=>Hn(e).slice(8,-1),hi=e=>Hn(e)==="[object Object]",js=e=>re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=Ds(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$n=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Zo=/-(\w)/g,Le=$n(e=>e.replace(Zo,(t,n)=>n?n.toUpperCase():"")),el=/\B([A-Z])/g,rt=$n(e=>e.replace(el,"-$1").toLowerCase()),jn=$n(e=>e.charAt(0).toUpperCase()+e.slice(1)),Sn=$n(e=>e?`on${jn(e)}`:""),tt=(e,t)=>!Object.is(e,t),En=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Ss=e=>{const t=parseFloat(e);return isNaN(t)?e:t},tl=e=>{const t=re(e)?Number(e):NaN;return isNaN(t)?e:t};let dr;const gi=()=>dr||(dr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Vs(e){if(K(e)){const t={};for(let n=0;n{if(n){const s=n.split(sl);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Us(e){let t="";if(re(e))t=e;else if(K(e))for(let n=0;n!!(e&&e.__v_isRef===!0),cl=e=>re(e)?e:e==null?"":K(e)||ne(e)&&(e.toString===di||!q(e.toString))?yi(e)?cl(e.value):JSON.stringify(e,vi,2):String(e),vi=(e,t)=>yi(t)?vi(e,t.value):Ct(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[ts(s,i)+" =>"]=r,n),{})}:fi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ts(n))}:st(t)?ts(t):ne(t)&&!K(t)&&!hi(t)?String(t):t,ts=(e,t="")=>{var n;return st(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.11 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let _e;class al{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(jt){let t=jt;for(jt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;$t;){let t=$t;for($t=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Ei(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ws(s),ul(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Es(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ti(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ti(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Kt))return;e.globalVersion=Kt;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Es(e)){e.flags&=-3;return}const n=te,s=Ne;te=e,Ne=!0;try{Ei(e);const r=e.fn(e._value);(t.version===0||tt(r,e._value))&&(e._value=r,t.version++)}catch(r){throw t.version++,r}finally{te=n,Ne=s,xi(e),e.flags&=-3}}function Ws(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s),!n.subs&&n.computed){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ws(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ul(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ne=!0;const Ci=[];function it(){Ci.push(Ne),Ne=!1}function ot(){const e=Ci.pop();Ne=e===void 0?!0:e}function hr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=te;te=void 0;try{t()}finally{te=n}}}let Kt=0;class dl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!te||!Ne||te===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==te)n=this.activeLink=new dl(te,this),te.deps?(n.prevDep=te.depsTail,te.depsTail.nextDep=n,te.depsTail=n):te.deps=te.depsTail=n,Ai(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=te.depsTail,n.nextDep=void 0,te.depsTail.nextDep=n,te.depsTail=n,te.deps===n&&(te.deps=s)}return n}trigger(t){this.version++,Kt++,this.notify(t)}notify(t){Bs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ks()}}}function Ai(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Ai(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const On=new WeakMap,ht=Symbol(""),xs=Symbol(""),qt=Symbol("");function ve(e,t,n){if(Ne&&te){let s=On.get(e);s||On.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Vn),r.map=s,r.key=n),r.track()}}function Ge(e,t,n,s,r,i){const o=On.get(e);if(!o){Kt++;return}const l=c=>{c&&c.trigger()};if(Bs(),t==="clear")o.forEach(l);else{const c=K(e),f=c&&js(n);if(c&&n==="length"){const a=Number(s);o.forEach((h,g)=>{(g==="length"||g===qt||!st(g)&&g>=a)&&l(h)})}else switch(n!==void 0&&l(o.get(n)),f&&l(o.get(qt)),t){case"add":c?f&&l(o.get("length")):(l(o.get(ht)),Ct(e)&&l(o.get(xs)));break;case"delete":c||(l(o.get(ht)),Ct(e)&&l(o.get(xs)));break;case"set":Ct(e)&&l(o.get(ht));break}}ks()}function hl(e,t){const n=On.get(e);return n&&n.get(t)}function _t(e){const t=z(e);return t===e?t:(ve(t,"iterate",qt),Pe(e)?t:t.map(me))}function Un(e){return ve(e=z(e),"iterate",qt),e}const pl={__proto__:null,[Symbol.iterator](){return ss(this,Symbol.iterator,me)},concat(...e){return _t(this).concat(...e.map(t=>K(t)?_t(t):t))},entries(){return ss(this,"entries",e=>(e[1]=me(e[1]),e))},every(e,t){return We(this,"every",e,t,void 0,arguments)},filter(e,t){return We(this,"filter",e,t,n=>n.map(me),arguments)},find(e,t){return We(this,"find",e,t,me,arguments)},findIndex(e,t){return We(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return We(this,"findLast",e,t,me,arguments)},findLastIndex(e,t){return We(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return We(this,"forEach",e,t,void 0,arguments)},includes(...e){return rs(this,"includes",e)},indexOf(...e){return rs(this,"indexOf",e)},join(e){return _t(this).join(e)},lastIndexOf(...e){return rs(this,"lastIndexOf",e)},map(e,t){return We(this,"map",e,t,void 0,arguments)},pop(){return Ft(this,"pop")},push(...e){return Ft(this,"push",e)},reduce(e,...t){return pr(this,"reduce",e,t)},reduceRight(e,...t){return pr(this,"reduceRight",e,t)},shift(){return Ft(this,"shift")},some(e,t){return We(this,"some",e,t,void 0,arguments)},splice(...e){return Ft(this,"splice",e)},toReversed(){return _t(this).toReversed()},toSorted(e){return _t(this).toSorted(e)},toSpliced(...e){return _t(this).toSpliced(...e)},unshift(...e){return Ft(this,"unshift",e)},values(){return ss(this,"values",me)}};function ss(e,t,n){const s=Un(e),r=s[t]();return s!==e&&!Pe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.value&&(i.value=n(i.value)),i}),r}const gl=Array.prototype;function We(e,t,n,s,r,i){const o=Un(e),l=o!==e&&!Pe(e),c=o[t];if(c!==gl[t]){const h=c.apply(e,i);return l?me(h):h}let f=n;o!==e&&(l?f=function(h,g){return n.call(this,me(h),g,e)}:n.length>2&&(f=function(h,g){return n.call(this,h,g,e)}));const a=c.call(o,f,s);return l&&r?r(a):a}function pr(e,t,n,s){const r=Un(e);let i=n;return r!==e&&(Pe(e)?n.length>3&&(i=function(o,l,c){return n.call(this,o,l,c,e)}):i=function(o,l,c){return n.call(this,o,me(l),c,e)}),r[t](i,...s)}function rs(e,t,n){const s=z(e);ve(s,"iterate",qt);const r=s[t](...n);return(r===-1||r===!1)&&Ys(n[0])?(n[0]=z(n[0]),s[t](...n)):r}function Ft(e,t,n=[]){it(),Bs();const s=z(e)[t].apply(e,n);return ks(),ot(),s}const ml=Ds("__proto__,__v_isRef,__isVue"),Ri=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(st));function yl(e){st(e)||(e=String(e));const t=z(this);return ve(t,"has",e),t.hasOwnProperty(e)}class Oi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Ml:Ii:i?Li:Pi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=K(t);if(!r){let c;if(o&&(c=pl[n]))return c;if(n==="hasOwnProperty")return yl}const l=Reflect.get(t,n,ae(t)?t:s);return(st(n)?Ri.has(n):ml(n))||(r||ve(t,"get",n),i)?l:ae(l)?o&&js(n)?l:l.value:ne(l)?r?Wn(l):kn(l):l}}class Mi extends Oi{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const c=vt(i);if(!Pe(s)&&!vt(s)&&(i=z(i),s=z(s)),!K(t)&&ae(i)&&!ae(s))return c?!1:(i.value=s,!0)}const o=K(t)&&js(n)?Number(n)e,Bn=e=>Reflect.getPrototypeOf(e);function cn(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),i=z(t);n||(tt(t,i)&&ve(r,"get",t),ve(r,"get",i));const{has:o}=Bn(r),l=s?Ks:n?Xs:me;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function an(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return t||(tt(e,r)&&ve(s,"has",e),ve(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function fn(e,t=!1){return e=e.__v_raw,!t&&ve(z(e),"iterate",ht),Reflect.get(e,"size",e)}function gr(e,t=!1){!t&&!Pe(e)&&!vt(e)&&(e=z(e));const n=z(this);return Bn(n).has.call(n,e)||(n.add(e),Ge(n,"add",e,e)),this}function mr(e,t,n=!1){!n&&!Pe(t)&&!vt(t)&&(t=z(t));const s=z(this),{has:r,get:i}=Bn(s);let o=r.call(s,e);o||(e=z(e),o=r.call(s,e));const l=i.call(s,e);return s.set(e,t),o?tt(t,l)&&Ge(s,"set",e,t):Ge(s,"add",e,t),this}function yr(e){const t=z(this),{has:n,get:s}=Bn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&Ge(t,"delete",e,void 0),i}function vr(){const e=z(this),t=e.size!==0,n=e.clear();return t&&Ge(e,"clear",void 0,void 0),n}function un(e,t){return function(s,r){const i=this,o=i.__v_raw,l=z(o),c=t?Ks:e?Xs:me;return!e&&ve(l,"iterate",ht),o.forEach((f,a)=>s.call(r,c(f),c(a),i))}}function dn(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=Ct(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,f=r[e](...s),a=n?Ks:t?Xs:me;return!t&&ve(i,"iterate",c?xs:ht),{next(){const{value:h,done:g}=f.next();return g?{value:h,done:g}:{value:l?[a(h[0]),a(h[1])]:a(h),done:g}},[Symbol.iterator](){return this}}}}function Xe(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Sl(){const e={get(i){return cn(this,i)},get size(){return fn(this)},has:an,add:gr,set:mr,delete:yr,clear:vr,forEach:un(!1,!1)},t={get(i){return cn(this,i,!1,!0)},get size(){return fn(this)},has:an,add(i){return gr.call(this,i,!0)},set(i,o){return mr.call(this,i,o,!0)},delete:yr,clear:vr,forEach:un(!1,!0)},n={get(i){return cn(this,i,!0)},get size(){return fn(this,!0)},has(i){return an.call(this,i,!0)},add:Xe("add"),set:Xe("set"),delete:Xe("delete"),clear:Xe("clear"),forEach:un(!0,!1)},s={get(i){return cn(this,i,!0,!0)},get size(){return fn(this,!0)},has(i){return an.call(this,i,!0)},add:Xe("add"),set:Xe("set"),delete:Xe("delete"),clear:Xe("clear"),forEach:un(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=dn(i,!1,!1),n[i]=dn(i,!0,!1),t[i]=dn(i,!1,!0),s[i]=dn(i,!0,!0)}),[e,n,t,s]}const[El,xl,Tl,Cl]=Sl();function qs(e,t){const n=t?e?Cl:Tl:e?xl:El;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(J(n,r)&&r in s?n:s,r,i)}const Al={get:qs(!1,!1)},Rl={get:qs(!1,!0)},Ol={get:qs(!0,!1)};const Pi=new WeakMap,Li=new WeakMap,Ii=new WeakMap,Ml=new WeakMap;function Pl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ll(e){return e.__v_skip||!Object.isExtensible(e)?0:Pl(Qo(e))}function kn(e){return vt(e)?e:Gs(e,!1,bl,Al,Pi)}function Il(e){return Gs(e,!1,wl,Rl,Li)}function Wn(e){return Gs(e,!0,_l,Ol,Ii)}function Gs(e,t,n,s,r){if(!ne(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=Ll(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function pt(e){return vt(e)?pt(e.__v_raw):!!(e&&e.__v_isReactive)}function vt(e){return!!(e&&e.__v_isReadonly)}function Pe(e){return!!(e&&e.__v_isShallow)}function Ys(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function xn(e){return!J(e,"__v_skip")&&Object.isExtensible(e)&&pi(e,"__v_skip",!0),e}const me=e=>ne(e)?kn(e):e,Xs=e=>ne(e)?Wn(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function oe(e){return Ni(e,!1)}function zs(e){return Ni(e,!0)}function Ni(e,t){return ae(e)?e:new Nl(e,t)}class Nl{constructor(t,n){this.dep=new Vn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:z(t),this._value=n?t:me(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Pe(t)||vt(t);t=s?t:z(t),tt(t,n)&&(this._rawValue=t,this._value=s?t:me(t),this.dep.trigger())}}function Fi(e){return ae(e)?e.value:e}const Fl={get:(e,t,n)=>t==="__v_raw"?e:Fi(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ae(r)&&!ae(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Di(e){return pt(e)?e:new Proxy(e,Fl)}class Dl{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Vn,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Hl(e){return new Dl(e)}class $l{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return hl(z(this._object),this._key)}}class jl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Vl(e,t,n){return ae(e)?e:q(e)?new jl(e):ne(e)&&arguments.length>1?Ul(e,t,n):oe(e)}function Ul(e,t,n){const s=e[t];return ae(s)?s:new $l(e,t,n)}class Bl{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Vn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Kt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&te!==this)return Si(this,!0),!0}get value(){const t=this.dep.track();return Ti(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function kl(e,t,n=!1){let s,r;return q(e)?s=e:(s=e.get,r=e.set),new Bl(s,r,n)}const hn={},Mn=new WeakMap;let ut;function Wl(e,t=!1,n=ut){if(n){let s=Mn.get(n);s||Mn.set(n,s=[]),s.push(e)}}function Kl(e,t,n=Z){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,f=m=>r?m:Pe(m)||r===!1||r===0?qe(m,1):qe(m);let a,h,g,b,S=!1,_=!1;if(ae(e)?(h=()=>e.value,S=Pe(e)):pt(e)?(h=()=>f(e),S=!0):K(e)?(_=!0,S=e.some(m=>pt(m)||Pe(m)),h=()=>e.map(m=>{if(ae(m))return m.value;if(pt(m))return f(m);if(q(m))return c?c(m,2):m()})):q(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){it();try{g()}finally{ot()}}const m=ut;ut=a;try{return c?c(e,3,[b]):e(b)}finally{ut=m}}:h=Be,t&&r){const m=h,M=r===!0?1/0:r;h=()=>qe(m(),M)}const k=bi(),N=()=>{a.stop(),k&&$s(k.effects,a)};if(i&&t){const m=t;t=(...M)=>{m(...M),N()}}let j=_?new Array(e.length).fill(hn):hn;const p=m=>{if(!(!(a.flags&1)||!a.dirty&&!m))if(t){const M=a.run();if(r||S||(_?M.some((F,H)=>tt(F,j[H])):tt(M,j))){g&&g();const F=ut;ut=a;try{const H=[M,j===hn?void 0:_&&j[0]===hn?[]:j,b];c?c(t,3,H):t(...H),j=M}finally{ut=F}}}else a.run()};return l&&l(p),a=new _i(h),a.scheduler=o?()=>o(p,!1):p,b=m=>Wl(m,!1,a),g=a.onStop=()=>{const m=Mn.get(a);if(m){if(c)c(m,4);else for(const M of m)M();Mn.delete(a)}},t?s?p(!0):j=a.run():o?o(p.bind(null,!0),!0):a.run(),N.pause=a.pause.bind(a),N.resume=a.resume.bind(a),N.stop=N,N}function qe(e,t=1/0,n){if(t<=0||!ne(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,ae(e))qe(e.value,t,n);else if(K(e))for(let s=0;s{qe(s,t,n)});else if(hi(e)){for(const s in e)qe(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&qe(e[s],t,n)}return e}/** -* @vue/runtime-core v3.5.11 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function en(e,t,n,s){try{return s?e(...s):e()}catch(r){tn(r,t,n)}}function De(e,t,n,s){if(q(e)){const r=en(e,t,n,s);return r&&ui(r)&&r.catch(i=>{tn(i,t,n)}),r}if(K(e)){const r=[];for(let i=0;i>>1,r=we[s],i=Gt(r);i=Gt(n)?we.push(e):we.splice(Gl(t),0,e),e.flags|=1,$i()}}function $i(){Pn||(Pn=Hi.then(ji))}function Yl(e){K(e)?Rt.push(...e):Qe&&e.id===-1?Qe.splice(St+1,0,e):e.flags&1||(Rt.push(e),e.flags|=1),$i()}function br(e,t,n=Ve+1){for(;nGt(n)-Gt(s));if(Rt.length=0,Qe){Qe.push(...t);return}for(Qe=t,St=0;Ste.id==null?e.flags&2?-1:1/0:e.id;function ji(e){try{for(Ve=0;Ve{s._d&&Ir(-1);const i=In(t);let o;try{o=e(...r)}finally{In(i),s._d&&Ir(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Pf(e,t){if(de===null)return e;const n=Jn(de),s=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,Vt=e=>e&&(e.disabled||e.disabled===""),zl=e=>e&&(e.defer||e.defer===""),_r=e=>typeof SVGElement<"u"&&e instanceof SVGElement,wr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ts=(e,t)=>{const n=e&&e.to;return re(n)?t?t(n):null:n},Jl={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,f){const{mc:a,pc:h,pbc:g,o:{insert:b,querySelector:S,createText:_,createComment:k}}=f,N=Vt(t.props);let{shapeFlag:j,children:p,dynamicChildren:m}=t;if(e==null){const M=t.el=_(""),F=t.anchor=_("");b(M,n,s),b(F,n,s);const H=(R,v)=>{j&16&&(r&&r.isCE&&(r.ce._teleportTarget=R),a(p,R,v,r,i,o,l,c))},V=()=>{const R=t.target=Ts(t.props,S),v=ki(R,t,_,b);R&&(o!=="svg"&&_r(R)?o="svg":o!=="mathml"&&wr(R)&&(o="mathml"),N||(H(R,v),Tn(t)))};N&&(H(n,F),Tn(t)),zl(t.props)?Ee(V,i):V()}else{t.el=e.el,t.targetStart=e.targetStart;const M=t.anchor=e.anchor,F=t.target=e.target,H=t.targetAnchor=e.targetAnchor,V=Vt(e.props),R=V?n:F,v=V?M:H;if(o==="svg"||_r(F)?o="svg":(o==="mathml"||wr(F))&&(o="mathml"),m?(g(e.dynamicChildren,m,R,r,i,o,l),nr(e,t,!0)):c||h(e,t,R,v,r,i,o,l,!1),N)V?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):pn(t,n,M,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const I=t.target=Ts(t.props,S);I&&pn(t,I,null,f,0)}else V&&pn(t,F,H,f,1);Tn(t)}},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:c,targetStart:f,targetAnchor:a,target:h,props:g}=e;if(h&&(r(f),r(a)),i&&r(c),o&16){const b=i||!Vt(g);for(let S=0;S{e.isMounted=!0}),zi(()=>{e.isUnmounting=!0}),e}const Re=[Function,Array],Wi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Re,onEnter:Re,onAfterEnter:Re,onEnterCancelled:Re,onBeforeLeave:Re,onLeave:Re,onAfterLeave:Re,onLeaveCancelled:Re,onBeforeAppear:Re,onAppear:Re,onAfterAppear:Re,onAppearCancelled:Re},Ki=e=>{const t=e.subTree;return t.component?Ki(t.component):t},ec={name:"BaseTransition",props:Wi,setup(e,{slots:t}){const n=zn(),s=Zl();return()=>{const r=t.default&&Yi(t.default(),!0);if(!r||!r.length)return;const i=qi(r),o=z(e),{mode:l}=o;if(s.isLeaving)return is(i);const c=Sr(i);if(!c)return is(i);let f=Cs(c,o,s,n,g=>f=g);c.type!==ye&&Yt(c,f);const a=n.subTree,h=a&&Sr(a);if(h&&h.type!==ye&&!dt(c,h)&&Ki(n).type!==ye){const g=Cs(h,o,s,n);if(Yt(h,g),l==="out-in"&&c.type!==ye)return s.isLeaving=!0,g.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete g.afterLeave},is(i);l==="in-out"&&c.type!==ye&&(g.delayLeave=(b,S,_)=>{const k=Gi(s,h);k[String(h.key)]=h,b[Ze]=()=>{S(),b[Ze]=void 0,delete f.delayedLeave},f.delayedLeave=_})}return i}}};function qi(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ye){t=n;break}}return t}const tc=ec;function Gi(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Cs(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:a,onEnterCancelled:h,onBeforeLeave:g,onLeave:b,onAfterLeave:S,onLeaveCancelled:_,onBeforeAppear:k,onAppear:N,onAfterAppear:j,onAppearCancelled:p}=t,m=String(e.key),M=Gi(n,e),F=(R,v)=>{R&&De(R,s,9,v)},H=(R,v)=>{const I=v[1];F(R,v),K(R)?R.every(x=>x.length<=1)&&I():R.length<=1&&I()},V={mode:o,persisted:l,beforeEnter(R){let v=c;if(!n.isMounted)if(i)v=k||c;else return;R[Ze]&&R[Ze](!0);const I=M[m];I&&dt(e,I)&&I.el[Ze]&&I.el[Ze](),F(v,[R])},enter(R){let v=f,I=a,x=h;if(!n.isMounted)if(i)v=N||f,I=j||a,x=p||h;else return;let W=!1;const se=R[gn]=ce=>{W||(W=!0,ce?F(x,[R]):F(I,[R]),V.delayedLeave&&V.delayedLeave(),R[gn]=void 0)};v?H(v,[R,se]):se()},leave(R,v){const I=String(e.key);if(R[gn]&&R[gn](!0),n.isUnmounting)return v();F(g,[R]);let x=!1;const W=R[Ze]=se=>{x||(x=!0,v(),se?F(_,[R]):F(S,[R]),R[Ze]=void 0,M[I]===e&&delete M[I])};M[I]=e,b?H(b,[R,W]):W()},clone(R){const v=Cs(R,t,n,s,r);return r&&r(v),v}};return V}function is(e){if(nn(e))return e=nt(e),e.children=null,e}function Sr(e){if(!nn(e))return Bi(e.type)&&e.children?qi(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&q(n.default))return n.default()}}function Yt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Yt(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Yi(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;iNn(S,t&&(K(t)?t[_]:t),n,s,r));return}if(gt(s)&&!r)return;const i=s.shapeFlag&4?Jn(s.component):s.el,o=r?null:i,{i:l,r:c}=e,f=t&&t.r,a=l.refs===Z?l.refs={}:l.refs,h=l.setupState,g=z(h),b=h===Z?()=>!1:S=>J(g,S);if(f!=null&&f!==c&&(re(f)?(a[f]=null,b(f)&&(h[f]=null)):ae(f)&&(f.value=null)),q(c))en(c,l,12,[o,a]);else{const S=re(c),_=ae(c);if(S||_){const k=()=>{if(e.f){const N=S?b(c)?h[c]:a[c]:c.value;r?K(N)&&$s(N,i):K(N)?N.includes(i)||N.push(i):S?(a[c]=[i],b(c)&&(h[c]=a[c])):(c.value=[i],e.k&&(a[e.k]=c.value))}else S?(a[c]=o,b(c)&&(h[c]=o)):_&&(c.value=o,e.k&&(a[e.k]=o))};o?(k.id=-1,Ee(k,n)):k()}}}let Er=!1;const wt=()=>{Er||(console.error("Hydration completed but contains mismatches."),Er=!0)},nc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",sc=e=>e.namespaceURI.includes("MathML"),mn=e=>{if(e.nodeType===1){if(nc(e))return"svg";if(sc(e))return"mathml"}},xt=e=>e.nodeType===8;function rc(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:f}}=e,a=(p,m)=>{if(!m.hasChildNodes()){n(null,p,m),Ln(),m._vnode=p;return}h(m.firstChild,p,null,null,null),Ln(),m._vnode=p},h=(p,m,M,F,H,V=!1)=>{V=V||!!m.dynamicChildren;const R=xt(p)&&p.data==="[",v=()=>_(p,m,M,F,H,R),{type:I,ref:x,shapeFlag:W,patchFlag:se}=m;let ce=p.nodeType;m.el=p,se===-2&&(V=!1,m.dynamicChildren=null);let U=null;switch(I){case mt:ce!==3?m.children===""?(c(m.el=r(""),o(p),p),U=p):U=v():(p.data!==m.children&&(wt(),p.data=m.children),U=i(p));break;case ye:j(p)?(U=i(p),N(m.el=p.content.firstChild,p,M)):ce!==8||R?U=v():U=i(p);break;case Bt:if(R&&(p=i(p),ce=p.nodeType),ce===1||ce===3){U=p;const Y=!m.children.length;for(let $=0;${V=V||!!m.dynamicChildren;const{type:R,props:v,patchFlag:I,shapeFlag:x,dirs:W,transition:se}=m,ce=R==="input"||R==="option";if(ce||I!==-1){W&&Ue(m,null,M,"created");let U=!1;if(j(p)){U=po(F,se)&&M&&M.vnode.props&&M.vnode.props.appear;const $=p.content.firstChild;U&&se.beforeEnter($),N($,p,M),m.el=p=$}if(x&16&&!(v&&(v.innerHTML||v.textContent))){let $=b(p.firstChild,m,p,M,F,H,V);for(;$;){yn(p,1)||wt();const he=$;$=$.nextSibling,l(he)}}else if(x&8){let $=m.children;$[0]===` -`&&(p.tagName==="PRE"||p.tagName==="TEXTAREA")&&($=$.slice(1)),p.textContent!==$&&(yn(p,0)||wt(),p.textContent=m.children)}if(v){if(ce||!V||I&48){const $=p.tagName.includes("-");for(const he in v)(ce&&(he.endsWith("value")||he==="indeterminate")||Zt(he)&&!At(he)||he[0]==="."||$)&&s(p,he,null,v[he],void 0,M)}else if(v.onClick)s(p,"onClick",null,v.onClick,void 0,M);else if(I&4&&pt(v.style))for(const $ in v.style)v.style[$]}let Y;(Y=v&&v.onVnodeBeforeMount)&&Oe(Y,M,m),W&&Ue(m,null,M,"beforeMount"),((Y=v&&v.onVnodeMounted)||W||U)&&bo(()=>{Y&&Oe(Y,M,m),U&&se.enter(p),W&&Ue(m,null,M,"mounted")},F)}return p.nextSibling},b=(p,m,M,F,H,V,R)=>{R=R||!!m.dynamicChildren;const v=m.children,I=v.length;for(let x=0;x{const{slotScopeIds:R}=m;R&&(H=H?H.concat(R):R);const v=o(p),I=b(i(p),m,v,M,F,H,V);return I&&xt(I)&&I.data==="]"?i(m.anchor=I):(wt(),c(m.anchor=f("]"),v,I),I)},_=(p,m,M,F,H,V)=>{if(yn(p.parentElement,1)||wt(),m.el=null,V){const I=k(p);for(;;){const x=i(p);if(x&&x!==I)l(x);else break}}const R=i(p),v=o(p);return l(p),n(null,m,v,R,M,F,mn(v),H),R},k=(p,m="[",M="]")=>{let F=0;for(;p;)if(p=i(p),p&&xt(p)&&(p.data===m&&F++,p.data===M)){if(F===0)return i(p);F--}return p},N=(p,m,M)=>{const F=m.parentNode;F&&F.replaceChild(p,m);let H=M;for(;H;)H.vnode.el===m&&(H.vnode.el=H.subTree.el=p),H=H.parent},j=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[a,h]}const xr="data-allow-mismatch",ic={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function yn(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(xr);)e=e.parentElement;const n=e&&e.getAttribute(xr);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:n.split(",").includes(ic[t])}}function oc(e,t){if(xt(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(xt(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const gt=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function If(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:i,timeout:o,suspensible:l=!0,onError:c}=e;let f=null,a,h=0;const g=()=>(h++,f=null,b()),b=()=>{let S;return f||(S=f=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),c)return new Promise((k,N)=>{c(_,()=>k(g()),()=>N(_),h+1)});throw _}).then(_=>S!==f&&f?f:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),a=_,_)))};return Qs({name:"AsyncComponentWrapper",__asyncLoader:b,__asyncHydrate(S,_,k){const N=i?()=>{const j=i(k,p=>oc(S,p));j&&(_.bum||(_.bum=[])).push(j)}:k;a?N():b().then(()=>!_.isUnmounted&&N())},get __asyncResolved(){return a},setup(){const S=ue;if(Zs(S),a)return()=>os(a,S);const _=p=>{f=null,tn(p,S,13,!s)};if(l&&S.suspense||rn)return b().then(p=>()=>os(p,S)).catch(p=>(_(p),()=>s?le(s,{error:p}):null));const k=oe(!1),N=oe(),j=oe(!!r);return r&&setTimeout(()=>{j.value=!1},r),o!=null&&setTimeout(()=>{if(!k.value&&!N.value){const p=new Error(`Async component timed out after ${o}ms.`);_(p),N.value=p}},o),b().then(()=>{k.value=!0,S.parent&&nn(S.parent.vnode)&&S.parent.update()}).catch(p=>{_(p),N.value=p}),()=>{if(k.value&&a)return os(a,S);if(N.value&&s)return le(s,{error:N.value});if(n&&!j.value)return le(n)}}})}function os(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=le(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const nn=e=>e.type.__isKeepAlive;function lc(e,t){Xi(e,"a",t)}function cc(e,t){Xi(e,"da",t)}function Xi(e,t,n=ue){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(qn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)nn(r.parent.vnode)&&ac(s,t,n,r),r=r.parent}}function ac(e,t,n,s){const r=qn(t,e,s,!0);Gn(()=>{$s(s[t],r)},n)}function qn(e,t,n=ue,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{it();const l=sn(n),c=De(t,n,e,o);return l(),ot(),c});return s?r.unshift(i):r.push(i),i}}const Ye=e=>(t,n=ue)=>{(!rn||e==="sp")&&qn(e,(...s)=>t(...s),n)},fc=Ye("bm"),Lt=Ye("m"),uc=Ye("bu"),dc=Ye("u"),zi=Ye("bum"),Gn=Ye("um"),hc=Ye("sp"),pc=Ye("rtg"),gc=Ye("rtc");function mc(e,t=ue){qn("ec",e,t)}const Ji="components";function Nf(e,t){return Zi(Ji,e,!0,t)||e}const Qi=Symbol.for("v-ndc");function Ff(e){return re(e)?Zi(Ji,e,!1)||e:e||Qi}function Zi(e,t,n=!0,s=!1){const r=de||ue;if(r){const i=r.type;{const l=ta(i,!1);if(l&&(l===t||l===Le(t)||l===jn(Le(t))))return i}const o=Tr(r[e]||i[e],t)||Tr(r.appContext[e],t);return!o&&s?i:o}}function Tr(e,t){return e&&(e[t]||e[Le(t)]||e[jn(Le(t))])}function Df(e,t,n,s){let r;const i=n,o=K(e);if(o||re(e)){const l=o&&pt(e);let c=!1;l&&(c=!Pe(e),e=Un(e)),r=new Array(e.length);for(let f=0,a=e.length;ft(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,f=l.length;czt(t)?!(t.type===ye||t.type===Se&&!eo(t.children)):!0)?e:null}function $f(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:Sn(s)]=e[s];return n}const As=e=>e?xo(e)?Jn(e):As(e.parent):null,Ut=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>As(e.parent),$root:e=>As(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>er(e),$forceUpdate:e=>e.f||(e.f=()=>{Js(e.update)}),$nextTick:e=>e.n||(e.n=Kn.bind(e.proxy)),$watch:e=>$c.bind(e)}),ls=(e,t)=>e!==Z&&!e.__isScriptSetup&&J(e,t),yc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const b=o[t];if(b!==void 0)switch(b){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ls(s,t))return o[t]=1,s[t];if(r!==Z&&J(r,t))return o[t]=2,r[t];if((f=e.propsOptions[0])&&J(f,t))return o[t]=3,i[t];if(n!==Z&&J(n,t))return o[t]=4,n[t];Rs&&(o[t]=0)}}const a=Ut[t];let h,g;if(a)return t==="$attrs"&&ve(e.attrs,"get",""),a(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==Z&&J(n,t))return o[t]=4,n[t];if(g=c.config.globalProperties,J(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ls(r,t)?(r[t]=n,!0):s!==Z&&J(s,t)?(s[t]=n,!0):J(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==Z&&J(e,o)||ls(t,o)||(l=i[0])&&J(l,o)||J(s,o)||J(Ut,o)||J(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:J(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function jf(){return vc().slots}function vc(){const e=zn();return e.setupContext||(e.setupContext=Co(e))}function Cr(e){return K(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Rs=!0;function bc(e){const t=er(e),n=e.proxy,s=e.ctx;Rs=!1,t.beforeCreate&&Ar(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:f,created:a,beforeMount:h,mounted:g,beforeUpdate:b,updated:S,activated:_,deactivated:k,beforeDestroy:N,beforeUnmount:j,destroyed:p,unmounted:m,render:M,renderTracked:F,renderTriggered:H,errorCaptured:V,serverPrefetch:R,expose:v,inheritAttrs:I,components:x,directives:W,filters:se}=t;if(f&&_c(f,s,null),o)for(const Y in o){const $=o[Y];q($)&&(s[Y]=$.bind(n))}if(r){const Y=r.call(n,n);ne(Y)&&(e.data=kn(Y))}if(Rs=!0,i)for(const Y in i){const $=i[Y],he=q($)?$.bind(n,n):q($.get)?$.get.bind(n,n):Be,on=!q($)&&q($.set)?$.set.bind(n):Be,lt=ie({get:he,set:on});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>lt.value,set:$e=>lt.value=$e})}if(l)for(const Y in l)to(l[Y],s,n,Y);if(c){const Y=q(c)?c.call(n):c;Reflect.ownKeys(Y).forEach($=>{Cc($,Y[$])})}a&&Ar(a,e,"c");function U(Y,$){K($)?$.forEach(he=>Y(he.bind(n))):$&&Y($.bind(n))}if(U(fc,h),U(Lt,g),U(uc,b),U(dc,S),U(lc,_),U(cc,k),U(mc,V),U(gc,F),U(pc,H),U(zi,j),U(Gn,m),U(hc,R),K(v))if(v.length){const Y=e.exposed||(e.exposed={});v.forEach($=>{Object.defineProperty(Y,$,{get:()=>n[$],set:he=>n[$]=he})})}else e.exposed||(e.exposed={});M&&e.render===Be&&(e.render=M),I!=null&&(e.inheritAttrs=I),x&&(e.components=x),W&&(e.directives=W),R&&Zs(e)}function _c(e,t,n=Be){K(e)&&(e=Os(e));for(const s in e){const r=e[s];let i;ne(r)?"default"in r?i=Mt(r.from||s,r.default,!0):i=Mt(r.from||s):i=Mt(r),ae(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Ar(e,t,n){De(K(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function to(e,t,n,s){let r=s.includes(".")?mo(n,s):()=>n[s];if(re(e)){const i=t[e];q(i)&&Fe(r,i)}else if(q(e))Fe(r,e.bind(n));else if(ne(e))if(K(e))e.forEach(i=>to(i,t,n,s));else{const i=q(e.handler)?e.handler.bind(n):t[e.handler];q(i)&&Fe(r,i,e)}}function er(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>Fn(c,f,o,!0)),Fn(c,t,o)),ne(t)&&i.set(t,c),c}function Fn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Fn(e,i,n,!0),r&&r.forEach(o=>Fn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=wc[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const wc={data:Rr,props:Or,emits:Or,methods:Ht,computed:Ht,beforeCreate:be,created:be,beforeMount:be,mounted:be,beforeUpdate:be,updated:be,beforeDestroy:be,beforeUnmount:be,destroyed:be,unmounted:be,activated:be,deactivated:be,errorCaptured:be,serverPrefetch:be,components:Ht,directives:Ht,watch:Ec,provide:Rr,inject:Sc};function Rr(e,t){return t?e?function(){return fe(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Sc(e,t){return Ht(Os(e),Os(t))}function Os(e){if(K(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(s&&s.proxy):t}}const so={},ro=()=>Object.create(so),io=e=>Object.getPrototypeOf(e)===so;function Ac(e,t,n,s=!1){const r={},i=ro();e.propsDefaults=Object.create(null),oo(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Il(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Rc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=z(r),[c]=e.propsOptions;let f=!1;if((s||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[g,b]=lo(h,t,!0);fe(o,g),b&&l.push(...b)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!c)return ne(e)&&s.set(e,Tt),Tt;if(K(i))for(let a=0;ae[0]==="_"||e==="$stable",tr=e=>K(e)?e.map(Me):[Me(e)],Mc=(e,t,n)=>{if(t._n)return t;const s=Xl((...r)=>tr(t(...r)),n);return s._c=!1,s},ao=(e,t,n)=>{const s=e._ctx;for(const r in e){if(co(r))continue;const i=e[r];if(q(i))t[r]=Mc(r,i,s);else if(i!=null){const o=tr(i);t[r]=()=>o}}},fo=(e,t)=>{const n=tr(t);e.slots.default=()=>n},uo=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},Pc=(e,t,n)=>{const s=e.slots=ro();if(e.vnode.shapeFlag&32){const r=t._;r?(uo(s,t,n),n&&pi(s,"_",r,!0)):ao(t,s)}else t&&fo(e,t)},Lc=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=Z;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:uo(r,t,n):(i=!t.$stable,ao(t,r)),o=t}else t&&(fo(e,t),o={default:1});if(i)for(const l in r)!co(l)&&o[l]==null&&delete r[l]},Ee=bo;function Ic(e){return ho(e)}function Nc(e){return ho(e,rc)}function ho(e,t){const n=gi();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:f,setElementText:a,parentNode:h,nextSibling:g,setScopeId:b=Be,insertStaticContent:S}=e,_=(u,d,y,T=null,w=null,E=null,P=void 0,O=null,A=!!d.dynamicChildren)=>{if(u===d)return;u&&!dt(u,d)&&(T=ln(u),$e(u,w,E,!0),u=null),d.patchFlag===-2&&(A=!1,d.dynamicChildren=null);const{type:C,ref:B,shapeFlag:L}=d;switch(C){case mt:k(u,d,y,T);break;case ye:N(u,d,y,T);break;case Bt:u==null&&j(d,y,T,P);break;case Se:x(u,d,y,T,w,E,P,O,A);break;default:L&1?M(u,d,y,T,w,E,P,O,A):L&6?W(u,d,y,T,w,E,P,O,A):(L&64||L&128)&&C.process(u,d,y,T,w,E,P,O,A,bt)}B!=null&&w&&Nn(B,u&&u.ref,E,d||u,!d)},k=(u,d,y,T)=>{if(u==null)s(d.el=l(d.children),y,T);else{const w=d.el=u.el;d.children!==u.children&&f(w,d.children)}},N=(u,d,y,T)=>{u==null?s(d.el=c(d.children||""),y,T):d.el=u.el},j=(u,d,y,T)=>{[u.el,u.anchor]=S(u.children,d,y,T,u.el,u.anchor)},p=({el:u,anchor:d},y,T)=>{let w;for(;u&&u!==d;)w=g(u),s(u,y,T),u=w;s(d,y,T)},m=({el:u,anchor:d})=>{let y;for(;u&&u!==d;)y=g(u),r(u),u=y;r(d)},M=(u,d,y,T,w,E,P,O,A)=>{d.type==="svg"?P="svg":d.type==="math"&&(P="mathml"),u==null?F(d,y,T,w,E,P,O,A):R(u,d,w,E,P,O,A)},F=(u,d,y,T,w,E,P,O)=>{let A,C;const{props:B,shapeFlag:L,transition:D,dirs:G}=u;if(A=u.el=o(u.type,E,B&&B.is,B),L&8?a(A,u.children):L&16&&V(u.children,A,null,T,w,cs(u,E),P,O),G&&Ue(u,null,T,"created"),H(A,u,u.scopeId,P,T),B){for(const ee in B)ee!=="value"&&!At(ee)&&i(A,ee,null,B[ee],E,T);"value"in B&&i(A,"value",null,B.value,E),(C=B.onVnodeBeforeMount)&&Oe(C,T,u)}G&&Ue(u,null,T,"beforeMount");const X=po(w,D);X&&D.beforeEnter(A),s(A,d,y),((C=B&&B.onVnodeMounted)||X||G)&&Ee(()=>{C&&Oe(C,T,u),X&&D.enter(A),G&&Ue(u,null,T,"mounted")},w)},H=(u,d,y,T,w)=>{if(y&&b(u,y),T)for(let E=0;E{for(let C=A;C{const O=d.el=u.el;let{patchFlag:A,dynamicChildren:C,dirs:B}=d;A|=u.patchFlag&16;const L=u.props||Z,D=d.props||Z;let G;if(y&&ct(y,!1),(G=D.onVnodeBeforeUpdate)&&Oe(G,y,d,u),B&&Ue(d,u,y,"beforeUpdate"),y&&ct(y,!0),(L.innerHTML&&D.innerHTML==null||L.textContent&&D.textContent==null)&&a(O,""),C?v(u.dynamicChildren,C,O,y,T,cs(d,w),E):P||$(u,d,O,null,y,T,cs(d,w),E,!1),A>0){if(A&16)I(O,L,D,y,w);else if(A&2&&L.class!==D.class&&i(O,"class",null,D.class,w),A&4&&i(O,"style",L.style,D.style,w),A&8){const X=d.dynamicProps;for(let ee=0;ee{G&&Oe(G,y,d,u),B&&Ue(d,u,y,"updated")},T)},v=(u,d,y,T,w,E,P)=>{for(let O=0;O{if(d!==y){if(d!==Z)for(const E in d)!At(E)&&!(E in y)&&i(u,E,d[E],null,w,T);for(const E in y){if(At(E))continue;const P=y[E],O=d[E];P!==O&&E!=="value"&&i(u,E,O,P,w,T)}"value"in y&&i(u,"value",d.value,y.value,w)}},x=(u,d,y,T,w,E,P,O,A)=>{const C=d.el=u?u.el:l(""),B=d.anchor=u?u.anchor:l("");let{patchFlag:L,dynamicChildren:D,slotScopeIds:G}=d;G&&(O=O?O.concat(G):G),u==null?(s(C,y,T),s(B,y,T),V(d.children||[],y,B,w,E,P,O,A)):L>0&&L&64&&D&&u.dynamicChildren?(v(u.dynamicChildren,D,y,w,E,P,O),(d.key!=null||w&&d===w.subTree)&&nr(u,d,!0)):$(u,d,y,B,w,E,P,O,A)},W=(u,d,y,T,w,E,P,O,A)=>{d.slotScopeIds=O,u==null?d.shapeFlag&512?w.ctx.activate(d,y,T,P,A):se(d,y,T,w,E,P,A):ce(u,d,A)},se=(u,d,y,T,w,E,P)=>{const O=u.component=Jc(u,T,w);if(nn(u)&&(O.ctx.renderer=bt),Qc(O,!1,P),O.asyncDep){if(w&&w.registerDep(O,U,P),!u.el){const A=O.subTree=le(ye);N(null,A,d,y)}}else U(O,u,d,y,w,E,P)},ce=(u,d,y)=>{const T=d.component=u.component;if(kc(u,d,y))if(T.asyncDep&&!T.asyncResolved){Y(T,d,y);return}else T.next=d,T.update();else d.el=u.el,T.vnode=d},U=(u,d,y,T,w,E,P)=>{const O=()=>{if(u.isMounted){let{next:L,bu:D,u:G,parent:X,vnode:ee}=u;{const Te=go(u);if(Te){L&&(L.el=ee.el,Y(u,L,P)),Te.asyncDep.then(()=>{u.isUnmounted||O()});return}}let Q=L,xe;ct(u,!1),L?(L.el=ee.el,Y(u,L,P)):L=ee,D&&En(D),(xe=L.props&&L.props.onVnodeBeforeUpdate)&&Oe(xe,X,L,ee),ct(u,!0);const pe=as(u),Ie=u.subTree;u.subTree=pe,_(Ie,pe,h(Ie.el),ln(Ie),u,w,E),L.el=pe.el,Q===null&&Wc(u,pe.el),G&&Ee(G,w),(xe=L.props&&L.props.onVnodeUpdated)&&Ee(()=>Oe(xe,X,L,ee),w)}else{let L;const{el:D,props:G}=d,{bm:X,m:ee,parent:Q,root:xe,type:pe}=u,Ie=gt(d);if(ct(u,!1),X&&En(X),!Ie&&(L=G&&G.onVnodeBeforeMount)&&Oe(L,Q,d),ct(u,!0),D&&es){const Te=()=>{u.subTree=as(u),es(D,u.subTree,u,w,null)};Ie&&pe.__asyncHydrate?pe.__asyncHydrate(D,u,Te):Te()}else{xe.ce&&xe.ce._injectChildStyle(pe);const Te=u.subTree=as(u);_(null,Te,y,T,u,w,E),d.el=Te.el}if(ee&&Ee(ee,w),!Ie&&(L=G&&G.onVnodeMounted)){const Te=d;Ee(()=>Oe(L,Q,Te),w)}(d.shapeFlag&256||Q&>(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&Ee(u.a,w),u.isMounted=!0,d=y=T=null}};u.scope.on();const A=u.effect=new _i(O);u.scope.off();const C=u.update=A.run.bind(A),B=u.job=A.runIfDirty.bind(A);B.i=u,B.id=u.uid,A.scheduler=()=>Js(B),ct(u,!0),C()},Y=(u,d,y)=>{d.component=u;const T=u.vnode.props;u.vnode=d,u.next=null,Rc(u,d.props,T,y),Lc(u,d.children,y),it(),br(u),ot()},$=(u,d,y,T,w,E,P,O,A=!1)=>{const C=u&&u.children,B=u?u.shapeFlag:0,L=d.children,{patchFlag:D,shapeFlag:G}=d;if(D>0){if(D&128){on(C,L,y,T,w,E,P,O,A);return}else if(D&256){he(C,L,y,T,w,E,P,O,A);return}}G&8?(B&16&&It(C,w,E),L!==C&&a(y,L)):B&16?G&16?on(C,L,y,T,w,E,P,O,A):It(C,w,E,!0):(B&8&&a(y,""),G&16&&V(L,y,T,w,E,P,O,A))},he=(u,d,y,T,w,E,P,O,A)=>{u=u||Tt,d=d||Tt;const C=u.length,B=d.length,L=Math.min(C,B);let D;for(D=0;DB?It(u,w,E,!0,!1,L):V(d,y,T,w,E,P,O,A,L)},on=(u,d,y,T,w,E,P,O,A)=>{let C=0;const B=d.length;let L=u.length-1,D=B-1;for(;C<=L&&C<=D;){const G=u[C],X=d[C]=A?et(d[C]):Me(d[C]);if(dt(G,X))_(G,X,y,null,w,E,P,O,A);else break;C++}for(;C<=L&&C<=D;){const G=u[L],X=d[D]=A?et(d[D]):Me(d[D]);if(dt(G,X))_(G,X,y,null,w,E,P,O,A);else break;L--,D--}if(C>L){if(C<=D){const G=D+1,X=GD)for(;C<=L;)$e(u[C],w,E,!0),C++;else{const G=C,X=C,ee=new Map;for(C=X;C<=D;C++){const Ce=d[C]=A?et(d[C]):Me(d[C]);Ce.key!=null&&ee.set(Ce.key,C)}let Q,xe=0;const pe=D-X+1;let Ie=!1,Te=0;const Nt=new Array(pe);for(C=0;C=pe){$e(Ce,w,E,!0);continue}let je;if(Ce.key!=null)je=ee.get(Ce.key);else for(Q=X;Q<=D;Q++)if(Nt[Q-X]===0&&dt(Ce,d[Q])){je=Q;break}je===void 0?$e(Ce,w,E,!0):(Nt[je-X]=C+1,je>=Te?Te=je:Ie=!0,_(Ce,d[je],y,null,w,E,P,O,A),xe++)}const fr=Ie?Fc(Nt):Tt;for(Q=fr.length-1,C=pe-1;C>=0;C--){const Ce=X+C,je=d[Ce],ur=Ce+1{const{el:E,type:P,transition:O,children:A,shapeFlag:C}=u;if(C&6){lt(u.component.subTree,d,y,T);return}if(C&128){u.suspense.move(d,y,T);return}if(C&64){P.move(u,d,y,bt);return}if(P===Se){s(E,d,y);for(let L=0;LO.enter(E),w);else{const{leave:L,delayLeave:D,afterLeave:G}=O,X=()=>s(E,d,y),ee=()=>{L(E,()=>{X(),G&&G()})};D?D(E,X,ee):ee()}else s(E,d,y)},$e=(u,d,y,T=!1,w=!1)=>{const{type:E,props:P,ref:O,children:A,dynamicChildren:C,shapeFlag:B,patchFlag:L,dirs:D,cacheIndex:G}=u;if(L===-2&&(w=!1),O!=null&&Nn(O,null,y,u,!0),G!=null&&(d.renderCache[G]=void 0),B&256){d.ctx.deactivate(u);return}const X=B&1&&D,ee=!gt(u);let Q;if(ee&&(Q=P&&P.onVnodeBeforeUnmount)&&Oe(Q,d,u),B&6)Xo(u.component,y,T);else{if(B&128){u.suspense.unmount(y,T);return}X&&Ue(u,null,d,"beforeUnmount"),B&64?u.type.remove(u,d,y,bt,T):C&&!C.hasOnce&&(E!==Se||L>0&&L&64)?It(C,d,y,!1,!0):(E===Se&&L&384||!w&&B&16)&&It(A,d,y),T&&cr(u)}(ee&&(Q=P&&P.onVnodeUnmounted)||X)&&Ee(()=>{Q&&Oe(Q,d,u),X&&Ue(u,null,d,"unmounted")},y)},cr=u=>{const{type:d,el:y,anchor:T,transition:w}=u;if(d===Se){Yo(y,T);return}if(d===Bt){m(u);return}const E=()=>{r(y),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(u.shapeFlag&1&&w&&!w.persisted){const{leave:P,delayLeave:O}=w,A=()=>P(y,E);O?O(u.el,E,A):A()}else E()},Yo=(u,d)=>{let y;for(;u!==d;)y=g(u),r(u),u=y;r(d)},Xo=(u,d,y)=>{const{bum:T,scope:w,job:E,subTree:P,um:O,m:A,a:C}=u;Pr(A),Pr(C),T&&En(T),w.stop(),E&&(E.flags|=8,$e(P,u,d,y)),O&&Ee(O,d),Ee(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},It=(u,d,y,T=!1,w=!1,E=0)=>{for(let P=E;P{if(u.shapeFlag&6)return ln(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=g(u.anchor||u.el),y=d&&d[Ui];return y?g(y):d};let Qn=!1;const ar=(u,d,y)=>{u==null?d._vnode&&$e(d._vnode,null,null,!0):_(d._vnode||null,u,d,null,null,null,y),d._vnode=u,Qn||(Qn=!0,br(),Ln(),Qn=!1)},bt={p:_,um:$e,m:lt,r:cr,mt:se,mc:V,pc:$,pbc:v,n:ln,o:e};let Zn,es;return t&&([Zn,es]=t(bt)),{render:ar,hydrate:Zn,createApp:Tc(ar,Zn)}}function cs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function ct({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function po(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function nr(e,t,n=!1){const s=e.children,r=t.children;if(K(s)&&K(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function go(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:go(t)}function Pr(e){if(e)for(let t=0;tMt(Dc);function sr(e,t){return Yn(e,null,t)}function Vf(e,t){return Yn(e,null,{flush:"post"})}function Fe(e,t,n){return Yn(e,t,n)}function Yn(e,t,n=Z){const{immediate:s,deep:r,flush:i,once:o}=n,l=fe({},n);let c;if(rn)if(i==="sync"){const g=Hc();c=g.__watcherHandles||(g.__watcherHandles=[])}else if(!t||s)l.once=!0;else{const g=()=>{};return g.stop=Be,g.resume=Be,g.pause=Be,g}const f=ue;l.call=(g,b,S)=>De(g,f,b,S);let a=!1;i==="post"?l.scheduler=g=>{Ee(g,f&&f.suspense)}:i!=="sync"&&(a=!0,l.scheduler=(g,b)=>{b?g():Js(g)}),l.augmentJob=g=>{t&&(g.flags|=4),a&&(g.flags|=2,f&&(g.id=f.uid,g.i=f))};const h=Kl(e,t,l);return c&&c.push(h),h}function $c(e,t,n){const s=this.proxy,r=re(e)?e.includes(".")?mo(s,e):()=>s[e]:e.bind(s,s);let i;q(t)?i=t:(i=t.handler,n=t);const o=sn(this),l=Yn(r,i.bind(s),n);return o(),l}function mo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${rt(t)}Modifiers`];function Vc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Z;let r=n;const i=t.startsWith("update:"),o=i&&jc(s,t.slice(7));o&&(o.trim&&(r=n.map(a=>re(a)?a.trim():a)),o.number&&(r=n.map(Ss)));let l,c=s[l=Sn(t)]||s[l=Sn(Le(t))];!c&&i&&(c=s[l=Sn(rt(t))]),c&&De(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,De(f,e,6,r)}}function yo(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!q(e)){const c=f=>{const a=yo(f,t,!0);a&&(l=!0,fe(o,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ne(e)&&s.set(e,null),null):(K(i)?i.forEach(c=>o[c]=null):fe(o,i),ne(e)&&s.set(e,o),o)}function Xn(e,t){return!e||!Zt(t)?!1:(t=t.slice(2).replace(/Once$/,""),J(e,t[0].toLowerCase()+t.slice(1))||J(e,rt(t))||J(e,t))}function as(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:f,renderCache:a,props:h,data:g,setupState:b,ctx:S,inheritAttrs:_}=e,k=In(e);let N,j;try{if(n.shapeFlag&4){const m=r||s,M=m;N=Me(f.call(M,m,a,h,b,g,S)),j=l}else{const m=t;N=Me(m.length>1?m(h,{attrs:l,slots:o,emit:c}):m(h,null)),j=t.props?l:Uc(l)}}catch(m){kt.length=0,tn(m,e,1),N=le(ye)}let p=N;if(j&&_!==!1){const m=Object.keys(j),{shapeFlag:M}=p;m.length&&M&7&&(i&&m.some(Hs)&&(j=Bc(j,i)),p=nt(p,j,!1,!0))}return n.dirs&&(p=nt(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&Yt(p,n.transition),N=p,In(k),N}const Uc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Zt(n))&&((t||(t={}))[n]=e[n]);return t},Bc=(e,t)=>{const n={};for(const s in e)(!Hs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function kc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Lr(s,o,f):!!o;if(c&8){const a=t.dynamicProps;for(let h=0;he.__isSuspense;function bo(e,t){t&&t.pendingBranch?K(e)?t.effects.push(...e):t.effects.push(e):Yl(e)}const Se=Symbol.for("v-fgt"),mt=Symbol.for("v-txt"),ye=Symbol.for("v-cmt"),Bt=Symbol.for("v-stc"),kt=[];let Ae=null;function Ps(e=!1){kt.push(Ae=e?null:[])}function Kc(){kt.pop(),Ae=kt[kt.length-1]||null}let Xt=1;function Ir(e){Xt+=e,e<0&&Ae&&(Ae.hasOnce=!0)}function _o(e){return e.dynamicChildren=Xt>0?Ae||Tt:null,Kc(),Xt>0&&Ae&&Ae.push(e),e}function Uf(e,t,n,s,r,i){return _o(So(e,t,n,s,r,i,!0))}function Ls(e,t,n,s,r){return _o(le(e,t,n,s,r,!0))}function zt(e){return e?e.__v_isVNode===!0:!1}function dt(e,t){return e.type===t.type&&e.key===t.key}const wo=({key:e})=>e??null,Cn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?re(e)||ae(e)||q(e)?{i:de,r:e,k:t,f:!!n}:e:null);function So(e,t=null,n=null,s=0,r=null,i=e===Se?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&wo(t),ref:t&&Cn(t),scopeId:Vi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:de};return l?(rr(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=re(n)?8:16),Xt>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const le=qc;function qc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Qi)&&(e=ye),zt(e)){const l=nt(e,t,!0);return n&&rr(l,n),Xt>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(na(e)&&(e=e.__vccOpts),t){t=Gc(t);let{class:l,style:c}=t;l&&!re(l)&&(t.class=Us(l)),ne(c)&&(Ys(c)&&!K(c)&&(c=fe({},c)),t.style=Vs(c))}const o=re(e)?1:vo(e)?128:Bi(e)?64:ne(e)?4:q(e)?2:0;return So(e,t,n,s,r,o,i,!0)}function Gc(e){return e?Ys(e)||io(e)?fe({},e):e:null}function nt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,f=t?Yc(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&wo(f),ref:t&&t.ref?n&&i?K(i)?i.concat(Cn(t)):[i,Cn(t)]:Cn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nt(e.ssContent),ssFallback:e.ssFallback&&nt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Yt(a,c.clone(a)),a}function Eo(e=" ",t=0){return le(mt,null,e,t)}function Bf(e,t){const n=le(Bt,null,e);return n.staticCount=t,n}function kf(e="",t=!1){return t?(Ps(),Ls(ye,null,e)):le(ye,null,e)}function Me(e){return e==null||typeof e=="boolean"?le(ye):K(e)?le(Se,null,e.slice()):zt(e)?et(e):le(mt,null,String(e))}function et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:nt(e)}function rr(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(K(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),rr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!io(t)?t._ctx=de:r===3&&de&&(de.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:de},n=32):(t=String(t),s&64?(n=16,t=[Eo(t)]):n=8);e.children=t,e.shapeFlag|=n}function Yc(...e){const t={};for(let n=0;nue||de;let Dn,Is;{const e=gi(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Dn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),Is=t("__VUE_SSR_SETTERS__",n=>rn=n)}const sn=e=>{const t=ue;return Dn(e),e.scope.on(),()=>{e.scope.off(),Dn(t)}},Nr=()=>{ue&&ue.scope.off(),Dn(null)};function xo(e){return e.vnode.shapeFlag&4}let rn=!1;function Qc(e,t=!1,n=!1){t&&Is(t);const{props:s,children:r}=e.vnode,i=xo(e);Ac(e,s,i,t),Pc(e,r,n);const o=i?Zc(e,t):void 0;return t&&Is(!1),o}function Zc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,yc);const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Co(e):null,i=sn(e);it();const o=en(s,e,0,[e.props,r]);if(ot(),i(),ui(o)){if(gt(e)||Zs(e),o.then(Nr,Nr),t)return o.then(l=>{Fr(e,l,t)}).catch(l=>{tn(l,e,0)});e.asyncDep=o}else Fr(e,o,t)}else To(e,t)}function Fr(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ne(t)&&(e.setupState=Di(t)),To(e,n)}let Dr;function To(e,t,n){const s=e.type;if(!e.render){if(!t&&Dr&&!s.render){const r=s.template||er(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=fe(fe({isCustomElement:i,delimiters:l},o),c);s.render=Dr(r,f)}}e.render=s.render||Be}{const r=sn(e);it();try{bc(e)}finally{ot(),r()}}}const ea={get(e,t){return ve(e,"get",""),e[t]}};function Co(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ea),slots:e.slots,emit:e.emit,expose:t}}function Jn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Di(xn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ut)return Ut[n](e)},has(t,n){return n in t||n in Ut}})):e.proxy}function ta(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function na(e){return q(e)&&"__vccOpts"in e}const ie=(e,t)=>kl(e,t,rn);function Ns(e,t,n){const s=arguments.length;return s===2?ne(t)&&!K(t)?zt(t)?le(e,null,[t]):le(e,t):le(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&zt(n)&&(n=[n]),le(e,t,n))}const sa="3.5.11";/** -* @vue/runtime-dom v3.5.11 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Fs;const Hr=typeof window<"u"&&window.trustedTypes;if(Hr)try{Fs=Hr.createPolicy("vue",{createHTML:e=>e})}catch{}const Ao=Fs?e=>Fs.createHTML(e):e=>e,ra="http://www.w3.org/2000/svg",ia="http://www.w3.org/1998/Math/MathML",Ke=typeof document<"u"?document:null,$r=Ke&&Ke.createElement("template"),oa={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ke.createElementNS(ra,e):t==="mathml"?Ke.createElementNS(ia,e):n?Ke.createElement(e,{is:n}):Ke.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ke.createTextNode(e),createComment:e=>Ke.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ke.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{$r.innerHTML=Ao(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=$r.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ze="transition",Dt="animation",Jt=Symbol("_vtc"),Ro={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},la=fe({},Wi,Ro),ca=e=>(e.displayName="Transition",e.props=la,e),Wf=ca((e,{slots:t})=>Ns(tc,aa(e),t)),at=(e,t=[])=>{K(e)?e.forEach(n=>n(...t)):e&&e(...t)},jr=e=>e?K(e)?e.some(t=>t.length>1):e.length>1:!1;function aa(e){const t={};for(const x in e)x in Ro||(t[x]=e[x]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:f=o,appearToClass:a=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:b=`${n}-leave-to`}=e,S=fa(r),_=S&&S[0],k=S&&S[1],{onBeforeEnter:N,onEnter:j,onEnterCancelled:p,onLeave:m,onLeaveCancelled:M,onBeforeAppear:F=N,onAppear:H=j,onAppearCancelled:V=p}=t,R=(x,W,se)=>{ft(x,W?a:l),ft(x,W?f:o),se&&se()},v=(x,W)=>{x._isLeaving=!1,ft(x,h),ft(x,b),ft(x,g),W&&W()},I=x=>(W,se)=>{const ce=x?H:j,U=()=>R(W,x,se);at(ce,[W,U]),Vr(()=>{ft(W,x?c:i),Je(W,x?a:l),jr(ce)||Ur(W,s,_,U)})};return fe(t,{onBeforeEnter(x){at(N,[x]),Je(x,i),Je(x,o)},onBeforeAppear(x){at(F,[x]),Je(x,c),Je(x,f)},onEnter:I(!1),onAppear:I(!0),onLeave(x,W){x._isLeaving=!0;const se=()=>v(x,W);Je(x,h),Je(x,g),ha(),Vr(()=>{x._isLeaving&&(ft(x,h),Je(x,b),jr(m)||Ur(x,s,k,se))}),at(m,[x,se])},onEnterCancelled(x){R(x,!1),at(p,[x])},onAppearCancelled(x){R(x,!0),at(V,[x])},onLeaveCancelled(x){v(x),at(M,[x])}})}function fa(e){if(e==null)return null;if(ne(e))return[fs(e.enter),fs(e.leave)];{const t=fs(e);return[t,t]}}function fs(e){return tl(e)}function Je(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Jt]||(e[Jt]=new Set)).add(t)}function ft(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Jt];n&&(n.delete(t),n.size||(e[Jt]=void 0))}function Vr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ua=0;function Ur(e,t,n,s){const r=e._endId=++ua,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=da(e,t);if(!o)return s();const f=o+"end";let a=0;const h=()=>{e.removeEventListener(f,g),i()},g=b=>{b.target===e&&++a>=c&&h()};setTimeout(()=>{a(n[S]||"").split(", "),r=s(`${ze}Delay`),i=s(`${ze}Duration`),o=Br(r,i),l=s(`${Dt}Delay`),c=s(`${Dt}Duration`),f=Br(l,c);let a=null,h=0,g=0;t===ze?o>0&&(a=ze,h=o,g=i.length):t===Dt?f>0&&(a=Dt,h=f,g=c.length):(h=Math.max(o,f),a=h>0?o>f?ze:Dt:null,g=a?a===ze?i.length:c.length:0);const b=a===ze&&/\b(transform|all)(,|$)/.test(s(`${ze}Property`).toString());return{type:a,timeout:h,propCount:g,hasTransform:b}}function Br(e,t){for(;e.lengthkr(n)+kr(e[s])))}function kr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ha(){return document.body.offsetHeight}function pa(e,t,n){const s=e[Jt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Wr=Symbol("_vod"),ga=Symbol("_vsh"),ma=Symbol(""),ya=/(^|;)\s*display\s*:/;function va(e,t,n){const s=e.style,r=re(n);let i=!1;if(n&&!r){if(t)if(re(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&An(s,l,"")}else for(const o in t)n[o]==null&&An(s,o,"");for(const o in n)o==="display"&&(i=!0),An(s,o,n[o])}else if(r){if(t!==n){const o=s[ma];o&&(n+=";"+o),s.cssText=n,i=ya.test(n)}}else t&&e.removeAttribute("style");Wr in e&&(e[Wr]=i?s.display:"",e[ga]&&(s.display="none"))}const Kr=/\s*!important$/;function An(e,t,n){if(K(n))n.forEach(s=>An(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ba(e,t);Kr.test(n)?e.setProperty(rt(s),n.replace(Kr,""),"important"):e[s]=n}}const qr=["Webkit","Moz","ms"],us={};function ba(e,t){const n=us[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return us[t]=s;s=jn(s);for(let r=0;rds||(Ea.then(()=>ds=0),ds=Date.now());function Ta(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;De(Ca(s,n.value),t,5,[s])};return n.value=e,n.attached=xa(),n}function Ca(e,t){if(K(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Qr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Aa=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?pa(e,s,o):t==="style"?va(e,n,s):Zt(t)?Hs(t)||wa(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ra(e,t,s,o))?(Xr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Yr(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!re(s))?Xr(e,Le(t),s):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Yr(e,t,s,o))};function Ra(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Qr(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Qr(t)&&re(n)?!1:t in e}const Zr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return K(t)?n=>En(t,n):t};function Oa(e){e.target.composing=!0}function ei(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const hs=Symbol("_assign"),Kf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[hs]=Zr(r);const i=s||r.props&&r.props.type==="number";Et(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=Ss(l)),e[hs](l)}),n&&Et(e,"change",()=>{e.value=e.value.trim()}),t||(Et(e,"compositionstart",Oa),Et(e,"compositionend",ei),Et(e,"change",ei))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[hs]=Zr(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Ss(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},Ma=["ctrl","shift","alt","meta"],Pa={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Ma.some(n=>e[`${n}Key`]&&!t.includes(n))},qf=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=rt(r.key);if(t.some(o=>o===i||La[o]===i))return e(r)})},Oo=fe({patchProp:Aa},oa);let Wt,ti=!1;function Ia(){return Wt||(Wt=Ic(Oo))}function Na(){return Wt=ti?Wt:Nc(Oo),ti=!0,Wt}const Yf=(...e)=>{const t=Ia().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Po(s);if(!r)return;const i=t._component;!q(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,Mo(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},Xf=(...e)=>{const t=Na().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Po(s);if(r)return n(r,!0,Mo(r))},t};function Mo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Po(e){return re(e)?document.querySelector(e):e}const zf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Fa=window.__VP_SITE_DATA__;function ir(e){return bi()?(fl(e),!0):!1}function ke(e){return typeof e=="function"?e():Fi(e)}const Lo=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Jf=e=>e!=null,Da=Object.prototype.toString,Ha=e=>Da.call(e)==="[object Object]",Qt=()=>{},ni=$a();function $a(){var e,t;return Lo&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ja(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const Io=e=>e();function Va(e,t={}){let n,s,r=Qt;const i=l=>{clearTimeout(l),r(),r=Qt};return l=>{const c=ke(e),f=ke(t.maxWait);return n&&i(n),c<=0||f!==void 0&&f<=0?(s&&(i(s),s=null),Promise.resolve(l())):new Promise((a,h)=>{r=t.rejectOnCancel?h:a,f&&!s&&(s=setTimeout(()=>{n&&i(n),s=null,a(l())},f)),n=setTimeout(()=>{s&&i(s),s=null,a(l())},c)})}}function Ua(e=Io){const t=oe(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:Wn(t),pause:n,resume:s,eventFilter:r}}function Ba(e){return zn()}function No(...e){if(e.length!==1)return Vl(...e);const t=e[0];return typeof t=="function"?Wn(Hl(()=>({get:t,set:Qt}))):oe(t)}function Fo(e,t,n={}){const{eventFilter:s=Io,...r}=n;return Fe(e,ja(s,t),r)}function ka(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=Ua(s);return{stop:Fo(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function or(e,t=!0,n){Ba()?Lt(e,n):t?e():Kn(e)}function Qf(e,t,n={}){const{debounce:s=0,maxWait:r=void 0,...i}=n;return Fo(e,t,{...i,eventFilter:Va(s,{maxWait:r})})}function Zf(e,t,n){let s;ae(n)?s={evaluating:n}:s={};const{lazy:r=!1,evaluating:i=void 0,shallow:o=!0,onError:l=Qt}=s,c=oe(!r),f=o?zs(t):oe(t);let a=0;return sr(async h=>{if(!c.value)return;a++;const g=a;let b=!1;i&&Promise.resolve().then(()=>{i.value=!0});try{const S=await e(_=>{h(()=>{i&&(i.value=!1),b||_()})});g===a&&(f.value=S)}catch(S){l(S)}finally{i&&g===a&&(i.value=!1),b=!0}}),r?ie(()=>(c.value=!0,f.value)):f}const He=Lo?window:void 0;function Do(e){var t;const n=ke(e);return(t=n==null?void 0:n.$el)!=null?t:n}function Pt(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=He):[t,n,s,r]=e,!t)return Qt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(a=>a()),i.length=0},l=(a,h,g,b)=>(a.addEventListener(h,g,b),()=>a.removeEventListener(h,g,b)),c=Fe(()=>[Do(t),ke(r)],([a,h])=>{if(o(),!a)return;const g=Ha(h)?{...h}:h;i.push(...n.flatMap(b=>s.map(S=>l(a,b,S,g))))},{immediate:!0,flush:"post"}),f=()=>{c(),o()};return ir(f),f}function Wa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function eu(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=He,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=Wa(t);return Pt(r,i,a=>{a.repeat&&ke(l)||c(a)&&n(a)},o)}function Ka(){const e=oe(!1),t=zn();return t&&Lt(()=>{e.value=!0},t),e}function qa(e){const t=Ka();return ie(()=>(t.value,!!e()))}function Ho(e,t={}){const{window:n=He}=t,s=qa(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=oe(!1),o=f=>{i.value=f.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=sr(()=>{s.value&&(l(),r=n.matchMedia(ke(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return ir(()=>{c(),l(),r=void 0}),i}const vn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},bn="__vueuse_ssr_handlers__",Ga=Ya();function Ya(){return bn in vn||(vn[bn]=vn[bn]||{}),vn[bn]}function $o(e,t){return Ga[e]||t}function jo(e){return Ho("(prefers-color-scheme: dark)",e)}function Xa(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const za={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},si="vueuse-storage";function lr(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:f=!1,shallow:a,window:h=He,eventFilter:g,onError:b=v=>{console.error(v)},initOnMounted:S}=s,_=(a?zs:oe)(typeof t=="function"?t():t);if(!n)try{n=$o("getDefaultStorage",()=>{var v;return(v=He)==null?void 0:v.localStorage})()}catch(v){b(v)}if(!n)return _;const k=ke(t),N=Xa(k),j=(r=s.serializer)!=null?r:za[N],{pause:p,resume:m}=ka(_,()=>F(_.value),{flush:i,deep:o,eventFilter:g});h&&l&&or(()=>{n instanceof Storage?Pt(h,"storage",V):Pt(h,si,R),S&&V()}),S||V();function M(v,I){if(h){const x={key:e,oldValue:v,newValue:I,storageArea:n};h.dispatchEvent(n instanceof Storage?new StorageEvent("storage",x):new CustomEvent(si,{detail:x}))}}function F(v){try{const I=n.getItem(e);if(v==null)M(I,null),n.removeItem(e);else{const x=j.write(v);I!==x&&(n.setItem(e,x),M(I,x))}}catch(I){b(I)}}function H(v){const I=v?v.newValue:n.getItem(e);if(I==null)return c&&k!=null&&n.setItem(e,j.write(k)),k;if(!v&&f){const x=j.read(I);return typeof f=="function"?f(x,k):N==="object"&&!Array.isArray(x)?{...k,...x}:x}else return typeof I!="string"?I:j.read(I)}function V(v){if(!(v&&v.storageArea!==n)){if(v&&v.key==null){_.value=k;return}if(!(v&&v.key!==e)){p();try{(v==null?void 0:v.newValue)!==j.write(_.value)&&(_.value=H(v))}catch(I){b(I)}finally{v?Kn(m):m()}}}}function R(v){V(v.detail)}return _}const Ja="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function Qa(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=He,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:f,disableTransition:a=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},g=jo({window:r}),b=ie(()=>g.value?"dark":"light"),S=c||(o==null?No(s):lr(o,s,i,{window:r,listenToStorageChanges:l})),_=ie(()=>S.value==="auto"?b.value:S.value),k=$o("updateHTMLAttrs",(m,M,F)=>{const H=typeof m=="string"?r==null?void 0:r.document.querySelector(m):Do(m);if(!H)return;const V=new Set,R=new Set;let v=null;if(M==="class"){const x=F.split(/\s/g);Object.values(h).flatMap(W=>(W||"").split(/\s/g)).filter(Boolean).forEach(W=>{x.includes(W)?V.add(W):R.add(W)})}else v={key:M,value:F};if(V.size===0&&R.size===0&&v===null)return;let I;a&&(I=r.document.createElement("style"),I.appendChild(document.createTextNode(Ja)),r.document.head.appendChild(I));for(const x of V)H.classList.add(x);for(const x of R)H.classList.remove(x);v&&H.setAttribute(v.key,v.value),a&&(r.getComputedStyle(I).opacity,document.head.removeChild(I))});function N(m){var M;k(t,n,(M=h[m])!=null?M:m)}function j(m){e.onChanged?e.onChanged(m,N):N(m)}Fe(_,j,{flush:"post",immediate:!0}),or(()=>j(_.value));const p=ie({get(){return f?S.value:_.value},set(m){S.value=m}});try{return Object.assign(p,{store:S,system:b,state:_})}catch{return p}}function Za(e={}){const{valueDark:t="dark",valueLight:n="",window:s=He}=e,r=Qa({...e,onChanged:(l,c)=>{var f;e.onChanged?(f=e.onChanged)==null||f.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),i=ie(()=>r.system?r.system.value:jo({window:s}).value?"dark":"light");return ie({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";i.value===c?r.value="auto":r.value=c}})}function ps(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function tu(e,t,n={}){const{window:s=He}=n;return lr(e,t,s==null?void 0:s.localStorage,n)}function Vo(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const gs=new WeakMap;function nu(e,t=!1){const n=oe(t);let s=null,r="";Fe(No(e),l=>{const c=ps(ke(l));if(c){const f=c;if(gs.get(f)||gs.set(f,f.style.overflow),f.style.overflow!=="hidden"&&(r=f.style.overflow),f.style.overflow==="hidden")return n.value=!0;if(n.value)return f.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=ps(ke(e));!l||n.value||(ni&&(s=Pt(l,"touchmove",c=>{ef(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=ps(ke(e));!l||!n.value||(ni&&(s==null||s()),l.style.overflow=r,gs.delete(l),n.value=!1)};return ir(o),ie({get(){return n.value},set(l){l?i():o()}})}function su(e,t,n={}){const{window:s=He}=n;return lr(e,t,s==null?void 0:s.sessionStorage,n)}function ru(e={}){const{window:t=He,behavior:n="auto"}=e;if(!t)return{x:oe(0),y:oe(0)};const s=oe(t.scrollX),r=oe(t.scrollY),i=ie({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=ie({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Pt(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function iu(e={}){const{window:t=He,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=oe(n),c=oe(s),f=()=>{t&&(o==="outer"?(l.value=t.outerWidth,c.value=t.outerHeight):i?(l.value=t.innerWidth,c.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight))};if(f(),or(f),Pt("resize",f,{passive:!0}),r){const a=Ho("(orientation: portrait)");Fe(a,()=>f())}return{width:l,height:c}}const ms={BASE_URL:"/DimensionalData.jl/dev/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var ys={};const Uo=/^(?:[a-z]+:|\/\/)/i,tf="vitepress-theme-appearance",nf=/#.*$/,sf=/[?#].*$/,rf=/(?:(^|\/)index)?\.(?:md|html)$/,ge=typeof document<"u",Bo={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function of(e,t,n=!1){if(t===void 0)return!1;if(e=ri(`/${e}`),n)return new RegExp(t).test(e);if(ri(t)!==e)return!1;const s=t.match(nf);return s?(ge?location.hash:"")===s[0]:!0}function ri(e){return decodeURI(e).replace(sf,"").replace(rf,"$1")}function lf(e){return Uo.test(e)}function cf(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!lf(n)&&of(t,`/${n}/`,!0))||"root"}function af(e,t){var s,r,i,o,l,c,f;const n=cf(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Wo(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(f=e.locales[n])==null?void 0:f.themeConfig}})}function ko(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=ff(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function ff(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function uf(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function Wo(e,t){return[...e.filter(n=>!uf(t,n)),...t]}const df=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,hf=/^[a-z]:/i;function ii(e){const t=hf.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(df,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const vs=new Set;function pf(e){if(vs.size===0){const n=typeof process=="object"&&(ys==null?void 0:ys.VITE_EXTRA_EXTENSIONS)||(ms==null?void 0:ms.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>vs.add(s))}const t=e.split(".").pop();return t==null||!vs.has(t.toLowerCase())}function ou(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const gf=Symbol(),yt=zs(Fa);function lu(e){const t=ie(()=>af(yt.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?oe(!0):n?Za({storageKey:tf,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):oe(!1),r=oe(ge?location.hash:"");return ge&&window.addEventListener("hashchange",()=>{r.value=location.hash}),Fe(()=>e.data,()=>{r.value=ge?location.hash:""}),{site:t,theme:ie(()=>t.value.themeConfig),page:ie(()=>e.data),frontmatter:ie(()=>e.data.frontmatter),params:ie(()=>e.data.params),lang:ie(()=>t.value.lang),dir:ie(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:ie(()=>t.value.localeIndex||"root"),title:ie(()=>ko(t.value,e.data)),description:ie(()=>e.data.description||t.value.description),isDark:s,hash:ie(()=>r.value)}}function mf(){const e=Mt(gf);if(!e)throw new Error("vitepress data not properly injected in app");return e}function yf(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function oi(e){return Uo.test(e)||!e.startsWith("/")?e:yf(yt.value.base,e)}function vf(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),ge){const n="/DimensionalData.jl/dev/";t=ii(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${ii(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let Rn=[];function cu(e){Rn.push(e),Gn(()=>{Rn=Rn.filter(t=>t!==e)})}function bf(){let e=yt.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=li(e,n);else if(Array.isArray(e))for(const s of e){const r=li(s,n);if(r){t=r;break}}return t}function li(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const _f=Symbol(),Ko="http://a.com",wf=()=>({path:"/",component:null,data:Bo});function au(e,t){const n=kn(wf()),s={route:n,go:r};async function r(l=ge?location.href:"/"){var c,f;l=bs(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(ge&&l!==bs(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((f=s.onAfterRouteChanged)==null?void 0:f.call(s,l)))}let i=null;async function o(l,c=0,f=!1){var g,b;if(await((g=s.onBeforePageLoad)==null?void 0:g.call(s,l))===!1)return;const a=new URL(l,Ko),h=i=a.pathname;try{let S=await e(h);if(!S)throw new Error(`Page not found: ${h}`);if(i===h){i=null;const{default:_,__pageData:k}=S;if(!_)throw new Error(`Invalid route component: ${_}`);await((b=s.onAfterPageLoad)==null?void 0:b.call(s,l)),n.path=ge?h:oi(h),n.component=xn(_),n.data=xn(k),ge&&Kn(()=>{let N=yt.value.base+k.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!yt.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==a.pathname&&(a.pathname=N,l=N+a.search+a.hash,history.replaceState({},"",l)),a.hash&&!c){let j=null;try{j=document.getElementById(decodeURIComponent(a.hash).slice(1))}catch(p){console.warn(p)}if(j){ci(j,a.hash);return}}window.scrollTo(0,c)})}}catch(S){if(!/fetch|Page not found/.test(S.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(S),!f)try{const _=await fetch(yt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await _.json(),await o(l,c,!0);return}catch{}if(i===h){i=null,n.path=ge?h:oi(h),n.component=t?xn(t):null;const _=ge?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...Bo,relativePath:_}}}}return ge&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const f=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(f==null)return;const{href:a,origin:h,pathname:g,hash:b,search:S}=new URL(f,c.baseURI),_=new URL(location.href);h===_.origin&&pf(g)&&(l.preventDefault(),g===_.pathname&&S===_.search?(b!==_.hash&&(history.pushState({},"",a),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:_.href,newURL:a}))),b?ci(c,b,c.classList.contains("header-anchor")):window.scrollTo(0,0)):r(a))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await o(bs(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Sf(){const e=Mt(_f);if(!e)throw new Error("useRouter() is called without provider.");return e}function qo(){return Sf().route}function ci(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-bf()+i;requestAnimationFrame(r)}}function bs(e){const t=new URL(e,Ko);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),yt.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const _n=()=>Rn.forEach(e=>e()),fu=Qs({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=qo(),{frontmatter:n,site:s}=mf();return Fe(n,_n,{deep:!0,flush:"post"}),()=>Ns(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?Ns(t.component,{onVnodeMounted:_n,onVnodeUpdated:_n,onVnodeUnmounted:_n}):"404 Page Not Found"])}}),Ef="modulepreload",xf=function(e){return"/DimensionalData.jl/dev/"+e},ai={},uu=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=xf(c),c in ai)return;ai[c]=!0;const f=c.endsWith(".css"),a=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${a}`))return;const h=document.createElement("link");if(h.rel=f?"stylesheet":Ef,f||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),f)return new Promise((g,b)=>{h.addEventListener("load",g),h.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},du=Qs({setup(e,{slots:t}){const n=oe(!1);return Lt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function hu(){ge&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(f=>f.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function pu(){if(ge){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(a=>a.remove());let f=c.textContent||"";o&&(f=f.replace(/^ *(\$|>) /gm,"").trim()),Tf(f).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const a=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,a)})}})}}async function Tf(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function gu(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=_s(l);for(const f of document.head.children)if(f.isEqualNode(c)){s.push(f);return}});return}const o=i.map(_s);s.forEach((l,c)=>{const f=o.findIndex(a=>a==null?void 0:a.isEqualNode(l??null));f!==-1?delete o[f]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};sr(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],f=ko(o,i);f!==document.title&&(document.title=f);const a=l||o.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==a&&h.setAttribute("content",a):_s(["meta",{name:"description",content:a}]),r(Wo(o.head,Af(c)))})}function _s([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function Cf(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Af(e){return e.filter(t=>!Cf(t))}const ws=new Set,Go=()=>document.createElement("link"),Rf=e=>{const t=Go();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Of=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let wn;const Mf=ge&&(wn=Go())&&wn.relList&&wn.relList.supports&&wn.relList.supports("prefetch")?Rf:Of;function mu(){if(!ge||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!ws.has(c)){ws.add(c);const f=vf(c);f&&Mf(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):ws.add(l))})})};Lt(s);const r=qo();Fe(()=>r.path,s),Gn(()=>{n&&n.disconnect()})}export{zi as $,bf as A,Nf as B,Df as C,zs as D,cu as E,Se as F,le as G,Ff as H,Uo as I,qo as J,Yc as K,Mt as L,iu as M,Vs as N,eu as O,Kn as P,ru as Q,ge as R,Wn as S,Wf as T,If as U,uu as V,nu as W,Cc as X,$f as Y,Gf as Z,zf as _,Eo as a,qf as a0,jf as a1,kn as a2,Vl as a3,Bf as a4,gu as a5,_f as a6,lu as a7,gf as a8,fu as a9,du as aa,yt as ab,Xf as ac,au as ad,vf as ae,mu as af,pu as ag,hu as ah,Ns as ai,ke as aj,Do as ak,Jf as al,ir as am,Zf as an,su as ao,tu as ap,Qf as aq,Sf as ar,Pt as as,Pf as at,Kf as au,ae as av,Lf as aw,xn as ax,Yf as ay,ou as az,Ls as b,Uf as c,Qs as d,kf as e,pf as f,oi as g,ie as h,lf as i,So as j,Fi as k,of as l,Ho as m,Us as n,Ps as o,oe as p,Fe as q,Hf as r,sr as s,cl as t,mf as u,Lt as v,Xl as w,Gn as x,Vf as y,dc as z}; diff --git a/dev/assets/chunks/framework.BAAK0EyE.js b/dev/assets/chunks/framework.BAAK0EyE.js new file mode 100644 index 000000000..e6d4477b9 --- /dev/null +++ b/dev/assets/chunks/framework.BAAK0EyE.js @@ -0,0 +1,18 @@ +/** +* @vue/shared v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Ns(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Z={},Et=[],ke=()=>{},Uo=()=>!1,Zt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fs=e=>e.startsWith("onUpdate:"),ce=Object.assign,Ds=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ko=Object.prototype.hasOwnProperty,z=(e,t)=>ko.call(e,t),K=Array.isArray,Tt=e=>In(e)==="[object Map]",si=e=>In(e)==="[object Set]",q=e=>typeof e=="function",re=e=>typeof e=="string",Ye=e=>typeof e=="symbol",ne=e=>e!==null&&typeof e=="object",ri=e=>(ne(e)||q(e))&&q(e.then)&&q(e.catch),ii=Object.prototype.toString,In=e=>ii.call(e),Bo=e=>In(e).slice(8,-1),oi=e=>In(e)==="[object Object]",Hs=e=>re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ct=Ns(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Nn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Wo=/-(\w)/g,Le=Nn(e=>e.replace(Wo,(t,n)=>n?n.toUpperCase():"")),Ko=/\B([A-Z])/g,st=Nn(e=>e.replace(Ko,"-$1").toLowerCase()),Fn=Nn(e=>e.charAt(0).toUpperCase()+e.slice(1)),vn=Nn(e=>e?`on${Fn(e)}`:""),tt=(e,t)=>!Object.is(e,t),bn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},vs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},qo=e=>{const t=re(e)?Number(e):NaN;return isNaN(t)?e:t};let ar;const Dn=()=>ar||(ar=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function $s(e){if(K(e)){const t={};for(let n=0;n{if(n){const s=n.split(Yo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function js(e){let t="";if(re(e))t=e;else if(K(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Zo=e=>re(e)?e:e==null?"":K(e)||ne(e)&&(e.toString===ii||!q(e.toString))?ai(e)?Zo(e.value):JSON.stringify(e,fi,2):String(e),fi=(e,t)=>ai(t)?fi(e,t.value):Tt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[zn(s,i)+" =>"]=r,n),{})}:si(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>zn(n))}:Ye(t)?zn(t):ne(t)&&!K(t)&&!oi(t)?String(t):t,zn=(e,t="")=>{var n;return Ye(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let _e;class el{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(jt){let t=jt;for(jt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;$t;){let t=$t;for($t=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function gi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function mi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),ks(s),nl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function bs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(yi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function yi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Kt))return;e.globalVersion=Kt;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!bs(e)){e.flags&=-3;return}const n=te,s=Ne;te=e,Ne=!0;try{gi(e);const r=e.fn(e._value);(t.version===0||tt(r,e._value))&&(e._value=r,t.version++)}catch(r){throw t.version++,r}finally{te=n,Ne=s,mi(e),e.flags&=-3}}function ks(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)ks(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function nl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ne=!0;const vi=[];function rt(){vi.push(Ne),Ne=!1}function it(){const e=vi.pop();Ne=e===void 0?!0:e}function fr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=te;te=void 0;try{t()}finally{te=n}}}let Kt=0;class sl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Hn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!te||!Ne||te===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==te)n=this.activeLink=new sl(te,this),te.deps?(n.prevDep=te.depsTail,te.depsTail.nextDep=n,te.depsTail=n):te.deps=te.depsTail=n,bi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=te.depsTail,n.nextDep=void 0,te.depsTail.nextDep=n,te.depsTail=n,te.deps===n&&(te.deps=s)}return n}trigger(t){this.version++,Kt++,this.notify(t)}notify(t){Vs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Us()}}}function bi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)bi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Tn=new WeakMap,dt=Symbol(""),_s=Symbol(""),qt=Symbol("");function me(e,t,n){if(Ne&&te){let s=Tn.get(e);s||Tn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Hn),r.map=s,r.key=n),r.track()}}function qe(e,t,n,s,r,i){const o=Tn.get(e);if(!o){Kt++;return}const l=c=>{c&&c.trigger()};if(Vs(),t==="clear")o.forEach(l);else{const c=K(e),f=c&&Hs(n);if(c&&n==="length"){const a=Number(s);o.forEach((d,y)=>{(y==="length"||y===qt||!Ye(y)&&y>=a)&&l(d)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),f&&l(o.get(qt)),t){case"add":c?f&&l(o.get("length")):(l(o.get(dt)),Tt(e)&&l(o.get(_s)));break;case"delete":c||(l(o.get(dt)),Tt(e)&&l(o.get(_s)));break;case"set":Tt(e)&&l(o.get(dt));break}}Us()}function rl(e,t){const n=Tn.get(e);return n&&n.get(t)}function bt(e){const t=J(e);return t===e?t:(me(t,"iterate",qt),Pe(e)?t:t.map(ye))}function $n(e){return me(e=J(e),"iterate",qt),e}const il={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,ye)},concat(...e){return bt(this).concat(...e.map(t=>K(t)?bt(t):t))},entries(){return Zn(this,"entries",e=>(e[1]=ye(e[1]),e))},every(e,t){return We(this,"every",e,t,void 0,arguments)},filter(e,t){return We(this,"filter",e,t,n=>n.map(ye),arguments)},find(e,t){return We(this,"find",e,t,ye,arguments)},findIndex(e,t){return We(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return We(this,"findLast",e,t,ye,arguments)},findLastIndex(e,t){return We(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return We(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return bt(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return We(this,"map",e,t,void 0,arguments)},pop(){return Ft(this,"pop")},push(...e){return Ft(this,"push",e)},reduce(e,...t){return ur(this,"reduce",e,t)},reduceRight(e,...t){return ur(this,"reduceRight",e,t)},shift(){return Ft(this,"shift")},some(e,t){return We(this,"some",e,t,void 0,arguments)},splice(...e){return Ft(this,"splice",e)},toReversed(){return bt(this).toReversed()},toSorted(e){return bt(this).toSorted(e)},toSpliced(...e){return bt(this).toSpliced(...e)},unshift(...e){return Ft(this,"unshift",e)},values(){return Zn(this,"values",ye)}};function Zn(e,t,n){const s=$n(e),r=s[t]();return s!==e&&!Pe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.value&&(i.value=n(i.value)),i}),r}const ol=Array.prototype;function We(e,t,n,s,r,i){const o=$n(e),l=o!==e&&!Pe(e),c=o[t];if(c!==ol[t]){const d=c.apply(e,i);return l?ye(d):d}let f=n;o!==e&&(l?f=function(d,y){return n.call(this,ye(d),y,e)}:n.length>2&&(f=function(d,y){return n.call(this,d,y,e)}));const a=c.call(o,f,s);return l&&r?r(a):a}function ur(e,t,n,s){const r=$n(e);let i=n;return r!==e&&(Pe(e)?n.length>3&&(i=function(o,l,c){return n.call(this,o,l,c,e)}):i=function(o,l,c){return n.call(this,o,ye(l),c,e)}),r[t](i,...s)}function es(e,t,n){const s=J(e);me(s,"iterate",qt);const r=s[t](...n);return(r===-1||r===!1)&&Ks(n[0])?(n[0]=J(n[0]),s[t](...n)):r}function Ft(e,t,n=[]){rt(),Vs();const s=J(e)[t].apply(e,n);return Us(),it(),s}const ll=Ns("__proto__,__v_isRef,__isVue"),_i=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ye));function cl(e){Ye(e)||(e=String(e));const t=J(this);return me(t,"has",e),t.hasOwnProperty(e)}class wi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?vl:Ti:i?Ei:xi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=K(t);if(!r){let c;if(o&&(c=il[n]))return c;if(n==="hasOwnProperty")return cl}const l=Reflect.get(t,n,fe(t)?t:s);return(Ye(n)?_i.has(n):ll(n))||(r||me(t,"get",n),i)?l:fe(l)?o&&Hs(n)?l:l.value:ne(l)?r?Vn(l):jn(l):l}}class Si extends wi{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const c=yt(i);if(!Pe(s)&&!yt(s)&&(i=J(i),s=J(s)),!K(t)&&fe(i)&&!fe(s))return c?!1:(i.value=s,!0)}const o=K(t)&&Hs(n)?Number(n)e,ln=e=>Reflect.getPrototypeOf(e);function hl(e,t,n){return function(...s){const r=this.__v_raw,i=J(r),o=Tt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,f=r[e](...s),a=n?ws:t?Ss:ye;return!t&&me(i,"iterate",c?_s:dt),{next(){const{value:d,done:y}=f.next();return y?{value:d,done:y}:{value:l?[a(d[0]),a(d[1])]:a(d),done:y}},[Symbol.iterator](){return this}}}}function cn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function pl(e,t){const n={get(r){const i=this.__v_raw,o=J(i),l=J(r);e||(tt(r,l)&&me(o,"get",r),me(o,"get",l));const{has:c}=ln(o),f=t?ws:e?Ss:ye;if(c.call(o,r))return f(i.get(r));if(c.call(o,l))return f(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&me(J(r),"iterate",dt),Reflect.get(r,"size",r)},has(r){const i=this.__v_raw,o=J(i),l=J(r);return e||(tt(r,l)&&me(o,"has",r),me(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=J(l),f=t?ws:e?Ss:ye;return!e&&me(c,"iterate",dt),l.forEach((a,d)=>r.call(i,f(a),f(d),o))}};return ce(n,e?{add:cn("add"),set:cn("set"),delete:cn("delete"),clear:cn("clear")}:{add(r){!t&&!Pe(r)&&!yt(r)&&(r=J(r));const i=J(this);return ln(i).has.call(i,r)||(i.add(r),qe(i,"add",r,r)),this},set(r,i){!t&&!Pe(i)&&!yt(i)&&(i=J(i));const o=J(this),{has:l,get:c}=ln(o);let f=l.call(o,r);f||(r=J(r),f=l.call(o,r));const a=c.call(o,r);return o.set(r,i),f?tt(i,a)&&qe(o,"set",r,i):qe(o,"add",r,i),this},delete(r){const i=J(this),{has:o,get:l}=ln(i);let c=o.call(i,r);c||(r=J(r),c=o.call(i,r)),l&&l.call(i,r);const f=i.delete(r);return c&&qe(i,"delete",r,void 0),f},clear(){const r=J(this),i=r.size!==0,o=r.clear();return i&&qe(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=hl(r,e,t)}),n}function Bs(e,t){const n=pl(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(z(n,r)&&r in s?n:s,r,i)}const gl={get:Bs(!1,!1)},ml={get:Bs(!1,!0)},yl={get:Bs(!0,!1)};const xi=new WeakMap,Ei=new WeakMap,Ti=new WeakMap,vl=new WeakMap;function bl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _l(e){return e.__v_skip||!Object.isExtensible(e)?0:bl(Bo(e))}function jn(e){return yt(e)?e:Ws(e,!1,fl,gl,xi)}function wl(e){return Ws(e,!1,dl,ml,Ei)}function Vn(e){return Ws(e,!0,ul,yl,Ti)}function Ws(e,t,n,s,r){if(!ne(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=_l(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ht(e){return yt(e)?ht(e.__v_raw):!!(e&&e.__v_isReactive)}function yt(e){return!!(e&&e.__v_isReadonly)}function Pe(e){return!!(e&&e.__v_isShallow)}function Ks(e){return e?!!e.__v_raw:!1}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function _n(e){return!z(e,"__v_skip")&&Object.isExtensible(e)&&li(e,"__v_skip",!0),e}const ye=e=>ne(e)?jn(e):e,Ss=e=>ne(e)?Vn(e):e;function fe(e){return e?e.__v_isRef===!0:!1}function oe(e){return Ci(e,!1)}function qs(e){return Ci(e,!0)}function Ci(e,t){return fe(e)?e:new Sl(e,t)}class Sl{constructor(t,n){this.dep=new Hn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:J(t),this._value=n?t:ye(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Pe(t)||yt(t);t=s?t:J(t),tt(t,n)&&(this._rawValue=t,this._value=s?t:ye(t),this.dep.trigger())}}function Ai(e){return fe(e)?e.value:e}const xl={get:(e,t,n)=>t==="__v_raw"?e:Ai(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return fe(r)&&!fe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Ri(e){return ht(e)?e:new Proxy(e,xl)}class El{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Hn,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Tl(e){return new El(e)}class Cl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return rl(J(this._object),this._key)}}class Al{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Rl(e,t,n){return fe(e)?e:q(e)?new Al(e):ne(e)&&arguments.length>1?Ol(e,t,n):oe(e)}function Ol(e,t,n){const s=e[t];return fe(s)?s:new Cl(e,t,n)}class Ml{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Hn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Kt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&te!==this)return pi(this,!0),!0}get value(){const t=this.dep.track();return yi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Pl(e,t,n=!1){let s,r;return q(e)?s=e:(s=e.get,r=e.set),new Ml(s,r,n)}const an={},Cn=new WeakMap;let ft;function Ll(e,t=!1,n=ft){if(n){let s=Cn.get(n);s||Cn.set(n,s=[]),s.push(e)}}function Il(e,t,n=Z){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,f=g=>r?g:Pe(g)||r===!1||r===0?Ge(g,1):Ge(g);let a,d,y,v,S=!1,b=!1;if(fe(e)?(d=()=>e.value,S=Pe(e)):ht(e)?(d=()=>f(e),S=!0):K(e)?(b=!0,S=e.some(g=>ht(g)||Pe(g)),d=()=>e.map(g=>{if(fe(g))return g.value;if(ht(g))return f(g);if(q(g))return c?c(g,2):g()})):q(e)?t?d=c?()=>c(e,2):e:d=()=>{if(y){rt();try{y()}finally{it()}}const g=ft;ft=a;try{return c?c(e,3,[v]):e(v)}finally{ft=g}}:d=ke,t&&r){const g=d,M=r===!0?1/0:r;d=()=>Ge(g(),M)}const B=ui(),N=()=>{a.stop(),B&&Ds(B.effects,a)};if(i&&t){const g=t;t=(...M)=>{g(...M),N()}}let j=b?new Array(e.length).fill(an):an;const p=g=>{if(!(!(a.flags&1)||!a.dirty&&!g))if(t){const M=a.run();if(r||S||(b?M.some((F,H)=>tt(F,j[H])):tt(M,j))){y&&y();const F=ft;ft=a;try{const H=[M,j===an?void 0:b&&j[0]===an?[]:j,v];c?c(t,3,H):t(...H),j=M}finally{ft=F}}}else a.run()};return l&&l(p),a=new di(d),a.scheduler=o?()=>o(p,!1):p,v=g=>Ll(g,!1,a),y=a.onStop=()=>{const g=Cn.get(a);if(g){if(c)c(g,4);else for(const M of g)M();Cn.delete(a)}},t?s?p(!0):j=a.run():o?o(p.bind(null,!0),!0):a.run(),N.pause=a.pause.bind(a),N.resume=a.resume.bind(a),N.stop=N,N}function Ge(e,t=1/0,n){if(t<=0||!ne(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,fe(e))Ge(e.value,t,n);else if(K(e))for(let s=0;s{Ge(s,t,n)});else if(oi(e)){for(const s in e)Ge(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ge(e[s],t,n)}return e}/** +* @vue/runtime-core v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function en(e,t,n,s){try{return s?e(...s):e()}catch(r){tn(r,t,n)}}function De(e,t,n,s){if(q(e)){const r=en(e,t,n,s);return r&&ri(r)&&r.catch(i=>{tn(i,t,n)}),r}if(K(e)){const r=[];for(let i=0;i>>1,r=we[s],i=Gt(r);i=Gt(n)?we.push(e):we.splice(Fl(t),0,e),e.flags|=1,Mi()}}function Mi(){An||(An=Oi.then(Pi))}function Dl(e){K(e)?At.push(...e):Qe&&e.id===-1?Qe.splice(wt+1,0,e):e.flags&1||(At.push(e),e.flags|=1),Mi()}function dr(e,t,n=Ve+1){for(;nGt(n)-Gt(s));if(At.length=0,Qe){Qe.push(...t);return}for(Qe=t,wt=0;wte.id==null?e.flags&2?-1:1/0:e.id;function Pi(e){try{for(Ve=0;Ve{s._d&&Cr(-1);const i=On(t);let o;try{o=e(...r)}finally{On(i),s._d&&Cr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function bf(e,t){if(de===null)return e;const n=Gn(de),s=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,Vt=e=>e&&(e.disabled||e.disabled===""),$l=e=>e&&(e.defer||e.defer===""),hr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,pr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,xs=(e,t)=>{const n=e&&e.to;return re(n)?t?t(n):null:n},jl={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,f){const{mc:a,pc:d,pbc:y,o:{insert:v,querySelector:S,createText:b,createComment:B}}=f,N=Vt(t.props);let{shapeFlag:j,children:p,dynamicChildren:g}=t;if(e==null){const M=t.el=b(""),F=t.anchor=b("");v(M,n,s),v(F,n,s);const H=(R,_)=>{j&16&&(r&&r.isCE&&(r.ce._teleportTarget=R),a(p,R,_,r,i,o,l,c))},V=()=>{const R=t.target=xs(t.props,S),_=Fi(R,t,b,v);R&&(o!=="svg"&&hr(R)?o="svg":o!=="mathml"&&pr(R)&&(o="mathml"),N||(H(R,_),wn(t,!1)))};N&&(H(n,F),wn(t,!0)),$l(t.props)?xe(V,i):V()}else{t.el=e.el,t.targetStart=e.targetStart;const M=t.anchor=e.anchor,F=t.target=e.target,H=t.targetAnchor=e.targetAnchor,V=Vt(e.props),R=V?n:F,_=V?M:H;if(o==="svg"||hr(F)?o="svg":(o==="mathml"||pr(F))&&(o="mathml"),g?(y(e.dynamicChildren,g,R,r,i,o,l),Qs(e,t,!0)):c||d(e,t,R,_,r,i,o,l,!1),N)V?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):fn(t,n,M,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const I=t.target=xs(t.props,S);I&&fn(t,I,null,f,0)}else V&&fn(t,F,H,f,1);wn(t,N)}},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:c,targetStart:f,targetAnchor:a,target:d,props:y}=e;if(d&&(r(f),r(a)),i&&r(c),o&16){const v=i||!Vt(y);for(let S=0;S{e.isMounted=!0}),ki(()=>{e.isUnmounting=!0}),e}const Re=[Function,Array],Di={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Re,onEnter:Re,onAfterEnter:Re,onEnterCancelled:Re,onBeforeLeave:Re,onLeave:Re,onAfterLeave:Re,onLeaveCancelled:Re,onBeforeAppear:Re,onAppear:Re,onAfterAppear:Re,onAppearCancelled:Re},Hi=e=>{const t=e.subTree;return t.component?Hi(t.component):t},kl={name:"BaseTransition",props:Di,setup(e,{slots:t}){const n=qn(),s=Ul();return()=>{const r=t.default&&Vi(t.default(),!0);if(!r||!r.length)return;const i=$i(r),o=J(e),{mode:l}=o;if(s.isLeaving)return ts(i);const c=gr(i);if(!c)return ts(i);let f=Es(c,o,s,n,y=>f=y);c.type!==ve&&Yt(c,f);const a=n.subTree,d=a&&gr(a);if(d&&d.type!==ve&&!ut(c,d)&&Hi(n).type!==ve){const y=Es(d,o,s,n);if(Yt(d,y),l==="out-in"&&c.type!==ve)return s.isLeaving=!0,y.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete y.afterLeave},ts(i);l==="in-out"&&c.type!==ve&&(y.delayLeave=(v,S,b)=>{const B=ji(s,d);B[String(d.key)]=d,v[Ze]=()=>{S(),v[Ze]=void 0,delete f.delayedLeave},f.delayedLeave=b})}return i}}};function $i(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ve){t=n;break}}return t}const Bl=kl;function ji(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Es(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:y,onLeave:v,onAfterLeave:S,onLeaveCancelled:b,onBeforeAppear:B,onAppear:N,onAfterAppear:j,onAppearCancelled:p}=t,g=String(e.key),M=ji(n,e),F=(R,_)=>{R&&De(R,s,9,_)},H=(R,_)=>{const I=_[1];F(R,_),K(R)?R.every(E=>E.length<=1)&&I():R.length<=1&&I()},V={mode:o,persisted:l,beforeEnter(R){let _=c;if(!n.isMounted)if(i)_=B||c;else return;R[Ze]&&R[Ze](!0);const I=M[g];I&&ut(e,I)&&I.el[Ze]&&I.el[Ze](),F(_,[R])},enter(R){let _=f,I=a,E=d;if(!n.isMounted)if(i)_=N||f,I=j||a,E=p||d;else return;let W=!1;const se=R[un]=ae=>{W||(W=!0,ae?F(E,[R]):F(I,[R]),V.delayedLeave&&V.delayedLeave(),R[un]=void 0)};_?H(_,[R,se]):se()},leave(R,_){const I=String(e.key);if(R[un]&&R[un](!0),n.isUnmounting)return _();F(y,[R]);let E=!1;const W=R[Ze]=se=>{E||(E=!0,_(),se?F(b,[R]):F(S,[R]),R[Ze]=void 0,M[I]===e&&delete M[I])};M[I]=e,v?H(v,[R,W]):W()},clone(R){const _=Es(R,t,n,s,r);return r&&r(_),_}};return V}function ts(e){if(nn(e))return e=nt(e),e.children=null,e}function gr(e){if(!nn(e))return Ni(e.type)&&e.children?$i(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&q(n.default))return n.default()}}function Yt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Yt(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Vi(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;iMn(S,t&&(K(t)?t[b]:t),n,s,r));return}if(pt(s)&&!r)return;const i=s.shapeFlag&4?Gn(s.component):s.el,o=r?null:i,{i:l,r:c}=e,f=t&&t.r,a=l.refs===Z?l.refs={}:l.refs,d=l.setupState,y=J(d),v=d===Z?()=>!1:S=>z(y,S);if(f!=null&&f!==c&&(re(f)?(a[f]=null,v(f)&&(d[f]=null)):fe(f)&&(f.value=null)),q(c))en(c,l,12,[o,a]);else{const S=re(c),b=fe(c);if(S||b){const B=()=>{if(e.f){const N=S?v(c)?d[c]:a[c]:c.value;r?K(N)&&Ds(N,i):K(N)?N.includes(i)||N.push(i):S?(a[c]=[i],v(c)&&(d[c]=a[c])):(c.value=[i],e.k&&(a[e.k]=c.value))}else S?(a[c]=o,v(c)&&(d[c]=o)):b&&(c.value=o,e.k&&(a[e.k]=o))};o?(B.id=-1,xe(B,n)):B()}}}let mr=!1;const _t=()=>{mr||(console.error("Hydration completed but contains mismatches."),mr=!0)},Wl=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Kl=e=>e.namespaceURI.includes("MathML"),dn=e=>{if(e.nodeType===1){if(Wl(e))return"svg";if(Kl(e))return"mathml"}},xt=e=>e.nodeType===8;function ql(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:f}}=e,a=(p,g)=>{if(!g.hasChildNodes()){n(null,p,g),Rn(),g._vnode=p;return}d(g.firstChild,p,null,null,null),Rn(),g._vnode=p},d=(p,g,M,F,H,V=!1)=>{V=V||!!g.dynamicChildren;const R=xt(p)&&p.data==="[",_=()=>b(p,g,M,F,H,R),{type:I,ref:E,shapeFlag:W,patchFlag:se}=g;let ae=p.nodeType;g.el=p,se===-2&&(V=!1,g.dynamicChildren=null);let U=null;switch(I){case gt:ae!==3?g.children===""?(c(g.el=r(""),o(p),p),U=p):U=_():(p.data!==g.children&&(_t(),p.data=g.children),U=i(p));break;case ve:j(p)?(U=i(p),N(g.el=p.content.firstChild,p,M)):ae!==8||R?U=_():U=i(p);break;case kt:if(R&&(p=i(p),ae=p.nodeType),ae===1||ae===3){U=p;const Y=!g.children.length;for(let $=0;${V=V||!!g.dynamicChildren;const{type:R,props:_,patchFlag:I,shapeFlag:E,dirs:W,transition:se}=g,ae=R==="input"||R==="option";if(ae||I!==-1){W&&Ue(g,null,M,"created");let U=!1;if(j(p)){U=io(null,se)&&M&&M.vnode.props&&M.vnode.props.appear;const $=p.content.firstChild;U&&se.beforeEnter($),N($,p,M),g.el=p=$}if(E&16&&!(_&&(_.innerHTML||_.textContent))){let $=v(p.firstChild,g,p,M,F,H,V);for(;$;){hn(p,1)||_t();const he=$;$=$.nextSibling,l(he)}}else if(E&8){let $=g.children;$[0]===` +`&&(p.tagName==="PRE"||p.tagName==="TEXTAREA")&&($=$.slice(1)),p.textContent!==$&&(hn(p,0)||_t(),p.textContent=g.children)}if(_){if(ae||!V||I&48){const $=p.tagName.includes("-");for(const he in _)(ae&&(he.endsWith("value")||he==="indeterminate")||Zt(he)&&!Ct(he)||he[0]==="."||$)&&s(p,he,null,_[he],void 0,M)}else if(_.onClick)s(p,"onClick",null,_.onClick,void 0,M);else if(I&4&&ht(_.style))for(const $ in _.style)_.style[$]}let Y;(Y=_&&_.onVnodeBeforeMount)&&Oe(Y,M,g),W&&Ue(g,null,M,"beforeMount"),((Y=_&&_.onVnodeMounted)||W||U)&&fo(()=>{Y&&Oe(Y,M,g),U&&se.enter(p),W&&Ue(g,null,M,"mounted")},F)}return p.nextSibling},v=(p,g,M,F,H,V,R)=>{R=R||!!g.dynamicChildren;const _=g.children,I=_.length;for(let E=0;E{const{slotScopeIds:R}=g;R&&(H=H?H.concat(R):R);const _=o(p),I=v(i(p),g,_,M,F,H,V);return I&&xt(I)&&I.data==="]"?i(g.anchor=I):(_t(),c(g.anchor=f("]"),_,I),I)},b=(p,g,M,F,H,V)=>{if(hn(p.parentElement,1)||_t(),g.el=null,V){const I=B(p);for(;;){const E=i(p);if(E&&E!==I)l(E);else break}}const R=i(p),_=o(p);return l(p),n(null,g,_,R,M,F,dn(_),H),R},B=(p,g="[",M="]")=>{let F=0;for(;p;)if(p=i(p),p&&xt(p)&&(p.data===g&&F++,p.data===M)){if(F===0)return i(p);F--}return p},N=(p,g,M)=>{const F=g.parentNode;F&&F.replaceChild(p,g);let H=M;for(;H;)H.vnode.el===g&&(H.vnode.el=H.subTree.el=p),H=H.parent},j=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[a,d]}const yr="data-allow-mismatch",Gl={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function hn(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(yr);)e=e.parentElement;const n=e&&e.getAttribute(yr);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:n.split(",").includes(Gl[t])}}Dn().requestIdleCallback;Dn().cancelIdleCallback;function Yl(e,t){if(xt(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(xt(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const pt=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function wf(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:i,timeout:o,suspensible:l=!0,onError:c}=e;let f=null,a,d=0;const y=()=>(d++,f=null,v()),v=()=>{let S;return f||(S=f=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),c)return new Promise((B,N)=>{c(b,()=>B(y()),()=>N(b),d+1)});throw b}).then(b=>S!==f&&f?f:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),a=b,b)))};return Ys({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(S,b,B){const N=i?()=>{const j=i(B,p=>Yl(S,p));j&&(b.bum||(b.bum=[])).push(j)}:B;a?N():v().then(()=>!b.isUnmounted&&N())},get __asyncResolved(){return a},setup(){const S=ue;if(Xs(S),a)return()=>ns(a,S);const b=p=>{f=null,tn(p,S,13,!s)};if(l&&S.suspense||Mt)return v().then(p=>()=>ns(p,S)).catch(p=>(b(p),()=>s?le(s,{error:p}):null));const B=oe(!1),N=oe(),j=oe(!!r);return r&&setTimeout(()=>{j.value=!1},r),o!=null&&setTimeout(()=>{if(!B.value&&!N.value){const p=new Error(`Async component timed out after ${o}ms.`);b(p),N.value=p}},o),v().then(()=>{B.value=!0,S.parent&&nn(S.parent.vnode)&&S.parent.update()}).catch(p=>{b(p),N.value=p}),()=>{if(B.value&&a)return ns(a,S);if(N.value&&s)return le(s,{error:N.value});if(n&&!j.value)return le(n)}}})}function ns(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=le(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const nn=e=>e.type.__isKeepAlive;function Xl(e,t){Ui(e,"a",t)}function Jl(e,t){Ui(e,"da",t)}function Ui(e,t,n=ue){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(kn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)nn(r.parent.vnode)&&zl(s,t,n,r),r=r.parent}}function zl(e,t,n,s){const r=kn(t,e,s,!0);Bn(()=>{Ds(s[t],r)},n)}function kn(e,t,n=ue,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=sn(n),c=De(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const Xe=e=>(t,n=ue)=>{(!Mt||e==="sp")&&kn(e,(...s)=>t(...s),n)},Ql=Xe("bm"),Lt=Xe("m"),Zl=Xe("bu"),ec=Xe("u"),ki=Xe("bum"),Bn=Xe("um"),tc=Xe("sp"),nc=Xe("rtg"),sc=Xe("rtc");function rc(e,t=ue){kn("ec",e,t)}const Bi="components";function Sf(e,t){return Ki(Bi,e,!0,t)||e}const Wi=Symbol.for("v-ndc");function xf(e){return re(e)?Ki(Bi,e,!1)||e:e||Wi}function Ki(e,t,n=!0,s=!1){const r=de||ue;if(r){const i=r.type;{const l=Bc(i,!1);if(l&&(l===t||l===Le(t)||l===Fn(Le(t))))return i}const o=vr(r[e]||i[e],t)||vr(r.appContext[e],t);return!o&&s?i:o}}function vr(e,t){return e&&(e[t]||e[Le(t)]||e[Fn(Le(t))])}function Ef(e,t,n,s){let r;const i=n,o=K(e);if(o||re(e)){const l=o&&ht(e);let c=!1;l&&(c=!Pe(e),e=$n(e)),r=new Array(e.length);for(let f=0,a=e.length;ft(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,f=l.length;cJt(t)?!(t.type===ve||t.type===Se&&!qi(t.children)):!0)?e:null}function Cf(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:vn(s)]=e[s];return n}const Ts=e=>e?mo(e)?Gn(e):Ts(e.parent):null,Ut=ce(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ts(e.parent),$root:e=>Ts(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Js(e),$forceUpdate:e=>e.f||(e.f=()=>{Gs(e.update)}),$nextTick:e=>e.n||(e.n=Un.bind(e.proxy)),$watch:e=>Cc.bind(e)}),ss=(e,t)=>e!==Z&&!e.__isScriptSetup&&z(e,t),ic={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ss(s,t))return o[t]=1,s[t];if(r!==Z&&z(r,t))return o[t]=2,r[t];if((f=e.propsOptions[0])&&z(f,t))return o[t]=3,i[t];if(n!==Z&&z(n,t))return o[t]=4,n[t];Cs&&(o[t]=0)}}const a=Ut[t];let d,y;if(a)return t==="$attrs"&&me(e.attrs,"get",""),a(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==Z&&z(n,t))return o[t]=4,n[t];if(y=c.config.globalProperties,z(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ss(r,t)?(r[t]=n,!0):s!==Z&&z(s,t)?(s[t]=n,!0):z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==Z&&z(e,o)||ss(t,o)||(l=i[0])&&z(l,o)||z(s,o)||z(Ut,o)||z(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Af(){return oc().slots}function oc(){const e=qn();return e.setupContext||(e.setupContext=vo(e))}function br(e){return K(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Cs=!0;function lc(e){const t=Js(e),n=e.proxy,s=e.ctx;Cs=!1,t.beforeCreate&&_r(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:f,created:a,beforeMount:d,mounted:y,beforeUpdate:v,updated:S,activated:b,deactivated:B,beforeDestroy:N,beforeUnmount:j,destroyed:p,unmounted:g,render:M,renderTracked:F,renderTriggered:H,errorCaptured:V,serverPrefetch:R,expose:_,inheritAttrs:I,components:E,directives:W,filters:se}=t;if(f&&cc(f,s,null),o)for(const Y in o){const $=o[Y];q($)&&(s[Y]=$.bind(n))}if(r){const Y=r.call(n,n);ne(Y)&&(e.data=jn(Y))}if(Cs=!0,i)for(const Y in i){const $=i[Y],he=q($)?$.bind(n,n):q($.get)?$.get.bind(n,n):ke,rn=!q($)&&q($.set)?$.set.bind(n):ke,ot=ie({get:he,set:rn});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>ot.value,set:$e=>ot.value=$e})}if(l)for(const Y in l)Gi(l[Y],s,n,Y);if(c){const Y=q(c)?c.call(n):c;Reflect.ownKeys(Y).forEach($=>{pc($,Y[$])})}a&&_r(a,e,"c");function U(Y,$){K($)?$.forEach(he=>Y(he.bind(n))):$&&Y($.bind(n))}if(U(Ql,d),U(Lt,y),U(Zl,v),U(ec,S),U(Xl,b),U(Jl,B),U(rc,V),U(sc,F),U(nc,H),U(ki,j),U(Bn,g),U(tc,R),K(_))if(_.length){const Y=e.exposed||(e.exposed={});_.forEach($=>{Object.defineProperty(Y,$,{get:()=>n[$],set:he=>n[$]=he})})}else e.exposed||(e.exposed={});M&&e.render===ke&&(e.render=M),I!=null&&(e.inheritAttrs=I),E&&(e.components=E),W&&(e.directives=W),R&&Xs(e)}function cc(e,t,n=ke){K(e)&&(e=As(e));for(const s in e){const r=e[s];let i;ne(r)?"default"in r?i=Ot(r.from||s,r.default,!0):i=Ot(r.from||s):i=Ot(r),fe(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function _r(e,t,n){De(K(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Gi(e,t,n,s){let r=s.includes(".")?lo(n,s):()=>n[s];if(re(e)){const i=t[e];q(i)&&Fe(r,i)}else if(q(e))Fe(r,e.bind(n));else if(ne(e))if(K(e))e.forEach(i=>Gi(i,t,n,s));else{const i=q(e.handler)?e.handler.bind(n):t[e.handler];q(i)&&Fe(r,i,e)}}function Js(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>Pn(c,f,o,!0)),Pn(c,t,o)),ne(t)&&i.set(t,c),c}function Pn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Pn(e,i,n,!0),r&&r.forEach(o=>Pn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=ac[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const ac={data:wr,props:Sr,emits:Sr,methods:Ht,computed:Ht,beforeCreate:be,created:be,beforeMount:be,mounted:be,beforeUpdate:be,updated:be,beforeDestroy:be,beforeUnmount:be,destroyed:be,unmounted:be,activated:be,deactivated:be,errorCaptured:be,serverPrefetch:be,components:Ht,directives:Ht,watch:uc,provide:wr,inject:fc};function wr(e,t){return t?e?function(){return ce(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function fc(e,t){return Ht(As(e),As(t))}function As(e){if(K(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(s&&s.proxy):t}}const Xi={},Ji=()=>Object.create(Xi),zi=e=>Object.getPrototypeOf(e)===Xi;function gc(e,t,n,s=!1){const r={},i=Ji();e.propsDefaults=Object.create(null),Qi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:wl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function mc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=J(r),[c]=e.propsOptions;let f=!1;if((s||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let d=0;d{c=!0;const[y,v]=Zi(d,t,!0);ce(o,y),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!c)return ne(e)&&s.set(e,Et),Et;if(K(i))for(let a=0;ae[0]==="_"||e==="$stable",zs=e=>K(e)?e.map(Me):[Me(e)],vc=(e,t,n)=>{if(t._n)return t;const s=Hl((...r)=>zs(t(...r)),n);return s._c=!1,s},to=(e,t,n)=>{const s=e._ctx;for(const r in e){if(eo(r))continue;const i=e[r];if(q(i))t[r]=vc(r,i,s);else if(i!=null){const o=zs(i);t[r]=()=>o}}},no=(e,t)=>{const n=zs(t);e.slots.default=()=>n},so=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},bc=(e,t,n)=>{const s=e.slots=Ji();if(e.vnode.shapeFlag&32){const r=t._;r?(so(s,t,n),n&&li(s,"_",r,!0)):to(t,s)}else t&&no(e,t)},_c=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=Z;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:so(r,t,n):(i=!t.$stable,to(t,r)),o=t}else t&&(no(e,t),o={default:1});if(i)for(const l in r)!eo(l)&&o[l]==null&&delete r[l]},xe=fo;function wc(e){return ro(e)}function Sc(e){return ro(e,ql)}function ro(e,t){const n=Dn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:f,setElementText:a,parentNode:d,nextSibling:y,setScopeId:v=ke,insertStaticContent:S}=e,b=(u,h,m,T=null,w=null,x=null,P=void 0,O=null,A=!!h.dynamicChildren)=>{if(u===h)return;u&&!ut(u,h)&&(T=on(u),$e(u,w,x,!0),u=null),h.patchFlag===-2&&(A=!1,h.dynamicChildren=null);const{type:C,ref:k,shapeFlag:L}=h;switch(C){case gt:B(u,h,m,T);break;case ve:N(u,h,m,T);break;case kt:u==null&&j(h,m,T,P);break;case Se:E(u,h,m,T,w,x,P,O,A);break;default:L&1?M(u,h,m,T,w,x,P,O,A):L&6?W(u,h,m,T,w,x,P,O,A):(L&64||L&128)&&C.process(u,h,m,T,w,x,P,O,A,vt)}k!=null&&w&&Mn(k,u&&u.ref,x,h||u,!h)},B=(u,h,m,T)=>{if(u==null)s(h.el=l(h.children),m,T);else{const w=h.el=u.el;h.children!==u.children&&f(w,h.children)}},N=(u,h,m,T)=>{u==null?s(h.el=c(h.children||""),m,T):h.el=u.el},j=(u,h,m,T)=>{[u.el,u.anchor]=S(u.children,h,m,T,u.el,u.anchor)},p=({el:u,anchor:h},m,T)=>{let w;for(;u&&u!==h;)w=y(u),s(u,m,T),u=w;s(h,m,T)},g=({el:u,anchor:h})=>{let m;for(;u&&u!==h;)m=y(u),r(u),u=m;r(h)},M=(u,h,m,T,w,x,P,O,A)=>{h.type==="svg"?P="svg":h.type==="math"&&(P="mathml"),u==null?F(h,m,T,w,x,P,O,A):R(u,h,w,x,P,O,A)},F=(u,h,m,T,w,x,P,O)=>{let A,C;const{props:k,shapeFlag:L,transition:D,dirs:G}=u;if(A=u.el=o(u.type,x,k&&k.is,k),L&8?a(A,u.children):L&16&&V(u.children,A,null,T,w,rs(u,x),P,O),G&&Ue(u,null,T,"created"),H(A,u,u.scopeId,P,T),k){for(const ee in k)ee!=="value"&&!Ct(ee)&&i(A,ee,null,k[ee],x,T);"value"in k&&i(A,"value",null,k.value,x),(C=k.onVnodeBeforeMount)&&Oe(C,T,u)}G&&Ue(u,null,T,"beforeMount");const X=io(w,D);X&&D.beforeEnter(A),s(A,h,m),((C=k&&k.onVnodeMounted)||X||G)&&xe(()=>{C&&Oe(C,T,u),X&&D.enter(A),G&&Ue(u,null,T,"mounted")},w)},H=(u,h,m,T,w)=>{if(m&&v(u,m),T)for(let x=0;x{for(let C=A;C{const O=h.el=u.el;let{patchFlag:A,dynamicChildren:C,dirs:k}=h;A|=u.patchFlag&16;const L=u.props||Z,D=h.props||Z;let G;if(m&<(m,!1),(G=D.onVnodeBeforeUpdate)&&Oe(G,m,h,u),k&&Ue(h,u,m,"beforeUpdate"),m&<(m,!0),(L.innerHTML&&D.innerHTML==null||L.textContent&&D.textContent==null)&&a(O,""),C?_(u.dynamicChildren,C,O,m,T,rs(h,w),x):P||$(u,h,O,null,m,T,rs(h,w),x,!1),A>0){if(A&16)I(O,L,D,m,w);else if(A&2&&L.class!==D.class&&i(O,"class",null,D.class,w),A&4&&i(O,"style",L.style,D.style,w),A&8){const X=h.dynamicProps;for(let ee=0;ee{G&&Oe(G,m,h,u),k&&Ue(h,u,m,"updated")},T)},_=(u,h,m,T,w,x,P)=>{for(let O=0;O{if(h!==m){if(h!==Z)for(const x in h)!Ct(x)&&!(x in m)&&i(u,x,h[x],null,w,T);for(const x in m){if(Ct(x))continue;const P=m[x],O=h[x];P!==O&&x!=="value"&&i(u,x,O,P,w,T)}"value"in m&&i(u,"value",h.value,m.value,w)}},E=(u,h,m,T,w,x,P,O,A)=>{const C=h.el=u?u.el:l(""),k=h.anchor=u?u.anchor:l("");let{patchFlag:L,dynamicChildren:D,slotScopeIds:G}=h;G&&(O=O?O.concat(G):G),u==null?(s(C,m,T),s(k,m,T),V(h.children||[],m,k,w,x,P,O,A)):L>0&&L&64&&D&&u.dynamicChildren?(_(u.dynamicChildren,D,m,w,x,P,O),(h.key!=null||w&&h===w.subTree)&&Qs(u,h,!0)):$(u,h,m,k,w,x,P,O,A)},W=(u,h,m,T,w,x,P,O,A)=>{h.slotScopeIds=O,u==null?h.shapeFlag&512?w.ctx.activate(h,m,T,P,A):se(h,m,T,w,x,P,A):ae(u,h,A)},se=(u,h,m,T,w,x,P)=>{const O=u.component=jc(u,T,w);if(nn(u)&&(O.ctx.renderer=vt),Vc(O,!1,P),O.asyncDep){if(w&&w.registerDep(O,U,P),!u.el){const A=O.subTree=le(ve);N(null,A,h,m)}}else U(O,u,h,m,w,x,P)},ae=(u,h,m)=>{const T=h.component=u.component;if(Pc(u,h,m))if(T.asyncDep&&!T.asyncResolved){Y(T,h,m);return}else T.next=h,T.update();else h.el=u.el,T.vnode=h},U=(u,h,m,T,w,x,P)=>{const O=()=>{if(u.isMounted){let{next:L,bu:D,u:G,parent:X,vnode:ee}=u;{const Te=oo(u);if(Te){L&&(L.el=ee.el,Y(u,L,P)),Te.asyncDep.then(()=>{u.isUnmounted||O()});return}}let Q=L,Ee;lt(u,!1),L?(L.el=ee.el,Y(u,L,P)):L=ee,D&&bn(D),(Ee=L.props&&L.props.onVnodeBeforeUpdate)&&Oe(Ee,X,L,ee),lt(u,!0);const pe=is(u),Ie=u.subTree;u.subTree=pe,b(Ie,pe,d(Ie.el),on(Ie),u,w,x),L.el=pe.el,Q===null&&Lc(u,pe.el),G&&xe(G,w),(Ee=L.props&&L.props.onVnodeUpdated)&&xe(()=>Oe(Ee,X,L,ee),w)}else{let L;const{el:D,props:G}=h,{bm:X,m:ee,parent:Q,root:Ee,type:pe}=u,Ie=pt(h);if(lt(u,!1),X&&bn(X),!Ie&&(L=G&&G.onVnodeBeforeMount)&&Oe(L,Q,h),lt(u,!0),D&&Jn){const Te=()=>{u.subTree=is(u),Jn(D,u.subTree,u,w,null)};Ie&&pe.__asyncHydrate?pe.__asyncHydrate(D,u,Te):Te()}else{Ee.ce&&Ee.ce._injectChildStyle(pe);const Te=u.subTree=is(u);b(null,Te,m,T,u,w,x),h.el=Te.el}if(ee&&xe(ee,w),!Ie&&(L=G&&G.onVnodeMounted)){const Te=h;xe(()=>Oe(L,Q,Te),w)}(h.shapeFlag&256||Q&&pt(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&xe(u.a,w),u.isMounted=!0,h=m=T=null}};u.scope.on();const A=u.effect=new di(O);u.scope.off();const C=u.update=A.run.bind(A),k=u.job=A.runIfDirty.bind(A);k.i=u,k.id=u.uid,A.scheduler=()=>Gs(k),lt(u,!0),C()},Y=(u,h,m)=>{h.component=u;const T=u.vnode.props;u.vnode=h,u.next=null,mc(u,h.props,T,m),_c(u,h.children,m),rt(),dr(u),it()},$=(u,h,m,T,w,x,P,O,A=!1)=>{const C=u&&u.children,k=u?u.shapeFlag:0,L=h.children,{patchFlag:D,shapeFlag:G}=h;if(D>0){if(D&128){rn(C,L,m,T,w,x,P,O,A);return}else if(D&256){he(C,L,m,T,w,x,P,O,A);return}}G&8?(k&16&&It(C,w,x),L!==C&&a(m,L)):k&16?G&16?rn(C,L,m,T,w,x,P,O,A):It(C,w,x,!0):(k&8&&a(m,""),G&16&&V(L,m,T,w,x,P,O,A))},he=(u,h,m,T,w,x,P,O,A)=>{u=u||Et,h=h||Et;const C=u.length,k=h.length,L=Math.min(C,k);let D;for(D=0;Dk?It(u,w,x,!0,!1,L):V(h,m,T,w,x,P,O,A,L)},rn=(u,h,m,T,w,x,P,O,A)=>{let C=0;const k=h.length;let L=u.length-1,D=k-1;for(;C<=L&&C<=D;){const G=u[C],X=h[C]=A?et(h[C]):Me(h[C]);if(ut(G,X))b(G,X,m,null,w,x,P,O,A);else break;C++}for(;C<=L&&C<=D;){const G=u[L],X=h[D]=A?et(h[D]):Me(h[D]);if(ut(G,X))b(G,X,m,null,w,x,P,O,A);else break;L--,D--}if(C>L){if(C<=D){const G=D+1,X=GD)for(;C<=L;)$e(u[C],w,x,!0),C++;else{const G=C,X=C,ee=new Map;for(C=X;C<=D;C++){const Ce=h[C]=A?et(h[C]):Me(h[C]);Ce.key!=null&&ee.set(Ce.key,C)}let Q,Ee=0;const pe=D-X+1;let Ie=!1,Te=0;const Nt=new Array(pe);for(C=0;C=pe){$e(Ce,w,x,!0);continue}let je;if(Ce.key!=null)je=ee.get(Ce.key);else for(Q=X;Q<=D;Q++)if(Nt[Q-X]===0&&ut(Ce,h[Q])){je=Q;break}je===void 0?$e(Ce,w,x,!0):(Nt[je-X]=C+1,je>=Te?Te=je:Ie=!0,b(Ce,h[je],m,null,w,x,P,O,A),Ee++)}const lr=Ie?xc(Nt):Et;for(Q=lr.length-1,C=pe-1;C>=0;C--){const Ce=X+C,je=h[Ce],cr=Ce+1{const{el:x,type:P,transition:O,children:A,shapeFlag:C}=u;if(C&6){ot(u.component.subTree,h,m,T);return}if(C&128){u.suspense.move(h,m,T);return}if(C&64){P.move(u,h,m,vt);return}if(P===Se){s(x,h,m);for(let L=0;LO.enter(x),w);else{const{leave:L,delayLeave:D,afterLeave:G}=O,X=()=>s(x,h,m),ee=()=>{L(x,()=>{X(),G&&G()})};D?D(x,X,ee):ee()}else s(x,h,m)},$e=(u,h,m,T=!1,w=!1)=>{const{type:x,props:P,ref:O,children:A,dynamicChildren:C,shapeFlag:k,patchFlag:L,dirs:D,cacheIndex:G}=u;if(L===-2&&(w=!1),O!=null&&Mn(O,null,m,u,!0),G!=null&&(h.renderCache[G]=void 0),k&256){h.ctx.deactivate(u);return}const X=k&1&&D,ee=!pt(u);let Q;if(ee&&(Q=P&&P.onVnodeBeforeUnmount)&&Oe(Q,h,u),k&6)Vo(u.component,m,T);else{if(k&128){u.suspense.unmount(m,T);return}X&&Ue(u,null,h,"beforeUnmount"),k&64?u.type.remove(u,h,m,vt,T):C&&!C.hasOnce&&(x!==Se||L>0&&L&64)?It(C,h,m,!1,!0):(x===Se&&L&384||!w&&k&16)&&It(A,h,m),T&&ir(u)}(ee&&(Q=P&&P.onVnodeUnmounted)||X)&&xe(()=>{Q&&Oe(Q,h,u),X&&Ue(u,null,h,"unmounted")},m)},ir=u=>{const{type:h,el:m,anchor:T,transition:w}=u;if(h===Se){jo(m,T);return}if(h===kt){g(u);return}const x=()=>{r(m),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(u.shapeFlag&1&&w&&!w.persisted){const{leave:P,delayLeave:O}=w,A=()=>P(m,x);O?O(u.el,x,A):A()}else x()},jo=(u,h)=>{let m;for(;u!==h;)m=y(u),r(u),u=m;r(h)},Vo=(u,h,m)=>{const{bum:T,scope:w,job:x,subTree:P,um:O,m:A,a:C}=u;Er(A),Er(C),T&&bn(T),w.stop(),x&&(x.flags|=8,$e(P,u,h,m)),O&&xe(O,h),xe(()=>{u.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},It=(u,h,m,T=!1,w=!1,x=0)=>{for(let P=x;P{if(u.shapeFlag&6)return on(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const h=y(u.anchor||u.el),m=h&&h[Ii];return m?y(m):h};let Yn=!1;const or=(u,h,m)=>{u==null?h._vnode&&$e(h._vnode,null,null,!0):b(h._vnode||null,u,h,null,null,null,m),h._vnode=u,Yn||(Yn=!0,dr(),Rn(),Yn=!1)},vt={p:b,um:$e,m:ot,r:ir,mt:se,mc:V,pc:$,pbc:_,n:on,o:e};let Xn,Jn;return t&&([Xn,Jn]=t(vt)),{render:or,hydrate:Xn,createApp:hc(or,Xn)}}function rs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function lt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function io(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qs(e,t,n=!1){const s=e.children,r=t.children;if(K(s)&&K(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function oo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:oo(t)}function Er(e){if(e)for(let t=0;tOt(Ec);function Zs(e,t){return Wn(e,null,t)}function Rf(e,t){return Wn(e,null,{flush:"post"})}function Fe(e,t,n){return Wn(e,t,n)}function Wn(e,t,n=Z){const{immediate:s,deep:r,flush:i,once:o}=n,l=ce({},n),c=t&&s||!t&&i!=="post";let f;if(Mt){if(i==="sync"){const v=Tc();f=v.__watcherHandles||(v.__watcherHandles=[])}else if(!c){const v=()=>{};return v.stop=ke,v.resume=ke,v.pause=ke,v}}const a=ue;l.call=(v,S,b)=>De(v,a,S,b);let d=!1;i==="post"?l.scheduler=v=>{xe(v,a&&a.suspense)}:i!=="sync"&&(d=!0,l.scheduler=(v,S)=>{S?v():Gs(v)}),l.augmentJob=v=>{t&&(v.flags|=4),d&&(v.flags|=2,a&&(v.id=a.uid,v.i=a))};const y=Il(e,t,l);return Mt&&(f?f.push(y):c&&y()),y}function Cc(e,t,n){const s=this.proxy,r=re(e)?e.includes(".")?lo(s,e):()=>s[e]:e.bind(s,s);let i;q(t)?i=t:(i=t.handler,n=t);const o=sn(this),l=Wn(r,i.bind(s),n);return o(),l}function lo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${st(t)}Modifiers`];function Rc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Z;let r=n;const i=t.startsWith("update:"),o=i&&Ac(s,t.slice(7));o&&(o.trim&&(r=n.map(a=>re(a)?a.trim():a)),o.number&&(r=n.map(vs)));let l,c=s[l=vn(t)]||s[l=vn(Le(t))];!c&&i&&(c=s[l=vn(st(t))]),c&&De(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,De(f,e,6,r)}}function co(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!q(e)){const c=f=>{const a=co(f,t,!0);a&&(l=!0,ce(o,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ne(e)&&s.set(e,null),null):(K(i)?i.forEach(c=>o[c]=null):ce(o,i),ne(e)&&s.set(e,o),o)}function Kn(e,t){return!e||!Zt(t)?!1:(t=t.slice(2).replace(/Once$/,""),z(e,t[0].toLowerCase()+t.slice(1))||z(e,st(t))||z(e,t))}function is(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:f,renderCache:a,props:d,data:y,setupState:v,ctx:S,inheritAttrs:b}=e,B=On(e);let N,j;try{if(n.shapeFlag&4){const g=r||s,M=g;N=Me(f.call(M,g,a,d,v,y,S)),j=l}else{const g=t;N=Me(g.length>1?g(d,{attrs:l,slots:o,emit:c}):g(d,null)),j=t.props?l:Oc(l)}}catch(g){Bt.length=0,tn(g,e,1),N=le(ve)}let p=N;if(j&&b!==!1){const g=Object.keys(j),{shapeFlag:M}=p;g.length&&M&7&&(i&&g.some(Fs)&&(j=Mc(j,i)),p=nt(p,j,!1,!0))}return n.dirs&&(p=nt(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&Yt(p,n.transition),N=p,On(B),N}const Oc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Zt(n))&&((t||(t={}))[n]=e[n]);return t},Mc=(e,t)=>{const n={};for(const s in e)(!Fs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Pc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Tr(s,o,f):!!o;if(c&8){const a=t.dynamicProps;for(let d=0;de.__isSuspense;function fo(e,t){t&&t.pendingBranch?K(e)?t.effects.push(...e):t.effects.push(e):Dl(e)}const Se=Symbol.for("v-fgt"),gt=Symbol.for("v-txt"),ve=Symbol.for("v-cmt"),kt=Symbol.for("v-stc"),Bt=[];let Ae=null;function Os(e=!1){Bt.push(Ae=e?null:[])}function Ic(){Bt.pop(),Ae=Bt[Bt.length-1]||null}let Xt=1;function Cr(e){Xt+=e,e<0&&Ae&&(Ae.hasOnce=!0)}function uo(e){return e.dynamicChildren=Xt>0?Ae||Et:null,Ic(),Xt>0&&Ae&&Ae.push(e),e}function Of(e,t,n,s,r,i){return uo(po(e,t,n,s,r,i,!0))}function Ms(e,t,n,s,r){return uo(le(e,t,n,s,r,!0))}function Jt(e){return e?e.__v_isVNode===!0:!1}function ut(e,t){return e.type===t.type&&e.key===t.key}const ho=({key:e})=>e??null,Sn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?re(e)||fe(e)||q(e)?{i:de,r:e,k:t,f:!!n}:e:null);function po(e,t=null,n=null,s=0,r=null,i=e===Se?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ho(t),ref:t&&Sn(t),scopeId:Li,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:de};return l?(er(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=re(n)?8:16),Xt>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const le=Nc;function Nc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Wi)&&(e=ve),Jt(e)){const l=nt(e,t,!0);return n&&er(l,n),Xt>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(Wc(e)&&(e=e.__vccOpts),t){t=Fc(t);let{class:l,style:c}=t;l&&!re(l)&&(t.class=js(l)),ne(c)&&(Ks(c)&&!K(c)&&(c=ce({},c)),t.style=$s(c))}const o=re(e)?1:ao(e)?128:Ni(e)?64:ne(e)?4:q(e)?2:0;return po(e,t,n,s,r,o,i,!0)}function Fc(e){return e?Ks(e)||zi(e)?ce({},e):e:null}function nt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,f=t?Dc(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&ho(f),ref:t&&t.ref?n&&i?K(i)?i.concat(Sn(t)):[i,Sn(t)]:Sn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nt(e.ssContent),ssFallback:e.ssFallback&&nt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Yt(a,c.clone(a)),a}function go(e=" ",t=0){return le(gt,null,e,t)}function Mf(e,t){const n=le(kt,null,e);return n.staticCount=t,n}function Pf(e="",t=!1){return t?(Os(),Ms(ve,null,e)):le(ve,null,e)}function Me(e){return e==null||typeof e=="boolean"?le(ve):K(e)?le(Se,null,e.slice()):Jt(e)?et(e):le(gt,null,String(e))}function et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:nt(e)}function er(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(K(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),er(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!zi(t)?t._ctx=de:r===3&&de&&(de.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:de},n=32):(t=String(t),s&64?(n=16,t=[go(t)]):n=8);e.children=t,e.shapeFlag|=n}function Dc(...e){const t={};for(let n=0;nue||de;let Ln,Ps;{const e=Dn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Ln=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),Ps=t("__VUE_SSR_SETTERS__",n=>Mt=n)}const sn=e=>{const t=ue;return Ln(e),e.scope.on(),()=>{e.scope.off(),Ln(t)}},Ar=()=>{ue&&ue.scope.off(),Ln(null)};function mo(e){return e.vnode.shapeFlag&4}let Mt=!1;function Vc(e,t=!1,n=!1){t&&Ps(t);const{props:s,children:r}=e.vnode,i=mo(e);gc(e,s,i,t),bc(e,r,n);const o=i?Uc(e,t):void 0;return t&&Ps(!1),o}function Uc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ic);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?vo(e):null,i=sn(e),o=en(s,e,0,[e.props,r]),l=ri(o);if(it(),i(),(l||e.sp)&&!pt(e)&&Xs(e),l){if(o.then(Ar,Ar),t)return o.then(c=>{Rr(e,c,t)}).catch(c=>{tn(c,e,0)});e.asyncDep=o}else Rr(e,o,t)}else yo(e,t)}function Rr(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ne(t)&&(e.setupState=Ri(t)),yo(e,n)}let Or;function yo(e,t,n){const s=e.type;if(!e.render){if(!t&&Or&&!s.render){const r=s.template||Js(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=ce(ce({isCustomElement:i,delimiters:l},o),c);s.render=Or(r,f)}}e.render=s.render||ke}{const r=sn(e);rt();try{lc(e)}finally{it(),r()}}}const kc={get(e,t){return me(e,"get",""),e[t]}};function vo(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,kc),slots:e.slots,emit:e.emit,expose:t}}function Gn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ri(_n(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ut)return Ut[n](e)},has(t,n){return n in t||n in Ut}})):e.proxy}function Bc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Wc(e){return q(e)&&"__vccOpts"in e}const ie=(e,t)=>Pl(e,t,Mt);function Ls(e,t,n){const s=arguments.length;return s===2?ne(t)&&!K(t)?Jt(t)?le(e,null,[t]):le(e,t):le(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Jt(n)&&(n=[n]),le(e,t,n))}const Kc="3.5.12";/** +* @vue/runtime-dom v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Is;const Mr=typeof window<"u"&&window.trustedTypes;if(Mr)try{Is=Mr.createPolicy("vue",{createHTML:e=>e})}catch{}const bo=Is?e=>Is.createHTML(e):e=>e,qc="http://www.w3.org/2000/svg",Gc="http://www.w3.org/1998/Math/MathML",Ke=typeof document<"u"?document:null,Pr=Ke&&Ke.createElement("template"),Yc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ke.createElementNS(qc,e):t==="mathml"?Ke.createElementNS(Gc,e):n?Ke.createElement(e,{is:n}):Ke.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ke.createTextNode(e),createComment:e=>Ke.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ke.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Pr.innerHTML=bo(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Pr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Je="transition",Dt="animation",zt=Symbol("_vtc"),_o={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Xc=ce({},Di,_o),Jc=e=>(e.displayName="Transition",e.props=Xc,e),Lf=Jc((e,{slots:t})=>Ls(Bl,zc(e),t)),ct=(e,t=[])=>{K(e)?e.forEach(n=>n(...t)):e&&e(...t)},Lr=e=>e?K(e)?e.some(t=>t.length>1):e.length>1:!1;function zc(e){const t={};for(const E in e)E in _o||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:f=o,appearToClass:a=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,S=Qc(r),b=S&&S[0],B=S&&S[1],{onBeforeEnter:N,onEnter:j,onEnterCancelled:p,onLeave:g,onLeaveCancelled:M,onBeforeAppear:F=N,onAppear:H=j,onAppearCancelled:V=p}=t,R=(E,W,se)=>{at(E,W?a:l),at(E,W?f:o),se&&se()},_=(E,W)=>{E._isLeaving=!1,at(E,d),at(E,v),at(E,y),W&&W()},I=E=>(W,se)=>{const ae=E?H:j,U=()=>R(W,E,se);ct(ae,[W,U]),Ir(()=>{at(W,E?c:i),ze(W,E?a:l),Lr(ae)||Nr(W,s,b,U)})};return ce(t,{onBeforeEnter(E){ct(N,[E]),ze(E,i),ze(E,o)},onBeforeAppear(E){ct(F,[E]),ze(E,c),ze(E,f)},onEnter:I(!1),onAppear:I(!0),onLeave(E,W){E._isLeaving=!0;const se=()=>_(E,W);ze(E,d),ze(E,y),ta(),Ir(()=>{E._isLeaving&&(at(E,d),ze(E,v),Lr(g)||Nr(E,s,B,se))}),ct(g,[E,se])},onEnterCancelled(E){R(E,!1),ct(p,[E])},onAppearCancelled(E){R(E,!0),ct(V,[E])},onLeaveCancelled(E){_(E),ct(M,[E])}})}function Qc(e){if(e==null)return null;if(ne(e))return[os(e.enter),os(e.leave)];{const t=os(e);return[t,t]}}function os(e){return qo(e)}function ze(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[zt]||(e[zt]=new Set)).add(t)}function at(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[zt];n&&(n.delete(t),n.size||(e[zt]=void 0))}function Ir(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Zc=0;function Nr(e,t,n,s){const r=e._endId=++Zc,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=ea(e,t);if(!o)return s();const f=o+"end";let a=0;const d=()=>{e.removeEventListener(f,y),i()},y=v=>{v.target===e&&++a>=c&&d()};setTimeout(()=>{a(n[S]||"").split(", "),r=s(`${Je}Delay`),i=s(`${Je}Duration`),o=Fr(r,i),l=s(`${Dt}Delay`),c=s(`${Dt}Duration`),f=Fr(l,c);let a=null,d=0,y=0;t===Je?o>0&&(a=Je,d=o,y=i.length):t===Dt?f>0&&(a=Dt,d=f,y=c.length):(d=Math.max(o,f),a=d>0?o>f?Je:Dt:null,y=a?a===Je?i.length:c.length:0);const v=a===Je&&/\b(transform|all)(,|$)/.test(s(`${Je}Property`).toString());return{type:a,timeout:d,propCount:y,hasTransform:v}}function Fr(e,t){for(;e.lengthDr(n)+Dr(e[s])))}function Dr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ta(){return document.body.offsetHeight}function na(e,t,n){const s=e[zt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Hr=Symbol("_vod"),sa=Symbol("_vsh"),ra=Symbol(""),ia=/(^|;)\s*display\s*:/;function oa(e,t,n){const s=e.style,r=re(n);let i=!1;if(n&&!r){if(t)if(re(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&xn(s,l,"")}else for(const o in t)n[o]==null&&xn(s,o,"");for(const o in n)o==="display"&&(i=!0),xn(s,o,n[o])}else if(r){if(t!==n){const o=s[ra];o&&(n+=";"+o),s.cssText=n,i=ia.test(n)}}else t&&e.removeAttribute("style");Hr in e&&(e[Hr]=i?s.display:"",e[sa]&&(s.display="none"))}const $r=/\s*!important$/;function xn(e,t,n){if(K(n))n.forEach(s=>xn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=la(e,t);$r.test(n)?e.setProperty(st(s),n.replace($r,""),"important"):e[s]=n}}const jr=["Webkit","Moz","ms"],ls={};function la(e,t){const n=ls[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return ls[t]=s;s=Fn(s);for(let r=0;rcs||(ua.then(()=>cs=0),cs=Date.now());function ha(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;De(pa(s,n.value),t,5,[s])};return n.value=e,n.attached=da(),n}function pa(e,t){if(K(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Kr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ga=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?na(e,s,o):t==="style"?oa(e,n,s):Zt(t)?Fs(t)||aa(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ma(e,t,s,o))?(kr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ur(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!re(s))?kr(e,Le(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ur(e,t,s,o))};function ma(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Kr(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Kr(t)&&re(n)?!1:t in e}const qr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return K(t)?n=>bn(t,n):t};function ya(e){e.target.composing=!0}function Gr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const as=Symbol("_assign"),If={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[as]=qr(r);const i=s||r.props&&r.props.type==="number";St(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=vs(l)),e[as](l)}),n&&St(e,"change",()=>{e.value=e.value.trim()}),t||(St(e,"compositionstart",ya),St(e,"compositionend",Gr),St(e,"change",Gr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[as]=qr(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?vs(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},va=["ctrl","shift","alt","meta"],ba={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>va.some(n=>e[`${n}Key`]&&!t.includes(n))},Nf=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=st(r.key);if(t.some(o=>o===i||_a[o]===i))return e(r)})},wo=ce({patchProp:ga},Yc);let Wt,Yr=!1;function wa(){return Wt||(Wt=wc(wo))}function Sa(){return Wt=Yr?Wt:Sc(wo),Yr=!0,Wt}const Df=(...e)=>{const t=wa().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=xo(s);if(!r)return;const i=t._component;!q(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,So(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},Hf=(...e)=>{const t=Sa().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=xo(s);if(r)return n(r,!0,So(r))},t};function So(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xo(e){return re(e)?document.querySelector(e):e}const $f=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},xa=window.__VP_SITE_DATA__;function tr(e){return ui()?(tl(e),!0):!1}function Be(e){return typeof e=="function"?e():Ai(e)}const Eo=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const jf=e=>e!=null,Ea=Object.prototype.toString,Ta=e=>Ea.call(e)==="[object Object]",Qt=()=>{},Xr=Ca();function Ca(){var e,t;return Eo&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Aa(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const To=e=>e();function Ra(e,t={}){let n,s,r=Qt;const i=l=>{clearTimeout(l),r(),r=Qt};return l=>{const c=Be(e),f=Be(t.maxWait);return n&&i(n),c<=0||f!==void 0&&f<=0?(s&&(i(s),s=null),Promise.resolve(l())):new Promise((a,d)=>{r=t.rejectOnCancel?d:a,f&&!s&&(s=setTimeout(()=>{n&&i(n),s=null,a(l())},f)),n=setTimeout(()=>{s&&i(s),s=null,a(l())},c)})}}function Oa(e=To){const t=oe(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:Vn(t),pause:n,resume:s,eventFilter:r}}function Ma(e){return qn()}function Co(...e){if(e.length!==1)return Rl(...e);const t=e[0];return typeof t=="function"?Vn(Tl(()=>({get:t,set:Qt}))):oe(t)}function Ao(e,t,n={}){const{eventFilter:s=To,...r}=n;return Fe(e,Aa(s,t),r)}function Pa(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=Oa(s);return{stop:Ao(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function nr(e,t=!0,n){Ma()?Lt(e,n):t?e():Un(e)}function Vf(e,t,n={}){const{debounce:s=0,maxWait:r=void 0,...i}=n;return Ao(e,t,{...i,eventFilter:Ra(s,{maxWait:r})})}function Uf(e,t,n){let s;fe(n)?s={evaluating:n}:s={};const{lazy:r=!1,evaluating:i=void 0,shallow:o=!0,onError:l=Qt}=s,c=oe(!r),f=o?qs(t):oe(t);let a=0;return Zs(async d=>{if(!c.value)return;a++;const y=a;let v=!1;i&&Promise.resolve().then(()=>{i.value=!0});try{const S=await e(b=>{d(()=>{i&&(i.value=!1),v||b()})});y===a&&(f.value=S)}catch(S){l(S)}finally{i&&y===a&&(i.value=!1),v=!0}}),r?ie(()=>(c.value=!0,f.value)):f}const He=Eo?window:void 0;function Ro(e){var t;const n=Be(e);return(t=n==null?void 0:n.$el)!=null?t:n}function Pt(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=He):[t,n,s,r]=e,!t)return Qt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(a=>a()),i.length=0},l=(a,d,y,v)=>(a.addEventListener(d,y,v),()=>a.removeEventListener(d,y,v)),c=Fe(()=>[Ro(t),Be(r)],([a,d])=>{if(o(),!a)return;const y=Ta(d)?{...d}:d;i.push(...n.flatMap(v=>s.map(S=>l(a,v,S,y))))},{immediate:!0,flush:"post"}),f=()=>{c(),o()};return tr(f),f}function La(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function kf(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=He,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=La(t);return Pt(r,i,a=>{a.repeat&&Be(l)||c(a)&&n(a)},o)}function Ia(){const e=oe(!1),t=qn();return t&&Lt(()=>{e.value=!0},t),e}function Na(e){const t=Ia();return ie(()=>(t.value,!!e()))}function Oo(e,t={}){const{window:n=He}=t,s=Na(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=oe(!1),o=f=>{i.value=f.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=Zs(()=>{s.value&&(l(),r=n.matchMedia(Be(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return tr(()=>{c(),l(),r=void 0}),i}const pn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},gn="__vueuse_ssr_handlers__",Fa=Da();function Da(){return gn in pn||(pn[gn]=pn[gn]||{}),pn[gn]}function Mo(e,t){return Fa[e]||t}function sr(e){return Oo("(prefers-color-scheme: dark)",e)}function Ha(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const $a={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Jr="vueuse-storage";function rr(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:f=!1,shallow:a,window:d=He,eventFilter:y,onError:v=_=>{console.error(_)},initOnMounted:S}=s,b=(a?qs:oe)(typeof t=="function"?t():t);if(!n)try{n=Mo("getDefaultStorage",()=>{var _;return(_=He)==null?void 0:_.localStorage})()}catch(_){v(_)}if(!n)return b;const B=Be(t),N=Ha(B),j=(r=s.serializer)!=null?r:$a[N],{pause:p,resume:g}=Pa(b,()=>F(b.value),{flush:i,deep:o,eventFilter:y});d&&l&&nr(()=>{n instanceof Storage?Pt(d,"storage",V):Pt(d,Jr,R),S&&V()}),S||V();function M(_,I){if(d){const E={key:e,oldValue:_,newValue:I,storageArea:n};d.dispatchEvent(n instanceof Storage?new StorageEvent("storage",E):new CustomEvent(Jr,{detail:E}))}}function F(_){try{const I=n.getItem(e);if(_==null)M(I,null),n.removeItem(e);else{const E=j.write(_);I!==E&&(n.setItem(e,E),M(I,E))}}catch(I){v(I)}}function H(_){const I=_?_.newValue:n.getItem(e);if(I==null)return c&&B!=null&&n.setItem(e,j.write(B)),B;if(!_&&f){const E=j.read(I);return typeof f=="function"?f(E,B):N==="object"&&!Array.isArray(E)?{...B,...E}:E}else return typeof I!="string"?I:j.read(I)}function V(_){if(!(_&&_.storageArea!==n)){if(_&&_.key==null){b.value=B;return}if(!(_&&_.key!==e)){p();try{(_==null?void 0:_.newValue)!==j.write(b.value)&&(b.value=H(_))}catch(I){v(I)}finally{_?Un(g):g()}}}}function R(_){V(_.detail)}return b}const ja="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function Va(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=He,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:f,disableTransition:a=!0}=e,d={auto:"",light:"light",dark:"dark",...e.modes||{}},y=sr({window:r}),v=ie(()=>y.value?"dark":"light"),S=c||(o==null?Co(s):rr(o,s,i,{window:r,listenToStorageChanges:l})),b=ie(()=>S.value==="auto"?v.value:S.value),B=Mo("updateHTMLAttrs",(g,M,F)=>{const H=typeof g=="string"?r==null?void 0:r.document.querySelector(g):Ro(g);if(!H)return;const V=new Set,R=new Set;let _=null;if(M==="class"){const E=F.split(/\s/g);Object.values(d).flatMap(W=>(W||"").split(/\s/g)).filter(Boolean).forEach(W=>{E.includes(W)?V.add(W):R.add(W)})}else _={key:M,value:F};if(V.size===0&&R.size===0&&_===null)return;let I;a&&(I=r.document.createElement("style"),I.appendChild(document.createTextNode(ja)),r.document.head.appendChild(I));for(const E of V)H.classList.add(E);for(const E of R)H.classList.remove(E);_&&H.setAttribute(_.key,_.value),a&&(r.getComputedStyle(I).opacity,document.head.removeChild(I))});function N(g){var M;B(t,n,(M=d[g])!=null?M:g)}function j(g){e.onChanged?e.onChanged(g,N):N(g)}Fe(b,j,{flush:"post",immediate:!0}),nr(()=>j(b.value));const p=ie({get(){return f?S.value:b.value},set(g){S.value=g}});try{return Object.assign(p,{store:S,system:v,state:b})}catch{return p}}function Ua(e={}){const{valueDark:t="dark",valueLight:n="",window:s=He}=e,r=Va({...e,onChanged:(l,c)=>{var f;e.onChanged?(f=e.onChanged)==null||f.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),i=ie(()=>r.system?r.system.value:sr({window:s}).value?"dark":"light");return ie({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";i.value===c?r.value="auto":r.value=c}})}function fs(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Bf(e,t,n={}){const{window:s=He}=n;return rr(e,t,s==null?void 0:s.localStorage,n)}function Po(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const us=new WeakMap;function Wf(e,t=!1){const n=oe(t);let s=null,r="";Fe(Co(e),l=>{const c=fs(Be(l));if(c){const f=c;if(us.get(f)||us.set(f,f.style.overflow),f.style.overflow!=="hidden"&&(r=f.style.overflow),f.style.overflow==="hidden")return n.value=!0;if(n.value)return f.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=fs(Be(e));!l||n.value||(Xr&&(s=Pt(l,"touchmove",c=>{ka(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=fs(Be(e));!l||!n.value||(Xr&&(s==null||s()),l.style.overflow=r,us.delete(l),n.value=!1)};return tr(o),ie({get(){return n.value},set(l){l?i():o()}})}function Kf(e,t,n={}){const{window:s=He}=n;return rr(e,t,s==null?void 0:s.sessionStorage,n)}function qf(e={}){const{window:t=He,behavior:n="auto"}=e;if(!t)return{x:oe(0),y:oe(0)};const s=oe(t.scrollX),r=oe(t.scrollY),i=ie({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=ie({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Pt(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function Gf(e={}){const{window:t=He,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=oe(n),c=oe(s),f=()=>{t&&(o==="outer"?(l.value=t.outerWidth,c.value=t.outerHeight):i?(l.value=t.innerWidth,c.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight))};if(f(),nr(f),Pt("resize",f,{passive:!0}),r){const a=Oo("(orientation: portrait)");Fe(a,()=>f())}return{width:l,height:c}}const ds={BASE_URL:"/DimensionalData.jl/dev/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var hs={};const Lo=/^(?:[a-z]+:|\/\/)/i,Ba="vitepress-theme-appearance",Wa=/#.*$/,Ka=/[?#].*$/,qa=/(?:(^|\/)index)?\.(?:md|html)$/,ge=typeof document<"u",Io={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ga(e,t,n=!1){if(t===void 0)return!1;if(e=zr(`/${e}`),n)return new RegExp(t).test(e);if(zr(t)!==e)return!1;const s=t.match(Wa);return s?(ge?location.hash:"")===s[0]:!0}function zr(e){return decodeURI(e).replace(Ka,"").replace(qa,"$1")}function Ya(e){return Lo.test(e)}function Xa(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!Ya(n)&&Ga(t,`/${n}/`,!0))||"root"}function Ja(e,t){var s,r,i,o,l,c,f;const n=Xa(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Fo(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(f=e.locales[n])==null?void 0:f.themeConfig}})}function No(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=za(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function za(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Qa(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function Fo(e,t){return[...e.filter(n=>!Qa(t,n)),...t]}const Za=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,ef=/^[a-z]:/i;function Qr(e){const t=ef.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Za,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const ps=new Set;function tf(e){if(ps.size===0){const n=typeof process=="object"&&(hs==null?void 0:hs.VITE_EXTRA_EXTENSIONS)||(ds==null?void 0:ds.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>ps.add(s))}const t=e.split(".").pop();return t==null||!ps.has(t.toLowerCase())}function Yf(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const nf=Symbol(),mt=qs(xa);function Xf(e){const t=ie(()=>Ja(mt.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?oe(!0):n==="force-auto"?sr():n?Ua({storageKey:Ba,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):oe(!1),r=oe(ge?location.hash:"");return ge&&window.addEventListener("hashchange",()=>{r.value=location.hash}),Fe(()=>e.data,()=>{r.value=ge?location.hash:""}),{site:t,theme:ie(()=>t.value.themeConfig),page:ie(()=>e.data),frontmatter:ie(()=>e.data.frontmatter),params:ie(()=>e.data.params),lang:ie(()=>t.value.lang),dir:ie(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:ie(()=>t.value.localeIndex||"root"),title:ie(()=>No(t.value,e.data)),description:ie(()=>e.data.description||t.value.description),isDark:s,hash:ie(()=>r.value)}}function sf(){const e=Ot(nf);if(!e)throw new Error("vitepress data not properly injected in app");return e}function rf(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Zr(e){return Lo.test(e)||!e.startsWith("/")?e:rf(mt.value.base,e)}function of(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),ge){const n="/DimensionalData.jl/dev/";t=Qr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Qr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let En=[];function Jf(e){En.push(e),Bn(()=>{En=En.filter(t=>t!==e)})}function lf(){let e=mt.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=ei(e,n);else if(Array.isArray(e))for(const s of e){const r=ei(s,n);if(r){t=r;break}}return t}function ei(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const cf=Symbol(),Do="http://a.com",af=()=>({path:"/",component:null,data:Io});function zf(e,t){const n=jn(af()),s={route:n,go:r};async function r(l=ge?location.href:"/"){var c,f;l=gs(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(ge&&l!==gs(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((f=s.onAfterRouteChanged)==null?void 0:f.call(s,l)))}let i=null;async function o(l,c=0,f=!1){var y,v;if(await((y=s.onBeforePageLoad)==null?void 0:y.call(s,l))===!1)return;const a=new URL(l,Do),d=i=a.pathname;try{let S=await e(d);if(!S)throw new Error(`Page not found: ${d}`);if(i===d){i=null;const{default:b,__pageData:B}=S;if(!b)throw new Error(`Invalid route component: ${b}`);await((v=s.onAfterPageLoad)==null?void 0:v.call(s,l)),n.path=ge?d:Zr(d),n.component=_n(b),n.data=_n(B),ge&&Un(()=>{let N=mt.value.base+B.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!mt.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==a.pathname&&(a.pathname=N,l=N+a.search+a.hash,history.replaceState({},"",l)),a.hash&&!c){let j=null;try{j=document.getElementById(decodeURIComponent(a.hash).slice(1))}catch(p){console.warn(p)}if(j){ti(j,a.hash);return}}window.scrollTo(0,c)})}}catch(S){if(!/fetch|Page not found/.test(S.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(S),!f)try{const b=await fetch(mt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await b.json(),await o(l,c,!0);return}catch{}if(i===d){i=null,n.path=ge?d:Zr(d),n.component=t?_n(t):null;const b=ge?d.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...Io,relativePath:b}}}}return ge&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const f=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(f==null)return;const{href:a,origin:d,pathname:y,hash:v,search:S}=new URL(f,c.baseURI),b=new URL(location.href);d===b.origin&&tf(y)&&(l.preventDefault(),y===b.pathname&&S===b.search?(v!==b.hash&&(history.pushState({},"",a),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:b.href,newURL:a}))),v?ti(c,v,c.classList.contains("header-anchor")):window.scrollTo(0,0)):r(a))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await o(gs(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function ff(){const e=Ot(cf);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ho(){return ff().route}function ti(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-lf()+i;requestAnimationFrame(r)}}function gs(e){const t=new URL(e,Do);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),mt.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const mn=()=>En.forEach(e=>e()),Qf=Ys({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ho(),{frontmatter:n,site:s}=sf();return Fe(n,mn,{deep:!0,flush:"post"}),()=>Ls(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?Ls(t.component,{onVnodeMounted:mn,onVnodeUpdated:mn,onVnodeUnmounted:mn}):"404 Page Not Found"])}}),uf="modulepreload",df=function(e){return"/DimensionalData.jl/dev/"+e},ni={},Zf=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=df(c),c in ni)return;ni[c]=!0;const f=c.endsWith(".css"),a=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${a}`))return;const d=document.createElement("link");if(d.rel=f?"stylesheet":uf,f||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),f)return new Promise((y,v)=>{d.addEventListener("load",y),d.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},eu=Ys({setup(e,{slots:t}){const n=oe(!1);return Lt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function tu(){ge&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(f=>f.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function nu(){if(ge){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(a=>a.remove());let f=c.textContent||"";o&&(f=f.replace(/^ *(\$|>) /gm,"").trim()),hf(f).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const a=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,a)})}})}}async function hf(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function su(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=ms(l);for(const f of document.head.children)if(f.isEqualNode(c)){s.push(f);return}});return}const o=i.map(ms);s.forEach((l,c)=>{const f=o.findIndex(a=>a==null?void 0:a.isEqualNode(l??null));f!==-1?delete o[f]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};Zs(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],f=No(o,i);f!==document.title&&(document.title=f);const a=l||o.description;let d=document.querySelector("meta[name=description]");d?d.getAttribute("content")!==a&&d.setAttribute("content",a):ms(["meta",{name:"description",content:a}]),r(Fo(o.head,gf(c)))})}function ms([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&t.async==null&&(s.async=!1),s}function pf(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function gf(e){return e.filter(t=>!pf(t))}const ys=new Set,$o=()=>document.createElement("link"),mf=e=>{const t=$o();t.rel="prefetch",t.href=e,document.head.appendChild(t)},yf=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let yn;const vf=ge&&(yn=$o())&&yn.relList&&yn.relList.supports&&yn.relList.supports("prefetch")?mf:yf;function ru(){if(!ge||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!ys.has(c)){ys.add(c);const f=of(c);f&&vf(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):ys.add(l))})})};Lt(s);const r=Ho();Fe(()=>r.path,s),Bn(()=>{n&&n.disconnect()})}export{ki as $,lf as A,Sf as B,Ef as C,qs as D,Jf as E,Se as F,le as G,xf as H,Lo as I,Ho as J,Dc as K,Ot as L,Gf as M,$s as N,kf as O,Un as P,qf as Q,ge as R,Vn as S,Lf as T,wf as U,Zf as V,Wf as W,pc as X,Cf as Y,Ff as Z,$f as _,go as a,Nf as a0,Af as a1,jn as a2,Rl as a3,Mf as a4,su as a5,cf as a6,Xf as a7,nf as a8,Qf as a9,eu as aa,mt as ab,Hf as ac,zf as ad,of as ae,ru as af,nu as ag,tu as ah,Ls as ai,Be as aj,Ro as ak,jf as al,tr as am,Uf as an,Kf as ao,Bf as ap,Vf as aq,ff as ar,Pt as as,bf as at,If as au,fe as av,_f as aw,_n as ax,Df as ay,Yf as az,Ms as b,Of as c,Ys as d,Pf as e,tf as f,Zr as g,ie as h,Ya as i,po as j,Ai as k,Ga as l,Oo as m,js as n,Os as o,oe as p,Fe as q,Tf as r,Zs as s,Zo as t,sf as u,Lt as v,Hl as w,Bn as x,Rf as y,ec as z}; diff --git a/dev/assets/chunks/theme.By8UT2IG.js b/dev/assets/chunks/theme.By8UT2IG.js new file mode 100644 index 000000000..46228f401 --- /dev/null +++ b/dev/assets/chunks/theme.By8UT2IG.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.XEwDE-_y.js","assets/chunks/framework.BAAK0EyE.js"])))=>i.map(i=>d[i]); +import{d as b,o as a,c as d,r as u,n as I,a as j,t as N,b as k,w as f,e as _,T as de,_ as $,u as Ve,i as je,f as ze,g as ve,h as P,j as p,k as r,l as z,m as re,p as T,q as D,s as Z,v as F,x as pe,y as fe,z as Ke,A as qe,B as K,F as M,C as B,D as Se,E as x,G as g,H,I as Le,J as ee,K as G,L as W,M as We,N as Te,O as ie,P as we,Q as Ne,R as te,S as Je,U as Ye,V as Xe,W as Ie,X as he,Y as Qe,Z as Ze,$ as xe,a0 as et,a1 as Me,a2 as tt,a3 as nt}from"./framework.BAAK0EyE.js";const ot=b({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),d("span",{class:I(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[j(N(e.text),1)])],2))}}),st={key:0,class:"VPBackdrop"},at=b({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(de,{name:"fade"},{default:f(()=>[e.show?(a(),d("div",st)):_("",!0)]),_:1}))}}),rt=$(at,[["__scopeId","data-v-b06cdb19"]]),L=Ve;function it(s,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(s,e):(s(),(o=!0)&&setTimeout(()=>o=!1,e))}}function le(s){return/^\//.test(s)?s:`/${s}`}function me(s){const{pathname:e,search:t,hash:o,protocol:n}=new URL(s,"http://a.com");if(je(s)||s.startsWith("#")||!n.startsWith("http")||!ze(e))return s;const{site:i}=L(),l=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${o}`);return ve(l)}function Y({correspondingLink:s=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:i}=L(),l=P(()=>{var c,h;return{label:(c=e.value.locales[t.value])==null?void 0:c.label,link:((h=e.value.locales[t.value])==null?void 0:h.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:P(()=>Object.entries(e.value.locales).flatMap(([c,h])=>l.value.label===h.label?[]:{text:h.label,link:lt(h.link||(c==="root"?"/":`/${c}/`),n.value.i18nRouting!==!1&&s,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function lt(s,e,t,o){return e?s.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt={class:"quote"},pt={class:"action"},ft=["href","aria-label"],ht=b({__name:"NotFound",setup(s){const{theme:e}=L(),{currentLang:t}=Y();return(o,n)=>{var i,l,v,c,h;return a(),d("div",ct,[p("p",ut,N(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",dt,N(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=p("div",{class:"divider"},null,-1)),p("blockquote",vt,N(((v=r(e).notFound)==null?void 0:v.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",pt,[p("a",{class:"link",href:r(ve)(r(t).link),"aria-label":((c=r(e).notFound)==null?void 0:c.linkLabel)??"go to home"},N(((h=r(e).notFound)==null?void 0:h.linkText)??"Take me home"),9,ft)])])}}}),mt=$(ht,[["__scopeId","data-v-951cab6c"]]);function Ce(s,e){if(Array.isArray(s))return X(s);if(s==null)return[];e=le(e);const t=Object.keys(s).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(le(n))),o=t?s[t]:[];return Array.isArray(o)?X(o):X(o.items,o.base)}function _t(s){const e=[];let t=0;for(const o in s){const n=s[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function bt(s){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(s),e}function ce(s,e){return Array.isArray(e)?e.some(t=>ce(s,t)):z(s,e.link)?!0:e.items?ce(s,e.items):!1}function X(s,e){return[...s].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=X(o.items,n)),o})}function R(){const{frontmatter:s,page:e,theme:t}=L(),o=re("(min-width: 960px)"),n=T(!1),i=P(()=>{const A=t.value.sidebar,w=e.value.relativePath;return A?Ce(A,w):[]}),l=T(i.value);D(i,(A,w)=>{JSON.stringify(A)!==JSON.stringify(w)&&(l.value=i.value)});const v=P(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),c=P(()=>h?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),h=P(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),y=P(()=>v.value&&o.value),m=P(()=>v.value?_t(l.value):[]);function V(){n.value=!0}function S(){n.value=!1}function C(){n.value?S():V()}return{isOpen:n,sidebar:l,sidebarGroups:m,hasSidebar:v,hasAside:h,leftAside:c,isSidebarEnabled:y,open:V,close:S,toggle:C}}function kt(s,e){let t;Z(()=>{t=s.value?document.activeElement:void 0}),F(()=>{window.addEventListener("keyup",o)}),pe(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function gt(s){const{page:e,hash:t}=L(),o=T(!1),n=P(()=>s.value.collapsed!=null),i=P(()=>!!s.value.link),l=T(!1),v=()=>{l.value=z(e.value.relativePath,s.value.link)};D([e,s,t],v),F(v);const c=P(()=>l.value?!0:s.value.items?ce(e.value.relativePath,s.value.items):!1),h=P(()=>!!(s.value.items&&s.value.items.length));Z(()=>{o.value=!!(n.value&&s.value.collapsed)}),fe(()=>{(l.value||c.value)&&(o.value=!1)});function y(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:i,isActiveLink:l,hasActiveLink:c,hasChildren:h,toggle:y}}function $t(){const{hasSidebar:s}=R(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:P(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const ue=[];function Ae(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function _e(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:yt(t),link:"#"+t.id,level:o}});return Pt(e,s)}function yt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Pt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return Lt(s,o,n)}function Vt(s,e){const{isAsideEnabled:t}=$t(),o=it(i,100);let n=null;F(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Ke(()=>{l(location.hash)}),pe(()=>{window.removeEventListener("scroll",o)});function i(){if(!t.value)return;const v=window.scrollY,c=window.innerHeight,h=document.body.offsetHeight,y=Math.abs(v+c-h)<1,m=ue.map(({element:S,link:C})=>({link:C,top:St(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,C)=>S.top-C.top);if(!m.length){l(null);return}if(v<1){l(null);return}if(y){l(m[m.length-1].link);return}let V=null;for(const{link:S,top:C}of m){if(C>v+qe()+4)break;V=S}l(V)}function l(v){n&&n.classList.remove("active"),v==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const c=n;c?(c.classList.add("active"),e.value.style.top=c.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function St(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}function Lt(s,e,t){ue.length=0;const o=[],n=[];return s.forEach(i=>{const l={...i,children:[]};let v=n[n.length-1];for(;v&&v.level>=l.level;)n.pop(),v=n[n.length-1];if(l.element.classList.contains("ignore-header")||v&&"shouldIgnore"in v){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=K("VPDocOutlineItem",!0);return a(),d("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),d(M,null,B(t.headers,({children:i,link:l,title:v})=>(a(),d("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:v},N(v),9,Tt),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):_("",!0)]))),256))],2)}}}),Be=$(wt,[["__scopeId","data-v-3f927ebe"]]),Nt={class:"content"},It={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Mt=b({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=L(),o=Se([]);x(()=>{o.value=_e(e.value.outline??t.value.outline)});const n=T(),i=T();return Vt(n,i),(l,v)=>(a(),d("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[p("div",Nt,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",It,N(r(Ae)(r(t))),1),g(Be,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),Ct=$(Mt,[["__scopeId","data-v-b38bf2ff"]]),At={class:"VPDocAsideCarbonAds"},Bt=b({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,o)=>(a(),d("div",At,[g(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Et={class:"VPDocAside"},Ht=b({__name:"VPDocAside",setup(s){const{theme:e}=L();return(t,o)=>(a(),d("div",Et,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),g(Ct),u(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=p("div",{class:"spacer"},null,-1)),u(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Bt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):_("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ot=$(Ht,[["__scopeId","data-v-6d7b3c46"]]);function Dt(){const{theme:s,page:e}=L();return P(()=>{const{text:t="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Ft(){const{page:s,theme:e,frontmatter:t}=L();return P(()=>{var h,y,m,V,S,C,A,w;const o=Ce(e.value.sidebar,s.value.relativePath),n=bt(o),i=Rt(n,E=>E.link.replace(/[?#].*$/,"")),l=i.findIndex(E=>z(s.value.relativePath,E.link)),v=((h=e.value.docFooter)==null?void 0:h.prev)===!1&&!t.value.prev||t.value.prev===!1,c=((y=e.value.docFooter)==null?void 0:y.next)===!1&&!t.value.next||t.value.next===!1;return{prev:v?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((m=i[l-1])==null?void 0:m.docFooterText)??((V=i[l-1])==null?void 0:V.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=i[l-1])==null?void 0:S.link)},next:c?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((C=i[l+1])==null?void 0:C.docFooterText)??((A=i[l+1])==null?void 0:A.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=i[l+1])==null?void 0:w.link)}}})}function Rt(s,e){const t=new Set;return s.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const O=b({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=P(()=>e.tag??(e.href?"a":"span")),o=P(()=>e.href&&Le.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(H(t.value),{class:I(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?r(me)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:f(()=>[u(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Ut={class:"VPLastUpdated"},Gt=["datetime"],jt=b({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,lang:o}=L(),n=P(()=>new Date(t.value.lastUpdated)),i=P(()=>n.value.toISOString()),l=T("");return F(()=>{Z(()=>{var v,c,h;l.value=new Intl.DateTimeFormat((c=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&c.forceLocale?o.value:void 0,((h=e.value.lastUpdated)==null?void 0:h.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(v,c)=>{var h;return a(),d("p",Ut,[j(N(((h=r(e).lastUpdated)==null?void 0:h.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},N(l.value),9,Gt)])}}}),zt=$(jt,[["__scopeId","data-v-475f71b8"]]),Kt={key:0,class:"VPDocFooter"},qt={key:0,class:"edit-info"},Wt={key:0,class:"edit-link"},Jt={key:1,class:"last-updated"},Yt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Xt={class:"pager"},Qt=["innerHTML"],Zt=["innerHTML"],xt={class:"pager"},en=["innerHTML"],tn=["innerHTML"],nn=b({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:o}=L(),n=Dt(),i=Ft(),l=P(()=>e.value.editLink&&o.value.editLink!==!1),v=P(()=>t.value.lastUpdated),c=P(()=>l.value||v.value||i.value.prev||i.value.next);return(h,y)=>{var m,V,S,C;return c.value?(a(),d("footer",Kt,[u(h.$slots,"doc-footer-before",{},void 0,!0),l.value||v.value?(a(),d("div",qt,[l.value?(a(),d("div",Wt,[g(O,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:f(()=>[y[0]||(y[0]=p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),j(" "+N(r(n).text),1)]),_:1},8,["href"])])):_("",!0),v.value?(a(),d("div",Jt,[g(zt)])):_("",!0)])):_("",!0),(m=r(i).prev)!=null&&m.link||(V=r(i).next)!=null&&V.link?(a(),d("nav",Yt,[y[1]||(y[1]=p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),p("div",Xt,[(S=r(i).prev)!=null&&S.link?(a(),k(O,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>{var A;return[p("span",{class:"desc",innerHTML:((A=r(e).docFooter)==null?void 0:A.prev)||"Previous page"},null,8,Qt),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,Zt)]}),_:1},8,["href"])):_("",!0)]),p("div",xt,[(C=r(i).next)!=null&&C.link?(a(),k(O,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>{var A;return[p("span",{class:"desc",innerHTML:((A=r(e).docFooter)==null?void 0:A.next)||"Next page"},null,8,en),p("span",{class:"title",innerHTML:r(i).next.text},null,8,tn)]}),_:1},8,["href"])):_("",!0)])])):_("",!0)])):_("",!0)}}}),on=$(nn,[["__scopeId","data-v-4f9813fa"]]),sn={class:"container"},an={class:"aside-container"},rn={class:"aside-content"},ln={class:"content"},cn={class:"content-container"},un={class:"main"},dn=b({__name:"VPDoc",setup(s){const{theme:e}=L(),t=ee(),{hasSidebar:o,hasAside:n,leftAside:i}=R(),l=P(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,c)=>{const h=K("Content");return a(),d("div",{class:I(["VPDoc",{"has-sidebar":r(o),"has-aside":r(n)}])},[u(v.$slots,"doc-top",{},void 0,!0),p("div",sn,[r(n)?(a(),d("div",{key:0,class:I(["aside",{"left-aside":r(i)}])},[c[0]||(c[0]=p("div",{class:"aside-curtain"},null,-1)),p("div",an,[p("div",rn,[g(Ot,null,{"aside-top":f(()=>[u(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[u(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[u(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):_("",!0),p("div",ln,[p("div",cn,[u(v.$slots,"doc-before",{},void 0,!0),p("main",un,[g(h,{class:I(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),g(on,null,{"doc-footer-before":f(()=>[u(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(v.$slots,"doc-after",{},void 0,!0)])])]),u(v.$slots,"doc-bottom",{},void 0,!0)],2)}}}),vn=$(dn,[["__scopeId","data-v-83890dd9"]]),pn=b({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=P(()=>e.href&&Le.test(e.href)),o=P(()=>e.tag||(e.href?"a":"button"));return(n,i)=>(a(),k(H(o.value),{class:I(["VPButton",[n.size,n.theme]]),href:n.href?r(me)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[j(N(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),fn=$(pn,[["__scopeId","data-v-906d7fb4"]]),hn=["src","alt"],mn=b({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const o=K("VPImage",!0);return e.image?(a(),d(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),d("img",G({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(ve)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,hn)):(a(),d(M,{key:1},[g(o,G({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),g(o,G({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):_("",!0)}}}),Q=$(mn,[["__scopeId","data-v-35a7d0b8"]]),_n={class:"container"},bn={class:"main"},kn={key:0,class:"name"},gn=["innerHTML"],$n=["innerHTML"],yn=["innerHTML"],Pn={key:0,class:"actions"},Vn={key:0,class:"image"},Sn={class:"image-container"},Ln=b({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=W("hero-image-slot-exists");return(t,o)=>(a(),d("div",{class:I(["VPHero",{"has-image":t.image||r(e)}])},[p("div",_n,[p("div",bn,[u(t.$slots,"home-hero-info-before",{},void 0,!0),u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),d("h1",kn,[p("span",{innerHTML:t.name,class:"clip"},null,8,gn)])):_("",!0),t.text?(a(),d("p",{key:1,innerHTML:t.text,class:"text"},null,8,$n)):_("",!0),t.tagline?(a(),d("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,yn)):_("",!0)],!0),u(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),d("div",Pn,[(a(!0),d(M,null,B(t.actions,n=>(a(),d("div",{key:n.link,class:"action"},[g(fn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):_("",!0),u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),d("div",Vn,[p("div",Sn,[o[0]||(o[0]=p("div",{class:"image-bg"},null,-1)),u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):_("",!0)],!0)])])):_("",!0)])],2))}}),Tn=$(Ln,[["__scopeId","data-v-955009fc"]]),wn=b({__name:"VPHomeHero",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).hero?(a(),k(Tn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":f(()=>[u(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[u(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[u(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[u(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):_("",!0)}}),Nn={class:"box"},In={key:0,class:"icon"},Mn=["innerHTML"],Cn=["innerHTML"],An=["innerHTML"],Bn={key:4,class:"link-text"},En={class:"link-text-value"},Hn=b({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(O,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[p("article",Nn,[typeof e.icon=="object"&&e.icon.wrap?(a(),d("div",In,[g(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),d("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Mn)):_("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,Cn),e.details?(a(),d("p",{key:3,class:"details",innerHTML:e.details},null,8,An)):_("",!0),e.linkText?(a(),d("div",Bn,[p("p",En,[j(N(e.linkText)+" ",1),t[0]||(t[0]=p("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):_("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),On=$(Hn,[["__scopeId","data-v-f5e9645b"]]),Dn={key:0,class:"VPFeatures"},Fn={class:"container"},Rn={class:"items"},Un=b({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=P(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),d("div",Dn,[p("div",Fn,[p("div",Rn,[(a(!0),d(M,null,B(o.features,i=>(a(),d("div",{key:i.title,class:I(["item",[t.value]])},[g(On,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):_("",!0)}}),Gn=$(Un,[["__scopeId","data-v-d0a190d7"]]),jn=b({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).features?(a(),k(Gn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):_("",!0)}}),zn=b({__name:"VPHomeContent",setup(s){const{width:e}=We({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),d("div",{class:"vp-doc container",style:Te(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[u(t.$slots,"default",{},void 0,!0)],4))}}),Kn=$(zn,[["__scopeId","data-v-7a48a447"]]),qn={class:"VPHome"},Wn=b({__name:"VPHome",setup(s){const{frontmatter:e}=L();return(t,o)=>{const n=K("Content");return a(),d("div",qn,[u(t.$slots,"home-hero-before",{},void 0,!0),g(wn,null,{"home-hero-info-before":f(()=>[u(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(t.$slots,"home-hero-after",{},void 0,!0),u(t.$slots,"home-features-before",{},void 0,!0),g(jn),u(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(Kn,{key:0},{default:f(()=>[g(n)]),_:1})):(a(),k(n,{key:1}))])}}}),Jn=$(Wn,[["__scopeId","data-v-cbb6ec48"]]),Yn={},Xn={class:"VPPage"};function Qn(s,e){const t=K("Content");return a(),d("div",Xn,[u(s.$slots,"page-top"),g(t),u(s.$slots,"page-bottom")])}const Zn=$(Yn,[["render",Qn]]),xn=b({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=L(),{hasSidebar:o}=R();return(n,i)=>(a(),d("div",{class:I(["VPContent",{"has-sidebar":r(o),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?u(n.$slots,"not-found",{key:0},()=>[g(mt)],!0):r(t).layout==="page"?(a(),k(Zn,{key:1},{"page-top":f(()=>[u(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[u(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(Jn,{key:2},{"home-hero-before":f(()=>[u(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[u(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[u(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[u(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[u(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(H(r(t).layout),{key:3})):(a(),k(vn,{key:4},{"doc-top":f(()=>[u(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[u(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[u(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[u(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[u(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[u(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[u(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[u(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),eo=$(xn,[["__scopeId","data-v-91765379"]]),to={class:"container"},no=["innerHTML"],oo=["innerHTML"],so=b({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=R();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),d("footer",{key:0,class:I(["VPFooter",{"has-sidebar":r(o)}])},[p("div",to,[r(e).footer.message?(a(),d("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,no)):_("",!0),r(e).footer.copyright?(a(),d("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,oo)):_("",!0)])],2)):_("",!0)}}),ao=$(so,[["__scopeId","data-v-c970a860"]]);function ro(){const{theme:s,frontmatter:e}=L(),t=Se([]),o=P(()=>t.value.length>0);return x(()=>{t.value=_e(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:o}}const io={class:"menu-text"},lo={class:"header"},co={class:"outline"},uo=b({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=L(),o=T(!1),n=T(0),i=T(),l=T();function v(m){var V;(V=i.value)!=null&&V.contains(m.target)||(o.value=!1)}D(o,m=>{if(m){document.addEventListener("click",v);return}document.removeEventListener("click",v)}),ie("Escape",()=>{o.value=!1}),x(()=>{o.value=!1});function c(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function h(m){m.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),we(()=>{o.value=!1}))}function y(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(m,V)=>(a(),d("div",{class:"VPLocalNavOutlineDropdown",style:Te({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[m.headers.length>0?(a(),d("button",{key:0,onClick:c,class:I({open:o.value})},[p("span",io,N(r(Ae)(r(t))),1),V[0]||(V[0]=p("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),d("button",{key:1,onClick:y},N(r(t).returnToTopLabel||"Return to top"),1)),g(de,{name:"flyout"},{default:f(()=>[o.value?(a(),d("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:h},[p("div",lo,[p("a",{class:"top-link",href:"#",onClick:y},N(r(t).returnToTopLabel||"Return to top"),1)]),p("div",co,[g(Be,{headers:m.headers},null,8,["headers"])])],512)):_("",!0)]),_:1})],4))}}),vo=$(uo,[["__scopeId","data-v-bc9dc845"]]),po={class:"container"},fo=["aria-expanded"],ho={class:"menu-text"},mo=b({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=R(),{headers:n}=ro(),{y:i}=Ne(),l=T(0);F(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=_e(t.value.outline??e.value.outline)});const v=P(()=>n.value.length===0),c=P(()=>v.value&&!o.value),h=P(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:v.value,fixed:c.value}));return(y,m)=>r(t).layout!=="home"&&(!c.value||r(i)>=l.value)?(a(),d("div",{key:0,class:I(h.value)},[p("div",po,[r(o)?(a(),d("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:m[0]||(m[0]=V=>y.$emit("open-menu"))},[m[1]||(m[1]=p("span",{class:"vpi-align-left menu-icon"},null,-1)),p("span",ho,N(r(e).sidebarMenuLabel||"Menu"),1)],8,fo)):_("",!0),g(vo,{headers:r(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):_("",!0)}}),_o=$(mo,[["__scopeId","data-v-070ab83d"]]);function bo(){const s=T(!1);function e(){s.value=!0,window.addEventListener("resize",n)}function t(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=ee();return D(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:o}}const ko={},go={class:"VPSwitch",type:"button",role:"switch"},$o={class:"check"},yo={key:0,class:"icon"};function Po(s,e){return a(),d("button",go,[p("span",$o,[s.$slots.default?(a(),d("span",yo,[u(s.$slots,"default",{},void 0,!0)])):_("",!0)])])}const Vo=$(ko,[["render",Po],["__scopeId","data-v-4a1c76db"]]),So=b({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=L(),o=W("toggle-appearance",()=>{e.value=!e.value}),n=T("");return fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),k(Vo,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(o)},{default:f(()=>l[0]||(l[0]=[p("span",{class:"vpi-sun sun"},null,-1),p("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),be=$(So,[["__scopeId","data-v-e40a8bb6"]]),Lo={key:0,class:"VPNavBarAppearance"},To=b({__name:"VPNavBarAppearance",setup(s){const{site:e}=L();return(t,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),d("div",Lo,[g(be)])):_("",!0)}}),wo=$(To,[["__scopeId","data-v-af096f4a"]]),ke=T();let Ee=!1,ae=0;function No(s){const e=T(!1);if(te){!Ee&&Io(),ae++;const t=D(ke,o=>{var n,i,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(l=s.onBlur)==null||l.call(s))});pe(()=>{t(),ae--,ae||Mo()})}return Je(e)}function Io(){document.addEventListener("focusin",He),Ee=!0,ke.value=document.activeElement}function Mo(){document.removeEventListener("focusin",He)}function He(){ke.value=document.activeElement}const Co={class:"VPMenuLink"},Ao=["innerHTML"],Bo=b({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),d("div",Co,[g(O,{class:I({active:r(z)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Ao)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=$(Bo,[["__scopeId","data-v-acbfed09"]]),Eo={class:"VPMenuGroup"},Ho={key:0,class:"title"},Oo=b({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),d("div",Eo,[e.text?(a(),d("p",Ho,N(e.text),1)):_("",!0),(a(!0),d(M,null,B(e.items,o=>(a(),d(M,null,["link"in o?(a(),k(ne,{key:0,item:o},null,8,["item"])):_("",!0)],64))),256))]))}}),Do=$(Oo,[["__scopeId","data-v-48c802d0"]]),Fo={class:"VPMenu"},Ro={key:0,class:"items"},Uo=b({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),d("div",Fo,[e.items?(a(),d("div",Ro,[(a(!0),d(M,null,B(e.items,o=>(a(),d(M,{key:JSON.stringify(o)},["link"in o?(a(),k(ne,{key:0,item:o},null,8,["item"])):"component"in o?(a(),k(H(o.component),G({key:1,ref_for:!0},o.props),null,16)):(a(),k(Do,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):_("",!0),u(e.$slots,"default",{},void 0,!0)]))}}),Go=$(Uo,[["__scopeId","data-v-7dd3104a"]]),jo=["aria-expanded","aria-label"],zo={key:0,class:"text"},Ko=["innerHTML"],qo={key:1,class:"vpi-more-horizontal icon"},Wo={class:"menu"},Jo=b({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=T(!1),t=T();No({el:t,onBlur:o});function o(){e.value=!1}return(n,i)=>(a(),d("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),d("span",zo,[n.icon?(a(),d("span",{key:0,class:I([n.icon,"option-icon"])},null,2)):_("",!0),n.button?(a(),d("span",{key:1,innerHTML:n.button},null,8,Ko)):_("",!0),i[3]||(i[3]=p("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),d("span",qo))],8,jo),p("div",Wo,[g(Go,{items:n.items},{default:f(()=>[u(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ge=$(Jo,[["__scopeId","data-v-04f5c5e9"]]),Yo=["href","aria-label","innerHTML"],Xo=b({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=P(()=>typeof e.icon=="object"?e.icon.svg:``);return(o,n)=>(a(),d("a",{class:"VPSocialLink no-icon",href:o.link,"aria-label":o.ariaLabel??(typeof o.icon=="string"?o.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Yo))}}),Qo=$(Xo,[["__scopeId","data-v-717b8b75"]]),Zo={class:"VPSocialLinks"},xo=b({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),d("div",Zo,[(a(!0),d(M,null,B(e.links,({link:o,icon:n,ariaLabel:i})=>(a(),k(Qo,{key:o,icon:n,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),$e=$(xo,[["__scopeId","data-v-ee7a9424"]]),es={key:0,class:"group translations"},ts={class:"trans-title"},ns={key:1,class:"group"},os={class:"item appearance"},ss={class:"label"},as={class:"appearance-action"},rs={key:2,class:"group"},is={class:"item social-links"},ls=b({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=L(),{localeLinks:o,currentLang:n}=Y({correspondingLink:!0}),i=P(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,v)=>i.value?(a(),k(ge,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(o).length&&r(n).label?(a(),d("div",es,[p("p",ts,N(r(n).label),1),(a(!0),d(M,null,B(r(o),c=>(a(),k(ne,{key:c.link,item:c},null,8,["item"]))),128))])):_("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),d("div",ns,[p("div",os,[p("p",ss,N(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",as,[g(be)])])])):_("",!0),r(t).socialLinks?(a(),d("div",rs,[p("div",is,[g($e,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):_("",!0)]),_:1})):_("",!0)}}),cs=$(ls,[["__scopeId","data-v-925effce"]]),us=["aria-expanded"],ds=b({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),d("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)]),10,us))}}),vs=$(ds,[["__scopeId","data-v-5dea55bf"]]),ps=["innerHTML"],fs=b({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),k(O,{class:I({VPNavBarMenuLink:!0,active:r(z)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,ps)]),_:1},8,["class","href","target","rel","no-icon"]))}}),hs=$(fs,[["__scopeId","data-v-956ec74c"]]),Oe=b({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=L(),o=i=>"component"in i?!1:"link"in i?z(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(o),n=P(()=>o(e.item));return(i,l)=>(a(),k(ge,{class:I({VPNavBarMenuGroup:!0,active:r(z)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),ms={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},_s=b({__name:"VPNavBarMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),d("nav",ms,[o[0]||(o[0]=p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),d(M,null,B(r(e).nav,n=>(a(),d(M,{key:JSON.stringify(n)},["link"in n?(a(),k(hs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(H(n.component),G({key:1,ref_for:!0},n.props),null,16)):(a(),k(Oe,{key:2,item:n},null,8,["item"]))],64))),128))])):_("",!0)}}),bs=$(_s,[["__scopeId","data-v-e6d46098"]]);function ks(s){const{localeIndex:e,theme:t}=L();function o(n){var C,A,w;const i=n.split("."),l=(C=t.value.search)==null?void 0:C.options,v=l&&typeof l=="object",c=v&&((w=(A=l.locales)==null?void 0:A[e.value])==null?void 0:w.translations)||null,h=v&&l.translations||null;let y=c,m=h,V=s;const S=i.pop();for(const E of i){let U=null;const q=V==null?void 0:V[E];q&&(U=V=q);const oe=m==null?void 0:m[E];oe&&(U=m=oe);const se=y==null?void 0:y[E];se&&(U=y=se),q||(V=U),oe||(m=U),se||(y=U)}return(y==null?void 0:y[S])??(m==null?void 0:m[S])??(V==null?void 0:V[S])??""}return o}const gs=["aria-label"],$s={class:"DocSearch-Button-Container"},ys={class:"DocSearch-Button-Placeholder"},ye=b({__name:"VPNavBarSearchButton",setup(s){const t=ks({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),d("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",$s,[n[0]||(n[0]=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),p("span",ys,N(r(t)("button.buttonText")),1)]),n[1]||(n[1]=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,gs))}}),Ps={class:"VPNavBarSearch"},Vs={id:"local-search"},Ss={key:1,id:"docsearch"},Ls=b({__name:"VPNavBarSearch",setup(s){const e=Ye(()=>Xe(()=>import("./VPLocalSearchBox.XEwDE-_y.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=L(),n=T(!1),i=T(!1);F(()=>{});function l(){n.value||(n.value=!0,setTimeout(v,16))}function v(){const m=new Event("keydown");m.key="k",m.metaKey=!0,window.dispatchEvent(m),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function c(m){const V=m.target,S=V.tagName;return V.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const h=T(!1);ie("k",m=>{(m.ctrlKey||m.metaKey)&&(m.preventDefault(),h.value=!0)}),ie("/",m=>{c(m)||(m.preventDefault(),h.value=!0)});const y="local";return(m,V)=>{var S;return a(),d("div",Ps,[r(y)==="local"?(a(),d(M,{key:0},[h.value?(a(),k(r(e),{key:0,onClose:V[0]||(V[0]=C=>h.value=!1)})):_("",!0),p("div",Vs,[g(ye,{onClick:V[1]||(V[1]=C=>h.value=!0)})])],64)):r(y)==="algolia"?(a(),d(M,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((S=r(o).search)==null?void 0:S.options)??r(o).algolia,onVnodeBeforeMount:V[2]||(V[2]=C=>i.value=!0)},null,8,["algolia"])):_("",!0),i.value?_("",!0):(a(),d("div",Ss,[g(ye,{onClick:l})]))],64)):_("",!0)])}}}),Ts=b({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k($e,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):_("",!0)}}),ws=$(Ts,[["__scopeId","data-v-164c457f"]]),Ns=["href","rel","target"],Is={key:1},Ms={key:2},Cs=b({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=L(),{hasSidebar:o}=R(),{currentLang:n}=Y(),i=P(()=>{var c;return typeof t.value.logoLink=="string"?t.value.logoLink:(c=t.value.logoLink)==null?void 0:c.link}),l=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.rel}),v=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.target});return(c,h)=>(a(),d("div",{class:I(["VPNavBarTitle",{"has-sidebar":r(o)}])},[p("a",{class:"title",href:i.value??r(me)(r(n).link),rel:l.value,target:v.value},[u(c.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(Q,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):_("",!0),r(t).siteTitle?(a(),d("span",Is,N(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),d("span",Ms,N(r(e).title),1)):_("",!0),u(c.$slots,"nav-bar-title-after",{},void 0,!0)],8,Ns)],2))}}),As=$(Cs,[["__scopeId","data-v-28a961f9"]]),Bs={class:"items"},Es={class:"title"},Hs=b({__name:"VPNavBarTranslations",setup(s){const{theme:e}=L(),{localeLinks:t,currentLang:o}=Y({correspondingLink:!0});return(n,i)=>r(t).length&&r(o).label?(a(),k(ge,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:f(()=>[p("div",Bs,[p("p",Es,N(r(o).label),1),(a(!0),d(M,null,B(r(t),l=>(a(),k(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):_("",!0)}}),Os=$(Hs,[["__scopeId","data-v-c80d9ad0"]]),Ds={class:"wrapper"},Fs={class:"container"},Rs={class:"title"},Us={class:"content"},Gs={class:"content-body"},js=b({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const e=s,{y:t}=Ne(),{hasSidebar:o}=R(),{frontmatter:n}=L(),i=T({});return fe(()=>{i.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,v)=>(a(),d("div",{class:I(["VPNavBar",i.value])},[p("div",Ds,[p("div",Fs,[p("div",Rs,[g(As,null,{"nav-bar-title-before":f(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",Us,[p("div",Gs,[u(l.$slots,"nav-bar-content-before",{},void 0,!0),g(Ls,{class:"search"}),g(bs,{class:"menu"}),g(Os,{class:"translations"}),g(wo,{class:"appearance"}),g(ws,{class:"social-links"}),g(cs,{class:"extra"}),u(l.$slots,"nav-bar-content-after",{},void 0,!0),g(vs,{class:"hamburger",active:l.isScreenOpen,onClick:v[0]||(v[0]=c=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),v[1]||(v[1]=p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1))],2))}}),zs=$(js,[["__scopeId","data-v-822684d1"]]),Ks={key:0,class:"VPNavScreenAppearance"},qs={class:"text"},Ws=b({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=L();return(o,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),d("div",Ks,[p("p",qs,N(r(t).darkModeSwitchLabel||"Appearance"),1),g(be)])):_("",!0)}}),Js=$(Ws,[["__scopeId","data-v-ffb44008"]]),Ys=["innerHTML"],Xs=b({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=W("close-screen");return(t,o)=>(a(),k(O,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Ys)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Qs=$(Xs,[["__scopeId","data-v-735512b8"]]),Zs=["innerHTML"],xs=b({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=W("close-screen");return(t,o)=>(a(),k(O,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Zs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),De=$(xs,[["__scopeId","data-v-372ae7c0"]]),ea={class:"VPNavScreenMenuGroupSection"},ta={key:0,class:"title"},na=b({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),d("div",ea,[e.text?(a(),d("p",ta,N(e.text),1)):_("",!0),(a(!0),d(M,null,B(e.items,o=>(a(),k(De,{key:o.text,item:o},null,8,["item"]))),128))]))}}),oa=$(na,[["__scopeId","data-v-4b8941ac"]]),sa=["aria-controls","aria-expanded"],aa=["innerHTML"],ra=["id"],ia={key:0,class:"item"},la={key:1,class:"item"},ca={key:2,class:"group"},ua=b({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=T(!1),o=P(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,l)=>(a(),d("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:i.text},null,8,aa),l[0]||(l[0]=p("span",{class:"vpi-plus button-icon"},null,-1))],8,sa),p("div",{id:o.value,class:"items"},[(a(!0),d(M,null,B(i.items,v=>(a(),d(M,{key:JSON.stringify(v)},["link"in v?(a(),d("div",ia,[g(De,{item:v},null,8,["item"])])):"component"in v?(a(),d("div",la,[(a(),k(H(v.component),G({ref_for:!0},v.props,{"screen-menu":""}),null,16))])):(a(),d("div",ca,[g(oa,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,ra)],2))}}),Fe=$(ua,[["__scopeId","data-v-875057a5"]]),da={key:0,class:"VPNavScreenMenu"},va=b({__name:"VPNavScreenMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),d("nav",da,[(a(!0),d(M,null,B(r(e).nav,n=>(a(),d(M,{key:JSON.stringify(n)},["link"in n?(a(),k(Qs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(H(n.component),G({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(Fe,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):_("",!0)}}),pa=b({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k($e,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):_("",!0)}}),fa={class:"list"},ha=b({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=Y({correspondingLink:!0}),o=T(!1);function n(){o.value=!o.value}return(i,l)=>r(e).length&&r(t).label?(a(),d("div",{key:0,class:I(["VPNavScreenTranslations",{open:o.value}])},[p("button",{class:"title",onClick:n},[l[0]||(l[0]=p("span",{class:"vpi-languages icon lang"},null,-1)),j(" "+N(r(t).label)+" ",1),l[1]||(l[1]=p("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),p("ul",fa,[(a(!0),d(M,null,B(r(e),v=>(a(),d("li",{key:v.link,class:"item"},[g(O,{class:"link",href:v.link},{default:f(()=>[j(N(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):_("",!0)}}),ma=$(ha,[["__scopeId","data-v-362991c2"]]),_a={class:"container"},ba=b({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=T(null),t=Ie(te?document.body:null);return(o,n)=>(a(),k(de,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:f(()=>[o.open?(a(),d("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",_a,[u(o.$slots,"nav-screen-content-before",{},void 0,!0),g(va,{class:"menu"}),g(ma,{class:"translations"}),g(Js,{class:"appearance"}),g(pa,{class:"social-links"}),u(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):_("",!0)]),_:3}))}}),ka=$(ba,[["__scopeId","data-v-833aabba"]]),ga={key:0,class:"VPNav"},$a=b({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=bo(),{frontmatter:n}=L(),i=P(()=>n.value.navbar!==!1);return he("close-screen",t),Z(()=>{te&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,v)=>i.value?(a(),d("header",ga,[g(zs,{"is-screen-open":r(e),onToggleScreen:r(o)},{"nav-bar-title-before":f(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[u(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[u(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),g(ka,{open:r(e)},{"nav-screen-content-before":f(()=>[u(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[u(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):_("",!0)}}),ya=$($a,[["__scopeId","data-v-f1e365da"]]),Pa=["role","tabindex"],Va={key:1,class:"items"},Sa=b({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:o,isLink:n,isActiveLink:i,hasActiveLink:l,hasChildren:v,toggle:c}=gt(P(()=>e.item)),h=P(()=>v.value?"section":"div"),y=P(()=>n.value?"a":"div"),m=P(()=>v.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=P(()=>n.value?void 0:"button"),S=P(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":l.value}]);function C(w){"key"in w&&w.key!=="Enter"||!e.item.link&&c()}function A(){e.item.link&&c()}return(w,E)=>{const U=K("VPSidebarItem",!0);return a(),k(H(h.value),{class:I(["VPSidebarItem",S.value])},{default:f(()=>[w.item.text?(a(),d("div",G({key:0,class:"item",role:V.value},Qe(w.item.items?{click:C,keydown:C}:{},!0),{tabindex:w.item.items&&0}),[E[1]||(E[1]=p("div",{class:"indicator"},null,-1)),w.item.link?(a(),k(O,{key:0,tag:y.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),k(H(m.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(H(m.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),d("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:A,onKeydown:Ze(A,["enter"]),tabindex:"0"},E[0]||(E[0]=[p("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):_("",!0)],16,Pa)):_("",!0),w.item.items&&w.item.items.length?(a(),d("div",Va,[w.depth<5?(a(!0),d(M,{key:0},B(w.item.items,q=>(a(),k(U,{key:q.text,item:q,depth:w.depth+1},null,8,["item","depth"]))),128)):_("",!0)])):_("",!0)]),_:1},8,["class"])}}}),La=$(Sa,[["__scopeId","data-v-196b2e5f"]]),Ta=b({__name:"VPSidebarGroup",props:{items:{}},setup(s){const e=T(!0);let t=null;return F(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),xe(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(a(!0),d(M,null,B(o.items,i=>(a(),d("div",{key:i.text,class:I(["group",{"no-transition":e.value}])},[g(La,{item:i,depth:0},null,8,["item"])],2))),128))}}),wa=$(Ta,[["__scopeId","data-v-9e426adc"]]),Na={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ia=b({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=R(),o=s,n=T(null),i=Ie(te?document.body:null);D([o,n],()=>{var v;o.open?(i.value=!0,(v=n.value)==null||v.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return D(e,()=>{l.value+=1},{deep:!0}),(v,c)=>r(t)?(a(),d("aside",{key:0,class:I(["VPSidebar",{open:v.open}]),ref_key:"navEl",ref:n,onClick:c[0]||(c[0]=et(()=>{},["stop"]))},[c[2]||(c[2]=p("div",{class:"curtain"},null,-1)),p("nav",Na,[c[1]||(c[1]=p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),u(v.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k(wa,{items:r(e),key:l.value},null,8,["items"])),u(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):_("",!0)}}),Ma=$(Ia,[["__scopeId","data-v-18756405"]]),Ca=b({__name:"VPSkipLink",setup(s){const e=ee(),t=T();D(()=>e.path,()=>t.value.focus());function o({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),d(M,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),Aa=$(Ca,[["__scopeId","data-v-c3508ec8"]]),Ba=b({__name:"Layout",setup(s){const{isOpen:e,open:t,close:o}=R(),n=ee();D(()=>n.path,o),kt(e,o);const{frontmatter:i}=L(),l=Me(),v=P(()=>!!l["home-hero-image"]);return he("hero-image-slot-exists",v),(c,h)=>{const y=K("Content");return r(i).layout!==!1?(a(),d("div",{key:0,class:I(["Layout",r(i).pageClass])},[u(c.$slots,"layout-top",{},void 0,!0),g(Aa),g(rt,{class:"backdrop",show:r(e),onClick:r(o)},null,8,["show","onClick"]),g(ya,null,{"nav-bar-title-before":f(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[u(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[u(c.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[u(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[u(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),g(_o,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),g(Ma,{open:r(e)},{"sidebar-nav-before":f(()=>[u(c.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[u(c.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),g(eo,null,{"page-top":f(()=>[u(c.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[u(c.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[u(c.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[u(c.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[u(c.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(c.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(c.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(c.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(c.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[u(c.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[u(c.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[u(c.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[u(c.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[u(c.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[u(c.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[u(c.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[u(c.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[u(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[u(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[u(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),g(ao),u(c.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(y,{key:1}))}}}),Ea=$(Ba,[["__scopeId","data-v-a9a9e638"]]),Ha={Layout:Ea,enhanceApp:({app:s})=>{s.component("Badge",ot)}},Oa=s=>{if(typeof document>"u")return{stabilizeScrollPosition:n=>async(...i)=>n(...i)};const e=document.documentElement;return{stabilizeScrollPosition:o=>async(...n)=>{const i=o(...n),l=s.value;if(!l)return i;const v=l.offsetTop-e.scrollTop;return await we(),e.scrollTop=l.offsetTop-v,i}}},Re="vitepress:tabSharedState",J=typeof localStorage<"u"?localStorage:null,Ue="vitepress:tabsSharedState",Da=()=>{const s=J==null?void 0:J.getItem(Ue);if(s)try{return JSON.parse(s)}catch{}return{}},Fa=s=>{J&&J.setItem(Ue,JSON.stringify(s))},Ra=s=>{const e=tt({});D(()=>e.content,(t,o)=>{t&&o&&Fa(t)},{deep:!0}),s.provide(Re,e)},Ua=(s,e)=>{const t=W(Re);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");F(()=>{t.content||(t.content=Da())});const o=T(),n=P({get(){var c;const l=e.value,v=s.value;if(l){const h=(c=t.content)==null?void 0:c[l];if(h&&v.includes(h))return h}else{const h=o.value;if(h)return h}return v[0]},set(l){const v=e.value;v?t.content&&(t.content[v]=l):o.value=l}});return{selected:n,select:l=>{n.value=l}}};let Pe=0;const Ga=()=>(Pe++,""+Pe);function ja(){const s=Me();return P(()=>{var o;const t=(o=s.default)==null?void 0:o.call(s);return t?t.filter(n=>typeof n.type=="object"&&"__name"in n.type&&n.type.__name==="PluginTabsTab"&&n.props).map(n=>{var i;return(i=n.props)==null?void 0:i.label}):[]})}const Ge="vitepress:tabSingleState",za=s=>{he(Ge,s)},Ka=()=>{const s=W(Ge);if(!s)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return s},qa={class:"plugin-tabs"},Wa=["id","aria-selected","aria-controls","tabindex","onClick"],Ja=b({__name:"PluginTabs",props:{sharedStateKey:{}},setup(s){const e=s,t=ja(),{selected:o,select:n}=Ua(t,nt(e,"sharedStateKey")),i=T(),{stabilizeScrollPosition:l}=Oa(i),v=l(n),c=T([]),h=m=>{var C;const V=t.value.indexOf(o.value);let S;m.key==="ArrowLeft"?S=V>=1?V-1:t.value.length-1:m.key==="ArrowRight"&&(S=V(a(),d("div",qa,[p("div",{ref_key:"tablist",ref:i,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:h},[(a(!0),d(M,null,B(r(t),S=>(a(),d("button",{id:`tab-${S}-${r(y)}`,ref_for:!0,ref_key:"buttonRefs",ref:c,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===r(o),"aria-controls":`panel-${S}-${r(y)}`,tabindex:S===r(o)?0:-1,onClick:()=>r(v)(S)},N(S),9,Wa))),128))],544),u(m.$slots,"default")]))}}),Ya=["id","aria-labelledby"],Xa=b({__name:"PluginTabsTab",props:{label:{}},setup(s){const{uid:e,selected:t}=Ka();return(o,n)=>r(t)===o.label?(a(),d("div",{key:0,id:`panel-${o.label}-${r(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${o.label}-${r(e)}`},[u(o.$slots,"default",{},void 0,!0)],8,Ya)):_("",!0)}}),Qa=$(Xa,[["__scopeId","data-v-9b0d03d2"]]),Za=s=>{Ra(s),s.component("PluginTabs",Ja),s.component("PluginTabsTab",Qa)},xa=b({__name:"VersionPicker",props:{screenMenu:{type:Boolean}},setup(s){const e=T([]),t=T("Versions"),o=T(!1);Ve();const n=()=>typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),i=()=>{if(typeof window>"u")return"";const{origin:c,pathname:h}=window.location;if(c.includes("github.io")){const y=h.split("/").filter(Boolean),m=y.length>0?`/${y[0]}/`:"/";return`${c}${m}`}else return c},l=()=>new Promise(c=>{if(n()){c(!1);return}const h=setInterval(()=>{window.DOC_VERSIONS&&window.DOCUMENTER_CURRENT_VERSION&&(clearInterval(h),c(!0))},100);setTimeout(()=>{clearInterval(h),c(!1)},5e3)});return F(async()=>{if(!(typeof window>"u")){try{if(n()){const c=["dev"];e.value=c.map(h=>({text:h,link:"/"})),t.value="dev"}else{const c=await l(),h=P(()=>i());if(c&&window.DOC_VERSIONS&&window.DOCUMENTER_CURRENT_VERSION)e.value=window.DOC_VERSIONS.map(y=>({text:y,link:`${h.value}/${y}/`})),t.value=window.DOCUMENTER_CURRENT_VERSION;else{const y=["dev"];e.value=y.map(m=>({text:m,link:`${h.value}/${m}/`})),t.value="dev"}}}catch(c){console.warn("Error loading versions:",c);const h=["dev"],y=P(()=>i());e.value=h.map(m=>({text:m,link:`${y.value}/${m}/`})),t.value="dev"}o.value=!0}}),(c,h)=>o.value?(a(),d(M,{key:0},[!c.screenMenu&&e.value.length>0?(a(),k(Oe,{key:0,item:{text:t.value,items:e.value},class:"VPVersionPicker"},null,8,["item"])):c.screenMenu&&e.value.length>0?(a(),k(Fe,{key:1,text:t.value,items:e.value,class:"VPVersionPicker"},null,8,["text","items"])):_("",!0)],64)):_("",!0)}}),er=$(xa,[["__scopeId","data-v-f465cb49"]]),nr={extends:Ha,enhanceApp({app:s,router:e,siteData:t}){Za(s),s.component("VersionPicker",er)}};export{nr as R,ks as c,L as u}; diff --git a/dev/assets/chunks/theme.b8NutB4I.js b/dev/assets/chunks/theme.b8NutB4I.js deleted file mode 100644 index 277a448b0..000000000 --- a/dev/assets/chunks/theme.b8NutB4I.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.96yseQxt.js","assets/chunks/framework.B8l2DGq3.js"])))=>i.map(i=>d[i]); -import{d as b,o as a,c as d,r as u,n as I,a as F,t as N,b as k,w as f,e as _,T as de,_ as $,u as Ve,i as je,f as ze,g as ve,h as P,j as p,k as r,l as z,m as re,p as T,q as D,s as Z,v as R,x as pe,y as fe,z as Ke,A as We,B as K,F as M,C as B,D as Se,E as x,G as g,H,I as Le,J as ee,K as j,L as q,M as qe,N as Te,O as ie,P as we,Q as Ne,R as te,S as Je,U as Ye,V as Xe,W as Ie,X as he,Y as Qe,Z as Ze,$ as xe,a0 as et,a1 as Me,a2 as tt,a3 as nt}from"./framework.B8l2DGq3.js";const st=b({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),d("span",{class:I(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[F(N(e.text),1)])],2))}}),ot={key:0,class:"VPBackdrop"},at=b({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),k(de,{name:"fade"},{default:f(()=>[e.show?(a(),d("div",ot)):_("",!0)]),_:1}))}}),rt=$(at,[["__scopeId","data-v-b06cdb19"]]),L=Ve;function it(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function le(o){return/^\//.test(o)?o:`/${o}`}function me(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(je(o)||o.startsWith("#")||!n.startsWith("http")||!ze(e))return o;const{site:i}=L(),l=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return ve(l)}function Y({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:s,theme:n,hash:i}=L(),l=P(()=>{var c,h;return{label:(c=e.value.locales[t.value])==null?void 0:c.label,link:((h=e.value.locales[t.value])==null?void 0:h.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:P(()=>Object.entries(e.value.locales).flatMap(([c,h])=>l.value.label===h.label?[]:{text:h.label,link:lt(h.link||(c==="root"?"/":`/${c}/`),n.value.i18nRouting!==!1&&o,s.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function lt(o,e,t,s){return e?o.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt={class:"quote"},pt={class:"action"},ft=["href","aria-label"],ht=b({__name:"NotFound",setup(o){const{theme:e}=L(),{currentLang:t}=Y();return(s,n)=>{var i,l,v,c,h;return a(),d("div",ct,[p("p",ut,N(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",dt,N(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=p("div",{class:"divider"},null,-1)),p("blockquote",vt,N(((v=r(e).notFound)==null?void 0:v.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",pt,[p("a",{class:"link",href:r(ve)(r(t).link),"aria-label":((c=r(e).notFound)==null?void 0:c.linkLabel)??"go to home"},N(((h=r(e).notFound)==null?void 0:h.linkText)??"Take me home"),9,ft)])])}}}),mt=$(ht,[["__scopeId","data-v-951cab6c"]]);function Ce(o,e){if(Array.isArray(o))return X(o);if(o==null)return[];e=le(e);const t=Object.keys(o).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(le(n))),s=t?o[t]:[];return Array.isArray(s)?X(s):X(s.items,s.base)}function _t(o){const e=[];let t=0;for(const s in o){const n=o[s];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function bt(o){const e=[];function t(s){for(const n of s)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function ce(o,e){return Array.isArray(e)?e.some(t=>ce(o,t)):z(o,e.link)?!0:e.items?ce(o,e.items):!1}function X(o,e){return[...o].map(t=>{const s={...t},n=s.base||e;return n&&s.link&&(s.link=n+s.link),s.items&&(s.items=X(s.items,n)),s})}function U(){const{frontmatter:o,page:e,theme:t}=L(),s=re("(min-width: 960px)"),n=T(!1),i=P(()=>{const A=t.value.sidebar,w=e.value.relativePath;return A?Ce(A,w):[]}),l=T(i.value);D(i,(A,w)=>{JSON.stringify(A)!==JSON.stringify(w)&&(l.value=i.value)});const v=P(()=>o.value.sidebar!==!1&&l.value.length>0&&o.value.layout!=="home"),c=P(()=>h?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),h=P(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),y=P(()=>v.value&&s.value),m=P(()=>v.value?_t(l.value):[]);function V(){n.value=!0}function S(){n.value=!1}function C(){n.value?S():V()}return{isOpen:n,sidebar:l,sidebarGroups:m,hasSidebar:v,hasAside:h,leftAside:c,isSidebarEnabled:y,open:V,close:S,toggle:C}}function kt(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),R(()=>{window.addEventListener("keyup",s)}),pe(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function gt(o){const{page:e,hash:t}=L(),s=T(!1),n=P(()=>o.value.collapsed!=null),i=P(()=>!!o.value.link),l=T(!1),v=()=>{l.value=z(e.value.relativePath,o.value.link)};D([e,o,t],v),R(v);const c=P(()=>l.value?!0:o.value.items?ce(e.value.relativePath,o.value.items):!1),h=P(()=>!!(o.value.items&&o.value.items.length));Z(()=>{s.value=!!(n.value&&o.value.collapsed)}),fe(()=>{(l.value||c.value)&&(s.value=!1)});function y(){n.value&&(s.value=!s.value)}return{collapsed:s,collapsible:n,isLink:i,isActiveLink:l,hasActiveLink:c,hasChildren:h,toggle:y}}function $t(){const{hasSidebar:o}=U(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:P(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const ue=[];function Ae(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function _e(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:yt(t),link:"#"+t.id,level:s}});return Pt(e,o)}function yt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Pt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return Lt(o,s,n)}function Vt(o,e){const{isAsideEnabled:t}=$t(),s=it(i,100);let n=null;R(()=>{requestAnimationFrame(i),window.addEventListener("scroll",s)}),Ke(()=>{l(location.hash)}),pe(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const v=window.scrollY,c=window.innerHeight,h=document.body.offsetHeight,y=Math.abs(v+c-h)<1,m=ue.map(({element:S,link:C})=>({link:C,top:St(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,C)=>S.top-C.top);if(!m.length){l(null);return}if(v<1){l(null);return}if(y){l(m[m.length-1].link);return}let V=null;for(const{link:S,top:C}of m){if(C>v+We()+4)break;V=S}l(V)}function l(v){n&&n.classList.remove("active"),v==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const c=n;c?(c.classList.add("active"),e.value.style.top=c.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function St(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}function Lt(o,e,t){ue.length=0;const s=[],n=[];return o.forEach(i=>{const l={...i,children:[]};let v=n[n.length-1];for(;v&&v.level>=l.level;)n.pop(),v=n[n.length-1];if(l.element.classList.contains("ignore-header")||v&&"shouldIgnore"in v){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=K("VPDocOutlineItem",!0);return a(),d("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),d(M,null,B(t.headers,({children:i,link:l,title:v})=>(a(),d("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:v},N(v),9,Tt),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):_("",!0)]))),256))],2)}}}),Be=$(wt,[["__scopeId","data-v-3f927ebe"]]),Nt={class:"content"},It={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Mt=b({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=L(),s=Se([]);x(()=>{s.value=_e(e.value.outline??t.value.outline)});const n=T(),i=T();return Vt(n,i),(l,v)=>(a(),d("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n},[p("div",Nt,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",It,N(r(Ae)(r(t))),1),g(Be,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),Ct=$(Mt,[["__scopeId","data-v-b38bf2ff"]]),At={class:"VPDocAsideCarbonAds"},Bt=b({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),d("div",At,[g(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Et={class:"VPDocAside"},Ht=b({__name:"VPDocAside",setup(o){const{theme:e}=L();return(t,s)=>(a(),d("div",Et,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),g(Ct),u(t.$slots,"aside-outline-after",{},void 0,!0),s[0]||(s[0]=p("div",{class:"spacer"},null,-1)),u(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Bt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):_("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ot=$(Ht,[["__scopeId","data-v-6d7b3c46"]]);function Dt(){const{theme:o,page:e}=L();return P(()=>{const{text:t="Edit this page",pattern:s=""}=o.value.editLink||{};let n;return typeof s=="function"?n=s(e.value):n=s.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Ft(){const{page:o,theme:e,frontmatter:t}=L();return P(()=>{var h,y,m,V,S,C,A,w;const s=Ce(e.value.sidebar,o.value.relativePath),n=bt(s),i=Rt(n,E=>E.link.replace(/[?#].*$/,"")),l=i.findIndex(E=>z(o.value.relativePath,E.link)),v=((h=e.value.docFooter)==null?void 0:h.prev)===!1&&!t.value.prev||t.value.prev===!1,c=((y=e.value.docFooter)==null?void 0:y.next)===!1&&!t.value.next||t.value.next===!1;return{prev:v?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((m=i[l-1])==null?void 0:m.docFooterText)??((V=i[l-1])==null?void 0:V.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=i[l-1])==null?void 0:S.link)},next:c?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((C=i[l+1])==null?void 0:C.docFooterText)??((A=i[l+1])==null?void 0:A.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=i[l+1])==null?void 0:w.link)}}})}function Rt(o,e){const t=new Set;return o.filter(s=>{const n=e(s);return t.has(n)?!1:t.add(n)})}const O=b({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=P(()=>e.tag??(e.href?"a":"span")),s=P(()=>e.href&&Le.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(H(t.value),{class:I(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?r(me)(n.href):void 0,target:n.target??(s.value?"_blank":void 0),rel:n.rel??(s.value?"noreferrer":void 0)},{default:f(()=>[u(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Ut={class:"VPLastUpdated"},Gt=["datetime"],jt=b({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:s}=L(),n=P(()=>new Date(t.value.lastUpdated)),i=P(()=>n.value.toISOString()),l=T("");return R(()=>{Z(()=>{var v,c,h;l.value=new Intl.DateTimeFormat((c=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&c.forceLocale?s.value:void 0,((h=e.value.lastUpdated)==null?void 0:h.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(v,c)=>{var h;return a(),d("p",Ut,[F(N(((h=r(e).lastUpdated)==null?void 0:h.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},N(l.value),9,Gt)])}}}),zt=$(jt,[["__scopeId","data-v-475f71b8"]]),Kt={key:0,class:"VPDocFooter"},Wt={key:0,class:"edit-info"},qt={key:0,class:"edit-link"},Jt={key:1,class:"last-updated"},Yt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Xt={class:"pager"},Qt=["innerHTML"],Zt=["innerHTML"],xt={class:"pager"},en=["innerHTML"],tn=["innerHTML"],nn=b({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=L(),n=Dt(),i=Ft(),l=P(()=>e.value.editLink&&s.value.editLink!==!1),v=P(()=>t.value.lastUpdated),c=P(()=>l.value||v.value||i.value.prev||i.value.next);return(h,y)=>{var m,V,S,C;return c.value?(a(),d("footer",Kt,[u(h.$slots,"doc-footer-before",{},void 0,!0),l.value||v.value?(a(),d("div",Wt,[l.value?(a(),d("div",qt,[g(O,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:f(()=>[y[0]||(y[0]=p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),F(" "+N(r(n).text),1)]),_:1},8,["href"])])):_("",!0),v.value?(a(),d("div",Jt,[g(zt)])):_("",!0)])):_("",!0),(m=r(i).prev)!=null&&m.link||(V=r(i).next)!=null&&V.link?(a(),d("nav",Yt,[y[1]||(y[1]=p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),p("div",Xt,[(S=r(i).prev)!=null&&S.link?(a(),k(O,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>{var A;return[p("span",{class:"desc",innerHTML:((A=r(e).docFooter)==null?void 0:A.prev)||"Previous page"},null,8,Qt),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,Zt)]}),_:1},8,["href"])):_("",!0)]),p("div",xt,[(C=r(i).next)!=null&&C.link?(a(),k(O,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>{var A;return[p("span",{class:"desc",innerHTML:((A=r(e).docFooter)==null?void 0:A.next)||"Next page"},null,8,en),p("span",{class:"title",innerHTML:r(i).next.text},null,8,tn)]}),_:1},8,["href"])):_("",!0)])])):_("",!0)])):_("",!0)}}}),sn=$(nn,[["__scopeId","data-v-4f9813fa"]]),on={class:"container"},an={class:"aside-container"},rn={class:"aside-content"},ln={class:"content"},cn={class:"content-container"},un={class:"main"},dn=b({__name:"VPDoc",setup(o){const{theme:e}=L(),t=ee(),{hasSidebar:s,hasAside:n,leftAside:i}=U(),l=P(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,c)=>{const h=K("Content");return a(),d("div",{class:I(["VPDoc",{"has-sidebar":r(s),"has-aside":r(n)}])},[u(v.$slots,"doc-top",{},void 0,!0),p("div",on,[r(n)?(a(),d("div",{key:0,class:I(["aside",{"left-aside":r(i)}])},[c[0]||(c[0]=p("div",{class:"aside-curtain"},null,-1)),p("div",an,[p("div",rn,[g(Ot,null,{"aside-top":f(()=>[u(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[u(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[u(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):_("",!0),p("div",ln,[p("div",cn,[u(v.$slots,"doc-before",{},void 0,!0),p("main",un,[g(h,{class:I(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),g(sn,null,{"doc-footer-before":f(()=>[u(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(v.$slots,"doc-after",{},void 0,!0)])])]),u(v.$slots,"doc-bottom",{},void 0,!0)],2)}}}),vn=$(dn,[["__scopeId","data-v-83890dd9"]]),pn=b({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=P(()=>e.href&&Le.test(e.href)),s=P(()=>e.tag||(e.href?"a":"button"));return(n,i)=>(a(),k(H(s.value),{class:I(["VPButton",[n.size,n.theme]]),href:n.href?r(me)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[F(N(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),fn=$(pn,[["__scopeId","data-v-906d7fb4"]]),hn=["src","alt"],mn=b({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=K("VPImage",!0);return e.image?(a(),d(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),d("img",j({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(ve)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,hn)):(a(),d(M,{key:1},[g(s,j({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),g(s,j({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):_("",!0)}}}),Q=$(mn,[["__scopeId","data-v-35a7d0b8"]]),_n={class:"container"},bn={class:"main"},kn={key:0,class:"name"},gn=["innerHTML"],$n=["innerHTML"],yn=["innerHTML"],Pn={key:0,class:"actions"},Vn={key:0,class:"image"},Sn={class:"image-container"},Ln=b({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=q("hero-image-slot-exists");return(t,s)=>(a(),d("div",{class:I(["VPHero",{"has-image":t.image||r(e)}])},[p("div",_n,[p("div",bn,[u(t.$slots,"home-hero-info-before",{},void 0,!0),u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),d("h1",kn,[p("span",{innerHTML:t.name,class:"clip"},null,8,gn)])):_("",!0),t.text?(a(),d("p",{key:1,innerHTML:t.text,class:"text"},null,8,$n)):_("",!0),t.tagline?(a(),d("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,yn)):_("",!0)],!0),u(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),d("div",Pn,[(a(!0),d(M,null,B(t.actions,n=>(a(),d("div",{key:n.link,class:"action"},[g(fn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):_("",!0),u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),d("div",Vn,[p("div",Sn,[s[0]||(s[0]=p("div",{class:"image-bg"},null,-1)),u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):_("",!0)],!0)])])):_("",!0)])],2))}}),Tn=$(Ln,[["__scopeId","data-v-955009fc"]]),wn=b({__name:"VPHomeHero",setup(o){const{frontmatter:e}=L();return(t,s)=>r(e).hero?(a(),k(Tn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":f(()=>[u(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[u(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[u(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[u(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):_("",!0)}}),Nn={class:"box"},In={key:0,class:"icon"},Mn=["innerHTML"],Cn=["innerHTML"],An=["innerHTML"],Bn={key:4,class:"link-text"},En={class:"link-text-value"},Hn=b({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),k(O,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[p("article",Nn,[typeof e.icon=="object"&&e.icon.wrap?(a(),d("div",In,[g(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),d("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Mn)):_("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,Cn),e.details?(a(),d("p",{key:3,class:"details",innerHTML:e.details},null,8,An)):_("",!0),e.linkText?(a(),d("div",Bn,[p("p",En,[F(N(e.linkText)+" ",1),t[0]||(t[0]=p("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):_("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),On=$(Hn,[["__scopeId","data-v-f5e9645b"]]),Dn={key:0,class:"VPFeatures"},Fn={class:"container"},Rn={class:"items"},Un=b({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=P(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,n)=>s.features?(a(),d("div",Dn,[p("div",Fn,[p("div",Rn,[(a(!0),d(M,null,B(s.features,i=>(a(),d("div",{key:i.title,class:I(["item",[t.value]])},[g(On,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):_("",!0)}}),Gn=$(Un,[["__scopeId","data-v-d0a190d7"]]),jn=b({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=L();return(t,s)=>r(e).features?(a(),k(Gn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):_("",!0)}}),zn=b({__name:"VPHomeContent",setup(o){const{width:e}=qe({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),d("div",{class:"vp-doc container",style:Te(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[u(t.$slots,"default",{},void 0,!0)],4))}}),Kn=$(zn,[["__scopeId","data-v-7a48a447"]]),Wn={class:"VPHome"},qn=b({__name:"VPHome",setup(o){const{frontmatter:e}=L();return(t,s)=>{const n=K("Content");return a(),d("div",Wn,[u(t.$slots,"home-hero-before",{},void 0,!0),g(wn,null,{"home-hero-info-before":f(()=>[u(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(t.$slots,"home-hero-after",{},void 0,!0),u(t.$slots,"home-features-before",{},void 0,!0),g(jn),u(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(Kn,{key:0},{default:f(()=>[g(n)]),_:1})):(a(),k(n,{key:1}))])}}}),Jn=$(qn,[["__scopeId","data-v-cbb6ec48"]]),Yn={},Xn={class:"VPPage"};function Qn(o,e){const t=K("Content");return a(),d("div",Xn,[u(o.$slots,"page-top"),g(t),u(o.$slots,"page-bottom")])}const Zn=$(Yn,[["render",Qn]]),xn=b({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=L(),{hasSidebar:s}=U();return(n,i)=>(a(),d("div",{class:I(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?u(n.$slots,"not-found",{key:0},()=>[g(mt)],!0):r(t).layout==="page"?(a(),k(Zn,{key:1},{"page-top":f(()=>[u(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[u(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(Jn,{key:2},{"home-hero-before":f(()=>[u(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[u(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[u(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[u(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[u(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(H(r(t).layout),{key:3})):(a(),k(vn,{key:4},{"doc-top":f(()=>[u(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[u(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[u(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[u(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[u(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[u(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[u(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[u(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),es=$(xn,[["__scopeId","data-v-91765379"]]),ts={class:"container"},ns=["innerHTML"],ss=["innerHTML"],os=b({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:s}=U();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),d("footer",{key:0,class:I(["VPFooter",{"has-sidebar":r(s)}])},[p("div",ts,[r(e).footer.message?(a(),d("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,ns)):_("",!0),r(e).footer.copyright?(a(),d("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,ss)):_("",!0)])],2)):_("",!0)}}),as=$(os,[["__scopeId","data-v-c970a860"]]);function rs(){const{theme:o,frontmatter:e}=L(),t=Se([]),s=P(()=>t.value.length>0);return x(()=>{t.value=_e(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const is={class:"menu-text"},ls={class:"header"},cs={class:"outline"},us=b({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=L(),s=T(!1),n=T(0),i=T(),l=T();function v(m){var V;(V=i.value)!=null&&V.contains(m.target)||(s.value=!1)}D(s,m=>{if(m){document.addEventListener("click",v);return}document.removeEventListener("click",v)}),ie("Escape",()=>{s.value=!1}),x(()=>{s.value=!1});function c(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function h(m){m.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),we(()=>{s.value=!1}))}function y(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(m,V)=>(a(),d("div",{class:"VPLocalNavOutlineDropdown",style:Te({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[m.headers.length>0?(a(),d("button",{key:0,onClick:c,class:I({open:s.value})},[p("span",is,N(r(Ae)(r(t))),1),V[0]||(V[0]=p("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),d("button",{key:1,onClick:y},N(r(t).returnToTopLabel||"Return to top"),1)),g(de,{name:"flyout"},{default:f(()=>[s.value?(a(),d("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:h},[p("div",ls,[p("a",{class:"top-link",href:"#",onClick:y},N(r(t).returnToTopLabel||"Return to top"),1)]),p("div",cs,[g(Be,{headers:m.headers},null,8,["headers"])])],512)):_("",!0)]),_:1})],4))}}),ds=$(us,[["__scopeId","data-v-bc9dc845"]]),vs={class:"container"},ps=["aria-expanded"],fs={class:"menu-text"},hs=b({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:s}=U(),{headers:n}=rs(),{y:i}=Ne(),l=T(0);R(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=_e(t.value.outline??e.value.outline)});const v=P(()=>n.value.length===0),c=P(()=>v.value&&!s.value),h=P(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:v.value,fixed:c.value}));return(y,m)=>r(t).layout!=="home"&&(!c.value||r(i)>=l.value)?(a(),d("div",{key:0,class:I(h.value)},[p("div",vs,[r(s)?(a(),d("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:m[0]||(m[0]=V=>y.$emit("open-menu"))},[m[1]||(m[1]=p("span",{class:"vpi-align-left menu-icon"},null,-1)),p("span",fs,N(r(e).sidebarMenuLabel||"Menu"),1)],8,ps)):_("",!0),g(ds,{headers:r(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):_("",!0)}}),ms=$(hs,[["__scopeId","data-v-070ab83d"]]);function _s(){const o=T(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function s(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=ee();return D(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const bs={},ks={class:"VPSwitch",type:"button",role:"switch"},gs={class:"check"},$s={key:0,class:"icon"};function ys(o,e){return a(),d("button",ks,[p("span",gs,[o.$slots.default?(a(),d("span",$s,[u(o.$slots,"default",{},void 0,!0)])):_("",!0)])])}const Ps=$(bs,[["render",ys],["__scopeId","data-v-4a1c76db"]]),Vs=b({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=L(),s=q("toggle-appearance",()=>{e.value=!e.value}),n=T("");return fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),k(Ps,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:f(()=>l[0]||(l[0]=[p("span",{class:"vpi-sun sun"},null,-1),p("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),be=$(Vs,[["__scopeId","data-v-e40a8bb6"]]),Ss={key:0,class:"VPNavBarAppearance"},Ls=b({__name:"VPNavBarAppearance",setup(o){const{site:e}=L();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),d("div",Ss,[g(be)])):_("",!0)}}),Ts=$(Ls,[["__scopeId","data-v-af096f4a"]]),ke=T();let Ee=!1,ae=0;function ws(o){const e=T(!1);if(te){!Ee&&Ns(),ae++;const t=D(ke,s=>{var n,i,l;s===o.el.value||(n=o.el.value)!=null&&n.contains(s)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(l=o.onBlur)==null||l.call(o))});pe(()=>{t(),ae--,ae||Is()})}return Je(e)}function Ns(){document.addEventListener("focusin",He),Ee=!0,ke.value=document.activeElement}function Is(){document.removeEventListener("focusin",He)}function He(){ke.value=document.activeElement}const Ms={class:"VPMenuLink"},Cs=b({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,s)=>(a(),d("div",Ms,[g(O,{class:I({active:r(z)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:f(()=>[F(N(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=$(Cs,[["__scopeId","data-v-8b74d055"]]),As={class:"VPMenuGroup"},Bs={key:0,class:"title"},Es=b({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),d("div",As,[e.text?(a(),d("p",Bs,N(e.text),1)):_("",!0),(a(!0),d(M,null,B(e.items,s=>(a(),d(M,null,["link"in s?(a(),k(ne,{key:0,item:s},null,8,["item"])):_("",!0)],64))),256))]))}}),Hs=$(Es,[["__scopeId","data-v-48c802d0"]]),Os={class:"VPMenu"},Ds={key:0,class:"items"},Fs=b({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),d("div",Os,[e.items?(a(),d("div",Ds,[(a(!0),d(M,null,B(e.items,s=>(a(),d(M,{key:JSON.stringify(s)},["link"in s?(a(),k(ne,{key:0,item:s},null,8,["item"])):"component"in s?(a(),k(H(s.component),j({key:1,ref_for:!0},s.props),null,16)):(a(),k(Hs,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):_("",!0),u(e.$slots,"default",{},void 0,!0)]))}}),Rs=$(Fs,[["__scopeId","data-v-7dd3104a"]]),Us=["aria-expanded","aria-label"],Gs={key:0,class:"text"},js=["innerHTML"],zs={key:1,class:"vpi-more-horizontal icon"},Ks={class:"menu"},Ws=b({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=T(!1),t=T();ws({el:t,onBlur:s});function s(){e.value=!1}return(n,i)=>(a(),d("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),d("span",Gs,[n.icon?(a(),d("span",{key:0,class:I([n.icon,"option-icon"])},null,2)):_("",!0),n.button?(a(),d("span",{key:1,innerHTML:n.button},null,8,js)):_("",!0),i[3]||(i[3]=p("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),d("span",zs))],8,Us),p("div",Ks,[g(Rs,{items:n.items},{default:f(()=>[u(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ge=$(Ws,[["__scopeId","data-v-04f5c5e9"]]),qs=["href","aria-label","innerHTML"],Js=b({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=P(()=>typeof e.icon=="object"?e.icon.svg:``);return(s,n)=>(a(),d("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,qs))}}),Ys=$(Js,[["__scopeId","data-v-717b8b75"]]),Xs={class:"VPSocialLinks"},Qs=b({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),d("div",Xs,[(a(!0),d(M,null,B(e.links,({link:s,icon:n,ariaLabel:i})=>(a(),k(Ys,{key:s,icon:n,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),$e=$(Qs,[["__scopeId","data-v-ee7a9424"]]),Zs={key:0,class:"group translations"},xs={class:"trans-title"},eo={key:1,class:"group"},to={class:"item appearance"},no={class:"label"},so={class:"appearance-action"},oo={key:2,class:"group"},ao={class:"item social-links"},ro=b({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=L(),{localeLinks:s,currentLang:n}=Y({correspondingLink:!0}),i=P(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,v)=>i.value?(a(),k(ge,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(s).length&&r(n).label?(a(),d("div",Zs,[p("p",xs,N(r(n).label),1),(a(!0),d(M,null,B(r(s),c=>(a(),k(ne,{key:c.link,item:c},null,8,["item"]))),128))])):_("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),d("div",eo,[p("div",to,[p("p",no,N(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",so,[g(be)])])])):_("",!0),r(t).socialLinks?(a(),d("div",oo,[p("div",ao,[g($e,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):_("",!0)]),_:1})):_("",!0)}}),io=$(ro,[["__scopeId","data-v-925effce"]]),lo=["aria-expanded"],co=b({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),d("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},t[1]||(t[1]=[p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)]),10,lo))}}),uo=$(co,[["__scopeId","data-v-5dea55bf"]]),vo=["innerHTML"],po=b({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,s)=>(a(),k(O,{class:I({VPNavBarMenuLink:!0,active:r(z)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,vo)]),_:1},8,["class","href","noIcon","target","rel"]))}}),fo=$(po,[["__scopeId","data-v-ed5ac1f6"]]),Oe=b({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=L(),s=i=>"component"in i?!1:"link"in i?z(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),n=P(()=>s(e.item));return(i,l)=>(a(),k(ge,{class:I({VPNavBarMenuGroup:!0,active:r(z)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),ho={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},mo=b({__name:"VPNavBarMenu",setup(o){const{theme:e}=L();return(t,s)=>r(e).nav?(a(),d("nav",ho,[s[0]||(s[0]=p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),d(M,null,B(r(e).nav,n=>(a(),d(M,{key:JSON.stringify(n)},["link"in n?(a(),k(fo,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(H(n.component),j({key:1,ref_for:!0},n.props),null,16)):(a(),k(Oe,{key:2,item:n},null,8,["item"]))],64))),128))])):_("",!0)}}),_o=$(mo,[["__scopeId","data-v-e6d46098"]]);function bo(o){const{localeIndex:e,theme:t}=L();function s(n){var C,A,w;const i=n.split("."),l=(C=t.value.search)==null?void 0:C.options,v=l&&typeof l=="object",c=v&&((w=(A=l.locales)==null?void 0:A[e.value])==null?void 0:w.translations)||null,h=v&&l.translations||null;let y=c,m=h,V=o;const S=i.pop();for(const E of i){let G=null;const W=V==null?void 0:V[E];W&&(G=V=W);const se=m==null?void 0:m[E];se&&(G=m=se);const oe=y==null?void 0:y[E];oe&&(G=y=oe),W||(V=G),se||(m=G),oe||(y=G)}return(y==null?void 0:y[S])??(m==null?void 0:m[S])??(V==null?void 0:V[S])??""}return s}const ko=["aria-label"],go={class:"DocSearch-Button-Container"},$o={class:"DocSearch-Button-Placeholder"},ye=b({__name:"VPNavBarSearchButton",setup(o){const t=bo({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),d("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",go,[n[0]||(n[0]=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),p("span",$o,N(r(t)("button.buttonText")),1)]),n[1]||(n[1]=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,ko))}}),yo={class:"VPNavBarSearch"},Po={id:"local-search"},Vo={key:1,id:"docsearch"},So=b({__name:"VPNavBarSearch",setup(o){const e=Ye(()=>Xe(()=>import("./VPLocalSearchBox.96yseQxt.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=L(),n=T(!1),i=T(!1);R(()=>{});function l(){n.value||(n.value=!0,setTimeout(v,16))}function v(){const m=new Event("keydown");m.key="k",m.metaKey=!0,window.dispatchEvent(m),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function c(m){const V=m.target,S=V.tagName;return V.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const h=T(!1);ie("k",m=>{(m.ctrlKey||m.metaKey)&&(m.preventDefault(),h.value=!0)}),ie("/",m=>{c(m)||(m.preventDefault(),h.value=!0)});const y="local";return(m,V)=>{var S;return a(),d("div",yo,[r(y)==="local"?(a(),d(M,{key:0},[h.value?(a(),k(r(e),{key:0,onClose:V[0]||(V[0]=C=>h.value=!1)})):_("",!0),p("div",Po,[g(ye,{onClick:V[1]||(V[1]=C=>h.value=!0)})])],64)):r(y)==="algolia"?(a(),d(M,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((S=r(s).search)==null?void 0:S.options)??r(s).algolia,onVnodeBeforeMount:V[2]||(V[2]=C=>i.value=!0)},null,8,["algolia"])):_("",!0),i.value?_("",!0):(a(),d("div",Vo,[g(ye,{onClick:l})]))],64)):_("",!0)])}}}),Lo=b({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=L();return(t,s)=>r(e).socialLinks?(a(),k($e,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):_("",!0)}}),To=$(Lo,[["__scopeId","data-v-164c457f"]]),wo=["href","rel","target"],No={key:1},Io={key:2},Mo=b({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=L(),{hasSidebar:s}=U(),{currentLang:n}=Y(),i=P(()=>{var c;return typeof t.value.logoLink=="string"?t.value.logoLink:(c=t.value.logoLink)==null?void 0:c.link}),l=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.rel}),v=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.target});return(c,h)=>(a(),d("div",{class:I(["VPNavBarTitle",{"has-sidebar":r(s)}])},[p("a",{class:"title",href:i.value??r(me)(r(n).link),rel:l.value,target:v.value},[u(c.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(Q,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):_("",!0),r(t).siteTitle?(a(),d("span",No,N(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),d("span",Io,N(r(e).title),1)):_("",!0),u(c.$slots,"nav-bar-title-after",{},void 0,!0)],8,wo)],2))}}),Co=$(Mo,[["__scopeId","data-v-28a961f9"]]),Ao={class:"items"},Bo={class:"title"},Eo=b({__name:"VPNavBarTranslations",setup(o){const{theme:e}=L(),{localeLinks:t,currentLang:s}=Y({correspondingLink:!0});return(n,i)=>r(t).length&&r(s).label?(a(),k(ge,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:f(()=>[p("div",Ao,[p("p",Bo,N(r(s).label),1),(a(!0),d(M,null,B(r(t),l=>(a(),k(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):_("",!0)}}),Ho=$(Eo,[["__scopeId","data-v-c80d9ad0"]]),Oo={class:"wrapper"},Do={class:"container"},Fo={class:"title"},Ro={class:"content"},Uo={class:"content-body"},Go=b({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=Ne(),{hasSidebar:s}=U(),{frontmatter:n}=L(),i=T({});return fe(()=>{i.value={"has-sidebar":s.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,v)=>(a(),d("div",{class:I(["VPNavBar",i.value])},[p("div",Oo,[p("div",Do,[p("div",Fo,[g(Co,null,{"nav-bar-title-before":f(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",Ro,[p("div",Uo,[u(l.$slots,"nav-bar-content-before",{},void 0,!0),g(So,{class:"search"}),g(_o,{class:"menu"}),g(Ho,{class:"translations"}),g(Ts,{class:"appearance"}),g(To,{class:"social-links"}),g(io,{class:"extra"}),u(l.$slots,"nav-bar-content-after",{},void 0,!0),g(uo,{class:"hamburger",active:l.isScreenOpen,onClick:v[0]||(v[0]=c=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),v[1]||(v[1]=p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1))],2))}}),jo=$(Go,[["__scopeId","data-v-822684d1"]]),zo={key:0,class:"VPNavScreenAppearance"},Ko={class:"text"},Wo=b({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=L();return(s,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),d("div",zo,[p("p",Ko,N(r(t).darkModeSwitchLabel||"Appearance"),1),g(be)])):_("",!0)}}),qo=$(Wo,[["__scopeId","data-v-ffb44008"]]),Jo=b({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,s)=>(a(),k(O,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Yo=$(Jo,[["__scopeId","data-v-27d04aeb"]]),Xo=b({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,s)=>(a(),k(O,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:f(()=>[F(N(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),De=$(Xo,[["__scopeId","data-v-7179dbb7"]]),Qo={class:"VPNavScreenMenuGroupSection"},Zo={key:0,class:"title"},xo=b({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),d("div",Qo,[e.text?(a(),d("p",Zo,N(e.text),1)):_("",!0),(a(!0),d(M,null,B(e.items,s=>(a(),k(De,{key:s.text,item:s},null,8,["item"]))),128))]))}}),ea=$(xo,[["__scopeId","data-v-4b8941ac"]]),ta=["aria-controls","aria-expanded"],na=["innerHTML"],sa=["id"],oa={key:0,class:"item"},aa={key:1,class:"item"},ra={key:2,class:"group"},ia=b({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=T(!1),s=P(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,l)=>(a(),d("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:i.text},null,8,na),l[0]||(l[0]=p("span",{class:"vpi-plus button-icon"},null,-1))],8,ta),p("div",{id:s.value,class:"items"},[(a(!0),d(M,null,B(i.items,v=>(a(),d(M,{key:JSON.stringify(v)},["link"in v?(a(),d("div",oa,[g(De,{item:v},null,8,["item"])])):"component"in v?(a(),d("div",aa,[(a(),k(H(v.component),j({ref_for:!0},v.props,{"screen-menu":""}),null,16))])):(a(),d("div",ra,[g(ea,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,sa)],2))}}),Fe=$(ia,[["__scopeId","data-v-875057a5"]]),la={key:0,class:"VPNavScreenMenu"},ca=b({__name:"VPNavScreenMenu",setup(o){const{theme:e}=L();return(t,s)=>r(e).nav?(a(),d("nav",la,[(a(!0),d(M,null,B(r(e).nav,n=>(a(),d(M,{key:JSON.stringify(n)},["link"in n?(a(),k(Yo,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(H(n.component),j({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(Fe,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):_("",!0)}}),ua=b({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=L();return(t,s)=>r(e).socialLinks?(a(),k($e,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):_("",!0)}}),da={class:"list"},va=b({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=Y({correspondingLink:!0}),s=T(!1);function n(){s.value=!s.value}return(i,l)=>r(e).length&&r(t).label?(a(),d("div",{key:0,class:I(["VPNavScreenTranslations",{open:s.value}])},[p("button",{class:"title",onClick:n},[l[0]||(l[0]=p("span",{class:"vpi-languages icon lang"},null,-1)),F(" "+N(r(t).label)+" ",1),l[1]||(l[1]=p("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),p("ul",da,[(a(!0),d(M,null,B(r(e),v=>(a(),d("li",{key:v.link,class:"item"},[g(O,{class:"link",href:v.link},{default:f(()=>[F(N(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):_("",!0)}}),pa=$(va,[["__scopeId","data-v-362991c2"]]),fa={class:"container"},ha=b({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=T(null),t=Ie(te?document.body:null);return(s,n)=>(a(),k(de,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:f(()=>[s.open?(a(),d("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",fa,[u(s.$slots,"nav-screen-content-before",{},void 0,!0),g(ca,{class:"menu"}),g(pa,{class:"translations"}),g(qo,{class:"appearance"}),g(ua,{class:"social-links"}),u(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):_("",!0)]),_:3}))}}),ma=$(ha,[["__scopeId","data-v-833aabba"]]),_a={key:0,class:"VPNav"},ba=b({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=_s(),{frontmatter:n}=L(),i=P(()=>n.value.navbar!==!1);return he("close-screen",t),Z(()=>{te&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,v)=>i.value?(a(),d("header",_a,[g(jo,{"is-screen-open":r(e),onToggleScreen:r(s)},{"nav-bar-title-before":f(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[u(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[u(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),g(ma,{open:r(e)},{"nav-screen-content-before":f(()=>[u(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[u(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):_("",!0)}}),ka=$(ba,[["__scopeId","data-v-f1e365da"]]),ga=["role","tabindex"],$a={key:1,class:"items"},ya=b({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:i,hasActiveLink:l,hasChildren:v,toggle:c}=gt(P(()=>e.item)),h=P(()=>v.value?"section":"div"),y=P(()=>n.value?"a":"div"),m=P(()=>v.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=P(()=>n.value?void 0:"button"),S=P(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":l.value}]);function C(w){"key"in w&&w.key!=="Enter"||!e.item.link&&c()}function A(){e.item.link&&c()}return(w,E)=>{const G=K("VPSidebarItem",!0);return a(),k(H(h.value),{class:I(["VPSidebarItem",S.value])},{default:f(()=>[w.item.text?(a(),d("div",j({key:0,class:"item",role:V.value},Qe(w.item.items?{click:C,keydown:C}:{},!0),{tabindex:w.item.items&&0}),[E[1]||(E[1]=p("div",{class:"indicator"},null,-1)),w.item.link?(a(),k(O,{key:0,tag:y.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),k(H(m.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(H(m.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),d("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:A,onKeydown:Ze(A,["enter"]),tabindex:"0"},E[0]||(E[0]=[p("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):_("",!0)],16,ga)):_("",!0),w.item.items&&w.item.items.length?(a(),d("div",$a,[w.depth<5?(a(!0),d(M,{key:0},B(w.item.items,W=>(a(),k(G,{key:W.text,item:W,depth:w.depth+1},null,8,["item","depth"]))),128)):_("",!0)])):_("",!0)]),_:1},8,["class"])}}}),Pa=$(ya,[["__scopeId","data-v-196b2e5f"]]),Va=b({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=T(!0);let t=null;return R(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),xe(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,n)=>(a(!0),d(M,null,B(s.items,i=>(a(),d("div",{key:i.text,class:I(["group",{"no-transition":e.value}])},[g(Pa,{item:i,depth:0},null,8,["item"])],2))),128))}}),Sa=$(Va,[["__scopeId","data-v-9e426adc"]]),La={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ta=b({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=U(),s=o,n=T(null),i=Ie(te?document.body:null);D([s,n],()=>{var v;s.open?(i.value=!0,(v=n.value)==null||v.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return D(e,()=>{l.value+=1},{deep:!0}),(v,c)=>r(t)?(a(),d("aside",{key:0,class:I(["VPSidebar",{open:v.open}]),ref_key:"navEl",ref:n,onClick:c[0]||(c[0]=et(()=>{},["stop"]))},[c[2]||(c[2]=p("div",{class:"curtain"},null,-1)),p("nav",La,[c[1]||(c[1]=p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),u(v.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k(Sa,{items:r(e),key:l.value},null,8,["items"])),u(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):_("",!0)}}),wa=$(Ta,[["__scopeId","data-v-18756405"]]),Na=b({__name:"VPSkipLink",setup(o){const e=ee(),t=T();D(()=>e.path,()=>t.value.focus());function s({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),d(M,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),Ia=$(Na,[["__scopeId","data-v-c3508ec8"]]),Ma=b({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=U(),n=ee();D(()=>n.path,s),kt(e,s);const{frontmatter:i}=L(),l=Me(),v=P(()=>!!l["home-hero-image"]);return he("hero-image-slot-exists",v),(c,h)=>{const y=K("Content");return r(i).layout!==!1?(a(),d("div",{key:0,class:I(["Layout",r(i).pageClass])},[u(c.$slots,"layout-top",{},void 0,!0),g(Ia),g(rt,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),g(ka,null,{"nav-bar-title-before":f(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[u(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[u(c.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[u(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[u(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),g(ms,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),g(wa,{open:r(e)},{"sidebar-nav-before":f(()=>[u(c.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[u(c.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),g(es,null,{"page-top":f(()=>[u(c.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[u(c.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[u(c.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[u(c.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[u(c.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(c.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(c.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(c.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(c.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[u(c.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[u(c.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[u(c.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[u(c.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[u(c.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[u(c.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[u(c.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[u(c.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[u(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[u(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[u(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),g(as),u(c.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(y,{key:1}))}}}),Ca=$(Ma,[["__scopeId","data-v-a9a9e638"]]),Aa={Layout:Ca,enhanceApp:({app:o})=>{o.component("Badge",st)}},Ba=o=>{if(typeof document>"u")return{stabilizeScrollPosition:n=>async(...i)=>n(...i)};const e=document.documentElement;return{stabilizeScrollPosition:s=>async(...n)=>{const i=s(...n),l=o.value;if(!l)return i;const v=l.offsetTop-e.scrollTop;return await we(),e.scrollTop=l.offsetTop-v,i}}},Re="vitepress:tabSharedState",J=typeof localStorage<"u"?localStorage:null,Ue="vitepress:tabsSharedState",Ea=()=>{const o=J==null?void 0:J.getItem(Ue);if(o)try{return JSON.parse(o)}catch{}return{}},Ha=o=>{J&&J.setItem(Ue,JSON.stringify(o))},Oa=o=>{const e=tt({});D(()=>e.content,(t,s)=>{t&&s&&Ha(t)},{deep:!0}),o.provide(Re,e)},Da=(o,e)=>{const t=q(Re);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");R(()=>{t.content||(t.content=Ea())});const s=T(),n=P({get(){var c;const l=e.value,v=o.value;if(l){const h=(c=t.content)==null?void 0:c[l];if(h&&v.includes(h))return h}else{const h=s.value;if(h)return h}return v[0]},set(l){const v=e.value;v?t.content&&(t.content[v]=l):s.value=l}});return{selected:n,select:l=>{n.value=l}}};let Pe=0;const Fa=()=>(Pe++,""+Pe);function Ra(){const o=Me();return P(()=>{var s;const t=(s=o.default)==null?void 0:s.call(o);return t?t.filter(n=>typeof n.type=="object"&&"__name"in n.type&&n.type.__name==="PluginTabsTab"&&n.props).map(n=>{var i;return(i=n.props)==null?void 0:i.label}):[]})}const Ge="vitepress:tabSingleState",Ua=o=>{he(Ge,o)},Ga=()=>{const o=q(Ge);if(!o)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return o},ja={class:"plugin-tabs"},za=["id","aria-selected","aria-controls","tabindex","onClick"],Ka=b({__name:"PluginTabs",props:{sharedStateKey:{}},setup(o){const e=o,t=Ra(),{selected:s,select:n}=Da(t,nt(e,"sharedStateKey")),i=T(),{stabilizeScrollPosition:l}=Ba(i),v=l(n),c=T([]),h=m=>{var C;const V=t.value.indexOf(s.value);let S;m.key==="ArrowLeft"?S=V>=1?V-1:t.value.length-1:m.key==="ArrowRight"&&(S=V(a(),d("div",ja,[p("div",{ref_key:"tablist",ref:i,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:h},[(a(!0),d(M,null,B(r(t),S=>(a(),d("button",{id:`tab-${S}-${r(y)}`,ref_for:!0,ref_key:"buttonRefs",ref:c,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===r(s),"aria-controls":`panel-${S}-${r(y)}`,tabindex:S===r(s)?0:-1,onClick:()=>r(v)(S)},N(S),9,za))),128))],544),u(m.$slots,"default")]))}}),Wa=["id","aria-labelledby"],qa=b({__name:"PluginTabsTab",props:{label:{}},setup(o){const{uid:e,selected:t}=Ga();return(s,n)=>r(t)===s.label?(a(),d("div",{key:0,id:`panel-${s.label}-${r(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${s.label}-${r(e)}`},[u(s.$slots,"default",{},void 0,!0)],8,Wa)):_("",!0)}}),Ja=$(qa,[["__scopeId","data-v-9b0d03d2"]]),Ya=o=>{Oa(o),o.component("PluginTabs",Ka),o.component("PluginTabsTab",Ja)},Xa=b({__name:"VersionPicker",props:{screenMenu:{type:Boolean}},setup(o){const e=T([]),t=T("Versions"),s=T(!1);Ve();const n=()=>typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),i=()=>{if(typeof window>"u")return"";const{origin:c,pathname:h}=window.location;if(c.includes("github.io")){const y=h.split("/").filter(Boolean),m=y.length>0?`/${y[0]}/`:"/";return`${c}${m}`}else return c},l=()=>new Promise(c=>{if(n()){c(!1);return}const h=setInterval(()=>{window.DOC_VERSIONS&&window.DOCUMENTER_CURRENT_VERSION&&(clearInterval(h),c(!0))},100);setTimeout(()=>{clearInterval(h),c(!1)},5e3)});return R(async()=>{if(!(typeof window>"u")){try{if(n()){const c=["dev"];e.value=c.map(h=>({text:h,link:"/"})),t.value="dev"}else{const c=await l(),h=P(()=>i());if(c&&window.DOC_VERSIONS&&window.DOCUMENTER_CURRENT_VERSION)e.value=window.DOC_VERSIONS.map(y=>({text:y,link:`${h.value}/${y}/`})),t.value=window.DOCUMENTER_CURRENT_VERSION;else{const y=["dev"];e.value=y.map(m=>({text:m,link:`${h.value}/${m}/`})),t.value="dev"}}}catch(c){console.warn("Error loading versions:",c);const h=["dev"],y=P(()=>i());e.value=h.map(m=>({text:m,link:`${y.value}/${m}/`})),t.value="dev"}s.value=!0}}),(c,h)=>s.value?(a(),d(M,{key:0},[!c.screenMenu&&e.value.length>0?(a(),k(Oe,{key:0,item:{text:t.value,items:e.value},class:"VPVersionPicker"},null,8,["item"])):c.screenMenu&&e.value.length>0?(a(),k(Fe,{key:1,text:t.value,items:e.value,class:"VPVersionPicker"},null,8,["text","items"])):_("",!0)],64)):_("",!0)}}),Qa=$(Xa,[["__scopeId","data-v-f465cb49"]]),xa={extends:Aa,enhanceApp({app:o,router:e,siteData:t}){Ya(o),o.component("VersionPicker",Qa)}};export{xa as R,bo as c,L as u}; diff --git a/dev/assets/cuda.md.DmbWVZki.js b/dev/assets/cuda.md.D8Q-T0cP.js similarity index 86% rename from dev/assets/cuda.md.DmbWVZki.js rename to dev/assets/cuda.md.D8Q-T0cP.js index e5a3dd9c8..85a3529d8 100644 --- a/dev/assets/cuda.md.DmbWVZki.js +++ b/dev/assets/cuda.md.D8Q-T0cP.js @@ -1,10 +1,10 @@ -import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const C=JSON.parse('{"title":"CUDA & GPUs","description":"","frontmatter":{},"headers":[],"relativePath":"cuda.md","filePath":"cuda.md","lastUpdated":null}'),t={name:"cuda.md"};function l(k,s,p,e,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`

CUDA & GPUs

Running regular julia code on GPUs is one of the most amazing things about the language. DimensionalData.jl leans into this as much as possible.

julia
using DimensionalData, CUDA
+import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.BAAK0EyE.js";const C=JSON.parse('{"title":"CUDA & GPUs","description":"","frontmatter":{},"headers":[],"relativePath":"cuda.md","filePath":"cuda.md","lastUpdated":null}'),t={name:"cuda.md"};function l(k,s,p,e,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`

CUDA & GPUs

Running regular julia code on GPUs is one of the most amazing things about the language. DimensionalData.jl leans into this as much as possible.

julia
using DimensionalData, CUDA
 
 # Create a Float32 array to use on the GPU
 A = rand(Float32, X(1.0:1000.0), Y(1.0:2000.0))
 
 # Move the parent data to the GPU with \`modify\` and the \`CuArray\` constructor:
-cuA = modify(CuArray, A)

The result of a GPU broadcast is still a DimArray:

julia
julia> cuA2 = cuA .* 2
+cuA = modify(CuArray, A)

The result of a GPU broadcast is still a DimArray:

julia
julia> cuA2 = cuA .* 2
 ╭───────────────────────────────╮
 1000×2000 DimArray{Float32,2} │
 ├───────────────────────────────┴────────────────────────────── dims ┐
@@ -25,4 +25,4 @@ import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const C
   998.0  1.18035   1.61025    0.352614   1.75847         0.464554      1.90309       1.30923
   999.0  1.40584   1.83056    0.0804518  0.177423        1.20779       1.95217       0.881149
  1000.0  1.41334   0.719974   0.479126   1.92721         0.0649391     0.642908      1.07277

But the data is on the GPU:

julia
julia> typeof(parent(cuA2))
-CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}

GPU Integration goals

DimensionalData.jl has two GPU-related goals:

  1. Work seamlessly with Base julia broadcasts and other operations that already work on GPU.

  2. Work as arguments to custom GPU kernel functions.

This means any AbstractDimArray must be automatically moved to the GPU and its fields converted to GPU friendly forms whenever required, using Adapt.jl).

  • The array data must converts to the correct GPU array backend when Adapt.adapt(dimarray) is called.

  • All DimensionalData.jl objects, except the actual parent array, need to be immutable isbits or convertible to them. This is one reason DimensionalData.jl uses rebuild and a functional style, rather than in-place modification of fields.

  • Symbols need to be moved to the type system Name{:layer_name}() replaces :layer_name

  • Metadata dicts need to be stripped, they are often too difficult to convert, and not needed on GPU.

As an example, DynamicGrids.jl uses AbstractDimArray for auxiliary model data that are passed into KernelAbstractions.jl/ CUDA.jl kernels.

`,13)]))}const g=i(t,[["render",l]]);export{C as __pageData,g as default}; +CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}

GPU Integration goals

DimensionalData.jl has two GPU-related goals:

  1. Work seamlessly with Base Julia broadcasts and other operations that already work on GPU.

  2. Work as arguments to custom GPU kernel functions.

This means any AbstractDimArray must be automatically moved to the GPU and its fields converted to GPU-friendly forms whenever required, using Adapt.jl.

  • The array data must convert to the correct GPU array backend when Adapt.adapt(dimarray) is called.

  • All DimensionalData.jl objects, except the actual parent array, need to be immutable isbits or convertible to them. This is one reason DimensionalData.jl uses rebuild and a functional style, rather than in-place modification of fields.

  • Symbols need to be moved to the type system, so Name{:layer_name}() replaces :layer_name.

  • Metadata dictionaries need to be stripped, as they are often too difficult to convert and not needed on GPU.

As an example, DynamicGrids.jl uses AbstractDimArray for auxiliary model data that are passed into KernelAbstractions.jl/ CUDA.jl kernels.

`,13)]))}const g=i(t,[["render",l]]);export{C as __pageData,g as default}; diff --git a/dev/assets/cuda.md.DmbWVZki.lean.js b/dev/assets/cuda.md.D8Q-T0cP.lean.js similarity index 86% rename from dev/assets/cuda.md.DmbWVZki.lean.js rename to dev/assets/cuda.md.D8Q-T0cP.lean.js index e5a3dd9c8..85a3529d8 100644 --- a/dev/assets/cuda.md.DmbWVZki.lean.js +++ b/dev/assets/cuda.md.D8Q-T0cP.lean.js @@ -1,10 +1,10 @@ -import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const C=JSON.parse('{"title":"CUDA & GPUs","description":"","frontmatter":{},"headers":[],"relativePath":"cuda.md","filePath":"cuda.md","lastUpdated":null}'),t={name:"cuda.md"};function l(k,s,p,e,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`

CUDA & GPUs

Running regular julia code on GPUs is one of the most amazing things about the language. DimensionalData.jl leans into this as much as possible.

julia
using DimensionalData, CUDA
+import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.BAAK0EyE.js";const C=JSON.parse('{"title":"CUDA & GPUs","description":"","frontmatter":{},"headers":[],"relativePath":"cuda.md","filePath":"cuda.md","lastUpdated":null}'),t={name:"cuda.md"};function l(k,s,p,e,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`

CUDA & GPUs

Running regular julia code on GPUs is one of the most amazing things about the language. DimensionalData.jl leans into this as much as possible.

julia
using DimensionalData, CUDA
 
 # Create a Float32 array to use on the GPU
 A = rand(Float32, X(1.0:1000.0), Y(1.0:2000.0))
 
 # Move the parent data to the GPU with \`modify\` and the \`CuArray\` constructor:
-cuA = modify(CuArray, A)

The result of a GPU broadcast is still a DimArray:

julia
julia> cuA2 = cuA .* 2
+cuA = modify(CuArray, A)

The result of a GPU broadcast is still a DimArray:

julia
julia> cuA2 = cuA .* 2
 ╭───────────────────────────────╮
 1000×2000 DimArray{Float32,2} │
 ├───────────────────────────────┴────────────────────────────── dims ┐
@@ -25,4 +25,4 @@ import{_ as i,c as a,a4 as n,o as h}from"./chunks/framework.B8l2DGq3.js";const C
   998.0  1.18035   1.61025    0.352614   1.75847         0.464554      1.90309       1.30923
   999.0  1.40584   1.83056    0.0804518  0.177423        1.20779       1.95217       0.881149
  1000.0  1.41334   0.719974   0.479126   1.92721         0.0649391     0.642908      1.07277

But the data is on the GPU:

julia
julia> typeof(parent(cuA2))
-CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}

GPU Integration goals

DimensionalData.jl has two GPU-related goals:

  1. Work seamlessly with Base julia broadcasts and other operations that already work on GPU.

  2. Work as arguments to custom GPU kernel functions.

This means any AbstractDimArray must be automatically moved to the GPU and its fields converted to GPU friendly forms whenever required, using Adapt.jl).

  • The array data must converts to the correct GPU array backend when Adapt.adapt(dimarray) is called.

  • All DimensionalData.jl objects, except the actual parent array, need to be immutable isbits or convertible to them. This is one reason DimensionalData.jl uses rebuild and a functional style, rather than in-place modification of fields.

  • Symbols need to be moved to the type system Name{:layer_name}() replaces :layer_name

  • Metadata dicts need to be stripped, they are often too difficult to convert, and not needed on GPU.

As an example, DynamicGrids.jl uses AbstractDimArray for auxiliary model data that are passed into KernelAbstractions.jl/ CUDA.jl kernels.

`,13)]))}const g=i(t,[["render",l]]);export{C as __pageData,g as default}; +CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}

GPU Integration goals

DimensionalData.jl has two GPU-related goals:

  1. Work seamlessly with Base Julia broadcasts and other operations that already work on GPU.

  2. Work as arguments to custom GPU kernel functions.

This means any AbstractDimArray must be automatically moved to the GPU and its fields converted to GPU-friendly forms whenever required, using Adapt.jl.

  • The array data must convert to the correct GPU array backend when Adapt.adapt(dimarray) is called.

  • All DimensionalData.jl objects, except the actual parent array, need to be immutable isbits or convertible to them. This is one reason DimensionalData.jl uses rebuild and a functional style, rather than in-place modification of fields.

  • Symbols need to be moved to the type system, so Name{:layer_name}() replaces :layer_name.

  • Metadata dictionaries need to be stripped, as they are often too difficult to convert and not needed on GPU.

As an example, DynamicGrids.jl uses AbstractDimArray for auxiliary model data that are passed into KernelAbstractions.jl/ CUDA.jl kernels.

`,13)]))}const g=i(t,[["render",l]]);export{C as __pageData,g as default}; diff --git a/dev/assets/dcljjmm.DHFgsALw.png b/dev/assets/dcljjmm.DHFgsALw.png new file mode 100644 index 0000000000000000000000000000000000000000..f85d479028300085bb8ce39f6457963037dfee55 GIT binary patch literal 94324 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

DimArrays are wrappers for other kinds of AbstractArray that add named dimension lookups.

Here we define a Matrix of Float64, and give it X and Y dimensions

julia
julia> using DimensionalData
+import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./chunks/framework.BAAK0EyE.js";const u=JSON.parse('{"title":"DimArrays","description":"","frontmatter":{},"headers":[],"relativePath":"dimarrays.md","filePath":"dimarrays.md","lastUpdated":null}'),o={name:"dimarrays.md"};function r(y,a,f,c,b,E){const t=k("PluginTabsTab"),n=k("PluginTabs");return g(),p("div",null,[a[5]||(a[5]=l(`

DimArrays

DimArrays are wrappers for other kinds of AbstractArray that add named dimension lookups.

Here we define a Matrix of Float64, and give it X and Y dimensions

julia
julia> using DimensionalData
 
 julia> A = rand(5, 10)
5×10 Matrix{Float64}:
- 0.534915   0.4518     0.194465  0.780132  …  0.476495   0.0239356  0.526295
- 0.707692   0.454886   0.588506  0.168291     0.222482   0.493417   0.134246
- 0.0999314  0.0425477  0.44119   0.410463     0.0400372  0.0622255  0.350104
- 0.132894   0.865298   0.778166  0.723438     0.0740736  0.137619   0.202743
- 0.966106   0.854076   0.895608  0.147478     0.815365   0.24737    0.860933
julia
julia> da = DimArray(A, (X, Y))
╭──────────────────────────╮
+ 0.827655   0.0102884  0.688175  0.254555  …  0.628275   0.517329  0.886959
+ 0.223602   0.737979   0.996807  0.124594     0.0959042  0.628507  0.893267
+ 0.0392779  0.792885   0.249616  0.519235     0.0315486  0.113704  0.997572
+ 0.451879   0.846175   0.373575  0.891743     0.700389   0.958811  0.68136
+ 0.689712   0.0927459  0.765773  0.273573     0.688928   0.761347  0.596077
julia
julia> da = DimArray(A, (X, Y))
╭──────────────────────────╮
 5×10 DimArray{Float64,2}
 ├──────────────────────────┴─────────────────────────────── dims ┐
 X, Y
 └────────────────────────────────────────────────────────────────┘
- 0.534915   0.4518     0.194465  0.780132  …  0.476495   0.0239356  0.526295
- 0.707692   0.454886   0.588506  0.168291     0.222482   0.493417   0.134246
- 0.0999314  0.0425477  0.44119   0.410463     0.0400372  0.0622255  0.350104
- 0.132894   0.865298   0.778166  0.723438     0.0740736  0.137619   0.202743
- 0.966106   0.854076   0.895608  0.147478     0.815365   0.24737    0.860933

We can access a value with the same dimension wrappers:

julia
julia> da[Y(1), X(2)]
0.7076921858340348

There are shortcuts for creating DimArray:

`,11)),h(n,null,{default:e(()=>[h(t,{label:"DimArray"},{default:e(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"5×10 Matrix{Float64}:")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.764613 0.657441 0.625257 0.587556 … 0.344408 0.0140644 0.0127924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.760205 0.298179 0.545129 0.989571 0.554791 0.0697249 0.949105")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.553558 0.500157 0.295319 0.925873 0.386433 0.392848 0.26069")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.912065 0.917543 0.0965083 0.997672 0.492141 0.625296 0.391155")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.948512 0.0621546 0.167745 0.228964 0.90251 0.710967 0.885914")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, (X, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` + 0.827655 0.0102884 0.688175 0.254555 … 0.628275 0.517329 0.886959 + 0.223602 0.737979 0.996807 0.124594 0.0959042 0.628507 0.893267 + 0.0392779 0.792885 0.249616 0.519235 0.0315486 0.113704 0.997572 + 0.451879 0.846175 0.373575 0.891743 0.700389 0.958811 0.68136 + 0.689712 0.0927459 0.765773 0.273573 0.688928 0.761347 0.596077

We can access a value with the same dimension wrappers:

julia
julia> da[Y(1), X(2)]
0.2236016853688918

There are shortcuts for creating DimArray:

`,11)),h(n,null,{default:e(()=>[h(t,{label:"DimArray"},{default:e(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"5×10 Matrix{Float64}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.670688 0.534915 0.111072 0.194465 … 0.121525 0.797168 0.0239356")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.741593 0.707692 0.879899 0.813705 0.601833 0.826098 0.493417")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.119505 0.0999314 0.403111 0.755958 0.289335 0.542251 0.0622255")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.775377 0.217733 0.865298 0.876395 0.108514 0.306932 0.627107")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.576903 0.950338 0.854076 0.511978 0.866334 0.905021 0.0238569")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, (X, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴─────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.764613 0.657441 0.625257 0.587556 … 0.344408 0.0140644 0.0127924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.760205 0.298179 0.545129 0.989571 0.554791 0.0697249 0.949105")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.553558 0.500157 0.295319 0.925873 0.386433 0.392848 0.26069")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.912065 0.917543 0.0965083 0.997672 0.492141 0.625296 0.391155")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.948512 0.0621546 0.167745 0.228964 0.90251 0.710967 0.885914")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, (X, Y); name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.670688 0.534915 0.111072 0.194465 … 0.121525 0.797168 0.0239356")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.741593 0.707692 0.879899 0.813705 0.601833 0.826098 0.493417")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.119505 0.0999314 0.403111 0.755958 0.289335 0.542251 0.0622255")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.775377 0.217733 0.865298 0.876395 0.108514 0.306932 0.627107")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.576903 0.950338 0.854076 0.511978 0.866334 0.905021 0.0238569")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, (X, Y); name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," DimArray"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────────┴────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────────────────────────── metadata ┤")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Any, Any}()")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.764613 0.657441 0.625257 0.587556 … 0.344408 0.0140644 0.0127924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.760205 0.298179 0.545129 0.989571 0.554791 0.0697249 0.949105")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.553558 0.500157 0.295319 0.925873 0.386433 0.392848 0.26069")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.912065 0.917543 0.0965083 0.997672 0.492141 0.625296 0.391155")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.948512 0.0621546 0.167745 0.228964 0.90251 0.710967 0.885914")])])])],-1)])),_:1}),h(t,{label:"zeros"},{default:e(()=>a[1]||(a[1]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," zeros"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.670688 0.534915 0.111072 0.194465 … 0.121525 0.797168 0.0239356")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.741593 0.707692 0.879899 0.813705 0.601833 0.826098 0.493417")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.119505 0.0999314 0.403111 0.755958 0.289335 0.542251 0.0622255")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.775377 0.217733 0.865298 0.876395 0.108514 0.306932 0.627107")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.576903 0.950338 0.854076 0.511978 0.866334 0.905021 0.0238569")])])])],-1)])),_:1}),h(t,{label:"zeros"},{default:e(()=>a[1]||(a[1]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," zeros"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴─────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` @@ -84,22 +84,22 @@ import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴─────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.176197 0.127489 0.208384 0.602923 … 0.704858 0.299799 0.993498")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.468066 0.534655 0.250913 0.71194 0.567383 0.468184 0.25243")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.247198 0.521762 0.947741 0.0779205 0.74191 0.106224 0.571602")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0558987 0.44104 0.204559 0.20412 0.684587 0.605217 0.740735")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.389839 0.570254 0.935096 0.740523 0.0375769 0.27863 0.0669452")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"); name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.227455 0.764613 0.7826 0.625257 … 0.374451 0.629882 0.0140644")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.67178 0.760205 0.796812 0.0707995 0.661715 0.321923 0.0697249")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.677207 0.553558 0.280686 0.054613 0.557524 0.342437 0.392848")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.768325 0.667976 0.917543 0.8234 0.874037 0.847981 0.126976")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.514177 0.413756 0.0621546 0.700218 0.15388 0.912676 0.222681")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"); name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," rand"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────┴────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────────────────────────── metadata ┤")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Any, Any}()")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.337576 0.343493 0.21149 0.611961 … 0.0613839 0.999816 0.0609271")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.511078 0.514714 0.112836 0.253984 0.81253 0.571281 0.239878")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.503823 0.0458864 0.528669 0.121186 0.0347024 0.585057 0.917672")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.503967 0.32806 0.543616 0.830187 0.433527 0.780196 0.092494")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.712711 0.724709 0.469388 0.46668 0.999678 0.205929 0.8107")])])])],-1)])),_:1}),h(t,{label:"fill"},{default:e(()=>a[4]||(a[4]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," fill"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.934419 0.176197 0.675467 0.208384 … 0.273986 0.509231 0.299799")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.677974 0.468066 0.347379 0.541438 0.385262 0.52496 0.468184")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0599255 0.247198 0.813229 0.391395 0.208542 0.750146 0.106224")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.557369 0.261741 0.44104 0.178902 0.561365 0.475747 0.264242")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.104867 0.497181 0.570254 0.906883 0.986207 0.0287126 0.108968")])])])],-1)])),_:1}),h(t,{label:"fill"},{default:e(()=>a[4]||(a[4]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," fill"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Int64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────┴───────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` @@ -124,44 +124,44 @@ import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./ch ├─────────────────────────┴──────────────────────────────── dims ┐ a, b └────────────────────────────────────────────────────────────────┘ - 0.88841 0.329515 0.620055 0.20051 0.500642 - 0.284399 0.152765 0.465631 0.00337686 0.885929 - 0.0463176 0.143704 0.965831 0.754468 0.0684698 - 0.257822 0.411529 0.219583 0.6642 0.714286 - 0.706267 0.0450386 0.441735 0.137131 0.350422

and get a value, here another smaller DimArray:

julia
julia> da1[a=3, b=1:3]
╭───────────────────────────────╮
+ 0.601474  0.337576  0.770316  0.21149    0.121375
+ 0.113873  0.511078  0.201362  0.716257   0.253984
+ 0.910981  0.503823  0.488029  0.0130048  0.121186
+ 0.436293  0.789198  0.32806   0.361921   0.830187
+ 0.426888  0.46788   0.724709  0.15163    0.996398

and get a value, here another smaller DimArray:

julia
julia> da1[a=3, b=1:3]
╭───────────────────────────────╮
 3-element DimArray{Float64,1}
 ├───────────────────────────────┴ dims ┐
 b
 └─────────────────────────────────┘
- 0.0463176
- 0.143704
- 0.965831

Dimensional Indexing

When used for indexing, dimension wrappers free us from knowing the order of our objects axes. These are the same:

julia
julia> da[X(2), Y(1)] == da[Y(1), X(2)]
true

We also can use Tuples of dimensions like CartesianIndex, but they don't have to be in order of consecutive axes.

julia
julia> da2 = rand(X(10), Y(7), Z(5))
╭────────────────────────────╮
+ 0.910981
+ 0.503823
+ 0.488029

Dimensional Indexing

When used for indexing, dimension wrappers free us from knowing the order of our objects axes. These are the same:

julia
julia> da[X(2), Y(1)] == da[Y(1), X(2)]
true

We also can use Tuples of dimensions, like CartesianIndex, but they don't have to be in order of consecutive axes.

julia
julia> da2 = rand(X(10), Y(7), Z(5))
╭────────────────────────────╮
 10×7×5 DimArray{Float64,3}
 ├────────────────────────────┴─────────────────────────────────────────── dims ┐
 X, Y, Z
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
- 0.0760848  0.0641884  0.680225  0.683696   0.0205228  0.563623  0.673966
- 0.0992684  0.970459   0.330777  0.241056   0.0196808  0.669021  0.107475
- 0.206406   0.444708   0.11996   0.322115   0.225865   0.802122  0.421692
- 0.94412    0.0192911  0.351413  0.468968   0.269685   0.150126  0.215458
- 0.917457   0.162553   0.184309  0.719495   0.221163   0.4231    0.721331
- 0.916702   0.794163   0.880796  0.839618   0.380161   0.180894  0.375182
- 0.48817    0.498764   0.904961  0.392377   0.625435   0.786147  0.769313
- 0.339888   0.358625   0.290734  0.0778416  0.451425   0.879774  0.605324
- 0.481184   0.828395   0.870276  0.0323182  0.195774   0.467484  0.255916
- 0.758865   0.680352   0.679221  0.920736   0.0375522  0.296639  0.139067
julia
julia> da2[(X(3), Z(5))]
╭───────────────────────────────╮
+ 0.41173   0.0789906  0.655936    0.762722   0.56273    0.0160205  0.640693
+ 0.228294  0.687236   0.345046    0.749573   0.949769   0.783195   0.591606
+ 0.258576  0.89609    0.00337686  0.99118    0.169845   0.159817   0.784693
+ 0.295346  0.768639   0.754468    0.0738813  0.675126   0.968484   0.243035
+ 0.254627  0.411529   0.629352    0.285205   0.18989    0.891663   0.597808
+ 0.435719  0.0450386  0.0531003   0.385452   0.322612   0.667691   0.906601
+ 0.88841   0.571658   0.991676    0.677848   0.697976   0.971252   0.776593
+ 0.284399  0.196524   0.119937    0.493258   0.342919   0.866772   0.0990347
+ 0.192286  0.765808   0.502499    0.404773   0.0623616  0.627002   0.184813
+ 0.762199  0.159233   0.769884    0.74428    0.606279   0.351096   0.268379
julia
julia> da2[(X(3), Z(5))]
╭───────────────────────────────╮
 7-element DimArray{Float64,1}
 ├───────────────────────────────┴ dims ┐
 Y
 └─────────────────────────────────┘
- 0.794017
- 0.865233
- 0.0540645
- 0.0474302
- 0.521021
- 0.836107
- 0.167104

We can index with Vector of Tuple{Vararg(Dimension}} like vectors of CartesianIndex. This will merge the dimensions in the tuples:

julia
julia> inds = [(X(3), Z(5)), (X(7), Z(4)), (X(8), Z(2))]
3-element Vector{Tuple{X{Int64}, Z{Int64}}}:
+ 0.644748
+ 0.493072
+ 0.316833
+ 0.372311
+ 0.313185
+ 0.494267
+ 0.705582

We can index with Vector of Tuple{Vararg(Dimension}} like vectors of CartesianIndex. This will merge the dimensions in the tuples:

julia
julia> inds = [(X(3), Z(5)), (X(7), Z(4)), (X(8), Z(2))]
3-element Vector{Tuple{X{Int64}, Z{Int64}}}:
  (X 3, Z 5)
  (X 7, Z 4)
  (X 8, Z 2)
julia
julia> da2[inds]
╭─────────────────────────╮
@@ -170,66 +170,66 @@ import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./ch
 Y ,
 XZ MergedLookup{Tuple{Int64, Int64}} [(3, 5), (7, 4), (8, 2)]X, Z
 └──────────────────────────────────────────────────────────────────────────────┘
-  (3, 5)     (7, 4)    (8, 2)
- 0.794017   0.690695  0.89862
- 0.865233   0.992316  0.864765
- 0.0540645  0.409622  0.575698
- 0.0474302  0.133195  0.161393
- 0.521021   0.246162  0.337182
- 0.836107   0.365341  0.394703
- 0.167104   0.847018  0.213826

DimIndices can be used like CartesianIndices but again, without the constraint of consecutive dimensions or known order.

julia
julia> da2[DimIndices(dims(da2, (X, Z))), Y(3)]
╭──────────────────────────╮
+  (3, 5)    (7, 4)     (8, 2)
+ 0.644748  0.510196   0.528138
+ 0.493072  0.925624   0.142957
+ 0.316833  0.485321   0.708081
+ 0.372311  0.676945   0.406221
+ 0.313185  0.0379776  0.6778
+ 0.494267  0.287739   0.155826
+ 0.705582  0.996358   0.638336

DimIndices can be used like CartesianIndices but again, without the constraint of consecutive dimensions or known order.

julia
julia> da2[DimIndices(dims(da2, (X, Z))), Y(3)]
╭──────────────────────────╮
 10×5 DimArray{Float64,2}
 ├──────────────────────────┴─────────────────────────────── dims ┐
 X, Z
 └────────────────────────────────────────────────────────────────┘
- 0.680225  0.457891   0.230047   0.634499  0.678022
- 0.330777  0.0275306  0.352138   0.739241  0.353691
- 0.11996   0.904604   0.708321   0.837335  0.0540645
- 0.351413  0.853553   0.934609   0.208365  0.803293
- 0.184309  0.91732    0.615764   0.526688  0.5573
- 0.880796  0.683091   0.761212   0.956031  0.3162
- 0.904961  0.589895   0.945371   0.409622  0.110998
- 0.290734  0.575698   0.497346   0.750906  0.354046
- 0.870276  0.320667   0.0559616  0.341835  0.234458
- 0.679221  0.950645   0.727554   0.306208  0.173513

The Dimension indexing layer sits on top of regular indexing and can not be combined with it! Regular indexing specifies order, so doesn't mix well with our dimensions.

Mixing them will throw an error:

julia
julia> da1[X(3), 4]
ERROR: ArgumentError: invalid index: X{Int64}(3) of type X{Int64}

Begin End indexing

julia
julia> da1[X=Begin+1, Y=End]
Warning: (X, Y) dims were not found in object.
+ 0.655936    0.853835  0.870583   0.0578313  0.971794
+ 0.345046    0.17597   0.638072   0.136127   0.962808
+ 0.00337686  0.378395  0.0314382  0.310753   0.316833
+ 0.754468    0.188864  0.614012   0.883048   0.191049
+ 0.629352    0.190726  0.338669   0.105539   0.925844
+ 0.0531003   0.876115  0.945147   0.873096   0.342887
+ 0.991676    0.702956  0.281077   0.485321   0.798621
+ 0.119937    0.708081  0.0363983  0.247755   0.527261
+ 0.502499    0.641023  0.0104608  0.10233    0.635425
+ 0.769884    0.37821   0.881533   0.535933   0.454033

The Dimension indexing layer sits on top of regular indexing and can not be combined with it! Regular indexing specifies order, so doesn't mix well with our dimensions.

Mixing them will throw an error:

julia
julia> da1[X(3), 4]
ERROR: ArgumentError: invalid index: X{Int64}(3) of type X{Int64}

Begin End indexing

julia
julia> da1[X=Begin+1, Y=End]
Warning: (X, Y) dims were not found in object.
 @ DimensionalData.Dimensions ~/work/DimensionalData.jl/DimensionalData.jl/src/Dimensions/primitives.jl:846
 ╭─────────────────────────╮
 5×5 DimArray{Float64,2}
 ├─────────────────────────┴──────────────────────────────── dims ┐
 a, b
 └────────────────────────────────────────────────────────────────┘
- 0.88841    0.329515   0.620055  0.20051     0.500642
- 0.284399   0.152765   0.465631  0.00337686  0.885929
- 0.0463176  0.143704   0.965831  0.754468    0.0684698
- 0.257822   0.411529   0.219583  0.6642      0.714286
- 0.706267   0.0450386  0.441735  0.137131    0.350422

It also works in ranges, even with basic math:

julia
julia> da1[X=Begin:Begin+1, Y=Begin+1:End-1]
Warning: (X, Y) dims were not found in object.
+ 0.601474  0.337576  0.770316  0.21149    0.121375
+ 0.113873  0.511078  0.201362  0.716257   0.253984
+ 0.910981  0.503823  0.488029  0.0130048  0.121186
+ 0.436293  0.789198  0.32806   0.361921   0.830187
+ 0.426888  0.46788   0.724709  0.15163    0.996398

It also works in ranges, even with basic math:

julia
julia> da1[X=Begin:Begin+1, Y=Begin+1:End-1]
Warning: (X, Y) dims were not found in object.
 @ DimensionalData.Dimensions ~/work/DimensionalData.jl/DimensionalData.jl/src/Dimensions/primitives.jl:846
 ╭─────────────────────────╮
 5×5 DimArray{Float64,2}
 ├─────────────────────────┴──────────────────────────────── dims ┐
 a, b
 └────────────────────────────────────────────────────────────────┘
- 0.88841    0.329515   0.620055  0.20051     0.500642
- 0.284399   0.152765   0.465631  0.00337686  0.885929
- 0.0463176  0.143704   0.965831  0.754468    0.0684698
- 0.257822   0.411529   0.219583  0.6642      0.714286
- 0.706267   0.0450386  0.441735  0.137131    0.350422

In base julia the keywords begin and end can be used to index the first or last element of an array. But this doesn't work when named indexing is used. Instead you can use the types Begin and End.

Indexing

Indexing AbstractDimArrays works with getindex, setindex! and view. The result is still an AbstracDimArray, unless using all single Int or Selectors that resolve to Int inside Dimension.

dims keywords

In many Julia functions like, size or sum, you can specify the dimension along which to perform the operation as an Int. It is also possible to do this using Dimension types with AbstractDimArray:

julia
julia> da5 = rand(X(3), Y(4), Ti(5))
╭───────────────────────────╮
+ 0.601474  0.337576  0.770316  0.21149    0.121375
+ 0.113873  0.511078  0.201362  0.716257   0.253984
+ 0.910981  0.503823  0.488029  0.0130048  0.121186
+ 0.436293  0.789198  0.32806   0.361921   0.830187
+ 0.426888  0.46788   0.724709  0.15163    0.996398

In base julia the keywords begin and end can be used to index the first or last element of an array. But this doesn't work when named indexing is used. Instead you can use the types Begin and End.

Indexing

Indexing AbstractDimArrays works with getindex, setindex! and view. The result is still an AbstracDimArray, unless using all single Int or Selectors that resolve to Int inside Dimension.

dims keywords

In many Julia functions like, size or sum, you can specify the dimension along which to perform the operation as an Int. It is also possible to do this using Dimension types with AbstractDimArray:

julia
julia> da5 = rand(X(3), Y(4), Ti(5))
╭───────────────────────────╮
 3×4×5 DimArray{Float64,3}
 ├───────────────────────────┴──────────────────────────────────────────── dims ┐
 X, Y, Ti
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
- 0.0610019  0.578989  0.760111  0.291577
- 0.980256   0.388907  0.711714  0.827852
- 0.225583   0.395594  0.433955  0.691887
julia
julia> sum(da5; dims=Ti)
╭───────────────────────────╮
+ 0.573147   0.206406  0.916702  0.481184
+ 0.0760848  0.94412   0.48817   0.758865
+ 0.0992684  0.917457  0.811947  0.0641884
julia
julia> sum(da5; dims=Ti)
╭───────────────────────────╮
 3×4×1 DimArray{Float64,3}
 ├───────────────────────────┴──────────────────────────────────────────── dims ┐
 X, Y, Ti
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
- 1.31572  3.28438  1.73011  2.13035
- 2.5962   1.55745  2.5074   2.07151
- 2.31468  1.40687  3.06474  3.2858

Dims keywords

Methods where dims, dim types, or Symbols can be used to indicate the array dimension:

  • size, axes, firstindex, lastindex

  • cat, reverse, dropdims

  • reduce, mapreduce

  • sum, prod, maximum, minimum

  • mean, median, extrema, std, var, cor, cov

  • permutedims, adjoint, transpose, Transpose

  • mapslices, eachslice

Performance

Indexing with Dimensions has no runtime cost. Let's benchmark it:

julia
julia> using BenchmarkTools
+ 2.89248  1.86986  2.12435  1.86194
+ 1.29325  2.76668  2.64923  2.70488
+ 1.11475  3.10914  3.02098  2.35189

Dims keywords

Methods where dims, dim types, or Symbols can be used to indicate the array dimension:

  • size, axes, firstindex, lastindex

  • cat, reverse, dropdims

  • reduce, mapreduce

  • sum, prod, maximum, minimum

  • mean, median, extrema, std, var, cor, cov

  • permutedims, adjoint, transpose, Transpose

  • mapslices, eachslice

Performance

Indexing with Dimensions has no runtime cost. Let's benchmark it:

julia
julia> using BenchmarkTools
 
 julia> da4 = ones(X(3), Y(3))
╭─────────────────────────╮
 3×3 DimArray{Float64,2}
@@ -239,21 +239,21 @@ import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./ch
  1.0  1.0  1.0
  1.0  1.0  1.0
  1.0  1.0  1.0
julia
julia> @benchmark $da4[X(1), Y(2)]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  2.785 ns18.735 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     2.795 ns               GC (median):    0.00%
- Time  (mean ± σ):   2.822 ns ±  0.462 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns19.216 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.106 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.118 ns ±  0.327 ns GC (mean ± σ):  0.00% ± 0.00%
 
-                                            
-
-  2.78 ns        Histogram: frequency by time        2.83 ns <
+                            
+
+  3.1 ns         Histogram: frequency by time        3.12 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.

the same as accessing the parent array directly:

julia
julia> @benchmark parent($da4)[1, 2]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  3.095 ns17.072 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     3.105 ns               GC (median):    0.00%
- Time  (mean ± σ):   3.136 ns ±  0.481 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns27.762 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.106 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.125 ns ±  0.396 ns GC (mean ± σ):  0.00% ± 0.00%
 
-
-
-  3.1 ns       Histogram: log(frequency) by time     3.14 ns <
+
+
+  3.1 ns       Histogram: log(frequency) by time     3.67 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.
`,52))])}const C=d(o,[["render",r]]);export{u as __pageData,C as default}; diff --git a/dev/assets/dimarrays.md.DAoE3lud.lean.js b/dev/assets/dimarrays.md.BoEU5ZVn.lean.js similarity index 73% rename from dev/assets/dimarrays.md.DAoE3lud.lean.js rename to dev/assets/dimarrays.md.BoEU5ZVn.lean.js index 7379f4ce8..372b1b8c9 100644 --- a/dev/assets/dimarrays.md.DAoE3lud.lean.js +++ b/dev/assets/dimarrays.md.BoEU5ZVn.lean.js @@ -1,45 +1,45 @@ -import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./chunks/framework.B8l2DGq3.js";const u=JSON.parse('{"title":"DimArrays","description":"","frontmatter":{},"headers":[],"relativePath":"dimarrays.md","filePath":"dimarrays.md","lastUpdated":null}'),o={name:"dimarrays.md"};function r(y,a,f,c,b,E){const t=k("PluginTabsTab"),n=k("PluginTabs");return g(),p("div",null,[a[5]||(a[5]=l(`

DimArrays

DimArrays are wrappers for other kinds of AbstractArray that add named dimension lookups.

Here we define a Matrix of Float64, and give it X and Y dimensions

julia
julia> using DimensionalData
+import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./chunks/framework.BAAK0EyE.js";const u=JSON.parse('{"title":"DimArrays","description":"","frontmatter":{},"headers":[],"relativePath":"dimarrays.md","filePath":"dimarrays.md","lastUpdated":null}'),o={name:"dimarrays.md"};function r(y,a,f,c,b,E){const t=k("PluginTabsTab"),n=k("PluginTabs");return g(),p("div",null,[a[5]||(a[5]=l(`

DimArrays

DimArrays are wrappers for other kinds of AbstractArray that add named dimension lookups.

Here we define a Matrix of Float64, and give it X and Y dimensions

julia
julia> using DimensionalData
 
 julia> A = rand(5, 10)
5×10 Matrix{Float64}:
- 0.534915   0.4518     0.194465  0.780132  …  0.476495   0.0239356  0.526295
- 0.707692   0.454886   0.588506  0.168291     0.222482   0.493417   0.134246
- 0.0999314  0.0425477  0.44119   0.410463     0.0400372  0.0622255  0.350104
- 0.132894   0.865298   0.778166  0.723438     0.0740736  0.137619   0.202743
- 0.966106   0.854076   0.895608  0.147478     0.815365   0.24737    0.860933
julia
julia> da = DimArray(A, (X, Y))
╭──────────────────────────╮
+ 0.827655   0.0102884  0.688175  0.254555  …  0.628275   0.517329  0.886959
+ 0.223602   0.737979   0.996807  0.124594     0.0959042  0.628507  0.893267
+ 0.0392779  0.792885   0.249616  0.519235     0.0315486  0.113704  0.997572
+ 0.451879   0.846175   0.373575  0.891743     0.700389   0.958811  0.68136
+ 0.689712   0.0927459  0.765773  0.273573     0.688928   0.761347  0.596077
julia
julia> da = DimArray(A, (X, Y))
╭──────────────────────────╮
 5×10 DimArray{Float64,2}
 ├──────────────────────────┴─────────────────────────────── dims ┐
 X, Y
 └────────────────────────────────────────────────────────────────┘
- 0.534915   0.4518     0.194465  0.780132  …  0.476495   0.0239356  0.526295
- 0.707692   0.454886   0.588506  0.168291     0.222482   0.493417   0.134246
- 0.0999314  0.0425477  0.44119   0.410463     0.0400372  0.0622255  0.350104
- 0.132894   0.865298   0.778166  0.723438     0.0740736  0.137619   0.202743
- 0.966106   0.854076   0.895608  0.147478     0.815365   0.24737    0.860933

We can access a value with the same dimension wrappers:

julia
julia> da[Y(1), X(2)]
0.7076921858340348

There are shortcuts for creating DimArray:

`,11)),h(n,null,{default:e(()=>[h(t,{label:"DimArray"},{default:e(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"5×10 Matrix{Float64}:")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.764613 0.657441 0.625257 0.587556 … 0.344408 0.0140644 0.0127924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.760205 0.298179 0.545129 0.989571 0.554791 0.0697249 0.949105")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.553558 0.500157 0.295319 0.925873 0.386433 0.392848 0.26069")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.912065 0.917543 0.0965083 0.997672 0.492141 0.625296 0.391155")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.948512 0.0621546 0.167745 0.228964 0.90251 0.710967 0.885914")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, (X, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` + 0.827655 0.0102884 0.688175 0.254555 … 0.628275 0.517329 0.886959 + 0.223602 0.737979 0.996807 0.124594 0.0959042 0.628507 0.893267 + 0.0392779 0.792885 0.249616 0.519235 0.0315486 0.113704 0.997572 + 0.451879 0.846175 0.373575 0.891743 0.700389 0.958811 0.68136 + 0.689712 0.0927459 0.765773 0.273573 0.688928 0.761347 0.596077

We can access a value with the same dimension wrappers:

julia
julia> da[Y(1), X(2)]
0.2236016853688918

There are shortcuts for creating DimArray:

`,11)),h(n,null,{default:e(()=>[h(t,{label:"DimArray"},{default:e(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"5×10 Matrix{Float64}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.670688 0.534915 0.111072 0.194465 … 0.121525 0.797168 0.0239356")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.741593 0.707692 0.879899 0.813705 0.601833 0.826098 0.493417")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.119505 0.0999314 0.403111 0.755958 0.289335 0.542251 0.0622255")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.775377 0.217733 0.865298 0.876395 0.108514 0.306932 0.627107")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.576903 0.950338 0.854076 0.511978 0.866334 0.905021 0.0238569")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, (X, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴─────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.764613 0.657441 0.625257 0.587556 … 0.344408 0.0140644 0.0127924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.760205 0.298179 0.545129 0.989571 0.554791 0.0697249 0.949105")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.553558 0.500157 0.295319 0.925873 0.386433 0.392848 0.26069")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.912065 0.917543 0.0965083 0.997672 0.492141 0.625296 0.391155")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.948512 0.0621546 0.167745 0.228964 0.90251 0.710967 0.885914")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, (X, Y); name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.670688 0.534915 0.111072 0.194465 … 0.121525 0.797168 0.0239356")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.741593 0.707692 0.879899 0.813705 0.601833 0.826098 0.493417")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.119505 0.0999314 0.403111 0.755958 0.289335 0.542251 0.0622255")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.775377 0.217733 0.865298 0.876395 0.108514 0.306932 0.627107")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.576903 0.950338 0.854076 0.511978 0.866334 0.905021 0.0238569")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, (X, Y); name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," DimArray"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────────┴────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────────────────────────── metadata ┤")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Any, Any}()")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.764613 0.657441 0.625257 0.587556 … 0.344408 0.0140644 0.0127924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.760205 0.298179 0.545129 0.989571 0.554791 0.0697249 0.949105")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.553558 0.500157 0.295319 0.925873 0.386433 0.392848 0.26069")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.912065 0.917543 0.0965083 0.997672 0.492141 0.625296 0.391155")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.948512 0.0621546 0.167745 0.228964 0.90251 0.710967 0.885914")])])])],-1)])),_:1}),h(t,{label:"zeros"},{default:e(()=>a[1]||(a[1]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," zeros"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.670688 0.534915 0.111072 0.194465 … 0.121525 0.797168 0.0239356")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.741593 0.707692 0.879899 0.813705 0.601833 0.826098 0.493417")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.119505 0.0999314 0.403111 0.755958 0.289335 0.542251 0.0622255")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.775377 0.217733 0.865298 0.876395 0.108514 0.306932 0.627107")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.576903 0.950338 0.854076 0.511978 0.866334 0.905021 0.0238569")])])])],-1)])),_:1}),h(t,{label:"zeros"},{default:e(()=>a[1]||(a[1]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," zeros"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴─────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` @@ -84,22 +84,22 @@ import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴─────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.176197 0.127489 0.208384 0.602923 … 0.704858 0.299799 0.993498")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.468066 0.534655 0.250913 0.71194 0.567383 0.468184 0.25243")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.247198 0.521762 0.947741 0.0779205 0.74191 0.106224 0.571602")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0558987 0.44104 0.204559 0.20412 0.684587 0.605217 0.740735")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.389839 0.570254 0.935096 0.740523 0.0375769 0.27863 0.0669452")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"); name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.227455 0.764613 0.7826 0.625257 … 0.374451 0.629882 0.0140644")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.67178 0.760205 0.796812 0.0707995 0.661715 0.321923 0.0697249")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.677207 0.553558 0.280686 0.054613 0.557524 0.342437 0.392848")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.768325 0.667976 0.917543 0.8234 0.874037 0.847981 0.126976")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.514177 0.413756 0.0621546 0.700218 0.15388 0.912676 0.222681")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"); name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," rand"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────┴────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────────────────────────── metadata ┤")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Any, Any}()")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.337576 0.343493 0.21149 0.611961 … 0.0613839 0.999816 0.0609271")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.511078 0.514714 0.112836 0.253984 0.81253 0.571281 0.239878")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.503823 0.0458864 0.528669 0.121186 0.0347024 0.585057 0.917672")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.503967 0.32806 0.543616 0.830187 0.433527 0.780196 0.092494")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.712711 0.724709 0.469388 0.46668 0.999678 0.205929 0.8107")])])])],-1)])),_:1}),h(t,{label:"fill"},{default:e(()=>a[4]||(a[4]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," fill"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.934419 0.176197 0.675467 0.208384 … 0.273986 0.509231 0.299799")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.677974 0.468066 0.347379 0.541438 0.385262 0.52496 0.468184")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0599255 0.247198 0.813229 0.391395 0.208542 0.750146 0.106224")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.557369 0.261741 0.44104 0.178902 0.561365 0.475747 0.264242")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.104867 0.497181 0.570254 0.906883 0.986207 0.0287126 0.108968")])])])],-1)])),_:1}),h(t,{label:"fill"},{default:e(()=>a[4]||(a[4]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," fill"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Int64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────┴───────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` @@ -124,44 +124,44 @@ import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./ch ├─────────────────────────┴──────────────────────────────── dims ┐ a, b └────────────────────────────────────────────────────────────────┘ - 0.88841 0.329515 0.620055 0.20051 0.500642 - 0.284399 0.152765 0.465631 0.00337686 0.885929 - 0.0463176 0.143704 0.965831 0.754468 0.0684698 - 0.257822 0.411529 0.219583 0.6642 0.714286 - 0.706267 0.0450386 0.441735 0.137131 0.350422

and get a value, here another smaller DimArray:

julia
julia> da1[a=3, b=1:3]
╭───────────────────────────────╮
+ 0.601474  0.337576  0.770316  0.21149    0.121375
+ 0.113873  0.511078  0.201362  0.716257   0.253984
+ 0.910981  0.503823  0.488029  0.0130048  0.121186
+ 0.436293  0.789198  0.32806   0.361921   0.830187
+ 0.426888  0.46788   0.724709  0.15163    0.996398

and get a value, here another smaller DimArray:

julia
julia> da1[a=3, b=1:3]
╭───────────────────────────────╮
 3-element DimArray{Float64,1}
 ├───────────────────────────────┴ dims ┐
 b
 └─────────────────────────────────┘
- 0.0463176
- 0.143704
- 0.965831

Dimensional Indexing

When used for indexing, dimension wrappers free us from knowing the order of our objects axes. These are the same:

julia
julia> da[X(2), Y(1)] == da[Y(1), X(2)]
true

We also can use Tuples of dimensions like CartesianIndex, but they don't have to be in order of consecutive axes.

julia
julia> da2 = rand(X(10), Y(7), Z(5))
╭────────────────────────────╮
+ 0.910981
+ 0.503823
+ 0.488029

Dimensional Indexing

When used for indexing, dimension wrappers free us from knowing the order of our objects axes. These are the same:

julia
julia> da[X(2), Y(1)] == da[Y(1), X(2)]
true

We also can use Tuples of dimensions, like CartesianIndex, but they don't have to be in order of consecutive axes.

julia
julia> da2 = rand(X(10), Y(7), Z(5))
╭────────────────────────────╮
 10×7×5 DimArray{Float64,3}
 ├────────────────────────────┴─────────────────────────────────────────── dims ┐
 X, Y, Z
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
- 0.0760848  0.0641884  0.680225  0.683696   0.0205228  0.563623  0.673966
- 0.0992684  0.970459   0.330777  0.241056   0.0196808  0.669021  0.107475
- 0.206406   0.444708   0.11996   0.322115   0.225865   0.802122  0.421692
- 0.94412    0.0192911  0.351413  0.468968   0.269685   0.150126  0.215458
- 0.917457   0.162553   0.184309  0.719495   0.221163   0.4231    0.721331
- 0.916702   0.794163   0.880796  0.839618   0.380161   0.180894  0.375182
- 0.48817    0.498764   0.904961  0.392377   0.625435   0.786147  0.769313
- 0.339888   0.358625   0.290734  0.0778416  0.451425   0.879774  0.605324
- 0.481184   0.828395   0.870276  0.0323182  0.195774   0.467484  0.255916
- 0.758865   0.680352   0.679221  0.920736   0.0375522  0.296639  0.139067
julia
julia> da2[(X(3), Z(5))]
╭───────────────────────────────╮
+ 0.41173   0.0789906  0.655936    0.762722   0.56273    0.0160205  0.640693
+ 0.228294  0.687236   0.345046    0.749573   0.949769   0.783195   0.591606
+ 0.258576  0.89609    0.00337686  0.99118    0.169845   0.159817   0.784693
+ 0.295346  0.768639   0.754468    0.0738813  0.675126   0.968484   0.243035
+ 0.254627  0.411529   0.629352    0.285205   0.18989    0.891663   0.597808
+ 0.435719  0.0450386  0.0531003   0.385452   0.322612   0.667691   0.906601
+ 0.88841   0.571658   0.991676    0.677848   0.697976   0.971252   0.776593
+ 0.284399  0.196524   0.119937    0.493258   0.342919   0.866772   0.0990347
+ 0.192286  0.765808   0.502499    0.404773   0.0623616  0.627002   0.184813
+ 0.762199  0.159233   0.769884    0.74428    0.606279   0.351096   0.268379
julia
julia> da2[(X(3), Z(5))]
╭───────────────────────────────╮
 7-element DimArray{Float64,1}
 ├───────────────────────────────┴ dims ┐
 Y
 └─────────────────────────────────┘
- 0.794017
- 0.865233
- 0.0540645
- 0.0474302
- 0.521021
- 0.836107
- 0.167104

We can index with Vector of Tuple{Vararg(Dimension}} like vectors of CartesianIndex. This will merge the dimensions in the tuples:

julia
julia> inds = [(X(3), Z(5)), (X(7), Z(4)), (X(8), Z(2))]
3-element Vector{Tuple{X{Int64}, Z{Int64}}}:
+ 0.644748
+ 0.493072
+ 0.316833
+ 0.372311
+ 0.313185
+ 0.494267
+ 0.705582

We can index with Vector of Tuple{Vararg(Dimension}} like vectors of CartesianIndex. This will merge the dimensions in the tuples:

julia
julia> inds = [(X(3), Z(5)), (X(7), Z(4)), (X(8), Z(2))]
3-element Vector{Tuple{X{Int64}, Z{Int64}}}:
  (X 3, Z 5)
  (X 7, Z 4)
  (X 8, Z 2)
julia
julia> da2[inds]
╭─────────────────────────╮
@@ -170,66 +170,66 @@ import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./ch
 Y ,
 XZ MergedLookup{Tuple{Int64, Int64}} [(3, 5), (7, 4), (8, 2)]X, Z
 └──────────────────────────────────────────────────────────────────────────────┘
-  (3, 5)     (7, 4)    (8, 2)
- 0.794017   0.690695  0.89862
- 0.865233   0.992316  0.864765
- 0.0540645  0.409622  0.575698
- 0.0474302  0.133195  0.161393
- 0.521021   0.246162  0.337182
- 0.836107   0.365341  0.394703
- 0.167104   0.847018  0.213826

DimIndices can be used like CartesianIndices but again, without the constraint of consecutive dimensions or known order.

julia
julia> da2[DimIndices(dims(da2, (X, Z))), Y(3)]
╭──────────────────────────╮
+  (3, 5)    (7, 4)     (8, 2)
+ 0.644748  0.510196   0.528138
+ 0.493072  0.925624   0.142957
+ 0.316833  0.485321   0.708081
+ 0.372311  0.676945   0.406221
+ 0.313185  0.0379776  0.6778
+ 0.494267  0.287739   0.155826
+ 0.705582  0.996358   0.638336

DimIndices can be used like CartesianIndices but again, without the constraint of consecutive dimensions or known order.

julia
julia> da2[DimIndices(dims(da2, (X, Z))), Y(3)]
╭──────────────────────────╮
 10×5 DimArray{Float64,2}
 ├──────────────────────────┴─────────────────────────────── dims ┐
 X, Z
 └────────────────────────────────────────────────────────────────┘
- 0.680225  0.457891   0.230047   0.634499  0.678022
- 0.330777  0.0275306  0.352138   0.739241  0.353691
- 0.11996   0.904604   0.708321   0.837335  0.0540645
- 0.351413  0.853553   0.934609   0.208365  0.803293
- 0.184309  0.91732    0.615764   0.526688  0.5573
- 0.880796  0.683091   0.761212   0.956031  0.3162
- 0.904961  0.589895   0.945371   0.409622  0.110998
- 0.290734  0.575698   0.497346   0.750906  0.354046
- 0.870276  0.320667   0.0559616  0.341835  0.234458
- 0.679221  0.950645   0.727554   0.306208  0.173513

The Dimension indexing layer sits on top of regular indexing and can not be combined with it! Regular indexing specifies order, so doesn't mix well with our dimensions.

Mixing them will throw an error:

julia
julia> da1[X(3), 4]
ERROR: ArgumentError: invalid index: X{Int64}(3) of type X{Int64}

Begin End indexing

julia
julia> da1[X=Begin+1, Y=End]
Warning: (X, Y) dims were not found in object.
+ 0.655936    0.853835  0.870583   0.0578313  0.971794
+ 0.345046    0.17597   0.638072   0.136127   0.962808
+ 0.00337686  0.378395  0.0314382  0.310753   0.316833
+ 0.754468    0.188864  0.614012   0.883048   0.191049
+ 0.629352    0.190726  0.338669   0.105539   0.925844
+ 0.0531003   0.876115  0.945147   0.873096   0.342887
+ 0.991676    0.702956  0.281077   0.485321   0.798621
+ 0.119937    0.708081  0.0363983  0.247755   0.527261
+ 0.502499    0.641023  0.0104608  0.10233    0.635425
+ 0.769884    0.37821   0.881533   0.535933   0.454033

The Dimension indexing layer sits on top of regular indexing and can not be combined with it! Regular indexing specifies order, so doesn't mix well with our dimensions.

Mixing them will throw an error:

julia
julia> da1[X(3), 4]
ERROR: ArgumentError: invalid index: X{Int64}(3) of type X{Int64}

Begin End indexing

julia
julia> da1[X=Begin+1, Y=End]
Warning: (X, Y) dims were not found in object.
 @ DimensionalData.Dimensions ~/work/DimensionalData.jl/DimensionalData.jl/src/Dimensions/primitives.jl:846
 ╭─────────────────────────╮
 5×5 DimArray{Float64,2}
 ├─────────────────────────┴──────────────────────────────── dims ┐
 a, b
 └────────────────────────────────────────────────────────────────┘
- 0.88841    0.329515   0.620055  0.20051     0.500642
- 0.284399   0.152765   0.465631  0.00337686  0.885929
- 0.0463176  0.143704   0.965831  0.754468    0.0684698
- 0.257822   0.411529   0.219583  0.6642      0.714286
- 0.706267   0.0450386  0.441735  0.137131    0.350422

It also works in ranges, even with basic math:

julia
julia> da1[X=Begin:Begin+1, Y=Begin+1:End-1]
Warning: (X, Y) dims were not found in object.
+ 0.601474  0.337576  0.770316  0.21149    0.121375
+ 0.113873  0.511078  0.201362  0.716257   0.253984
+ 0.910981  0.503823  0.488029  0.0130048  0.121186
+ 0.436293  0.789198  0.32806   0.361921   0.830187
+ 0.426888  0.46788   0.724709  0.15163    0.996398

It also works in ranges, even with basic math:

julia
julia> da1[X=Begin:Begin+1, Y=Begin+1:End-1]
Warning: (X, Y) dims were not found in object.
 @ DimensionalData.Dimensions ~/work/DimensionalData.jl/DimensionalData.jl/src/Dimensions/primitives.jl:846
 ╭─────────────────────────╮
 5×5 DimArray{Float64,2}
 ├─────────────────────────┴──────────────────────────────── dims ┐
 a, b
 └────────────────────────────────────────────────────────────────┘
- 0.88841    0.329515   0.620055  0.20051     0.500642
- 0.284399   0.152765   0.465631  0.00337686  0.885929
- 0.0463176  0.143704   0.965831  0.754468    0.0684698
- 0.257822   0.411529   0.219583  0.6642      0.714286
- 0.706267   0.0450386  0.441735  0.137131    0.350422

In base julia the keywords begin and end can be used to index the first or last element of an array. But this doesn't work when named indexing is used. Instead you can use the types Begin and End.

Indexing

Indexing AbstractDimArrays works with getindex, setindex! and view. The result is still an AbstracDimArray, unless using all single Int or Selectors that resolve to Int inside Dimension.

dims keywords

In many Julia functions like, size or sum, you can specify the dimension along which to perform the operation as an Int. It is also possible to do this using Dimension types with AbstractDimArray:

julia
julia> da5 = rand(X(3), Y(4), Ti(5))
╭───────────────────────────╮
+ 0.601474  0.337576  0.770316  0.21149    0.121375
+ 0.113873  0.511078  0.201362  0.716257   0.253984
+ 0.910981  0.503823  0.488029  0.0130048  0.121186
+ 0.436293  0.789198  0.32806   0.361921   0.830187
+ 0.426888  0.46788   0.724709  0.15163    0.996398

In base julia the keywords begin and end can be used to index the first or last element of an array. But this doesn't work when named indexing is used. Instead you can use the types Begin and End.

Indexing

Indexing AbstractDimArrays works with getindex, setindex! and view. The result is still an AbstracDimArray, unless using all single Int or Selectors that resolve to Int inside Dimension.

dims keywords

In many Julia functions like, size or sum, you can specify the dimension along which to perform the operation as an Int. It is also possible to do this using Dimension types with AbstractDimArray:

julia
julia> da5 = rand(X(3), Y(4), Ti(5))
╭───────────────────────────╮
 3×4×5 DimArray{Float64,3}
 ├───────────────────────────┴──────────────────────────────────────────── dims ┐
 X, Y, Ti
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
- 0.0610019  0.578989  0.760111  0.291577
- 0.980256   0.388907  0.711714  0.827852
- 0.225583   0.395594  0.433955  0.691887
julia
julia> sum(da5; dims=Ti)
╭───────────────────────────╮
+ 0.573147   0.206406  0.916702  0.481184
+ 0.0760848  0.94412   0.48817   0.758865
+ 0.0992684  0.917457  0.811947  0.0641884
julia
julia> sum(da5; dims=Ti)
╭───────────────────────────╮
 3×4×1 DimArray{Float64,3}
 ├───────────────────────────┴──────────────────────────────────────────── dims ┐
 X, Y, Ti
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
- 1.31572  3.28438  1.73011  2.13035
- 2.5962   1.55745  2.5074   2.07151
- 2.31468  1.40687  3.06474  3.2858

Dims keywords

Methods where dims, dim types, or Symbols can be used to indicate the array dimension:

  • size, axes, firstindex, lastindex

  • cat, reverse, dropdims

  • reduce, mapreduce

  • sum, prod, maximum, minimum

  • mean, median, extrema, std, var, cor, cov

  • permutedims, adjoint, transpose, Transpose

  • mapslices, eachslice

Performance

Indexing with Dimensions has no runtime cost. Let's benchmark it:

julia
julia> using BenchmarkTools
+ 2.89248  1.86986  2.12435  1.86194
+ 1.29325  2.76668  2.64923  2.70488
+ 1.11475  3.10914  3.02098  2.35189

Dims keywords

Methods where dims, dim types, or Symbols can be used to indicate the array dimension:

  • size, axes, firstindex, lastindex

  • cat, reverse, dropdims

  • reduce, mapreduce

  • sum, prod, maximum, minimum

  • mean, median, extrema, std, var, cor, cov

  • permutedims, adjoint, transpose, Transpose

  • mapslices, eachslice

Performance

Indexing with Dimensions has no runtime cost. Let's benchmark it:

julia
julia> using BenchmarkTools
 
 julia> da4 = ones(X(3), Y(3))
╭─────────────────────────╮
 3×3 DimArray{Float64,2}
@@ -239,21 +239,21 @@ import{_ as d,c as p,a4 as l,G as h,w as e,B as k,o as g,j as i,a as s}from"./ch
  1.0  1.0  1.0
  1.0  1.0  1.0
  1.0  1.0  1.0
julia
julia> @benchmark $da4[X(1), Y(2)]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  2.785 ns18.735 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     2.795 ns               GC (median):    0.00%
- Time  (mean ± σ):   2.822 ns ±  0.462 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns19.216 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.106 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.118 ns ±  0.327 ns GC (mean ± σ):  0.00% ± 0.00%
 
-                                            
-
-  2.78 ns        Histogram: frequency by time        2.83 ns <
+                            
+
+  3.1 ns         Histogram: frequency by time        3.12 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.

the same as accessing the parent array directly:

julia
julia> @benchmark parent($da4)[1, 2]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  3.095 ns17.072 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     3.105 ns               GC (median):    0.00%
- Time  (mean ± σ):   3.136 ns ±  0.481 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns27.762 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.106 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.125 ns ±  0.396 ns GC (mean ± σ):  0.00% ± 0.00%
 
-
-
-  3.1 ns       Histogram: log(frequency) by time     3.14 ns <
+
+
+  3.1 ns       Histogram: log(frequency) by time     3.67 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.
`,52))])}const C=d(o,[["render",r]]);export{u as __pageData,C as default}; diff --git a/dev/assets/dimensions.md.Btc7hsPQ.js b/dev/assets/dimensions.md.Btc7hsPQ.js deleted file mode 100644 index e2f87a7e5..000000000 --- a/dev/assets/dimensions.md.Btc7hsPQ.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.B8l2DGq3.js";const c=JSON.parse('{"title":"Dimensions","description":"","frontmatter":{},"headers":[],"relativePath":"dimensions.md","filePath":"dimensions.md","lastUpdated":null}'),t={name:"dimensions.md"};function h(l,s,p,k,d,o){return n(),a("div",null,s[0]||(s[0]=[e(`

Dimensions

Dimensions are "wrapper types" that can be used to wrap any object to associate it with a named dimension.

X, Y, Z, Ti are predefined as types:

julia
julia> using DimensionalData
-
-julia> X(1)
X 1
julia
julia> X(1), Y(2), Z(3)
(X 1, Y 2, Z 3)

You can also make Dim dimensions with any name:

julia
julia> Dim{:a}(1), Dim{:b}(1)
(a 1, b 1)

The wrapped value can be retrieved with val:

julia
julia> val(X(1))
1

DimensionalData.jl uses Dimensions everywhere:

  • Dimension are returned from dims to specify the names of the dimensions of an object

  • they wrap Lookups to associate the lookups with those names

  • to index into these objects, they wrap indices like Int or a Selector

This symmetry means we can ignore how data is organised, and label and access it by name, letting DD work out the details for us.

Dimensions are defined in the Dimensions submodule, some Dimension-specific methods can be brought into scope with:

julia
using DimensionalData.Dimensions
`,18)]))}const g=i(t,[["render",h]]);export{c as __pageData,g as default}; diff --git a/dev/assets/dimensions.md.Btc7hsPQ.lean.js b/dev/assets/dimensions.md.Btc7hsPQ.lean.js deleted file mode 100644 index e2f87a7e5..000000000 --- a/dev/assets/dimensions.md.Btc7hsPQ.lean.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.B8l2DGq3.js";const c=JSON.parse('{"title":"Dimensions","description":"","frontmatter":{},"headers":[],"relativePath":"dimensions.md","filePath":"dimensions.md","lastUpdated":null}'),t={name:"dimensions.md"};function h(l,s,p,k,d,o){return n(),a("div",null,s[0]||(s[0]=[e(`

Dimensions

Dimensions are "wrapper types" that can be used to wrap any object to associate it with a named dimension.

X, Y, Z, Ti are predefined as types:

julia
julia> using DimensionalData
-
-julia> X(1)
X 1
julia
julia> X(1), Y(2), Z(3)
(X 1, Y 2, Z 3)

You can also make Dim dimensions with any name:

julia
julia> Dim{:a}(1), Dim{:b}(1)
(a 1, b 1)

The wrapped value can be retrieved with val:

julia
julia> val(X(1))
1

DimensionalData.jl uses Dimensions everywhere:

  • Dimension are returned from dims to specify the names of the dimensions of an object

  • they wrap Lookups to associate the lookups with those names

  • to index into these objects, they wrap indices like Int or a Selector

This symmetry means we can ignore how data is organised, and label and access it by name, letting DD work out the details for us.

Dimensions are defined in the Dimensions submodule, some Dimension-specific methods can be brought into scope with:

julia
using DimensionalData.Dimensions
`,18)]))}const g=i(t,[["render",h]]);export{c as __pageData,g as default}; diff --git a/dev/assets/dimensions.md.BukE2hG-.js b/dev/assets/dimensions.md.BukE2hG-.js new file mode 100644 index 000000000..034238f6c --- /dev/null +++ b/dev/assets/dimensions.md.BukE2hG-.js @@ -0,0 +1,3 @@ +import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.BAAK0EyE.js";const c=JSON.parse('{"title":"Dimensions","description":"","frontmatter":{},"headers":[],"relativePath":"dimensions.md","filePath":"dimensions.md","lastUpdated":null}'),t={name:"dimensions.md"};function h(l,s,p,k,d,o){return n(),a("div",null,s[0]||(s[0]=[e(`

Dimensions

Dimensions are "wrapper types" that can be used to wrap any object to associate it with a named dimension.

X, Y, Z, Ti are predefined as types:

julia
julia> using DimensionalData
+
+julia> X(1)
X 1
julia
julia> X(1), Y(2), Z(3)
(X 1, Y 2, Z 3)

You can also create Dim dimensions with any name:

julia
julia> Dim{:a}(1), Dim{:b}(1)
(a 1, b 1)

The wrapped value can be retrieved with val:

julia
julia> val(X(1))
1

DimensionalData.jl uses Dimensions everywhere:

  • Dimensions are returned from dims to specify the names of the dimensions of an object

  • They can wrap Lookups to associate the lookups with those names

  • To index into these objects, they can wrap indices like Int or a Selector

This symmetry means we can ignore how data is organized, and label and access it by name, letting DD work out the details for us.

Dimensions are defined in the Dimensions submodule, and some Dimension-specific methods can be brought into scope with:

julia
using DimensionalData.Dimensions
`,18)]))}const g=i(t,[["render",h]]);export{c as __pageData,g as default}; diff --git a/dev/assets/dimensions.md.BukE2hG-.lean.js b/dev/assets/dimensions.md.BukE2hG-.lean.js new file mode 100644 index 000000000..034238f6c --- /dev/null +++ b/dev/assets/dimensions.md.BukE2hG-.lean.js @@ -0,0 +1,3 @@ +import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.BAAK0EyE.js";const c=JSON.parse('{"title":"Dimensions","description":"","frontmatter":{},"headers":[],"relativePath":"dimensions.md","filePath":"dimensions.md","lastUpdated":null}'),t={name:"dimensions.md"};function h(l,s,p,k,d,o){return n(),a("div",null,s[0]||(s[0]=[e(`

Dimensions

Dimensions are "wrapper types" that can be used to wrap any object to associate it with a named dimension.

X, Y, Z, Ti are predefined as types:

julia
julia> using DimensionalData
+
+julia> X(1)
X 1
julia
julia> X(1), Y(2), Z(3)
(X 1, Y 2, Z 3)

You can also create Dim dimensions with any name:

julia
julia> Dim{:a}(1), Dim{:b}(1)
(a 1, b 1)

The wrapped value can be retrieved with val:

julia
julia> val(X(1))
1

DimensionalData.jl uses Dimensions everywhere:

  • Dimensions are returned from dims to specify the names of the dimensions of an object

  • They can wrap Lookups to associate the lookups with those names

  • To index into these objects, they can wrap indices like Int or a Selector

This symmetry means we can ignore how data is organized, and label and access it by name, letting DD work out the details for us.

Dimensions are defined in the Dimensions submodule, and some Dimension-specific methods can be brought into scope with:

julia
using DimensionalData.Dimensions
`,18)]))}const g=i(t,[["render",h]]);export{c as __pageData,g as default}; diff --git a/dev/assets/diskarrays.md.DNn9Ahrm.js b/dev/assets/diskarrays.md.DGsdRCSJ.js similarity index 54% rename from dev/assets/diskarrays.md.DNn9Ahrm.js rename to dev/assets/diskarrays.md.DGsdRCSJ.js index 0139c94ad..7e51e1423 100644 --- a/dev/assets/diskarrays.md.DNn9Ahrm.js +++ b/dev/assets/diskarrays.md.DGsdRCSJ.js @@ -1 +1 @@ -import{_ as t,c as i,a4 as r,o as e}from"./chunks/framework.B8l2DGq3.js";const m=JSON.parse('{"title":"DiskArrays.jl compatibility","description":"","frontmatter":{},"headers":[],"relativePath":"diskarrays.md","filePath":"diskarrays.md","lastUpdated":null}'),s={name:"diskarrays.md"};function l(n,a,o,d,p,c){return e(),i("div",null,a[0]||(a[0]=[r('

DiskArrays.jl compatibility

DiskArrays.jl enables lazy, chunked application of:

  • broadcast

  • reductions

  • iteration

  • generators

  • zip

It is rarely used directly, but is present in most disk and cloud based spatial data packages in julia, including: ArchGDAL.jl, NetCDF.jl, Zarr.jl, NCDatasets.lj, GRIBDatasets.jl and CommonDataModel.jl

The combination of DiskArrays.jl and DimensionalData.jl is Julias answer to pythons xarray. Rasters.jl and YAXArrays.jl are user-facing tools building on this combination.

They have no direct dependency relationships, with but are intentionally designed to integrate via both adherence to Julia's AbstractArray interface, and by coordination during development of both packages.

',6)]))}const h=t(s,[["render",l]]);export{m as __pageData,h as default}; +import{_ as t,c as i,a4 as r,o as e}from"./chunks/framework.BAAK0EyE.js";const m=JSON.parse('{"title":"DiskArrays.jl compatibility","description":"","frontmatter":{},"headers":[],"relativePath":"diskarrays.md","filePath":"diskarrays.md","lastUpdated":null}'),s={name:"diskarrays.md"};function l(n,a,o,d,p,c){return e(),i("div",null,a[0]||(a[0]=[r('

DiskArrays.jl compatibility

DiskArrays.jl enables lazy, chunked application of:

  • broadcast

  • reductions

  • iteration

  • generators

  • zip

It is rarely used directly, but is present in most disk and cloud based spatial data packages in julia, including: ArchGDAL.jl, NetCDF.jl, Zarr.jl, NCDatasets.jl, GRIBDatasets.jl and CommonDataModel.jl

The combination of DiskArrays.jl and DimensionalData.jl is Julia's answer to python's xarray. Rasters.jl and YAXArrays.jl are user-facing tools building on this combination.

They have no direct dependency relationships, but are intentionally designed to integrate via both adherence to Julia's AbstractArray interface, and by coordination during development of both packages.

',6)]))}const u=t(s,[["render",l]]);export{m as __pageData,u as default}; diff --git a/dev/assets/diskarrays.md.DNn9Ahrm.lean.js b/dev/assets/diskarrays.md.DGsdRCSJ.lean.js similarity index 54% rename from dev/assets/diskarrays.md.DNn9Ahrm.lean.js rename to dev/assets/diskarrays.md.DGsdRCSJ.lean.js index 0139c94ad..7e51e1423 100644 --- a/dev/assets/diskarrays.md.DNn9Ahrm.lean.js +++ b/dev/assets/diskarrays.md.DGsdRCSJ.lean.js @@ -1 +1 @@ -import{_ as t,c as i,a4 as r,o as e}from"./chunks/framework.B8l2DGq3.js";const m=JSON.parse('{"title":"DiskArrays.jl compatibility","description":"","frontmatter":{},"headers":[],"relativePath":"diskarrays.md","filePath":"diskarrays.md","lastUpdated":null}'),s={name:"diskarrays.md"};function l(n,a,o,d,p,c){return e(),i("div",null,a[0]||(a[0]=[r('

DiskArrays.jl compatibility

DiskArrays.jl enables lazy, chunked application of:

  • broadcast

  • reductions

  • iteration

  • generators

  • zip

It is rarely used directly, but is present in most disk and cloud based spatial data packages in julia, including: ArchGDAL.jl, NetCDF.jl, Zarr.jl, NCDatasets.lj, GRIBDatasets.jl and CommonDataModel.jl

The combination of DiskArrays.jl and DimensionalData.jl is Julias answer to pythons xarray. Rasters.jl and YAXArrays.jl are user-facing tools building on this combination.

They have no direct dependency relationships, with but are intentionally designed to integrate via both adherence to Julia's AbstractArray interface, and by coordination during development of both packages.

',6)]))}const h=t(s,[["render",l]]);export{m as __pageData,h as default}; +import{_ as t,c as i,a4 as r,o as e}from"./chunks/framework.BAAK0EyE.js";const m=JSON.parse('{"title":"DiskArrays.jl compatibility","description":"","frontmatter":{},"headers":[],"relativePath":"diskarrays.md","filePath":"diskarrays.md","lastUpdated":null}'),s={name:"diskarrays.md"};function l(n,a,o,d,p,c){return e(),i("div",null,a[0]||(a[0]=[r('

DiskArrays.jl compatibility

DiskArrays.jl enables lazy, chunked application of:

  • broadcast

  • reductions

  • iteration

  • generators

  • zip

It is rarely used directly, but is present in most disk and cloud based spatial data packages in julia, including: ArchGDAL.jl, NetCDF.jl, Zarr.jl, NCDatasets.jl, GRIBDatasets.jl and CommonDataModel.jl

The combination of DiskArrays.jl and DimensionalData.jl is Julia's answer to python's xarray. Rasters.jl and YAXArrays.jl are user-facing tools building on this combination.

They have no direct dependency relationships, but are intentionally designed to integrate via both adherence to Julia's AbstractArray interface, and by coordination during development of both packages.

',6)]))}const u=t(s,[["render",l]]);export{m as __pageData,u as default}; diff --git a/dev/assets/esowbav.y1SvPNdA.png b/dev/assets/esowbav.y1SvPNdA.png new file mode 100644 index 0000000000000000000000000000000000000000..0a4932e02af7141288b28942f8d5db535d13f506 GIT binary patch literal 12629 zcmeHthg(zW*KHg{PzDgoFoG2IQ$&QQgf2t@MT3HLrNstF5k!Fq0ivLy(kvhxzEhKzp>>Zp5(me-FvUK_S*0L)5eA(>m}Et zP$-cT#|_L-s5Ngp%Z7VrB-U6M9Hw^4q~eqc6Z_U{XzcLlII45-UVNLCp<#}WR?5*=R$1L? zrQxTgkEUIyeRH(Xsv%M+`HZ8BK(@H}x{GIiE2Cf&JBZixjE`xjx~byeCkMUm4ero``2top$?x8-T+J5b3_P*+7K_rev!3Uxb&5*d)K=TeA0OCSB5(KdYSHM$KVH1u)j=^G zSHhgvk)5@HS4(!##Ngd3Ve5a=lmDZ_@b6;&vDISX^-8_<#$X_GKu|W|>W5%~ICW25 z`rB$2V_MteYiWCXyWXrYQuN7dzISGt*G5X)nwmZeEIs!j*rg+#OLxYSnS(^bC>i_S zN+|rz2KVGDxQu?%&k)(vXn*ERAZsFnIo>vuKo~583)MZoE^}u|6q6)fLunt2S4@D9 z*4`JS4REiyyHXy<6%za>Gdt2xxxruGfUl)qwK7EdT@k6=D%Rvy6{pSKQ2;CgtsK0C zQ+w)(q#%|{mQ{|-jc>OCMAD3f!e=CpEl~6{ z+`6-)+h3ceh#va+UNWOuYbv`bPCX;KzM(>eEk_ekP6M82HeLzW(a*l{+W_k&%qE)IRNR=$&8V-hUn?Ssx!n5F zrUjr1l6YfSepyYXbE2QqV1-{Eg~xhiD0B8^02QIA4kC^BzbxL_wn3|flr5Hw41+pXm zJdo_z@bu20B+$osgLNOH+j;C+tS`M+Zx$Z;oJku*6+(5>=5ObXe*xU;pcSszEZu}n*-PG{6C$TR8G>-EtJ5xzYL zLB5#_{&{a_$;qu z)ptwDQ@Lc1n((bU{)?sa^@_9P*{TBd{uguQl$EW)e_y8~cuRBqw_lbEAJx`Jv z57bt$CbOar&4019wlDG+C`U9=*;t}Bn_f^5o0R#z-3UG1mQp)LPO;3g3Y>Ps#~rwM z3?8CjCn$jFpWmx#0Sir`GXCT94d~gfte!Ex8tn0lbiK9bM=KVZr8KV%-;r=wULK0_ z>?@q8V$WpxP(dW=5;hdOQ|E69%6#cLhs%UKh|*ZE0my?AkS1i{*Lw`K>(di}!9nk;HajF=z2pbGKFtrbk=l*u*r9 zOfE0lCFnA9;TzUxofF&2?MUKbf;h{tZwJ^vKW#GMjG#$=ou-DWp8|bA%ybXILgBs* zPn8@U9R+1>oYViR3cD+lg|ZgH!X9SjRh8o@L1#sZJ!!l|;*8%?m$lUEwdS~(n3y6N zTJaTIT;}W7uUQ?!PzAx4>58{IGE6A+{D$uAvrhtV)NFPB>Nl1kDD8bZWN>1#E6Yu% z>e@(sbo&QE*$PDSjwAY$aX3Qa_Q=QxXrZ9*cO>$~#59K=;yFJgG7@}kc79!Q%d51S znu~StS4i{zByNcLD1&?m6Ty7gCZ@YAm-XQfC7WQlXO3=SJcT$+~R| znENa-*7*F1nWU<##gO}IkWx|Yy)E16{Ux(>YQZc-*mt^5b(EWUy;&1Bp@F2~+#C<( zjZW(RtUJe+KP-xu8>`TGjFKeC=%FYqFZGErJYdg{ z&tY)K0?>btA3yH*Am>2dMO4UwcGEdBB=G%wsI)Kap?cqdC85WjFmSb6#610^A8%zW ziNsr>e}jx#9)4nyc;m-?0qRDm{REZ zz(^fNuS(0Ig2KYWRw;m$JR&F|uU7lyHf-goS0$|$(*sSi17js=T+$XqGKPe(BoOOq>Xs2A73r^1 z*8Y-`U-EuQO?q%-^{@Be7ZZNH|02rNliGjoFvtMw>@#yetHnTOu|bV4 zeESd*Dk5byeg(AT=EEvtAAw{Tz&nT7v=9l2~Kp6ojf?+I)NuiIRO zWcqxhA$GQe7Nj34n&S|nkOnTZf4aX3r039c z73Ud$*P)sSg)}?mp7A)iYwu3XLTGsRX$OZY*RD74m00H2>n*x$I(GT2k6}s}RQBOb zU7V1&$;m%rDVz~c61zXmDE4Vg%ocxb_$NZ;=;nk^f(VKkUijdJ;bsXJ4__5dcxNU^u&k! zTJD7%2B)gPuZCK}@y^q*_MwAIf&iuqD=(mVpa#w0(=lAo(P1Aw8naKsq7ODQM9p z_L!%orAgRbJu>9E4sotp>UUUKSXhiJ zK?OHih3t;|OE8q_36W#$c}s-bHO`DZn+ptIJ=0nLnGSFNuaEOAU_hw2h_owvprJxq zr2nnyUr_~*H6>grxF>afejf1)pii{4w3OENb#F_~r9GzizPku-2}>w*rtti};w$}t z@0dPamqEa)vZG;t_<$Rcnwr`z;1uOwczvuHuu}QV+iy=ybX}l*2V|K#D2(&KJ7`1#zeF&iX}8O)qRDp6N^)Sz30rka!CrV!9ewV}LlM zRhp@(qnqMK!GwXiz$AYRtnxWVzh_={cD7F?btvrF{_}b`7npozr%whY`Y zD7vlma$B;E1c^a)2EyqFUt=MRIY6Mf<(4^tD>-9 z8|c+QWMF)x)Ub@ul^DLsVc3TGB;xq1P!|6_`oeTy5x}0$npf16Dho@?1ZXE$ytKaE zTy0b28Z$66Sjh(7am`jIcE)C!XN;oPLW~$MLqzMNy49=ZA`-L--Df-*%R7oa2Ks=_ z%R_#GIaA+a3G52ZY#!YgVuTng_LOr=Mndda3W>+KC%)5H`rB^94IA44ynA7c5N!ry z2&d-wvzC@%2JGFt*Q07>l#aih5~b@85WTVlAnnfR;oaV3e5TynMLE_M*h)nG>qBXz zofKvyw0@fYT6X=*!|f}4YhMw)0z;h_8eSLFG--SulLmt@JLM8+Z0~Q9cfw|p#dX@uyeO1$;WA8$5d;yuq_*Mzt z0y4Ghib8mADGPr}LE7t+cvn=Mj&3N7Z0sQ@)uCc7_^GU&LV4wrZ=%g0og>0-!H}*& zcP^JaQ!mQ__lOCddUQJk)rKqE0>W-6Qd?R0OFHkp>5=0G17w1ULPEfNT~T6_3`O0k z@fp1u%U@|Bvqf5Alk&~6ytybT-&%|z)UJ}Uva*6g8F(zNzamr)c13|~x^x#AlM6@mJ~|?^6B4Btc76JBD9daDTpd({1y!XUjm5MVm2*3HFXH z`*~n6MF(nJA8n-9fa-9|J~aGLf9>yoJ~ZqY8v3C0?XoiPXx4B$K}=4u8alBp>& zItz^|3TYog1f8+#EPKHBft^&cEp~@V9aS8%t}oxw2$Iv*w%xl6M;XLWd*^*=mtl-( z9p*TYPufuZ`5{hGEg8-&iL|`*$QWvPT6Co5=rj8kCzaxhwUJvCtt9F+#pvYk{GDgVR3lm3Y@LvUX+H z9G8}gl$&K+&>qPTgezC|hBPK&`N6`<#}&X?oF>z_9=>lYDh{P}f-h}@-9-w3iXhvr z?#emy?gHFWAq`Ao0`xYKF-}pec`yVosY9%*z@bFjmt)vh!Mmn#r#(H(MxK(`C8Rh2 zbl&GbVZpCKr;o(qbzzYXej_oDb{c{)oeV{5TjFs_0kpl#{BT{D?Awcs%a>ux2g1)T zZEf&yhw(5WY@v1`EDk&eg)|FOQ?CZ4l9SLO<>%)^yQ1RM_=Tcl4g7-3WQAE-#*)I? z0WY(?ig8b@&Yty~DI4<`tXN47Q)Z2kcw^-faR@-HK82g8SIpaoM$ghHe1K$8oyArN z?8!K_D==n;PKbz`DDL-Yc=}vt5+KA9y!eHZ0&pn-+LZZ}D>d}C*8HuC3JRG^;##Us zh|H&|*iR+arRzSFIf(NH<9o6*(@@557;Z|kva({#3=qLxh2E>@TMrr6+b_&+q8Qh z)QT;QWrdrF)Sfw0di8v9BjCkg5PKTnX=WlLNm)sWTW1n<5bE1+Vf57VgO05)k7QZr z$v~?KE#?cnJM1wZukuuhN1lpf9bT`e2USdku7ScHn9YTNK<8LCQ$FOzycGde65(zppK ztpAN=7Gy|9qW@mfe%MWY zpbr(M@kwTT6&16V!U6y#eo+aqLf#RAk;>JnoDv`@;NRwWO%;Coq(T}fg`H$C5EjS; zLm>^!+ltgwz+!w~kz4G*pK9)BmLwa!A=H4{AjO)nC9UwE4nZp;(6=k5VZ45PLI+M5 zsWuP#_Fstte>Wp3$RF%tNAxk*zp^?SPDRY46_R3`&fq{%7_ThBw`CD`|4Q%UrvVb` z2K|HH-&_R_`MI3D-SHF9fZ|+$bHTZX-BxYRb*R)z>jWi88V(lw;Mk&n1Ee3G#9gwH zfTGw=J^*ur$B#E6`7`LM`Rhs>30U)$iT1RWp2P!4m>T9tBZ_$H5*=nKKFBbJGvCk< zi*AX0rXy*ic2OY>s&ZQLHUfP9OOr8p3QTA?Zcn<)bt$FyH{LeDfZHyNuGk;jkl;7^ zoWknLb3K$&d6#~wx&#hi+?e|TvyE*9)~z3F!ts1 zcT&GV0=Ja_z(uzs-u+a|h@w^Ym!MsbNIFWtO7#2iO0K)+G$#l^O6oA zm;}XS;$7q3fo3#L($z`B0Ge~$9*Rn-?Mo|!Dh0C5tzpS0-q=At0Mxj4;Ce{Ik^L~C zY6|+W0NKn7NxBBy42)OkQUJpk&Ic$eI-CsxRS6%zOWn8qByc`k&<~PD)fm><0GhDi z0C}<92=Mwj*1^FcksDcIPxhUq@Pl}z)D#DhypB=nib_hL5eZpINCyH&(<3vGp#CE< z*7LPZGI%>i%RuUhC$2hdkVDSGFsFMrSu20)MYMF1inB5A8*DVZwWu?gz(Z_Iz38Q@j)@==F_8J`~ zfo_%wFM#Qwz5hfSvZC;+>ZEP>zu^xg56q1;|5mB?djGkgR>YZ=bZ2yj|h5zOA zLP4`u7R#AC7e#8M?6Y)$vq4coiz#}6J26r|YtA>*O-X>PkNKJ9<$(<9m@}3QD&I0< z2_ero8YdkBOm22KaiUHv=w}GHMqNlh5uE>=YL7TvKyfzs(?4O@3O-`54;LLY7iNzi zc?}l=?_K^foAPM$2#;a7_6Pv-RF^fLOKyN6rHX6k>q$d^8i4Rz35Ofsp$F?F&;p~h zXG&opj7+ISip`UeW`dD=2lQ1awcoh&9JG>PHIarN84f}#nPXcbri8Z}kWzZ@go?sL#Jhw`5x}4T#fzW+-b_9on*}iK#a%XMMXQ8zM0*^E{KX}PBW)8pS zCOYFxs=nKk;;*;AdiBaChhb8yOX5`!nKMwv5#iy5HaQ;3Yi@41jd~cmuVHj_6mo5& zIP~%X%$Wgvls#wzA0O2nx%Ol=45qW|K1xn#m7IKki6=CW{sx8p)6lf?{LY;}f8N7G zdB>Zs$>HHkCCpWa4Z0`19}J>UeA|?ilqG+i9Ww)D^#cdqd2xXzVsL=uX%>5xl$1n% z|9x|b_)YIJeIbZ>+MatE)W+E4Kdm z=NTKDy)n3>d8_5@;js2K=0ryZE^YpMbtsR=TP-LGfG6LOf9K8}*CLxm4C?W2p;a%X zCYM;_y|z=TO@yS%u#xVcj3X6K6OR@C_2JUm60 z$Z+Q_z`+Zth-2@FC^hZl5qb|w;u+6m1dy!)qp+g7hS9xJ!z=C*-KA`_lm+-q^X z4UT2x;^FDX;H=8dWU9NdvGE`Ob1&!H-PJ-vL*b)%JZ*mdTAAJ8@|%tcWR?!wCq4(N z4`lQf^-X_;v22-pzxDa^=QOwdJM#CzszDJypd~5@+*AhJ`C-_^#6)eBtl=ln@1nB0 zoUvOUK73HL&NVQ|>VoR9fb6+xcx;uN7=XjJty@cmlFgIv9H!T${vL0Fvt literal 0 HcmV?d00001 diff --git a/dev/assets/extending_dd.md.DoS75dmN.lean.js b/dev/assets/extending_dd.md.BXSXpgVw.js similarity index 81% rename from dev/assets/extending_dd.md.DoS75dmN.lean.js rename to dev/assets/extending_dd.md.BXSXpgVw.js index 714803264..2285c00ba 100644 --- a/dev/assets/extending_dd.md.DoS75dmN.lean.js +++ b/dev/assets/extending_dd.md.BXSXpgVw.js @@ -1,4 +1,4 @@ -import{_ as n,c as d,a4 as r,G as a,w as t,B as l,o as p,j as i,a as s}from"./chunks/framework.B8l2DGq3.js";const b=JSON.parse('{"title":"Extending DimensionalData","description":"","frontmatter":{},"headers":[],"relativePath":"extending_dd.md","filePath":"extending_dd.md","lastUpdated":null}'),o={name:"extending_dd.md"};function g(y,e,c,u,m,E){const h=l("PluginTabsTab"),k=l("PluginTabs");return p(),d("div",null,[e[2]||(e[2]=r('

Extending DimensionalData

Nearly everything in DimensionalData.jl is designed to be extensible.

  • AbstractDimArray are easily extended to custom array types. Raster or YAXArray are examples from other packages.

  • AbstractDimStack are easily extended to custom mixed array dataset. RasterStack or ArViZ.Dataset are examples.

  • Lookup can have new types added, e.g. to AbstractSampled or AbstractCategorical. Rasters.Projected is a lookup that knows its coordinate reference system, but otherwise behaves as a regular Sampled lookup.

dims, rebuild and format are the key interface methods in most of these cases.

dims

Objects extending DimensionalData.jl that have dimensions must return a Tuple of constructed Dimensions from dims(obj).

Dimension axes

Dimensions return from dims should hold a Lookup or in some cases just an AbstractArray (like with DimIndices). When attached to multi-dimensional objects, lookups must be the same length as the axis of the array it represents, and eachindex(A, i) and eachindex(dim) must return the same values.

This means that if the array has OffsetArrays.jl axes, the array the dimension wraps must also have OffsetArrays.jl axes.

dims keywords

To any dims keyword argument that usually requires the dimension I, objects should accept any Dimension, Type{<:Dimension}, Symbol, Val{:Symbol}, Val{<:Type{<:Dimension}} or also regular Integer.

This is easier than it sounds, calling DD.dims(objs, dims) will return the matching dimension and DD.dimnum(obj, dims) will return the matching Int for any of these inputs as long as dims(obj) is implemented.

rebuild

Rebuild methods are used to rebuild immutable objects with new field values, in a way that is more flexible and extensible than just using ConstructionBase.jl reconstruction. Developers can choose to ignore some of the fields passed by rebuild.

The function signature is always one of:

julia
rebuild(obj, args...)\nrebuild(obj; kw...)

rebuild has keyword versions automatically generated for all objects using ConstructionBase.jl.

These will work without further work as long as your object has the fields used by DimensionalData.jl objects. For example, AbstractDimArray will receive these keywords in rebuild: data, dims, refdims, name, metadata.

If your AbstractDimArray does not have all these fields, you must implement rebuild(x::YourDimArray; kw...) manually.

An argument method is also defined with the same arguments as the keyword version. For AbstractDimArray it should only be used for updating data and dims, any more that that is confusing.

For Dimension and Selector the single argument versions are easiest to use, as there is only one argument.

format

When constructing an AbstractDimArray or AbstractDimStack DimensionalData.format must be called on the dims tuple and the parent array:

julia
format(dims, array)

This lets DimensionalData detect the lookup properties, fill in missing fields of a Lookup, pass keywords from Dimension to detected Lookup constructors, and accept a wider range of dimension inputs like tuples of Symbol and Type.

Not calling format in the outer constructors of an AbstractDimArray has undefined behaviour.

Interfaces.jl interface testing

DimensionalData defines explicit, testable Interfaces.jl interfaces: DimArrayInterface and DimStackInterface.

',28)),a(k,null,{default:t(()=>[a(h,{label:"array"},{default:t(()=>e[0]||(e[0]=[i("p",null,[s("This is the implementation definition for "),i("code",null,"DimArray"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData, Interfaces")]),s(` +import{_ as n,c as d,a4 as r,G as a,w as t,B as l,o as p,j as i,a as s}from"./chunks/framework.BAAK0EyE.js";const b=JSON.parse('{"title":"Extending DimensionalData","description":"","frontmatter":{},"headers":[],"relativePath":"extending_dd.md","filePath":"extending_dd.md","lastUpdated":null}'),o={name:"extending_dd.md"};function g(y,e,c,u,m,E){const h=l("PluginTabsTab"),k=l("PluginTabs");return p(),d("div",null,[e[2]||(e[2]=r('

Extending DimensionalData

Nearly everything in DimensionalData.jl is designed to be extensible.

  • AbstractDimArray is easily extended to custom array types. Raster or YAXArray are examples from other packages.

  • AbstractDimStack is easily extended to custom mixed array datasets. RasterStack or ArViZ.Dataset are examples.

  • Lookup can have new types added, e.g. to AbstractSampled or AbstractCategorical. Rasters.Projected is a lookup that knows its coordinate reference system, but otherwise behaves as a regular Sampled lookup.

dims, rebuild and format are the key interface methods in most of these cases.

dims

Objects extending DimensionalData.jl that have dimensions must return a Tuple of constructed Dimensions from dims(obj).

Dimension axes

Dimensions returned from dims should hold a Lookup or in some cases just an AbstractArray (like with DimIndices). When attached to multi-dimensional objects, lookups must be the same length as the axis of the array it represents, and eachindex(A, i) and eachindex(dim) must return the same values.

This means that if the array has OffsetArrays.jl axes, the array the dimension wraps must also have OffsetArrays.jl axes.

dims keywords

To any dims keyword argument that usually requires the dimension I, objects should accept any Dimension, Type{<:Dimension}, Symbol, Val{:Symbol}, Val{<:Type{<:Dimension}} or also regular Integer.

This is easier than it sounds, calling DD.dims(objs, dims) will return the matching dimension and DD.dimnum(obj, dims) will return the matching Int for any of these inputs as long as dims(obj) is implemented.

rebuild

Rebuild methods are used to rebuild immutable objects with new field values, in a way that is more flexible and extensible than just using ConstructionBase.jl reconstruction. Developers can choose to ignore some of the fields passed by rebuild.

The function signature is always one of:

julia
rebuild(obj, args...)\nrebuild(obj; kw...)

rebuild has keyword versions automatically generated for all objects using ConstructionBase.jl.

These will work without further work as long as your object has the fields used by DimensionalData.jl objects. For example, AbstractDimArray will receive these keywords in rebuild: data, dims, refdims, name, metadata.

If your AbstractDimArray does not have all these fields, you must implement rebuild(x::YourDimArray; kw...) manually.

An argument method is also defined with the same arguments as the keyword version. For AbstractDimArray it should only be used for updating data and dims, any more that that is confusing.

For Dimension and Selector the single argument versions are easiest to use, as there is only one argument.

format

When constructing an AbstractDimArray or AbstractDimStack DimensionalData.format must be called on the dims tuple and the parent array:

julia
format(dims, array)

This lets DimensionalData detect the lookup properties, fill in missing fields of a Lookup, pass keywords from Dimension to detected Lookup constructors, and accept a wider range of dimension inputs like tuples of Symbol and Type.

Not calling format in the outer constructors of an AbstractDimArray has undefined behaviour.

Interfaces.jl interface testing

DimensionalData defines explicit, testable Interfaces.jl interfaces: DimArrayInterface and DimStackInterface.

',28)),a(k,null,{default:t(()=>[a(h,{label:"array"},{default:t(()=>e[0]||(e[0]=[i("p",null,[s("This is the implementation definition for "),i("code",null,"DimArray"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData, Interfaces")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," @implements"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"DimArrayInterface{("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":refdims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},","),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":name"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},","),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":metadata"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")} DimArray ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"zeros"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Z"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("p",null,[s("See the "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.DimArrayInterface"},[i("code",null,"DimensionalData.DimArrayInterface")]),s(" docs for options. We can test it with:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Interfaces"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"test"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(DimensionalData"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"DimArrayInterface)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Testing "),i("span",{style:{"--shiki-light":"#0366d6","--shiki-dark":"#2188ff"}},"DimArrayInterface"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," is implemented for "),i("span",{style:{"--shiki-light":"#0366d6","--shiki-dark":"#2188ff"}},"DimArray")]),s(` diff --git a/dev/assets/extending_dd.md.DoS75dmN.js b/dev/assets/extending_dd.md.BXSXpgVw.lean.js similarity index 81% rename from dev/assets/extending_dd.md.DoS75dmN.js rename to dev/assets/extending_dd.md.BXSXpgVw.lean.js index 714803264..2285c00ba 100644 --- a/dev/assets/extending_dd.md.DoS75dmN.js +++ b/dev/assets/extending_dd.md.BXSXpgVw.lean.js @@ -1,4 +1,4 @@ -import{_ as n,c as d,a4 as r,G as a,w as t,B as l,o as p,j as i,a as s}from"./chunks/framework.B8l2DGq3.js";const b=JSON.parse('{"title":"Extending DimensionalData","description":"","frontmatter":{},"headers":[],"relativePath":"extending_dd.md","filePath":"extending_dd.md","lastUpdated":null}'),o={name:"extending_dd.md"};function g(y,e,c,u,m,E){const h=l("PluginTabsTab"),k=l("PluginTabs");return p(),d("div",null,[e[2]||(e[2]=r('

Extending DimensionalData

Nearly everything in DimensionalData.jl is designed to be extensible.

  • AbstractDimArray are easily extended to custom array types. Raster or YAXArray are examples from other packages.

  • AbstractDimStack are easily extended to custom mixed array dataset. RasterStack or ArViZ.Dataset are examples.

  • Lookup can have new types added, e.g. to AbstractSampled or AbstractCategorical. Rasters.Projected is a lookup that knows its coordinate reference system, but otherwise behaves as a regular Sampled lookup.

dims, rebuild and format are the key interface methods in most of these cases.

dims

Objects extending DimensionalData.jl that have dimensions must return a Tuple of constructed Dimensions from dims(obj).

Dimension axes

Dimensions return from dims should hold a Lookup or in some cases just an AbstractArray (like with DimIndices). When attached to multi-dimensional objects, lookups must be the same length as the axis of the array it represents, and eachindex(A, i) and eachindex(dim) must return the same values.

This means that if the array has OffsetArrays.jl axes, the array the dimension wraps must also have OffsetArrays.jl axes.

dims keywords

To any dims keyword argument that usually requires the dimension I, objects should accept any Dimension, Type{<:Dimension}, Symbol, Val{:Symbol}, Val{<:Type{<:Dimension}} or also regular Integer.

This is easier than it sounds, calling DD.dims(objs, dims) will return the matching dimension and DD.dimnum(obj, dims) will return the matching Int for any of these inputs as long as dims(obj) is implemented.

rebuild

Rebuild methods are used to rebuild immutable objects with new field values, in a way that is more flexible and extensible than just using ConstructionBase.jl reconstruction. Developers can choose to ignore some of the fields passed by rebuild.

The function signature is always one of:

julia
rebuild(obj, args...)\nrebuild(obj; kw...)

rebuild has keyword versions automatically generated for all objects using ConstructionBase.jl.

These will work without further work as long as your object has the fields used by DimensionalData.jl objects. For example, AbstractDimArray will receive these keywords in rebuild: data, dims, refdims, name, metadata.

If your AbstractDimArray does not have all these fields, you must implement rebuild(x::YourDimArray; kw...) manually.

An argument method is also defined with the same arguments as the keyword version. For AbstractDimArray it should only be used for updating data and dims, any more that that is confusing.

For Dimension and Selector the single argument versions are easiest to use, as there is only one argument.

format

When constructing an AbstractDimArray or AbstractDimStack DimensionalData.format must be called on the dims tuple and the parent array:

julia
format(dims, array)

This lets DimensionalData detect the lookup properties, fill in missing fields of a Lookup, pass keywords from Dimension to detected Lookup constructors, and accept a wider range of dimension inputs like tuples of Symbol and Type.

Not calling format in the outer constructors of an AbstractDimArray has undefined behaviour.

Interfaces.jl interface testing

DimensionalData defines explicit, testable Interfaces.jl interfaces: DimArrayInterface and DimStackInterface.

',28)),a(k,null,{default:t(()=>[a(h,{label:"array"},{default:t(()=>e[0]||(e[0]=[i("p",null,[s("This is the implementation definition for "),i("code",null,"DimArray"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData, Interfaces")]),s(` +import{_ as n,c as d,a4 as r,G as a,w as t,B as l,o as p,j as i,a as s}from"./chunks/framework.BAAK0EyE.js";const b=JSON.parse('{"title":"Extending DimensionalData","description":"","frontmatter":{},"headers":[],"relativePath":"extending_dd.md","filePath":"extending_dd.md","lastUpdated":null}'),o={name:"extending_dd.md"};function g(y,e,c,u,m,E){const h=l("PluginTabsTab"),k=l("PluginTabs");return p(),d("div",null,[e[2]||(e[2]=r('

Extending DimensionalData

Nearly everything in DimensionalData.jl is designed to be extensible.

  • AbstractDimArray is easily extended to custom array types. Raster or YAXArray are examples from other packages.

  • AbstractDimStack is easily extended to custom mixed array datasets. RasterStack or ArViZ.Dataset are examples.

  • Lookup can have new types added, e.g. to AbstractSampled or AbstractCategorical. Rasters.Projected is a lookup that knows its coordinate reference system, but otherwise behaves as a regular Sampled lookup.

dims, rebuild and format are the key interface methods in most of these cases.

dims

Objects extending DimensionalData.jl that have dimensions must return a Tuple of constructed Dimensions from dims(obj).

Dimension axes

Dimensions returned from dims should hold a Lookup or in some cases just an AbstractArray (like with DimIndices). When attached to multi-dimensional objects, lookups must be the same length as the axis of the array it represents, and eachindex(A, i) and eachindex(dim) must return the same values.

This means that if the array has OffsetArrays.jl axes, the array the dimension wraps must also have OffsetArrays.jl axes.

dims keywords

To any dims keyword argument that usually requires the dimension I, objects should accept any Dimension, Type{<:Dimension}, Symbol, Val{:Symbol}, Val{<:Type{<:Dimension}} or also regular Integer.

This is easier than it sounds, calling DD.dims(objs, dims) will return the matching dimension and DD.dimnum(obj, dims) will return the matching Int for any of these inputs as long as dims(obj) is implemented.

rebuild

Rebuild methods are used to rebuild immutable objects with new field values, in a way that is more flexible and extensible than just using ConstructionBase.jl reconstruction. Developers can choose to ignore some of the fields passed by rebuild.

The function signature is always one of:

julia
rebuild(obj, args...)\nrebuild(obj; kw...)

rebuild has keyword versions automatically generated for all objects using ConstructionBase.jl.

These will work without further work as long as your object has the fields used by DimensionalData.jl objects. For example, AbstractDimArray will receive these keywords in rebuild: data, dims, refdims, name, metadata.

If your AbstractDimArray does not have all these fields, you must implement rebuild(x::YourDimArray; kw...) manually.

An argument method is also defined with the same arguments as the keyword version. For AbstractDimArray it should only be used for updating data and dims, any more that that is confusing.

For Dimension and Selector the single argument versions are easiest to use, as there is only one argument.

format

When constructing an AbstractDimArray or AbstractDimStack DimensionalData.format must be called on the dims tuple and the parent array:

julia
format(dims, array)

This lets DimensionalData detect the lookup properties, fill in missing fields of a Lookup, pass keywords from Dimension to detected Lookup constructors, and accept a wider range of dimension inputs like tuples of Symbol and Type.

Not calling format in the outer constructors of an AbstractDimArray has undefined behaviour.

Interfaces.jl interface testing

DimensionalData defines explicit, testable Interfaces.jl interfaces: DimArrayInterface and DimStackInterface.

',28)),a(k,null,{default:t(()=>[a(h,{label:"array"},{default:t(()=>e[0]||(e[0]=[i("p",null,[s("This is the implementation definition for "),i("code",null,"DimArray"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData, Interfaces")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," @implements"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"DimArrayInterface{("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":refdims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},","),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":name"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},","),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":metadata"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")} DimArray ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"zeros"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Z"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("p",null,[s("See the "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.DimArrayInterface"},[i("code",null,"DimensionalData.DimArrayInterface")]),s(" docs for options. We can test it with:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Interfaces"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"test"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(DimensionalData"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"DimArrayInterface)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Testing "),i("span",{style:{"--shiki-light":"#0366d6","--shiki-dark":"#2188ff"}},"DimArrayInterface"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," is implemented for "),i("span",{style:{"--shiki-light":"#0366d6","--shiki-dark":"#2188ff"}},"DimArray")]),s(` diff --git a/dev/assets/garsckr.CNIu1Nb4.png b/dev/assets/garsckr.CNIu1Nb4.png new file mode 100644 index 0000000000000000000000000000000000000000..d74bbb5e231347c13f88c15be3b843590fc92eb2 GIT binary patch literal 261393 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\VFGKkq9Pf%xx@Zo2 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%0A?Xi6x4yAurkUs!S+MeAKUqHYu?v0*r0n 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 z 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 literal 0 HcmV?d00001 diff --git a/dev/assets/get_info.md.B7K6LY7P.js b/dev/assets/get_info.md.oVG65ArA.js similarity index 88% rename from dev/assets/get_info.md.B7K6LY7P.js rename to dev/assets/get_info.md.oVG65ArA.js index 0cb00aba1..1c41ba988 100644 --- a/dev/assets/get_info.md.B7K6LY7P.js +++ b/dev/assets/get_info.md.oVG65ArA.js @@ -1,4 +1,4 @@ -import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./chunks/framework.B8l2DGq3.js";const C=JSON.parse('{"title":"Getters","description":"","frontmatter":{},"headers":[],"relativePath":"get_info.md","filePath":"get_info.md","lastUpdated":null}'),r={name:"get_info.md"};function c(o,a,u,y,E,v){const t=n("PluginTabsTab"),h=n("PluginTabs");return g(),p("div",null,[a[24]||(a[24]=k(`

Getters

DimensionalData.jl defines consistent methods to retrieve information from objects like DimArray, DimStack, Tuples of Dimension, Dimension and Lookup.

First we will define an example DimArray.

julia
using DimensionalData
+import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./chunks/framework.BAAK0EyE.js";const C=JSON.parse('{"title":"Getters","description":"","frontmatter":{},"headers":[],"relativePath":"get_info.md","filePath":"get_info.md","lastUpdated":null}'),r={name:"get_info.md"};function c(o,a,u,y,E,v){const t=n("PluginTabsTab"),h=n("PluginTabs");return g(),p("div",null,[a[24]||(a[24]=k(`

Getters

DimensionalData.jl defines consistent methods to retrieve information from objects like DimArray, DimStack, Tuples of Dimension, Dimension, and Lookup.

First, we will define an example DimArray.

julia
using DimensionalData
 using DimensionalData.Lookups
 x, y = X(10:-1:1), Y(100.0:10:200.0)
(↓ X 10:-1:1,
 → Y 100.0:10.0:200.0)
julia
julia> A = rand(x, y)
╭───────────────────────────╮
@@ -7,17 +7,17 @@ import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./ch
 X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
 Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  100.0         110.0180.0       190.0       200.0
- 10      0.664038      0.464482        0.868966    0.530653    0.418968
-  9      0.00832284    0.0980829       0.314535    0.322005    0.674881
-  8      0.639212      0.233778        0.315591    0.190225    0.475569
-  7      0.602315      0.0372362       0.950143    0.062593    0.948976
-  6      0.375166      0.423798   …    0.640311    0.932968    0.98985
-  5      0.153219      0.635963        0.293126    0.68781     0.309301
-  4      0.00508449    0.829714        0.727149    0.585756    0.921145
-  3      0.946824      0.906705        0.899632    0.471877    0.633956
-  2      0.876112      0.831617        0.128932    0.428951    0.243803
-  1      0.749253      0.864128   …    0.715102    0.921012    0.566574
`,7)),l(h,null,{default:e(()=>[l(t,{label:"dims"},{default:e(()=>a[0]||(a[0]=[i("p",null,[i("code",null,"dims"),s(" retrieves dimensions from any object that has them.")],-1),i("p",null,[s("What makes it so useful is you can filter which dimensions you want in what order, using any "),i("code",null,"Dimension"),s(", "),i("code",null,"Type{Dimension}"),s(" or "),i("code",null,"Symbol"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` + 100.0 110.0 120.0190.0 200.0 + 10 0.616666 0.561953 0.0157247 0.177857 0.856524 + 9 0.660024 0.395523 0.0109523 0.552838 0.0536623 + 8 0.112606 0.548479 0.0545071 0.755722 0.830655 + 7 0.839223 0.0400057 0.702845 0.384116 0.445628 + 6 0.734452 0.65906 0.506965 … 0.654591 0.44097 + 5 0.89757 0.748725 0.00633515 0.178022 0.106904 + 4 0.969026 0.0042232 0.63959 0.423538 0.556096 + 3 0.106472 0.274713 0.589536 0.805743 0.390342 + 2 0.861535 0.167465 0.507581 0.799964 0.292431 + 1 0.245499 0.742732 0.095824 … 0.90203 0.86858
`,7)),l(h,null,{default:e(()=>[l(t,{label:"dims"},{default:e(()=>a[0]||(a[0]=[i("p",null,[i("code",null,"dims"),s(" retrieves dimensions from any object that has them.")],-1),i("p",null,[s("What makes it so useful is that you can filter which dimensions you want, and specify in what order, using any "),i("code",null,"Dimension"),s(", "),i("code",null,"Type{Dimension}"),s(" or "),i("code",null,"Symbol"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},")")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"100.0:10.0:200.0")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"100.0:10.0:200.0")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -28,7 +28,7 @@ import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10:-1:1")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"100.0:10.0:200.0")])])])],-1)])),_:1}),l(t,{label:"val"},{default:e(()=>a[3]||(a[3]=[i("p",null,[i("code",null,"val"),s(" is used where there is an unambiguous single value:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," val"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"7")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," val"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10.5")])])])],-1)])),_:1}),l(t,{label:"order"},{default:e(()=>a[4]||(a[4]=[i("p",null,[s("Get the order of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(ReverseOrdered(), ForwardOrdered())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(ReverseOrdered(), ForwardOrdered())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ReverseOrdered()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ForwardOrdered()")])])])],-1)])),_:1}),l(t,{label:"sampling"},{default:e(()=>a[5]||(a[5]=[i("p",null,[s("Get the sampling of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Points(), Points())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Points(), Points())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Points()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Points()")])])])],-1)])),_:1}),l(t,{label:"span"},{default:e(()=>a[6]||(a[6]=[i("p",null,[s("Get the span of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Regular{Int64}(-1), Regular{Float64}(10.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Regular{Int64}(-1), Regular{Float64}(10.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Regular{Int64}(-1)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Regular{Float64}(10.0)")])])])],-1)])),_:1}),l(t,{label:"locus"},{default:e(()=>a[7]||(a[7]=[i("p",null,[s("Get the locus of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("p",null,"(locus is our term for distinguishing if an lookup value specifies the start, center or end of an interval)",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Center(), Center())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Center(), Center())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Center()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Center()")])])])],-1)])),_:1}),l(t,{label:"bounds"},{default:e(()=>a[8]||(a[8]=[i("p",null,[s("Get the bounds of each dimension. This is different for "),i("code",null,"Points"),s(" and "),i("code",null,"Intervals"),s(" - the bounds for points of a "),i("code",null,"Lookup"),s(" are simply "),i("code",null,"(first(l), last(l))"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"((1, 10), (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"((1, 10), (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(1, 10)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(100.0, 200.0)")])])])],-1)])),_:1}),l(t,{label:"intervalbounds"},{default:e(()=>a[9]||(a[9]=[i("p",null,"Get the bounds of each interval along a dimension.",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"([(10, 10), (9, 9), (8, 8), (7, 7), (6, 6), (5, 5), (4, 4), (3, 3), (2, 2), (1, 1)], [(100.0, 100.0), (110.0, 110.0), (120.0, 120.0), (130.0, 130.0), (140.0, 140.0), (150.0, 150.0), (160.0, 160.0), (170.0, 170.0), (180.0, 180.0), (190.0, 190.0), (200.0, 200.0)])")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"([(10, 10), (9, 9), (8, 8), (7, 7), (6, 6), (5, 5), (4, 4), (3, 3), (2, 2), (1, 1)], [(100.0, 100.0), (110.0, 110.0), (120.0, 120.0), (130.0, 130.0), (140.0, 140.0), (150.0, 150.0), (160.0, 160.0), (170.0, 170.0), (180.0, 180.0), (190.0, 190.0), (200.0, 200.0)])")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10-element Vector{Tuple{Int64, Int64}}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"100.0:10.0:200.0")])])])],-1)])),_:1}),l(t,{label:"val"},{default:e(()=>a[3]||(a[3]=[i("p",null,[i("code",null,"val"),s(" is used where there is an unambiguous single value:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," val"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"7")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," val"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10.5")])])])],-1)])),_:1}),l(t,{label:"order"},{default:e(()=>a[4]||(a[4]=[i("p",null,[s("Get the order of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(ReverseOrdered(), ForwardOrdered())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(ReverseOrdered(), ForwardOrdered())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ReverseOrdered()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ForwardOrdered()")])])])],-1)])),_:1}),l(t,{label:"sampling"},{default:e(()=>a[5]||(a[5]=[i("p",null,[s("Get the sampling of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Points(), Points())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Points(), Points())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Points()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Points()")])])])],-1)])),_:1}),l(t,{label:"span"},{default:e(()=>a[6]||(a[6]=[i("p",null,[s("Get the span of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Regular{Int64}(-1), Regular{Float64}(10.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Regular{Int64}(-1), Regular{Float64}(10.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Regular{Int64}(-1)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Regular{Float64}(10.0)")])])])],-1)])),_:1}),l(t,{label:"locus"},{default:e(()=>a[7]||(a[7]=[i("p",null,[s("Get the locus of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("p",null,[s("("),i("code",null,"locus"),s(" is our term for distinguishing if an lookup value specifies the start, center, or end of an interval)")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Center(), Center())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Center(), Center())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Center()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Center()")])])])],-1)])),_:1}),l(t,{label:"bounds"},{default:e(()=>a[8]||(a[8]=[i("p",null,[s("Get the bounds of each dimension. This is different for "),i("code",null,"Points"),s(" and "),i("code",null,"Intervals"),s(" - the bounds for points of a "),i("code",null,"Lookup"),s(" are simply "),i("code",null,"(first(l), last(l))"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"((1, 10), (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"((1, 10), (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(1, 10)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(100.0, 200.0)")])])])],-1)])),_:1}),l(t,{label:"intervalbounds"},{default:e(()=>a[9]||(a[9]=[i("p",null,"Get the bounds of each interval along a dimension.",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"([(10, 10), (9, 9), (8, 8), (7, 7), (6, 6), (5, 5), (4, 4), (3, 3), (2, 2), (1, 1)], [(100.0, 100.0), (110.0, 110.0), (120.0, 120.0), (130.0, 130.0), (140.0, 140.0), (150.0, 150.0), (160.0, 160.0), (170.0, 170.0), (180.0, 180.0), (190.0, 190.0), (200.0, 200.0)])")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"([(10, 10), (9, 9), (8, 8), (7, 7), (6, 6), (5, 5), (4, 4), (3, 3), (2, 2), (1, 1)], [(100.0, 100.0), (110.0, 110.0), (120.0, 120.0), (130.0, 130.0), (140.0, 140.0), (150.0, 150.0), (160.0, 160.0), (170.0, 170.0), (180.0, 180.0), (190.0, 190.0), (200.0, 200.0)])")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10-element Vector{Tuple{Int64, Int64}}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (10, 10)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (9, 9)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (8, 8)")]),s(` @@ -51,7 +51,7 @@ import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (190.0, 190.0)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (200.0, 200.0)")])])])],-1)])),_:1}),l(t,{label:"extent"},{default:e(()=>a[10]||(a[10]=[i("p",null,[i("a",{href:"https://github.com/rafaqz/Extent",target:"_blank",rel:"noreferrer"},"Extents.jl"),s(" provides an "),i("code",null,"Extent"),s(" object that combines the names of dimensions with their bounds.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Extents"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," extent")]),s(` `),i("span",{class:"line"}),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10), Y = (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10),)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10), Y = (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1)])),_:1})]),_:1}),a[25]||(a[25]=k('

Predicates

These always return true or false. With multiple dimensions, fale means !all and true means all.

dims and all other methods listed above can use predicates to filter the returned dimensions.

',3)),l(h,null,{default:e(()=>[l(t,{label:"issampled"},{default:e(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, issampled)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10), Y = (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10),)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10), Y = (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1)])),_:1})]),_:1}),a[25]||(a[25]=k('

Predicates

These always return true or false. With multiple dimensions, false means !all and true means all.

dims and all other methods listed above can use predicates to filter the returned dimensions.

',3)),l(h,null,{default:e(()=>[l(t,{label:"issampled"},{default:e(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, issampled)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},")")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," otherdims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, issampled)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, issampled)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")])])])],-1)])),_:1}),l(t,{label:"iscategorical"},{default:e(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscategorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscategorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscategorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscategorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscategorical)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," otherdims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscategorical)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},")")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscategorical)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"()")])])])],-1)])),_:1}),l(t,{label:"iscyclic"},{default:e(()=>a[13]||(a[13]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscyclic)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," otherdims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscyclic)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` diff --git a/dev/assets/get_info.md.B7K6LY7P.lean.js b/dev/assets/get_info.md.oVG65ArA.lean.js similarity index 88% rename from dev/assets/get_info.md.B7K6LY7P.lean.js rename to dev/assets/get_info.md.oVG65ArA.lean.js index 0cb00aba1..1c41ba988 100644 --- a/dev/assets/get_info.md.B7K6LY7P.lean.js +++ b/dev/assets/get_info.md.oVG65ArA.lean.js @@ -1,4 +1,4 @@ -import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./chunks/framework.B8l2DGq3.js";const C=JSON.parse('{"title":"Getters","description":"","frontmatter":{},"headers":[],"relativePath":"get_info.md","filePath":"get_info.md","lastUpdated":null}'),r={name:"get_info.md"};function c(o,a,u,y,E,v){const t=n("PluginTabsTab"),h=n("PluginTabs");return g(),p("div",null,[a[24]||(a[24]=k(`

Getters

DimensionalData.jl defines consistent methods to retrieve information from objects like DimArray, DimStack, Tuples of Dimension, Dimension and Lookup.

First we will define an example DimArray.

julia
using DimensionalData
+import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./chunks/framework.BAAK0EyE.js";const C=JSON.parse('{"title":"Getters","description":"","frontmatter":{},"headers":[],"relativePath":"get_info.md","filePath":"get_info.md","lastUpdated":null}'),r={name:"get_info.md"};function c(o,a,u,y,E,v){const t=n("PluginTabsTab"),h=n("PluginTabs");return g(),p("div",null,[a[24]||(a[24]=k(`

Getters

DimensionalData.jl defines consistent methods to retrieve information from objects like DimArray, DimStack, Tuples of Dimension, Dimension, and Lookup.

First, we will define an example DimArray.

julia
using DimensionalData
 using DimensionalData.Lookups
 x, y = X(10:-1:1), Y(100.0:10:200.0)
(↓ X 10:-1:1,
 → Y 100.0:10.0:200.0)
julia
julia> A = rand(x, y)
╭───────────────────────────╮
@@ -7,17 +7,17 @@ import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./ch
 X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
 Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  100.0         110.0180.0       190.0       200.0
- 10      0.664038      0.464482        0.868966    0.530653    0.418968
-  9      0.00832284    0.0980829       0.314535    0.322005    0.674881
-  8      0.639212      0.233778        0.315591    0.190225    0.475569
-  7      0.602315      0.0372362       0.950143    0.062593    0.948976
-  6      0.375166      0.423798   …    0.640311    0.932968    0.98985
-  5      0.153219      0.635963        0.293126    0.68781     0.309301
-  4      0.00508449    0.829714        0.727149    0.585756    0.921145
-  3      0.946824      0.906705        0.899632    0.471877    0.633956
-  2      0.876112      0.831617        0.128932    0.428951    0.243803
-  1      0.749253      0.864128   …    0.715102    0.921012    0.566574
`,7)),l(h,null,{default:e(()=>[l(t,{label:"dims"},{default:e(()=>a[0]||(a[0]=[i("p",null,[i("code",null,"dims"),s(" retrieves dimensions from any object that has them.")],-1),i("p",null,[s("What makes it so useful is you can filter which dimensions you want in what order, using any "),i("code",null,"Dimension"),s(", "),i("code",null,"Type{Dimension}"),s(" or "),i("code",null,"Symbol"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` + 100.0 110.0 120.0190.0 200.0 + 10 0.616666 0.561953 0.0157247 0.177857 0.856524 + 9 0.660024 0.395523 0.0109523 0.552838 0.0536623 + 8 0.112606 0.548479 0.0545071 0.755722 0.830655 + 7 0.839223 0.0400057 0.702845 0.384116 0.445628 + 6 0.734452 0.65906 0.506965 … 0.654591 0.44097 + 5 0.89757 0.748725 0.00633515 0.178022 0.106904 + 4 0.969026 0.0042232 0.63959 0.423538 0.556096 + 3 0.106472 0.274713 0.589536 0.805743 0.390342 + 2 0.861535 0.167465 0.507581 0.799964 0.292431 + 1 0.245499 0.742732 0.095824 … 0.90203 0.86858
`,7)),l(h,null,{default:e(()=>[l(t,{label:"dims"},{default:e(()=>a[0]||(a[0]=[i("p",null,[i("code",null,"dims"),s(" retrieves dimensions from any object that has them.")],-1),i("p",null,[s("What makes it so useful is that you can filter which dimensions you want, and specify in what order, using any "),i("code",null,"Dimension"),s(", "),i("code",null,"Type{Dimension}"),s(" or "),i("code",null,"Symbol"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},")")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"100.0:10.0:200.0")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"100.0:10.0:200.0")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -28,7 +28,7 @@ import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10:-1:1")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"100.0:10.0:200.0")])])])],-1)])),_:1}),l(t,{label:"val"},{default:e(()=>a[3]||(a[3]=[i("p",null,[i("code",null,"val"),s(" is used where there is an unambiguous single value:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," val"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"7")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," val"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10.5")])])])],-1)])),_:1}),l(t,{label:"order"},{default:e(()=>a[4]||(a[4]=[i("p",null,[s("Get the order of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(ReverseOrdered(), ForwardOrdered())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(ReverseOrdered(), ForwardOrdered())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ReverseOrdered()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ForwardOrdered()")])])])],-1)])),_:1}),l(t,{label:"sampling"},{default:e(()=>a[5]||(a[5]=[i("p",null,[s("Get the sampling of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Points(), Points())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Points(), Points())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Points()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Points()")])])])],-1)])),_:1}),l(t,{label:"span"},{default:e(()=>a[6]||(a[6]=[i("p",null,[s("Get the span of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Regular{Int64}(-1), Regular{Float64}(10.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Regular{Int64}(-1), Regular{Float64}(10.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Regular{Int64}(-1)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Regular{Float64}(10.0)")])])])],-1)])),_:1}),l(t,{label:"locus"},{default:e(()=>a[7]||(a[7]=[i("p",null,[s("Get the locus of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("p",null,"(locus is our term for distinguishing if an lookup value specifies the start, center or end of an interval)",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Center(), Center())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Center(), Center())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Center()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Center()")])])])],-1)])),_:1}),l(t,{label:"bounds"},{default:e(()=>a[8]||(a[8]=[i("p",null,[s("Get the bounds of each dimension. This is different for "),i("code",null,"Points"),s(" and "),i("code",null,"Intervals"),s(" - the bounds for points of a "),i("code",null,"Lookup"),s(" are simply "),i("code",null,"(first(l), last(l))"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"((1, 10), (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"((1, 10), (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(1, 10)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(100.0, 200.0)")])])])],-1)])),_:1}),l(t,{label:"intervalbounds"},{default:e(()=>a[9]||(a[9]=[i("p",null,"Get the bounds of each interval along a dimension.",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"([(10, 10), (9, 9), (8, 8), (7, 7), (6, 6), (5, 5), (4, 4), (3, 3), (2, 2), (1, 1)], [(100.0, 100.0), (110.0, 110.0), (120.0, 120.0), (130.0, 130.0), (140.0, 140.0), (150.0, 150.0), (160.0, 160.0), (170.0, 170.0), (180.0, 180.0), (190.0, 190.0), (200.0, 200.0)])")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"([(10, 10), (9, 9), (8, 8), (7, 7), (6, 6), (5, 5), (4, 4), (3, 3), (2, 2), (1, 1)], [(100.0, 100.0), (110.0, 110.0), (120.0, 120.0), (130.0, 130.0), (140.0, 140.0), (150.0, 150.0), (160.0, 160.0), (170.0, 170.0), (180.0, 180.0), (190.0, 190.0), (200.0, 200.0)])")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10-element Vector{Tuple{Int64, Int64}}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"100.0:10.0:200.0")])])])],-1)])),_:1}),l(t,{label:"val"},{default:e(()=>a[3]||(a[3]=[i("p",null,[i("code",null,"val"),s(" is used where there is an unambiguous single value:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," val"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"7")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," val"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10.5")])])])],-1)])),_:1}),l(t,{label:"order"},{default:e(()=>a[4]||(a[4]=[i("p",null,[s("Get the order of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(ReverseOrdered(), ForwardOrdered())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(ReverseOrdered(), ForwardOrdered())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ReverseOrdered()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," order"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ForwardOrdered()")])])])],-1)])),_:1}),l(t,{label:"sampling"},{default:e(()=>a[5]||(a[5]=[i("p",null,[s("Get the sampling of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Points(), Points())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Points(), Points())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Points()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sampling"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Points()")])])])],-1)])),_:1}),l(t,{label:"span"},{default:e(()=>a[6]||(a[6]=[i("p",null,[s("Get the span of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Regular{Int64}(-1), Regular{Float64}(10.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Regular{Int64}(-1), Regular{Float64}(10.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Regular{Int64}(-1)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," span"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Regular{Float64}(10.0)")])])])],-1)])),_:1}),l(t,{label:"locus"},{default:e(()=>a[7]||(a[7]=[i("p",null,[s("Get the locus of a "),i("code",null,"Lookup"),s(", or a "),i("code",null,"Tuple"),s(" from a "),i("code",null,"DimArray"),s(" or "),i("code",null,"DimTuple"),s(".")],-1),i("p",null,[s("("),i("code",null,"locus"),s(" is our term for distinguishing if an lookup value specifies the start, center, or end of an interval)")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Center(), Center())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(Center(), Center())")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Center()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," locus"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Center()")])])])],-1)])),_:1}),l(t,{label:"bounds"},{default:e(()=>a[8]||(a[8]=[i("p",null,[s("Get the bounds of each dimension. This is different for "),i("code",null,"Points"),s(" and "),i("code",null,"Intervals"),s(" - the bounds for points of a "),i("code",null,"Lookup"),s(" are simply "),i("code",null,"(first(l), last(l))"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"((1, 10), (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"((1, 10), (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(1, 10)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," bounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(100.0, 200.0)")])])])],-1)])),_:1}),l(t,{label:"intervalbounds"},{default:e(()=>a[9]||(a[9]=[i("p",null,"Get the bounds of each interval along a dimension.",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"([(10, 10), (9, 9), (8, 8), (7, 7), (6, 6), (5, 5), (4, 4), (3, 3), (2, 2), (1, 1)], [(100.0, 100.0), (110.0, 110.0), (120.0, 120.0), (130.0, 130.0), (140.0, 140.0), (150.0, 150.0), (160.0, 160.0), (170.0, 170.0), (180.0, 180.0), (190.0, 190.0), (200.0, 200.0)])")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"([(10, 10), (9, 9), (8, 8), (7, 7), (6, 6), (5, 5), (4, 4), (3, 3), (2, 2), (1, 1)], [(100.0, 100.0), (110.0, 110.0), (120.0, 120.0), (130.0, 130.0), (140.0, 140.0), (150.0, 150.0), (160.0, 160.0), (170.0, 170.0), (180.0, 180.0), (190.0, 190.0), (200.0, 200.0)])")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10-element Vector{Tuple{Int64, Int64}}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (10, 10)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (9, 9)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (8, 8)")]),s(` @@ -51,7 +51,7 @@ import{_ as d,c as p,a4 as k,G as l,w as e,B as n,o as g,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (190.0, 190.0)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (200.0, 200.0)")])])])],-1)])),_:1}),l(t,{label:"extent"},{default:e(()=>a[10]||(a[10]=[i("p",null,[i("a",{href:"https://github.com/rafaqz/Extent",target:"_blank",rel:"noreferrer"},"Extents.jl"),s(" provides an "),i("code",null,"Extent"),s(" object that combines the names of dimensions with their bounds.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Extents"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," extent")]),s(` `),i("span",{class:"line"}),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10), Y = (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10),)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10), Y = (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1)])),_:1})]),_:1}),a[25]||(a[25]=k('

Predicates

These always return true or false. With multiple dimensions, fale means !all and true means all.

dims and all other methods listed above can use predicates to filter the returned dimensions.

',3)),l(h,null,{default:e(()=>[l(t,{label:"issampled"},{default:e(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, issampled)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10), Y = (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10),)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Extent(X = (1, 10), Y = (100.0, 200.0))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1)])),_:1})]),_:1}),a[25]||(a[25]=k('

Predicates

These always return true or false. With multiple dimensions, false means !all and true means all.

dims and all other methods listed above can use predicates to filter the returned dimensions.

',3)),l(h,null,{default:e(()=>[l(t,{label:"issampled"},{default:e(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," issampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"true")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, issampled)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},")")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," otherdims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, issampled)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, issampled)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#6a737d","--shiki-dark":"#d1d5da"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")])])])],-1)])),_:1}),l(t,{label:"iscategorical"},{default:e(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscategorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscategorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscategorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscategorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscategorical)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," otherdims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscategorical)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"100.0:10.0:200.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},")")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscategorical)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"()")])])])],-1)])),_:1}),l(t,{label:"iscyclic"},{default:e(()=>a[13]||(a[13]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," iscyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"lookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"false")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscyclic)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"()")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," otherdims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, iscyclic)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"("),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10:-1:1"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` diff --git a/dev/assets/groupby.md.DESSK1W0.js b/dev/assets/groupby.md.BUxX6owS.js similarity index 89% rename from dev/assets/groupby.md.DESSK1W0.js rename to dev/assets/groupby.md.BUxX6owS.js index 9f6cbbb9b..aaf3e0a1d 100644 --- a/dev/assets/groupby.md.DESSK1W0.js +++ b/dev/assets/groupby.md.BUxX6owS.js @@ -1,7 +1,7 @@ -import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./chunks/framework.B8l2DGq3.js";const b=JSON.parse('{"title":"Group By","description":"","frontmatter":{},"headers":[],"relativePath":"groupby.md","filePath":"groupby.md","lastUpdated":null}'),g={name:"groupby.md"};function y(f,a,c,o,u,E){const h=n("PluginTabsTab"),k=n("PluginTabs");return r(),d("div",null,[a[25]||(a[25]=t(`

Group By

DimensionalData.jl provides a groupby function for dimensional grouping. This guide will cover:

  • simple grouping with a function

  • grouping with Bins

  • grouping with another existing AbstractDimArry or Dimension

Grouping functions

Lets look at the kind of functions that can be used to group DateTime. Other types will follow the same principles, but are usually simpler.

First load some packages:

julia
using DimensionalData
+import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./chunks/framework.BAAK0EyE.js";const b=JSON.parse('{"title":"Group By","description":"","frontmatter":{},"headers":[],"relativePath":"groupby.md","filePath":"groupby.md","lastUpdated":null}'),g={name:"groupby.md"};function y(f,a,c,o,u,E){const h=n("PluginTabsTab"),k=n("PluginTabs");return r(),d("div",null,[a[25]||(a[25]=t(`

Group By

DimensionalData.jl provides a groupby function for dimensional grouping. This guide covers:

  • simple grouping with a function

  • grouping with Bins

  • grouping with another existing AbstractDimArray or Dimension

Grouping functions

Let's look at the kind of functions that can be used to group DateTime. Other types will follow the same principles, but are usually simpler.

First, load some packages:

julia
using DimensionalData
 using Dates
 using Statistics
-const DD = DimensionalData

Now create a demo DateTime range

julia
julia> tempo = range(DateTime(2000), step=Hour(1), length=365*24*2)
Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")

Lets see how some common functions work.

The hour function will transform values to hour of the day - the integers 0:23

`,12)),e(k,null,{default:l(()=>[e(h,{label:"hour"},{default:l(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," hour"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(tempo)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"17520-element Vector{Int64}:")]),s(` +const DD = DimensionalData

Now create a demo DateTime range

julia
julia> tempo = range(DateTime(2000), step=Hour(1), length=365*24*2)
Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")

Let's see how some common functions work.

The hour function will transform values to the hour of the day - the integers 0:23

`,12)),e(k,null,{default:l(()=>[e(h,{label:"hour"},{default:l(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," hour"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(tempo)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"17520-element Vector{Int64}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2")]),s(` @@ -141,7 +141,7 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")])])])],-1)])),_:1}),e(h,{label:"custom"},{default:l(()=>a[7]||(a[7]=[i("p",null,"We can create our own function that return tuples",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"yearday"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x) "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"year"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dayofyear"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x))")])])])],-1),i("p",null,"You can probably guess what it does:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," yearday"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(tempo)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"17520-element Vector{Tuple{Int64, Int64}}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")])])])],-1)])),_:1}),e(h,{label:"custom"},{default:l(()=>a[7]||(a[7]=[i("p",null,"We can create our own function that returns tuples",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"yearday"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x) "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"year"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dayofyear"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x))")])])])],-1),i("p",null,"You can probably guess what it does:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," yearday"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(tempo)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"17520-element Vector{Tuple{Int64, Int64}}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2000, 1)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2000, 1)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2000, 1)")]),s(` @@ -161,23 +161,23 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")])])])],-1)])),_:1})]),_:1}),a[27]||(a[27]=t(`

Grouping and reducing

Lets define an array with a time dimension of the times used above:

julia
julia> A = rand(X(1:0.01:2), Ti(tempo))
╭───────────────────────────────╮
+`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")])])])],-1)])),_:1})]),_:1}),a[27]||(a[27]=t(`

Grouping and reducing

Let's define an array with a time dimension of the times used above:

julia
julia> A = rand(X(1:0.01:2), Ti(tempo))
╭───────────────────────────────╮
 101×17520 DimArray{Float64,2}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 X  Sampled{Float64} 1.0:0.01:2.0 ForwardOrdered Regular Points,
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
     2000-01-01T00:00:00   2000-01-01T01:00:002001-12-30T23:00:00
- 1.0   0.247032              0.706417                 0.10748
- 1.01  0.749267              0.559878                 0.916216
- 1.02  0.694796              0.981865                 0.842792
- 1.03  0.214909              0.313279                 0.683712
+ 1.0   0.654537              0.418968                 0.677549
+ 1.01  0.664038              0.674881                 0.578183
+ 1.02  0.00832284            0.475569                 0.454715
+ 1.03  0.639212              0.616635                 0.875994
  ⋮                                                 ⋱  ⋮
- 1.96  0.899864              0.819928                 0.313711
- 1.97  0.581748              0.0446036                0.762533
- 1.98  0.645795              0.442542                 0.522989
- 1.99  0.460633              0.346013              …  0.639499
- 2.0   0.0403793             0.561611                 0.736525
`,4)),e(k,null,{default:l(()=>[e(h,{label:"basic"},{default:l(()=>a[8]||(a[8]=[i("p",null,[s("Group by month, using the "),i("code",null,"month"),s(" function:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," groups "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"month)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────────────────────╮")]),s(` + 1.96 0.0106725 0.846581 0.757228 + 1.97 0.585756 0.485119 0.299692 + 1.98 0.471877 0.889153 0.336768 + 1.99 0.428951 0.312976 … 0.948798 + 2.0 0.921012 0.397575 0.0897302
`,4)),e(k,null,{default:l(()=>[e(h,{label:"basic"},{default:l(()=>a[8]||(a[8]=[i("p",null,[s("Group by month, using the "),i("code",null,"month"),s(" function:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," groups "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"month)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"12-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────────────────────────┴──────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1, 2, …, 11, 12]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -200,14 +200,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>month")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500757")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498832")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498388")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500913")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500665")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499693")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500331")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499353")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500277")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 11"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498996")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 12"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500093")])])])],-1)])),_:1}),e(h,{label:"sum dayofyear"},{default:l(()=>a[9]||(a[9]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"dayofyear))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499069")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 11"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500155")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 12"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500136")])])])],-1)])),_:1}),e(h,{label:"sum dayofyear"},{default:l(()=>a[9]||(a[9]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"dayofyear))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"366-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────────────┴────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1, 2, …, 365, 366]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -215,14 +215,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>dayofyear")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2412.87")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2402.31")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2415.97")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2463.19")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2436.33")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2423.17")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2415.16")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2433.51")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 364"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2379.63")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 365"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1208.53")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 366"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1227.96")])])])],-1)])),_:1}),e(h,{label:"maximum yearmonthday"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearmonthday))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 364"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2396.82")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 365"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1201.31")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 366"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1229.82")])])])],-1)])),_:1}),e(h,{label:"maximum yearmonthday"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearmonthday))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"730-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────────────┴────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Tuple{Int64, Int64, Int64}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[(2000, 1, 1), (2000, 1, 2), …, (2001, 12, 29), (2001, 12, 30)]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -230,14 +230,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>yearmonthday")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999846")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999708")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999983")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.99999")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999742")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999253")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999781")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999957")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 28)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.99903")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 29)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999815")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 30)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999193")])])])],-1)])),_:1}),e(h,{label:"minimum yearmonth"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearmonth))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 28)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999149")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 29)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999534")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 30)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999774")])])])],-1)])),_:1}),e(h,{label:"minimum yearmonth"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearmonth))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"24-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────┴─────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Tuple{Int64, Int64}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[(2000, 1), (2000, 2), …, (2001, 11), (2001, 12)]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -245,14 +245,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>yearmonth")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1.09558e-6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 8.15952e-8")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 4.94018e-6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 7.17666e-6")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2.48912e-6")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 3.21035e-5")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 5.69689e-6")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2.2237e-6")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 10)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 5.76547e-6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 11)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 5.68072e-6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1.16545e-6")])])])],-1)])),_:1}),e(h,{label:"median hour"},{default:l(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," median"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"hour))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 10)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 3.00125e-5")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 11)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 3.78136e-6")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2.97132e-5")])])])],-1)])),_:1}),e(h,{label:"median hour"},{default:l(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," median"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"hour))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"24-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────┴─────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[0, 1, …, 22, 23]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -260,14 +260,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>hour")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500627")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.503561")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500405")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.501369")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.501282")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.497559")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.501998")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.496943")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 21"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498669")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 22"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499218")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 23"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498895")])])])],-1)])),_:1}),e(h,{label:"mean yearday"},{default:l(()=>a[13]||(a[13]=[i("p",null,"We can also use the function we defined above",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearday))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 21"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500058")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 22"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.50102")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 23"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.497705")])])])],-1)])),_:1}),e(h,{label:"mean yearday"},{default:l(()=>a[13]||(a[13]=[i("p",null,"We can also use the function we defined above",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearday))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"730-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────────────┴────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Tuple{Int64, Int64}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[(2000, 1), (2000, 2), …, (2001, 363), (2001, 364)]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -275,14 +275,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>yearday")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.492332")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.487563")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499667")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.501732")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.506084")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499237")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.505694")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.503785")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 362)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.502391")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 363)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498465")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 364)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.488458")])])])],-1)])),_:1})]),_:1}),a[28]||(a[28]=i("h2",{id:"binning",tabindex:"-1"},[s("Binning "),i("a",{class:"header-anchor",href:"#binning","aria-label":'Permalink to "Binning"'},"​")],-1)),a[29]||(a[29]=i("p",null,[s("Sometimes we want to further aggregate our groups after running a function, or just bin the raw data directly. We can use the "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.Bins"},[i("code",null,"Bins")]),s(" wrapper to do this.")],-1)),e(k,null,{default:l(()=>[e(h,{label:"evenly spaced"},{default:l(()=>a[14]||(a[14]=[i("p",null,[s("For quick analysis, we can break our groups into "),i("code",null,"N"),s(" bins.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 362)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.496329")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 363)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.496532")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 364)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.496092")])])])],-1)])),_:1})]),_:1}),a[28]||(a[28]=i("h2",{id:"binning",tabindex:"-1"},[s("Binning "),i("a",{class:"header-anchor",href:"#binning","aria-label":'Permalink to "Binning"'},"​")],-1)),a[29]||(a[29]=i("p",null,[s("Sometimes we want to further aggregate our groups after running a function, or just bin the raw data directly. We can use the "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.Bins"},[i("code",null,"Bins")]),s(" wrapper to do this.")],-1)),e(k,null,{default:l(()=>[e(h,{label:"evenly spaced"},{default:l(()=>a[14]||(a[14]=[i("p",null,[s("For quick analysis, we can break our groups into "),i("code",null,"N"),s(" bins.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────────────────────────────┴───────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{IntervalSets.Interval{:closed, :open, Float64}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.0 .. 3.75275 (closed-open), 3.75275 .. 6.5055 (closed-open), 6.5055 .. 9.25825 (closed-open), 9.25825 .. 12.011 (closed-open)]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` @@ -303,8 +303,8 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>Bins(month, 1:2)…")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500757")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498832")])])])],-1)])),_:1}),e(h,{label:"selected month bins"},{default:l(()=>a[16]||(a[16]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"])))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500665")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499693")])])])],-1)])),_:1}),e(h,{label:"selected month bins"},{default:l(()=>a[16]||(a[16]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"])))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────┴──────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1, 3, 5]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -312,9 +312,9 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>Bins(month, [1, 3, 5])…")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500757")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498388")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499687")])])])],-1)])),_:1}),e(h,{label:"bin groups"},{default:l(()=>a[17]||(a[17]=[i("p",null,[s("We can also specify an "),i("code",null,"AbstractArray"),s(" of grouping "),i("code",null,"AbstractArray"),s(": Her we group by month, and bin the summer and winter months:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, [["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"12"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"], ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]]; labels"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"->"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," string"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(x)))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500665")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500331")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499901")])])])],-1)])),_:1}),e(h,{label:"bin groups"},{default:l(()=>a[17]||(a[17]=[i("p",null,[s("We can also specify an "),i("code",null,"AbstractArray"),s(" of grouping "),i("code",null,"AbstractArray"),s(": Here we group by month, and bin the summer and winter months:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, [["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"12"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"], ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]]; labels"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"->"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," string"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(x)))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────────────────────────────┴───────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Vector{String}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},'[["12", "1", "2"], ["6", "7", "8"]]'),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -325,7 +325,7 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," ↓ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"→ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},' ["12", "1", "2"]'),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4320"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},' ["6", "7", "8"]'),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4416"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1}),e(h,{label:"range bins"},{default:l(()=>a[18]||(a[18]=[i("p",null,[s("First, lets see what "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.ranges"},[i("code",null,"ranges")]),s(" does:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," ranges"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"370"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"47-element Vector{UnitRange{Int64}}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},' ["6", "7", "8"]'),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4416"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1}),e(h,{label:"range bins"},{default:l(()=>a[18]||(a[18]=[i("p",null,[s("First, let's see what "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.ranges"},[i("code",null,"ranges")]),s(" does:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," ranges"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"370"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"47-element Vector{UnitRange{Int64}}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1:8")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 9:16")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 17:24")]),s(` @@ -384,10 +384,10 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :X=>Bins(identity, Interval{:closed, :open, Float64}[1.0 .. 1.3 (…")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0 .. 1.3 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.49935")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.3 .. 1.6 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500032")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6 .. 1.9 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499474")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.9 .. 2.2 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500333")])])])],-1)])),_:1}),e(h,{label:"seasons"},{default:l(()=>a[20]||(a[20]=[i("p",null,[s("There is a helper function for grouping by three-month seasons and getting nice keys for them: "),i("code",null,"seasons"),s(". Note you have to call it, not just pass it!")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," seasons"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0 .. 1.3 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499837")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.3 .. 1.6 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500331")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6 .. 1.9 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500355")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.9 .. 2.2 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499959")])])])],-1)])),_:1}),e(h,{label:"seasons"},{default:l(()=>a[20]||(a[20]=[i("p",null,[s("There is a helper function for grouping by three-month seasons and getting nice keys for them: "),i("code",null,"seasons"),s(". Note you have to call it, not just pass it!")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," seasons"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────────────────────────────┴───────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[:Dec_Jan_Feb, :Mar_Apr_May, :Jun_Jul_Aug, :Sep_Oct_Nov]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Unordered")]),s(` @@ -438,7 +438,7 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," ↓ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"→ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :night"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"8760"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :day"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"8030"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1})]),_:1}),a[30]||(a[30]=i("h2",{id:"Select-by-Dimension",tabindex:"-1"},[s("Select by Dimension "),i("a",{class:"header-anchor",href:"#Select-by-Dimension","aria-label":'Permalink to "Select by Dimension {#Select-by-Dimension}"'},"​")],-1)),a[31]||(a[31]=i("ul",null,[i("li",null,[i("a",{href:"/DimensionalData.jl/dev/api/dimensions#DimensionalData.Dimensions.Dimension"},[i("code",null,"Dimension")])])],-1)),a[32]||(a[32]=i("p",null,[s("We can also select by "),i("code",null,"Dimension"),s("s and any objects with "),i("code",null,"dims"),s(" methods.")],-1)),e(k,null,{default:l(()=>[e(h,{label:"groupby dims"},{default:l(()=>a[23]||(a[23]=[i("p",null,[s("Trivially, grouping by an objects own dimension is similar to "),i("code",null,"eachslice"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :day"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"8030"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1})]),_:1}),a[30]||(a[30]=i("h2",{id:"Select-by-Dimension",tabindex:"-1"},[s("Select by Dimension "),i("a",{class:"header-anchor",href:"#Select-by-Dimension","aria-label":'Permalink to "Select by Dimension {#Select-by-Dimension}"'},"​")],-1)),a[31]||(a[31]=i("ul",null,[i("li",null,[i("a",{href:"/DimensionalData.jl/dev/api/dimensions#DimensionalData.Dimensions.Dimension"},[i("code",null,"Dimension")])])],-1)),a[32]||(a[32]=i("p",null,[s("We can also select by "),i("code",null,"Dimension"),s("s and any objects with "),i("code",null,"dims"),s(" methods.")],-1)),e(k,null,{default:l(()=>[e(h,{label:"groupby dims"},{default:l(()=>a[23]||(a[23]=[i("p",null,[s("Trivially, grouping by an object's own dimension is similar to "),i("code",null,"eachslice"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"17520-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────────────────────────────────┴───────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Dates.DateTime} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},'Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")'),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -453,23 +453,23 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-01-01T02:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2001-12-30T22:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2001-12-30T23:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1}),e(h,{label:"groupby AbstractDimArray"},{default:l(()=>a[24]||(a[24]=[i("p",null,"But we can also group by other objects dimensions:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," B "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[:, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"100"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2001-12-30T23:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1}),e(h,{label:"groupby AbstractDimArray"},{default:l(()=>a[24]||(a[24]=[i("p",null,"But we can also group by other objects' dimensions:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," B "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[:, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"100"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"34"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────┴─────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:0.01:2.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Dates.DateTime} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},'Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(3):Dates.DateTime("2000-01-05T03:00:00")'),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2000-01-01T00:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2000-01-01T03:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"2000-01-05T03:00:00")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.247032 0.231283 0.38714")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.01"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.749267 0.202035 0.828515")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.02"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.694796 0.0184746 0.537469")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.03"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.214909 0.930599 0.434061")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.654537 0.530908 0.980637")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.01"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.664038 0.243842 0.19041")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.02"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.00832284 0.272731 0.532757")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.03"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.639212 0.654129 0.179889")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮ ⋱")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.96"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.899864 0.875108 0.727997")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.97"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.581748 0.600816 0.742852")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.98"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.645795 0.6796 0.112054")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.99"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.460633 0.500769 … 0.105273")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0403793 0.013967 0.789637")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," C "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, B))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.96"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0106725 0.75622 0.364079")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.97"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.585756 0.564152 0.107427")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.98"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.471877 0.97406 0.575878")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.99"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.428951 0.207482 … 0.97437")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.921012 0.999338 0.325413")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," C "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, B))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"34"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────┴─────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:0.01:2.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -479,9 +479,9 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => (:X=>[1.0, 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09 …")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2000-01-01T00:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2000-01-01T03:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"2000-01-05T03:00:00")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.247032 0.231283 0.38714")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.01"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.749267 0.202035 0.828515")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.654537 0.530908 0.980637")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.01"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.664038 0.243842 0.19041")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮ ⋱")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.98"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.645795 0.6796 0.112054")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.99"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.460633 0.500769 … 0.105273")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0403793 0.013967 0.789637")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," @assert"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," size"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(C) "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," size"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(B)")])])])],-1)])),_:1})]),_:1}),a[33]||(a[33]=i("p",null,[i("em",null,"TODO: Apply custom function (i.e. normalization) to grouped output.")],-1))])}const F=p(g,[["render",y]]);export{b as __pageData,F as default}; +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.98"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.471877 0.97406 0.575878")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.99"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.428951 0.207482 … 0.97437")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.921012 0.999338 0.325413")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," @assert"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," size"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(C) "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," size"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(B)")])])])],-1)])),_:1})]),_:1}),a[33]||(a[33]=i("p",null,[i("em",null,"TODO: Apply custom function (i.e. normalization) to grouped output.")],-1))])}const F=p(g,[["render",y]]);export{b as __pageData,F as default}; diff --git a/dev/assets/groupby.md.DESSK1W0.lean.js b/dev/assets/groupby.md.BUxX6owS.lean.js similarity index 89% rename from dev/assets/groupby.md.DESSK1W0.lean.js rename to dev/assets/groupby.md.BUxX6owS.lean.js index 9f6cbbb9b..aaf3e0a1d 100644 --- a/dev/assets/groupby.md.DESSK1W0.lean.js +++ b/dev/assets/groupby.md.BUxX6owS.lean.js @@ -1,7 +1,7 @@ -import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./chunks/framework.B8l2DGq3.js";const b=JSON.parse('{"title":"Group By","description":"","frontmatter":{},"headers":[],"relativePath":"groupby.md","filePath":"groupby.md","lastUpdated":null}'),g={name:"groupby.md"};function y(f,a,c,o,u,E){const h=n("PluginTabsTab"),k=n("PluginTabs");return r(),d("div",null,[a[25]||(a[25]=t(`

Group By

DimensionalData.jl provides a groupby function for dimensional grouping. This guide will cover:

  • simple grouping with a function

  • grouping with Bins

  • grouping with another existing AbstractDimArry or Dimension

Grouping functions

Lets look at the kind of functions that can be used to group DateTime. Other types will follow the same principles, but are usually simpler.

First load some packages:

julia
using DimensionalData
+import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./chunks/framework.BAAK0EyE.js";const b=JSON.parse('{"title":"Group By","description":"","frontmatter":{},"headers":[],"relativePath":"groupby.md","filePath":"groupby.md","lastUpdated":null}'),g={name:"groupby.md"};function y(f,a,c,o,u,E){const h=n("PluginTabsTab"),k=n("PluginTabs");return r(),d("div",null,[a[25]||(a[25]=t(`

Group By

DimensionalData.jl provides a groupby function for dimensional grouping. This guide covers:

  • simple grouping with a function

  • grouping with Bins

  • grouping with another existing AbstractDimArray or Dimension

Grouping functions

Let's look at the kind of functions that can be used to group DateTime. Other types will follow the same principles, but are usually simpler.

First, load some packages:

julia
using DimensionalData
 using Dates
 using Statistics
-const DD = DimensionalData

Now create a demo DateTime range

julia
julia> tempo = range(DateTime(2000), step=Hour(1), length=365*24*2)
Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")

Lets see how some common functions work.

The hour function will transform values to hour of the day - the integers 0:23

`,12)),e(k,null,{default:l(()=>[e(h,{label:"hour"},{default:l(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," hour"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(tempo)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"17520-element Vector{Int64}:")]),s(` +const DD = DimensionalData

Now create a demo DateTime range

julia
julia> tempo = range(DateTime(2000), step=Hour(1), length=365*24*2)
Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")

Let's see how some common functions work.

The hour function will transform values to the hour of the day - the integers 0:23

`,12)),e(k,null,{default:l(()=>[e(h,{label:"hour"},{default:l(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," hour"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(tempo)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"17520-element Vector{Int64}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2")]),s(` @@ -141,7 +141,7 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")])])])],-1)])),_:1}),e(h,{label:"custom"},{default:l(()=>a[7]||(a[7]=[i("p",null,"We can create our own function that return tuples",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"yearday"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x) "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"year"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dayofyear"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x))")])])])],-1),i("p",null,"You can probably guess what it does:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," yearday"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(tempo)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"17520-element Vector{Tuple{Int64, Int64}}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 12, 30)")])])])],-1)])),_:1}),e(h,{label:"custom"},{default:l(()=>a[7]||(a[7]=[i("p",null,"We can create our own function that returns tuples",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"yearday"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x) "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"year"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dayofyear"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x))")])])])],-1),i("p",null,"You can probably guess what it does:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," yearday"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(tempo)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"17520-element Vector{Tuple{Int64, Int64}}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2000, 1)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2000, 1)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2000, 1)")]),s(` @@ -161,23 +161,23 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")])])])],-1)])),_:1})]),_:1}),a[27]||(a[27]=t(`

Grouping and reducing

Lets define an array with a time dimension of the times used above:

julia
julia> A = rand(X(1:0.01:2), Ti(tempo))
╭───────────────────────────────╮
+`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2001, 364)")])])])],-1)])),_:1})]),_:1}),a[27]||(a[27]=t(`

Grouping and reducing

Let's define an array with a time dimension of the times used above:

julia
julia> A = rand(X(1:0.01:2), Ti(tempo))
╭───────────────────────────────╮
 101×17520 DimArray{Float64,2}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 X  Sampled{Float64} 1.0:0.01:2.0 ForwardOrdered Regular Points,
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
     2000-01-01T00:00:00   2000-01-01T01:00:002001-12-30T23:00:00
- 1.0   0.247032              0.706417                 0.10748
- 1.01  0.749267              0.559878                 0.916216
- 1.02  0.694796              0.981865                 0.842792
- 1.03  0.214909              0.313279                 0.683712
+ 1.0   0.654537              0.418968                 0.677549
+ 1.01  0.664038              0.674881                 0.578183
+ 1.02  0.00832284            0.475569                 0.454715
+ 1.03  0.639212              0.616635                 0.875994
  ⋮                                                 ⋱  ⋮
- 1.96  0.899864              0.819928                 0.313711
- 1.97  0.581748              0.0446036                0.762533
- 1.98  0.645795              0.442542                 0.522989
- 1.99  0.460633              0.346013              …  0.639499
- 2.0   0.0403793             0.561611                 0.736525
`,4)),e(k,null,{default:l(()=>[e(h,{label:"basic"},{default:l(()=>a[8]||(a[8]=[i("p",null,[s("Group by month, using the "),i("code",null,"month"),s(" function:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," groups "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"month)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────────────────────╮")]),s(` + 1.96 0.0106725 0.846581 0.757228 + 1.97 0.585756 0.485119 0.299692 + 1.98 0.471877 0.889153 0.336768 + 1.99 0.428951 0.312976 … 0.948798 + 2.0 0.921012 0.397575 0.0897302
`,4)),e(k,null,{default:l(()=>[e(h,{label:"basic"},{default:l(()=>a[8]||(a[8]=[i("p",null,[s("Group by month, using the "),i("code",null,"month"),s(" function:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," groups "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"month)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"12-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────────────────────────┴──────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1, 2, …, 11, 12]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -200,14 +200,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>month")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500757")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498832")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498388")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500913")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500665")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499693")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500331")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499353")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500277")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 11"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498996")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 12"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500093")])])])],-1)])),_:1}),e(h,{label:"sum dayofyear"},{default:l(()=>a[9]||(a[9]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"dayofyear))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499069")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 11"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500155")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 12"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500136")])])])],-1)])),_:1}),e(h,{label:"sum dayofyear"},{default:l(()=>a[9]||(a[9]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"dayofyear))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"366-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────────────┴────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1, 2, …, 365, 366]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -215,14 +215,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>dayofyear")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2412.87")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2402.31")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2415.97")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2463.19")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2436.33")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2423.17")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2415.16")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2433.51")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 364"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2379.63")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 365"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1208.53")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 366"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1227.96")])])])],-1)])),_:1}),e(h,{label:"maximum yearmonthday"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearmonthday))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 364"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2396.82")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 365"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1201.31")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 366"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1229.82")])])])],-1)])),_:1}),e(h,{label:"maximum yearmonthday"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearmonthday))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"730-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────────────┴────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Tuple{Int64, Int64, Int64}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[(2000, 1, 1), (2000, 1, 2), …, (2001, 12, 29), (2001, 12, 30)]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -230,14 +230,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>yearmonthday")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999846")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999708")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999983")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.99999")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999742")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999253")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999781")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999957")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 28)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.99903")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 29)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999815")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 30)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999193")])])])],-1)])),_:1}),e(h,{label:"minimum yearmonth"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearmonth))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 28)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999149")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 29)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999534")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12, 30)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.999774")])])])],-1)])),_:1}),e(h,{label:"minimum yearmonth"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearmonth))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"24-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────┴─────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Tuple{Int64, Int64}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[(2000, 1), (2000, 2), …, (2001, 11), (2001, 12)]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -245,14 +245,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>yearmonth")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1.09558e-6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 8.15952e-8")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 4.94018e-6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 7.17666e-6")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2.48912e-6")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 3.21035e-5")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 5.69689e-6")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2.2237e-6")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 10)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 5.76547e-6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 11)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 5.68072e-6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1.16545e-6")])])])],-1)])),_:1}),e(h,{label:"median hour"},{default:l(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," median"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"hour))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 10)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 3.00125e-5")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 11)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 3.78136e-6")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 12)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2.97132e-5")])])])],-1)])),_:1}),e(h,{label:"median hour"},{default:l(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," median"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"hour))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"24-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────┴─────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[0, 1, …, 22, 23]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -260,14 +260,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>hour")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500627")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.503561")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500405")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.501369")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.501282")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.497559")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.501998")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.496943")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 21"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498669")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 22"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499218")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 23"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498895")])])])],-1)])),_:1}),e(h,{label:"mean yearday"},{default:l(()=>a[13]||(a[13]=[i("p",null,"We can also use the function we defined above",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearday))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 21"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500058")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 22"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.50102")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 23"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.497705")])])])],-1)])),_:1}),e(h,{label:"mean yearday"},{default:l(()=>a[13]||(a[13]=[i("p",null,"We can also use the function we defined above",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"yearday))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"730-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────────────┴────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Tuple{Int64, Int64}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[(2000, 1), (2000, 2), …, (2001, 363), (2001, 364)]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -275,14 +275,14 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>yearday")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.492332")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.487563")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499667")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.501732")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 1)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.506084")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 2)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499237")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 3)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.505694")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2000, 4)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.503785")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 362)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.502391")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 363)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498465")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 364)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.488458")])])])],-1)])),_:1})]),_:1}),a[28]||(a[28]=i("h2",{id:"binning",tabindex:"-1"},[s("Binning "),i("a",{class:"header-anchor",href:"#binning","aria-label":'Permalink to "Binning"'},"​")],-1)),a[29]||(a[29]=i("p",null,[s("Sometimes we want to further aggregate our groups after running a function, or just bin the raw data directly. We can use the "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.Bins"},[i("code",null,"Bins")]),s(" wrapper to do this.")],-1)),e(k,null,{default:l(()=>[e(h,{label:"evenly spaced"},{default:l(()=>a[14]||(a[14]=[i("p",null,[s("For quick analysis, we can break our groups into "),i("code",null,"N"),s(" bins.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 362)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.496329")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 363)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.496532")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," (2001, 364)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.496092")])])])],-1)])),_:1})]),_:1}),a[28]||(a[28]=i("h2",{id:"binning",tabindex:"-1"},[s("Binning "),i("a",{class:"header-anchor",href:"#binning","aria-label":'Permalink to "Binning"'},"​")],-1)),a[29]||(a[29]=i("p",null,[s("Sometimes we want to further aggregate our groups after running a function, or just bin the raw data directly. We can use the "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.Bins"},[i("code",null,"Bins")]),s(" wrapper to do this.")],-1)),e(k,null,{default:l(()=>[e(h,{label:"evenly spaced"},{default:l(()=>a[14]||(a[14]=[i("p",null,[s("For quick analysis, we can break our groups into "),i("code",null,"N"),s(" bins.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────────────────────────────┴───────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{IntervalSets.Interval{:closed, :open, Float64}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.0 .. 3.75275 (closed-open), 3.75275 .. 6.5055 (closed-open), 6.5055 .. 9.25825 (closed-open), 9.25825 .. 12.011 (closed-open)]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` @@ -303,8 +303,8 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>Bins(month, 1:2)…")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500757")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498832")])])])],-1)])),_:1}),e(h,{label:"selected month bins"},{default:l(()=>a[16]||(a[16]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"])))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500665")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499693")])])])],-1)])),_:1}),e(h,{label:"selected month bins"},{default:l(()=>a[16]||(a[16]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"])))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────┴──────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1, 3, 5]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -312,9 +312,9 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :Ti=>Bins(month, [1, 3, 5])…")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500757")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498388")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499687")])])])],-1)])),_:1}),e(h,{label:"bin groups"},{default:l(()=>a[17]||(a[17]=[i("p",null,[s("We can also specify an "),i("code",null,"AbstractArray"),s(" of grouping "),i("code",null,"AbstractArray"),s(": Her we group by month, and bin the summer and winter months:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, [["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"12"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"], ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]]; labels"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"->"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," string"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(x)))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500665")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500331")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499901")])])])],-1)])),_:1}),e(h,{label:"bin groups"},{default:l(()=>a[17]||(a[17]=[i("p",null,[s("We can also specify an "),i("code",null,"AbstractArray"),s(" of grouping "),i("code",null,"AbstractArray"),s(": Here we group by month, and bin the summer and winter months:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Bins"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(month, [["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"12"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"], ["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"7"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]]; labels"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"->"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," string"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".(x)))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────────────────────────────┴───────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Vector{String}} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},'[["12", "1", "2"], ["6", "7", "8"]]'),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -325,7 +325,7 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," ↓ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"→ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},' ["12", "1", "2"]'),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4320"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},' ["6", "7", "8"]'),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4416"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1}),e(h,{label:"range bins"},{default:l(()=>a[18]||(a[18]=[i("p",null,[s("First, lets see what "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.ranges"},[i("code",null,"ranges")]),s(" does:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," ranges"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"370"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"47-element Vector{UnitRange{Int64}}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},' ["6", "7", "8"]'),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4416"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1}),e(h,{label:"range bins"},{default:l(()=>a[18]||(a[18]=[i("p",null,[s("First, let's see what "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.ranges"},[i("code",null,"ranges")]),s(" does:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," ranges"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"370"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"47-element Vector{UnitRange{Int64}}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1:8")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 9:16")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 17:24")]),s(` @@ -384,10 +384,10 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Dict{Symbol, Any} with 1 entry:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => :X=>Bins(identity, Interval{:closed, :open, Float64}[1.0 .. 1.3 (…")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0 .. 1.3 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.49935")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.3 .. 1.6 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500032")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6 .. 1.9 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499474")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.9 .. 2.2 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500333")])])])],-1)])),_:1}),e(h,{label:"seasons"},{default:l(()=>a[20]||(a[20]=[i("p",null,[s("There is a helper function for grouping by three-month seasons and getting nice keys for them: "),i("code",null,"seasons"),s(". Note you have to call it, not just pass it!")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," seasons"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0 .. 1.3 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499837")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.3 .. 1.6 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500331")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6 .. 1.9 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.500355")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.9 .. 2.2 (closed-open)"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.499959")])])])],-1)])),_:1}),e(h,{label:"seasons"},{default:l(()=>a[20]||(a[20]=[i("p",null,[s("There is a helper function for grouping by three-month seasons and getting nice keys for them: "),i("code",null,"seasons"),s(". Note you have to call it, not just pass it!")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," seasons"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"4-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────────────────────────────┴───────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[:Dec_Jan_Feb, :Mar_Apr_May, :Jun_Jul_Aug, :Sep_Oct_Nov]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Unordered")]),s(` @@ -438,7 +438,7 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," ↓ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"→ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :night"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"8760"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :day"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"8030"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1})]),_:1}),a[30]||(a[30]=i("h2",{id:"Select-by-Dimension",tabindex:"-1"},[s("Select by Dimension "),i("a",{class:"header-anchor",href:"#Select-by-Dimension","aria-label":'Permalink to "Select by Dimension {#Select-by-Dimension}"'},"​")],-1)),a[31]||(a[31]=i("ul",null,[i("li",null,[i("a",{href:"/DimensionalData.jl/dev/api/dimensions#DimensionalData.Dimensions.Dimension"},[i("code",null,"Dimension")])])],-1)),a[32]||(a[32]=i("p",null,[s("We can also select by "),i("code",null,"Dimension"),s("s and any objects with "),i("code",null,"dims"),s(" methods.")],-1)),e(k,null,{default:l(()=>[e(h,{label:"groupby dims"},{default:l(()=>a[23]||(a[23]=[i("p",null,[s("Trivially, grouping by an objects own dimension is similar to "),i("code",null,"eachslice"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :day"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"8030"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1})]),_:1}),a[30]||(a[30]=i("h2",{id:"Select-by-Dimension",tabindex:"-1"},[s("Select by Dimension "),i("a",{class:"header-anchor",href:"#Select-by-Dimension","aria-label":'Permalink to "Select by Dimension {#Select-by-Dimension}"'},"​")],-1)),a[31]||(a[31]=i("ul",null,[i("li",null,[i("a",{href:"/DimensionalData.jl/dev/api/dimensions#DimensionalData.Dimensions.Dimension"},[i("code",null,"Dimension")])])],-1)),a[32]||(a[32]=i("p",null,[s("We can also select by "),i("code",null,"Dimension"),s("s and any objects with "),i("code",null,"dims"),s(" methods.")],-1)),e(k,null,{default:l(()=>[e(h,{label:"groupby dims"},{default:l(()=>a[23]||(a[23]=[i("p",null,[s("Trivially, grouping by an object's own dimension is similar to "),i("code",null,"eachslice"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"dims"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Ti))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"17520-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimGroupByArray{DimArray{Float64,1},1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────────────────────────────────┴───────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Dates.DateTime} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},'Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")'),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -453,23 +453,23 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-01-01T02:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2001-12-30T22:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2001-12-30T23:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1}),e(h,{label:"groupby AbstractDimArray"},{default:l(()=>a[24]||(a[24]=[i("p",null,"But we can also group by other objects dimensions:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," B "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[:, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"100"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2001-12-30T23:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray")])])])],-1)])),_:1}),e(h,{label:"groupby AbstractDimArray"},{default:l(()=>a[24]||(a[24]=[i("p",null,"But we can also group by other objects' dimensions:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," B "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[:, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"100"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"34"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────┴─────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:0.01:2.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Ti"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Dates.DateTime} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},'Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(3):Dates.DateTime("2000-01-05T03:00:00")'),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2000-01-01T00:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2000-01-01T03:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"2000-01-05T03:00:00")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.247032 0.231283 0.38714")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.01"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.749267 0.202035 0.828515")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.02"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.694796 0.0184746 0.537469")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.03"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.214909 0.930599 0.434061")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.654537 0.530908 0.980637")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.01"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.664038 0.243842 0.19041")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.02"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.00832284 0.272731 0.532757")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.03"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.639212 0.654129 0.179889")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮ ⋱")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.96"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.899864 0.875108 0.727997")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.97"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.581748 0.600816 0.742852")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.98"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.645795 0.6796 0.112054")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.99"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.460633 0.500769 … 0.105273")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0403793 0.013967 0.789637")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," C "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, B))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.96"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0106725 0.75622 0.364079")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.97"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.585756 0.564152 0.107427")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.98"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.471877 0.97406 0.575878")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.99"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.428951 0.207482 … 0.97437")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.921012 0.999338 0.325413")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," C "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"groupby"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, B))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"101"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"34"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────┴─────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:0.01:2.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -479,9 +479,9 @@ import{_ as p,c as d,a4 as t,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," :groupby => (:X=>[1.0, 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09 …")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2000-01-01T00:00:00"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2000-01-01T03:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"2000-01-05T03:00:00")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.247032 0.231283 0.38714")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.01"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.749267 0.202035 0.828515")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.654537 0.530908 0.980637")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.01"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.664038 0.243842 0.19041")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮ ⋱")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.98"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.645795 0.6796 0.112054")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.99"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.460633 0.500769 … 0.105273")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0403793 0.013967 0.789637")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," @assert"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," size"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(C) "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," size"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(B)")])])])],-1)])),_:1})]),_:1}),a[33]||(a[33]=i("p",null,[i("em",null,"TODO: Apply custom function (i.e. normalization) to grouped output.")],-1))])}const F=p(g,[["render",y]]);export{b as __pageData,F as default}; +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.98"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.471877 0.97406 0.575878")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.99"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.428951 0.207482 … 0.97437")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.921012 0.999338 0.325413")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," @assert"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," size"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(C) "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," size"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(B)")])])])],-1)])),_:1})]),_:1}),a[33]||(a[33]=i("p",null,[i("em",null,"TODO: Apply custom function (i.e. normalization) to grouped output.")],-1))])}const F=p(g,[["render",y]]);export{b as __pageData,F as default}; diff --git a/dev/assets/index.md.uhypFJup.js b/dev/assets/index.md.BtPO60nF.js similarity index 95% rename from dev/assets/index.md.uhypFJup.js rename to dev/assets/index.md.BtPO60nF.js index 6f73cca4d..100790dc6 100644 --- a/dev/assets/index.md.uhypFJup.js +++ b/dev/assets/index.md.BtPO60nF.js @@ -1 +1 @@ -import{_ as e,c as t,o as a}from"./chunks/framework.B8l2DGq3.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"DimensionalData.jl","text":"Julia datasets with named dimensions","tagline":"High performance named indexing for Julia","image":{"src":"/logo.png"},"actions":[{"theme":"brand","text":"Getting Started","link":"/basics"},{"theme":"alt","text":"API reference","link":"/api/reference"},{"theme":"alt","text":"View on Github","link":"https://github.com/rafaqz/DimensionalData.jl"}]},"features":[{"title":"Intelligent indexing","details":"DimensionalData.jl provides no-cost abstractions for named indexing, and fast index lookups.","link":"/selectors"},{"title":"Powerful Array manipulation","details":"broadcast, reduce, permutedims, and groupby operations.","link":"/groupby"},{"title":"Seamlessly integrated with the julia ecosystem","details":"Works with most methods that accept a regular Array. If a method accepts numeric indices or dims=X in base, you should be able to use DimensionalData.jl dims."}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),i={name:"index.md"};function n(s,o,r,l,d,m){return a(),t("div")}const u=e(i,[["render",n]]);export{p as __pageData,u as default}; +import{_ as e,c as t,o as a}from"./chunks/framework.BAAK0EyE.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"DimensionalData.jl","text":"Julia datasets with named dimensions","tagline":"High performance named indexing for Julia","image":{"src":"/logo.png"},"actions":[{"theme":"brand","text":"Getting Started","link":"/basics"},{"theme":"alt","text":"API reference","link":"/api/reference"},{"theme":"alt","text":"View on Github","link":"https://github.com/rafaqz/DimensionalData.jl"}]},"features":[{"title":"Intelligent indexing","details":"DimensionalData.jl provides no-cost abstractions for named indexing, and fast index lookups.","link":"/selectors"},{"title":"Powerful Array manipulation","details":"broadcast, reduce, permutedims, and groupby operations.","link":"/groupby"},{"title":"Seamlessly integrated with the julia ecosystem","details":"Works with most methods that accept a regular Array. If a method accepts numeric indices or dims=X in base, you should be able to use DimensionalData.jl dims."}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),i={name:"index.md"};function n(s,o,r,l,d,m){return a(),t("div")}const u=e(i,[["render",n]]);export{p as __pageData,u as default}; diff --git a/dev/assets/index.md.uhypFJup.lean.js b/dev/assets/index.md.BtPO60nF.lean.js similarity index 95% rename from dev/assets/index.md.uhypFJup.lean.js rename to dev/assets/index.md.BtPO60nF.lean.js index 6f73cca4d..100790dc6 100644 --- a/dev/assets/index.md.uhypFJup.lean.js +++ b/dev/assets/index.md.BtPO60nF.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a}from"./chunks/framework.B8l2DGq3.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"DimensionalData.jl","text":"Julia datasets with named dimensions","tagline":"High performance named indexing for Julia","image":{"src":"/logo.png"},"actions":[{"theme":"brand","text":"Getting Started","link":"/basics"},{"theme":"alt","text":"API reference","link":"/api/reference"},{"theme":"alt","text":"View on Github","link":"https://github.com/rafaqz/DimensionalData.jl"}]},"features":[{"title":"Intelligent indexing","details":"DimensionalData.jl provides no-cost abstractions for named indexing, and fast index lookups.","link":"/selectors"},{"title":"Powerful Array manipulation","details":"broadcast, reduce, permutedims, and groupby operations.","link":"/groupby"},{"title":"Seamlessly integrated with the julia ecosystem","details":"Works with most methods that accept a regular Array. If a method accepts numeric indices or dims=X in base, you should be able to use DimensionalData.jl dims."}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),i={name:"index.md"};function n(s,o,r,l,d,m){return a(),t("div")}const u=e(i,[["render",n]]);export{p as __pageData,u as default}; +import{_ as e,c as t,o as a}from"./chunks/framework.BAAK0EyE.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"DimensionalData.jl","text":"Julia datasets with named dimensions","tagline":"High performance named indexing for Julia","image":{"src":"/logo.png"},"actions":[{"theme":"brand","text":"Getting Started","link":"/basics"},{"theme":"alt","text":"API reference","link":"/api/reference"},{"theme":"alt","text":"View on Github","link":"https://github.com/rafaqz/DimensionalData.jl"}]},"features":[{"title":"Intelligent indexing","details":"DimensionalData.jl provides no-cost abstractions for named indexing, and fast index lookups.","link":"/selectors"},{"title":"Powerful Array manipulation","details":"broadcast, reduce, permutedims, and groupby operations.","link":"/groupby"},{"title":"Seamlessly integrated with the julia ecosystem","details":"Works with most methods that accept a regular Array. If a method accepts numeric indices or dims=X in base, you should be able to use DimensionalData.jl dims."}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),i={name:"index.md"};function n(s,o,r,l,d,m){return a(),t("div")}const u=e(i,[["render",n]]);export{p as __pageData,u as default}; diff --git a/dev/assets/integrations.md.CffVJNNA.js b/dev/assets/integrations.md.CffVJNNA.js new file mode 100644 index 000000000..3314d4eb7 --- /dev/null +++ b/dev/assets/integrations.md.CffVJNNA.js @@ -0,0 +1 @@ +import{_ as e,c as r,a4 as t,o}from"./chunks/framework.BAAK0EyE.js";const p=JSON.parse('{"title":"Integrations","description":"","frontmatter":{},"headers":[],"relativePath":"integrations.md","filePath":"integrations.md","lastUpdated":null}'),s={name:"integrations.md"};function i(l,a,n,d,c,h){return o(),r("div",null,a[0]||(a[0]=[t('

Integrations

Rasters.jl

Rasters.jl extends DimensionalData for geospatial data manipulation, providing file load/save capabilities for a wide range of raster data sources and common GIS tools like polygon rasterization and masking. Raster types are aware of their crs and their missingval (which is often not missing for performance and storage reasons).

Rasters.jl is also the reason DimensionalData.jl exists at all! But it always made sense to separate out spatial indexing from GIS tools and dependencies.

A Raster is a AbstractDimArray, a RasterStack is a AbstractDimStack, and Projected and Mapped are AbstractSampled lookups.

YAXArrays.jl

YAXArrays.jl is another spatial data package aimed more at (very) large datasets. Its functionality is slowly converging with Rasters.jl (both wrapping DiskArrays.jl/DimensionalData.jl) and we work closely with the developers.

YAXArray is a AbstractDimArray and inherits its behaviours.

ClimateBase.jl

ClimateBase.jl Extends DimensionalData.jl with methods for analysis of climate data.

ArviZ.jl

ArviZ.jl Is a Julia package for exploratory analysis of Bayesian models.

An ArviZ.Dataset is an AbstractDimStack!

JuMP.jl

JuMP.jl is a powerful optimization DSL. It defines its own named array types but now accepts any AbstractDimArray too, through a package extension.

CryoGrid.jl

CryoGrid.jl A Julia implementation of the CryoGrid permafrost model.

CryoGridOutput uses DimArray for views into output data.

DynamicGrids.jl

DynamicGrids.jl is a spatial simulation engine, for cellular automata and spatial process models.

All DynamicGrids.jl Outputs are <: AbstractDimArray, and AbstractDimArray are used for auxiliary data to allow temporal synchronisation during simulations. Notably, this all works on GPUs!

AstroImages.jl

AstroImages.jl Provides tools to load and visualise astronomical images. AstroImage is <: AbstractDimArray.

TimeseriesTools.jl

TimeseriesTools.jl Uses DimArray for time-series data.

',25)]))}const u=e(s,[["render",i]]);export{p as __pageData,u as default}; diff --git a/dev/assets/integrations.md.CffVJNNA.lean.js b/dev/assets/integrations.md.CffVJNNA.lean.js new file mode 100644 index 000000000..3314d4eb7 --- /dev/null +++ b/dev/assets/integrations.md.CffVJNNA.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,a4 as t,o}from"./chunks/framework.BAAK0EyE.js";const p=JSON.parse('{"title":"Integrations","description":"","frontmatter":{},"headers":[],"relativePath":"integrations.md","filePath":"integrations.md","lastUpdated":null}'),s={name:"integrations.md"};function i(l,a,n,d,c,h){return o(),r("div",null,a[0]||(a[0]=[t('

Integrations

Rasters.jl

Rasters.jl extends DimensionalData for geospatial data manipulation, providing file load/save capabilities for a wide range of raster data sources and common GIS tools like polygon rasterization and masking. Raster types are aware of their crs and their missingval (which is often not missing for performance and storage reasons).

Rasters.jl is also the reason DimensionalData.jl exists at all! But it always made sense to separate out spatial indexing from GIS tools and dependencies.

A Raster is a AbstractDimArray, a RasterStack is a AbstractDimStack, and Projected and Mapped are AbstractSampled lookups.

YAXArrays.jl

YAXArrays.jl is another spatial data package aimed more at (very) large datasets. Its functionality is slowly converging with Rasters.jl (both wrapping DiskArrays.jl/DimensionalData.jl) and we work closely with the developers.

YAXArray is a AbstractDimArray and inherits its behaviours.

ClimateBase.jl

ClimateBase.jl Extends DimensionalData.jl with methods for analysis of climate data.

ArviZ.jl

ArviZ.jl Is a Julia package for exploratory analysis of Bayesian models.

An ArviZ.Dataset is an AbstractDimStack!

JuMP.jl

JuMP.jl is a powerful optimization DSL. It defines its own named array types but now accepts any AbstractDimArray too, through a package extension.

CryoGrid.jl

CryoGrid.jl A Julia implementation of the CryoGrid permafrost model.

CryoGridOutput uses DimArray for views into output data.

DynamicGrids.jl

DynamicGrids.jl is a spatial simulation engine, for cellular automata and spatial process models.

All DynamicGrids.jl Outputs are <: AbstractDimArray, and AbstractDimArray are used for auxiliary data to allow temporal synchronisation during simulations. Notably, this all works on GPUs!

AstroImages.jl

AstroImages.jl Provides tools to load and visualise astronomical images. AstroImage is <: AbstractDimArray.

TimeseriesTools.jl

TimeseriesTools.jl Uses DimArray for time-series data.

',25)]))}const u=e(s,[["render",i]]);export{p as __pageData,u as default}; diff --git a/dev/assets/integrations.md.dJo1qUjg.js b/dev/assets/integrations.md.dJo1qUjg.js deleted file mode 100644 index 810aa2cb8..000000000 --- a/dev/assets/integrations.md.dJo1qUjg.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,a4 as t,o}from"./chunks/framework.B8l2DGq3.js";const p=JSON.parse('{"title":"Integrations","description":"","frontmatter":{},"headers":[],"relativePath":"integrations.md","filePath":"integrations.md","lastUpdated":null}'),s={name:"integrations.md"};function i(l,a,n,d,c,h){return o(),r("div",null,a[0]||(a[0]=[t('

Integrations

Rasters.jl

Rasters.jl extends DD for geospatial data manipulation, providing file load/save for a wide range of raster data sources and common GIS tools like polygon rasterization and masking. Raster types are aware of crs and their missingval (which is often not missing for performance and storage reasons).

Rasters.jl is also the reason DimensionalData.jl exists at all! But it always made sense to separate out spatial indexing from GIS tools and dependencies.

A Raster is a AbstractDimArray, a RasterStack is a AbstractDimStack, and Projected and Mapped are AbstractSample lookups.

YAXArrays.jl

YAXArrays.jl is another spatial data package aimed more at (very) large datasets. It's functionality is slowly converging with Rasters.jl (both wrapping DiskArray.jl/DimensionalData.jl) and we work closely with the developers.

YAXArray is a AbstractDimArray and inherits its behaviours.

ClimateBase.jl

ClimateBase.jl Extends DD with methods for analysis of climate data.

ArviZ.jl

ArviZ.jl Is a Julia package for exploratory analysis of Bayesian models.

An ArviZ.Dataset is an AbstractDimStack!

JuMP.jl

JuMP.jl is a powerful optimization DSL. It defines its own named array types but now accepts any AbstractDimArray too, through a package extension.

CryoGrid.jl

CryoGrid.jl A Julia implementation of the CryoGrid permafrost model.

CryoGridOutput uses DimArray for views into output data.

DynamicGrids.jl

DynamicGrids.jl is a spatial simulation engine, for cellular automata and spatial process models.

All DynamicGrids.jl Outputs are <: AbstractDimArray, and AbstractDimArray are used for auxiliary data to allow temporal synchronisation during simulations. Notably, this all works on GPUs!

AstroImages.jl

AstroImages.jl Provides tools to load and visualise astronomical images. AstroImage is <: AbstractDimArray.

TimeseriesTools.jl

TimeseriesTools.jl Uses DimArray for time-series data.

',25)]))}const u=e(s,[["render",i]]);export{p as __pageData,u as default}; diff --git a/dev/assets/integrations.md.dJo1qUjg.lean.js b/dev/assets/integrations.md.dJo1qUjg.lean.js deleted file mode 100644 index 810aa2cb8..000000000 --- a/dev/assets/integrations.md.dJo1qUjg.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,a4 as t,o}from"./chunks/framework.B8l2DGq3.js";const p=JSON.parse('{"title":"Integrations","description":"","frontmatter":{},"headers":[],"relativePath":"integrations.md","filePath":"integrations.md","lastUpdated":null}'),s={name:"integrations.md"};function i(l,a,n,d,c,h){return o(),r("div",null,a[0]||(a[0]=[t('

Integrations

Rasters.jl

Rasters.jl extends DD for geospatial data manipulation, providing file load/save for a wide range of raster data sources and common GIS tools like polygon rasterization and masking. Raster types are aware of crs and their missingval (which is often not missing for performance and storage reasons).

Rasters.jl is also the reason DimensionalData.jl exists at all! But it always made sense to separate out spatial indexing from GIS tools and dependencies.

A Raster is a AbstractDimArray, a RasterStack is a AbstractDimStack, and Projected and Mapped are AbstractSample lookups.

YAXArrays.jl

YAXArrays.jl is another spatial data package aimed more at (very) large datasets. It's functionality is slowly converging with Rasters.jl (both wrapping DiskArray.jl/DimensionalData.jl) and we work closely with the developers.

YAXArray is a AbstractDimArray and inherits its behaviours.

ClimateBase.jl

ClimateBase.jl Extends DD with methods for analysis of climate data.

ArviZ.jl

ArviZ.jl Is a Julia package for exploratory analysis of Bayesian models.

An ArviZ.Dataset is an AbstractDimStack!

JuMP.jl

JuMP.jl is a powerful optimization DSL. It defines its own named array types but now accepts any AbstractDimArray too, through a package extension.

CryoGrid.jl

CryoGrid.jl A Julia implementation of the CryoGrid permafrost model.

CryoGridOutput uses DimArray for views into output data.

DynamicGrids.jl

DynamicGrids.jl is a spatial simulation engine, for cellular automata and spatial process models.

All DynamicGrids.jl Outputs are <: AbstractDimArray, and AbstractDimArray are used for auxiliary data to allow temporal synchronisation during simulations. Notably, this all works on GPUs!

AstroImages.jl

AstroImages.jl Provides tools to load and visualise astronomical images. AstroImage is <: AbstractDimArray.

TimeseriesTools.jl

TimeseriesTools.jl Uses DimArray for time-series data.

',25)]))}const u=e(s,[["render",i]]);export{p as __pageData,u as default}; diff --git a/dev/assets/iqbzbbw.CmaGXDA6.png b/dev/assets/iqbzbbw.CmaGXDA6.png new file mode 100644 index 0000000000000000000000000000000000000000..b7484db2469c082b9f806a2278da922ef5906d32 GIT binary patch literal 30256 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 K2Vc>3Z~h0V8gak? literal 0 HcmV?d00001 diff --git a/dev/assets/izkfogt.nOjqWh1g.png b/dev/assets/izkfogt.nOjqWh1g.png deleted file mode 100644 index c64eb156bb7258756159825a5011c9e5df005c36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256902 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

9Zw-o|KBk0|6f91MZ&cz@J)6jUn#gThe^c3l8 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®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 z

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

Sc7kT| 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Ε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≤#e2TV*wf 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śx8@+-h{h+o>8#d`B`-^lSuN(ywdfx?cZ-VA|? znnX`?D?09U<3N0ulh>L601dv_vMnVj2g#-HVvGvp2ULS@?-GnN;Sk8ilOBSoshe$2 zQ6zmTJS`NT!2t#e(d+@{-b8$qaM`3L7^dUilj?$G0%6h8)qjV~(ynCWsV^_bd|i(~ zJdc8{#AS~|a{hJ9P>bD_)v6(%9D$ojM&qX0FQ3*9<7UU3|Ge<)bN5Ityb4XI(tK?M zdOGA^m({$Soo%{h-cla!2rLwt)bWVgk_P7gH|~H3HKVnnsU>d4_90%>o|x)n+xwYV zJp4D>j7RrcdU#fUos?q&HA@K?8ra1K;jUsHc)(d#+78NyIqI5Z*zn#zlu?&h0e%~3FZQ*^ zXGZ3qi6Wf+TgCcDgAnHBHB#L)3-Isc6)5Px0K~g_gAh3i`v$Se63qOC;um-U@RU1i zK)b)A%%AU)Efuf-3uzR2g^0CpoZlaC{(49Z4$iZt{|jIxl|llgWM*H5u#I6W^$ZI{ zaq))cCdmS>*T~Tjr`QW7DPkGC=hVz$y%j@7uM}o1udlYy;&^!PKJ_0zUy(YlJl%J# z>7&0aYEB{$zx#f9klrc+a?s!gBgx-IQxA6>jnCBil^+LcmiayHALHz)K8HnL*IhuhZXMdR9NEF|> zR~TL{p{|}bu}m96laIzL(2R*mLBKN-_w>n+7oX$(=h3~5I%B~CdWW{S7F7{k%WHRy zpMuE;Fv-Ek1Vup%p16-%=wZ;hSTgtS+Pieq{~q$7Uf`Y{wOn&xMV`{REH;sgsA#C> zzFdlQZU?hPKv|$iES@2GL7+uc;m+%X*dt*?Z17(_b%4gla@#sbgp`cutJT(Zz7tg? zj*|wnD;xQ7j+5xQm4C%p#?M5Of$lChiY65`)%3Uc&B)m{qO5vQhr$WwJP<(BGw*#> z6;B1`zf$$oGRBHW;+wZlek+ryX2ZN%IEspbR)%60IBnn{@_bo)^TE~egQ;rH)9-uz z&S_*xox-fu=M?2eF+x%C@M4-2RHz!e-;J`}zWxI}m^1l`#|K%wLKs5}CDy|g>85Yi zrD}`Dt-C~5$S3Sb_BV+$=X=a_F@+e*_8k!|;U)}ELC+4P3|=GwPC=1~PF=s-TO$FN z^}}(daX1ui*U?f%h;m7%{%d4IJ1!tn>ramoMHH$FZ)}sk`7?(Xn*lQLR(&E&Au|Jd z8GSo!IK`QYnrz97v2Y}@aQHhlO?)-Hqp(qZ@qWxMp7CRYP$$g1pEd34uW)vdU+0e{ zAt1osE?SB_T)DFb?TB%c@b&$^db!It4_-8ug%B^ix8>TFd5dVvu| z=nkTN!rt$nNn69*)E77lyCf(wP~ z$M{~5|9{UzfI-5Y=++kogzMSPFp6m~jtMmP^K3|OhHQa_ELB!%i)|iAK0g&9_zMQI z+w45knIZJXzP!RQ9%7EZWs{Y+59$Ss6)8UAre{gL5Tsr-c0{Zt66(Ci)mACInQNO{=Y}LXX@|`%1^B+x5C^lWE8-shkg(b zZq)nnH8Av2j;k~{I`&!Rg;*~5*Op3D*0ccKQXr*N>+9Z?YL_;YOlQ|gvXPwh8XTrS zpz=_g7WiAo6$#91NN-z5?wbqTJGbr8jB>nGoO0FS*`$2Q>~pY2q6B*-EU*9#n0(7M zGrj^Eoj3(x^;iI`jLOG2nY1i`Ox8+3zFH%(Jh(@X(l8itjf8GNlH9m#8^>TqMYF;s-4 zBk;EZ0U{l<(^nf#pI_mN$C14@ZFsKni{_3X7oa{UJ6V|3o!c*r{0q}(#ZI6 z=W3oqPxzC8CV$h>)R`BK25^bIyBo!RU*uKJDVKa08{d9`pCw3}xrtP#ChNhQ2Q|y8 zxbRzc9z2!<_rVA4CWj^fmlr6I`t5X}K*dI>ocjXr0fnN;ye7?GhYTTl&fpW4jW)`P z2kQrpGkp^x=#Js26hqVB!UJ(aM>J|-Ex@CpPNA*+(^0J(d!%6|f-t<+%HwHHU6G{c zD;5?2>!fGgK0e)Ttnyn?+5*^++G1(6x;WdxN*R!wIJ21ge5!R7DYtIZ;C#8`)n}V- z+KO2i^Jtdn$O)FCDiBcnKiYy9pb&x1dMH8`ke*|@JRy7}w!bHwC}LGji^JA~NO2cG zU}T4{3D9_iilMqMVLew&YIqZg2W#fQ@6v6o z_PPFI^}C};cE0fJ>toJID1Z-wPJH7Z?z9%0ruvdJ!pR>S*qg1ybATy~bu7KMPc)x6 zDGm@hMzhsi#HIa(l1jf)Kq7Rr?G;gEYStADIhl2lES`y0}k3AY#-6;;cUc- z1IP}@H)Zqdwg7iUB&@S>GQlxKwF|zdW+@l&jBkE1gN|To-=9h%mm(+X!EgDE$w1{Q zDe^vW|0-nI9@U-NgNuvZO7IO*QFp^$DZ!J`BA&D}x5Kihy7_k*HfeM4 z>#sIhPqY4Lp}~8^GK)2K&DW^ z?)K6)sOH?bg=AiSeF61zIn>#@@QG2(hRhi11_0pN{5Vpq4~*zhmcW|FofUWFcOs(3 zs({7&g57`1Ji;#oNhSRW%Gz#C%&7#v~5|^w}i8#vsJx71f7Z<~=N92f(M>0VM zNA;-&2AlJv9%30rl21Qgqyo~!{^i~6sshmF4HO_P6M%ubl*o#7e&FS|{iXzo?K)xu_D#i))FT;1Ym2_q;o13eS1@(0{D3aF#yadf4v&*v)adb`c+a>E`bqf_=NUPNC zU4u6zqa~4Ph+DBy&#C+mj=_JFw5C59kn@0zaS69{q%pJ#e!2G2iWv>6S=ijMM$@=K z>(!z3+HHcDx9{z3H7Ycp5a)a;)RRp(t!=|WoZ-c-Xy83vVAtNut4CYe*qtdPe>}|q zyh8f80x~~p%`W`5dn{PB!ou$6bj|`T^+93r9Ieug3_ut+ibr;xTiGgnSdaD~h3fIN z2Ha!ZPlX(}U2@4WK?KvPSvxJ%0Fq8Dq&sc(=wI-UVcOsg5$94KLdeo%1*c?=Bs=Jj zpoSm9xt2vQq5icLvt2dV1q+iF=cgd-Q&>oQAXs@-+G+MiGi@L7I~km(r*84TU-$LA zDn4%+-j)3MOq2vIxn?M+_tUTX9!UN7v%6#8OC96evf^Jm?!WVpI7kq5c4!;T@3oae zWh%G<+%2pztgX+dj#rO$mc@S!y6w&<`0u*m;Wt?lzX+p&T(=xG)e!yo+20zFz0zh2 z!HmMhh56MiGp>Doj-^{7iNTt4xVDX|=#g4{QzhV!(XiCrsj|zIKv{lQ4K4Sa6 zUhuFIs{$S_xVyJhe<~d9J-4v1!LR_8*ci1hNuP-mAzj#d8&8xacw z(lOe5$;J-bT<~QHr*%*hkKA|C%`l$wu!2F;-HJYeeGK1^?$QtZaNiPVy6~01zjHWg z=>CfV%s~Xd;-CY)U;U@!MSDDRuXNdA$+TGbWM$d%UA94W;s4aQ$p*EUF>Ao=Yb~IQ z!jyQ&(!ycCeP>-yfEl#=)7j6OxX-)M2Wg)GWmL)YHA#c&x@x2To*nTJKQrI5qE0nE z*%Ja@sG{__@VhwRYECK`-%yPubwZ7JAuxAuE=o!&W&C&3>5Z2pWvO&@21f_=5Vvk; zC}UY}=m+Ne@vfuhoi$X8EDLsxpZ_>C%9#ScgUp{Gpp*i#DWY|5_R`lX=SVb7Vp5XR z;Y-d25g!>9T`?-#87fglt{ZI5=7zAiqY@YL)WW&&@%2p2jibSVg+QZfF1T_|s$ng^ zgr=*U3th@8g7z11+TI1uNipb^u=U4Turr74h~L1C)$54?x#(XGnJ*VMQz%-Ut0}-{ zeGoF3ZxSR3NabxC)3b%4_$esB^>OA5JT~nehSQNp74W)6cGkVUeMRVFR1Xn6rv9fW z9KcXye=lHrp{MxtaNE`_*;@hrRds##n}$WsI_oMpBbz!Mndg(m^hMv#N6?#dZ4tv% zC_eWuZ36x{cL`CHuILEu>gi zM&4P4YML~d6?ccsFRgv9Ncpb(nOAyq9k$gl&{Omxt+uUcsmn^U^c%c9_C4h?TTj{a zbG(F#z@We9FL$R}71}*j6I^I1a0oA=L^g?wU>^pYN%IF7^X2O6chI2@wfJ$@x!yA# zY-PMrH+)49=oFPv3L6GE(Atj4*U9BGB57)i>>;hVc_Po2pE<_89>*OK+ z$shE@(!HXRuKt57w?C@haR-yHp0fdOJEB|ou# zr!Z!eoH|txLB1=7i7V8R+>OEzE?Bnl*C*8%@m1x`b#>_teGxg{*OG>MQ+xG>>c>zA zb@y{}`_6~yr~P%=3;&ORy8wl=qKky^(J0jjq(+fm!y(m&vbEc4^sI>R?~_d6CR5Wu zuWX&iIPC7eu`-;Ld$Jk9`QkTGesNC#E$=^_=#n2#vB7bBZ zk%Zc30U&xqJxZ{S``^Dus=a_f(-^ab{G26RUdR4aCTnzoM^^^xKBN-&-&OAPow|yK zR<^QgRV@Sj*k=N*mebV@z31aH(Ns#5eF^(KNhsyzpqY8lkjO@tx|qqhe@-jIBU&0%lk1cW)? zj)`%(&^&AEIxnw}7}68RE~X;7e@|I?J6A5`Hgn|NWq0?09=#&tavM0Q*Z?wkrKWIZ zx+T!;mgVR3!2syr(;9QKN!IEN#)m2L4%(&>SpR^)`Q|jIf}S0dN)mM6`*n%0 zNnfB=`=sAQaSLq$I1r)+m$34D{(#ifuEd{se?;KYAEA01oITDbXqYLA_L;f&mTpavqBa#z9HI31 z9fq?$>5C`G9H?F}{j$>5rqWS&>b&xu%WJ=;4dcxSOso^C?2;k!u36QM|r6D~W7+T(K@!UMN1BW%dZ)+5-X{89;|>n9fk$pMmlx!nDTIerwH&caz0OG-aAjSOJ5-rw>kS%9xmE#=w2 zp9l{B6;VO=(;b9XJ#9T_7IfX&K15B&7WGlWSFcH|BdE_%mr$Ej=lWl_^w(wUEgi*G znsE;ty5=Y{v5nGqO7nk40}x+Lqyem|9jbM3=^PC%vN%wM@QW1BiK&Ts-hUxthE?(E zeewvM2ZmGs?*%9WsNj6sI^FS=IvW-?l(FZb(8tNN=x4Q{TBQAD&0zJsf4Z!Gaw})` z96kEig7+=U;*ZG5_AN~gi?I%?!MIXwlKfyTLIqh+ErXzW0H5?@cH)I+p2Ps<;W zzvX<}c_C3j)KKR{6d-i;>0o>iBRg`w^UZsh&lr~D?bQjv^!osgaCnD)`eofUG~2l@FOk*eNY(i(gve}3 z5$UDkR=owmr%pW13L}9~(#R-|dBBjQ5_Q%Jn#jxz^(%glPhyz%TgXYP7kl*-o!{nF zMAKW!+^<>g{W!uj29_OlPCvF@3b?iqgt+Q#K{Y{}BF=CGp#6oLw}1@trrA_PT7t2((ws zztZ{%3Y0Z7jhYP)@v(}I>j%G#z1y-0%>?4(@YC%9UmV5by6#*6E>)D%MsbUqUCYTy ziNn+(@Tjz8hX^i+dgpdSd;+ge+t}g!qr^w~dTxGo^an$-OfW+6Opzbutz4)PFZ5A% zv>Xj2bSBYcX7N%^^q>W{vl;YCO-rWCy8Y4)0WNMNc0tE9Q&Znk!O}2D?M*SRn0hg@ zsBXG{`Inu|q=jB$uD)@ko^xAa>8bS5(J)z&le^!_;g~FQ+6br+kSyiM9E^ZKIlH3S zsn=LSqT=gPd~j3;1|(_B|Db)sO=8{**o&r1tF9)*+uQN=3WSjiM`r8G0b*sopp6d0 zWRdM-R$d1nqK59)W_+I-az8Id_@4G8BafMavDk{&^DQEN^ypk9Mlq`=!4#UNRKuqZ zX6Pk-8jx4`BP=iH=dp?9-gVJBb}N&(6VK0N4pfiBHw?&e!RrUt=(@LZuNd+7ux)M`7PkSWnyJ~lMhOU4*LD_MTA-F(*upFQ(yrL2ogGA7m=;Mgp4U zkySg?qRt`IIg#=<=Ut{-*gy6qN|`@rwBQ%*8MD0wJB-5Q#`KQx z2>8wNqGnJsV}Wu529^jXai`>7Wko|Q*O;Wm#gYBXjb?Jr{#8qJN}i5=m#X>>6Ndtl zTFI}wI}u7Hopu~8J=?Yj6Z$4?B_9_i${}JG4)G{P77hG0DxJT;@qy4vT+iea&;VTL zb~Xzu?*FE{50VZz(f2wqgVbjre|Lmic?LenqF^j%-Lo(%-1zduH9KKEWdHd5160^y zFvGNh&=vsSx~dg6;&E2emSKnfJP$N48XT;5mndpF;ydp=Q15|7WnX{4}qZsE01srkDRh4XQLJ@iqk!!c&g^c{fV~^xl zuW7E*N+#^(K6u7kDo8eSPC`1Q0Y;z}Qrt0G_aCP3!6Je1>}L`Zl1z5{?Pl8zqg-jX z_z7gaRfCs;!T<~aY-9s-7#%y-@xMY10fa}0&D(dd8~9SRE-uy(;jQIp3oX~^Y8i2Z zZ)#(Hex64m`(1Yx7HESWEaf-Q_TD`w3V??Dd*#IrP~&;;wkPyJuY8$Ok?FvlmdUER9~1%>=)PI*qNaiEuY&5|>XK3$TF^ROA^d?G^>`sc@whe87x* zC~6^maMf<~s=)CgR`hT9mDzCkJ*aUHQ2&a+nVN$2woh>;SyU~LdswLCT7D+9FCkpw zCNX79uGk=%Cb0nZ?SAT!7Tl@x*@eIvlEP~soZiLAih&*XeDV8QYS_@<_I=KEw4 zLd_=|SQ47lU{dT%EK|7-NstA}_Z@aHs?rhL8P!JQqar;f;fzPYsfxifPDP1Dq}sN; z6vq;&ZV!NgUU0<&1|TR#e#PA`7ZfD4fyGVS-*s!Mnwkln9%!5Snmd{A^gyTmrA(x> zo0*Kc+3QP%68?_sdPa0U;Hnv(L3c5rZvG9#-6~xWlSvm)k(K|Rs5jMilD!y=NYuZO zug~Vly&O!rd~ufCr;I()psTNvl2rTKUOK(a{TpioOFKX`)5*`z!0ZYF^M^)cN7VhP z2g`3qa|Zm$$*yak8LwEk9~=&T8!io;RE%2n*uzb#B-mq$f$r`aMg$*7ejK0CWX1jr zKAtzUrD9`bJ$ds%ivQ6|Uov}MGyelX2l4$0%*RHivtfv2BI&ab(5TfW)+VY~hM%c5 zOHV7gv?+9L>orAJ8V9$RTgb^)^Deu+>al)Blm4PXvxaM}#0%T<t+AQV6f#i2k7&@msqz{3z=9HO=`#q|NaN zu7DHX|6sNhuS1;~WY6JHMQxke95iFPnB7^P2>%={U4HkWR_yt5B7;>5y4fz<(`JOM zz8s3V4+P#Echa2%YLoo3U`zx&#q9A?aj;hGePQtM5>pG`mFC1>!2_idI{nNU!a&in z37IZm_7#b8v!VA+G;?6mT^zWgCZ#1YnWA{QLKv-g3$6S#5Uv-EoSdEbF|Vce)X>i|Zyppb|&Z{KcQW^%i( zai{PqruDB3u*+?>45};VMhFPh(JxV1S<_c)!29`Y-CGY35YP zc0z$>a0H+0O|4FcjMo70`$<~D8WKc*EhtmO7R3SEKZ^GwplxE>_@p)OaooS0s7Q@$ zR=PB&MX9h6l2k|sMOF+#n-^%ayhSjxuZlJzyAuOk}NC4Jg`~PpM@bPNgJBvkSYU$^-bXgB|^V z4%th446}UE;+!fnnMff!&E_Grv29XO30DkDFi-&cOIw}(>Z;CpCG17H4a#6)t(}9% zs)xfG5b~ttS5MZG@^Uj8vhXWurU%r4NFk-yoI3S*FIbEgcMa-gX26!7^8!D-kW`H+ z4I{3o4{vz|BM&@ak0BPnFEV;CjJW*4c&2a|S2L#VrVm2Nn|<$881Rh;qapM5@K1?E1_*9&9m_bV8Bt?GaxahLSNPYZ)E8!I8?rpjn4V1 zyWrZ0U1j%s1H$(!QdOL9^X&<{+D=#9M=TIyWarEb^|N?pHX_y&*l+sHjdY&ylCgP4 z^n1~LFK)18BEBAa_m1(@76`6J;Z)Z1cPkas<8|RHmR)3Gff=Q=liL#l*j-K(Fu34~ z=;4H@+#`K#(Uj;d)g3ul^K)LBipDjCCV zAoz2~o4F%(tYOBg;VG;|Uo6@q@EW~yBk^h=Z(XKBOf{hp%R==>a%T>%x^RFBPCiv) znU49-P}L@OC|#Vh--MyYnK;Gr=03qDyXQtzT3;IRr1>($1AnSdn?;XkK!g=Tg)RG& zE{x2$#neL&P=S7FUMG&C?2@(qCAJ}+EzIpjlexwYn9&FWvC6p}kFJEAwFR%HU ze~b=Wl{jtIKf*WmN+!Io-#@=MH>^qV-~#B(I#>&N)tK5%aT>(@xL=I?G%B7Bdp~s- zXqP#BYZ{V0B~Wn&?9JUxz<_zVpRktd!L?}_r{SHZ1+HK zrp7uj8O;^op|Kc%mOOBsd|2qhQv(-MIY_9aq(_R9Z9|iP?BPP)FhT&0f9-E(6Fu8> zABWQ!xx-<8%zgABy`^4~NPs=?E!dc??t@{eJtOS_4>G$qMM4I+%Cxni`6(B49Ik?B zx4GULAej}cZ?};Vjn= z7oVO4eAe5Is7cHtR{yeKf)`%#BicA7HfD_5&7y)949%|RQ|E21jGt^fOi%=&X`>X& zt;}68a{3oxM(bTUK5%N+fl|)9NC4`8=H{?8=4Fnwa9IZzi!-!T#)!?Ae?D}Q?SxZx zt>JUNno2}RFfdnGzd6Np5B{+@K+&p!g!iF&xZy8rmt>wd~3 zG!& zz*Zzs@MKk*uZlw=q4)YSAiCu@2G_{pe~|^BDf@pd4O*w!%}{A{pW>=}WeyohcujHM z!vHX7g&tA4!nogvbxY_gg?;dW4(kJPBtzrdDa z6k8>VTp$jv$oAuQ&yBkoMws|VP{38w6VQ_S1Esi?&=G_PfN1bn{9qIMQf&11xr)1q z$hmpSy%r_~b`rOd3Fy2zv>z{%(MP5>ZHly%)ch5w!3$+JUZYAz&(3BeCEHz3Ny$j2 zL=lVh1Be*lVtSFx6hRr<`GIntR#-yhEB%B~6=|zt>ge~f?w?lctsxgLZ+c?1hz_#; z`x$w;Ga(PUREMKv9E=V#< zV4hkxk*h^rd8#Wt=9d)3)>ypym-n>dhOY?w%2-Pw0i`|t)Gd7N$_#k$v>T$vi9;tx zS>5+Z%Bu*vG<#-PoRzTjwcQ$jC0B(9`g(p2P%086PPY}8(r3UbAGp}5`varV0L8kK znH9aap_QhA<*T@iMZ6!_^s}7lM2)G=S8RP=Nqjj$zGC+TTTUR1jUZk-RdeGM)iteFPk^i~yqB-wtft*3Zx}>6?FYqJj!QH}~KqnO=r9aC`i=4HWcn zWW(wI>?5Sk_EA?=4Q&Z|2LIgJ`XQ7~>D$uws@>HU_5dhmM{VmUIpL0pvDApQoE@?; zPx%S1pcxSg`S1whPjk=I1*)|uPMAUf-Hn-j9TWzIc1lkX;XGrhvhr{;go#(h{i<#o3aeXIA7(nBeoLBVa@Zp|Fhm`}Y%GqGeVFA5W zuP*hCC+U8!3Rt&_U2OY(Z>BGv^O(&s5kXD(aZr3j?hmB zNNnShA{?Qj+7fY~Vrq@kJ5L#kP`_HYaV0MK5->f2qlP< zQB3!3sJ**}m+zEWY*Ug3AsPRBU#DTvi{g5MzCTw~dd!xLr$b1?(qIH&nG3%_Pm}Rv zlA=JPKB9Ut$5Wf>Fc5YKH)b#D=g2U^Bm<3(`}(2b2{MqWA!G{Ov6Bdb@AGN(Msehd z%*A-r+a~K$zW;p(3(pUfZ$CwNFzfwO!nQ10KXgO1Sc z6C9rd?`m4aA9(6}#nAVVo;A(F91j1g#*3e5Ifm+MY9qCr(-c}8q5R-i`4@E=eJRdS zsF2a#fP}D7%RNe92X*R41e7T=1)C;tF?MJdZ2#XXPHbOSRdsBJ0n(5^9k*x!?3wt| z4CvV1O_eoW(%%tu*8h0zlWd?YS-~0KRjH`SSP4gslKXAxKqy(=c->Y1X$C%xEvqQx z*9*ixydI?74yJs4HV3^TEI)?Fs!|bMHQKilqo_gnm%|`X+VXAIs#M6+Q+~-|b~x!+ ztkAK|Tov`YMb%9c*-oV{<>W+(Urr0Rtz*@sNw^+Kyb0cF!(=E{sGZj)mq;6UwXaeg zzcEmsjQ9IdQ5z5ecUKH+xK41(37wuBTLd4qm9yu_-9%LbBWZ2YKPebUdfUD)`t-_H zKL&riYy2Q@&zcVU-n=n%9Ft^`>SyDs^pVyvjPc@odM!@wxhsqOu}j&2uLMWPQUl~; z)7)Y3h>KB8omFmTsm5)-kFQ(F;(xoG&Pl5e52{TL4&9dgOXRD~!D8)9!t6_SY4%)) zyLQ#*b}6R>1$}YAt6tPwRX+Jj*s+siJ|rE0lXt~trD3~q{1}hCu-wpp1vwX(=CDvO zcNQw(mJ|*+%xx@lsE?6q*^N2NN$yUW!$F?KC`?Q2mhdz>N$lmHJ5FKdcOBijl`0p}ZsHO(t(&NS z2Yr5mOU2&)!@iz1KxB!KNV!@0{GHZ$Y!dcW0m?)z(z{Sz4TZUEE_K@*@FPH&SrV5F zF+c31*EYyBpTe0|R`9y9XTk96KUG>`p|re`Hd7*eI9^-RBeZ+2uY8j?+H9dw(Q#FP zfs8P6DzOvw?n>BIwJ0Lq(LH?ZkO=*T+T+O0R;TURVmCVBh}7EvL6~oZkozx;c$n=# zvMCFW3eS=MmH(zgGvP_VDKOMMHoVgFc{!!+VxLTe{A#MV1~17|Mf z#)I|Oqq!t^WmiA}EDoP~psxrxVurWHmBnYNGF@j^CocS^zRU^y(dW(w)gM47OA{nV z!j6o#HtA@+RnMkB(ISEOQ$mLsg@{F>PiMM{!X22qku@T+;sb-_+prarI+% z=`_q?&EhrOCXrBEaqFcl;!;vKm3Uxt3S5{PYDvmn^h-4A>r&WE;rIfgv7(NSe#2^?^1C3v2|jh1n=k8@#(bIM~j<1 z_p)geOhtbH21>0c6U1>I<;q#Y-utBQ4{djif?#1L*`k6Yeg4}k#=^qqOQPWmUGJJX zIa)Af#bFFl@cwpf0iT2I61_apDRM-Ky1Y$dhASw5C+s@ela*e5LGqyy}lHzj& zl`gXuQ82~fI6`6Wo46d77KAX=;~4CK_9Ya0w7V9ka8lFGyfcCtM^qqy(rkPsV;jk2 zukAMzSDY$n#Dw#Vqf>m#QCU#>(OLSJ(c%Ijbvg3O{?=BJS!R{C2hhhd^9#Zks}Ao_ z`TAwTjjTijx@Vlb)J9S`P~@c*!t!%?+5-bG03TrKaJywee3nnFs5mG<;rv*%%{=5s z3PP1AkW-3mC0I7xCy$2O4uQ3kBR53;UK~qcIecv5azz}vB{k91a2vZ7bF`&LX{eNa z6-ohz{{o!fXm`^Gl|P2f=EUe0f$)t?@h8_ZuyQCwem7^ji&oEuMucu4w~rg;txF?C z=aBeW3g^Iu1IlMg8i>emGe6T$$KH|4a~2+RPW9DrQ|dOH4_fB@u8i+aVz0){5Z{)4 z1IUQ*Nr&GslA>b$I1zAZJ2&IFTw7eNqN%huCohjvvFK)Pp}zNQltbzMV|+zW*uklZ zch_s^N2EnuDKerwT)|jz95pB9I)gb~NyNw4ELNz}>3#n!qEI8`yitZx3=7|&L|HAV z#SPz6EJ$smJCP#&2Wduw%&|`{E+`hLm8My6LO689fAFEP_aO&bDZ|4RaQ$(3c#a$~ z(wno%(cR8yT4+u#CDG!wtW3|J3~~#GAwfppV(aHh8D=N#TP*{^i8ZT(F3+#LdSMH@ zwi6@54SBNCQ|d(7(8@gFIcJDT$MVsTgx7J-e8Q>YlG?3#ugnI;~o6@6@k8SAy+c&v@ zj)U^Kqhevu{s%-)53q$k?@HhD=VYfi{VmhO0W`8n>H1>}GbzY4&JXhWAm{X+;>olX zFJ8UDqp@P75w5vZ%FqQT{2(uw2m7!O*AY<_H0mvqah^f4aiZY>z|yboR|3THl$+=; z!-y*&@||g%;Gf!7F$yfDzR|{Vq(>WEzwR8A8}V@gi8hnFyF@u;zeb|Cfw*~nb=9le zaCj~mnP8crp#V|tls?b^tGY!X-HN@n739J{tLy{RW9I&4WNnES)tZ=ApyCoj-72C8 z0?MYGg706^bc?Ik^ZRdcHkiaReyw1%NEB=U$Q^_6`X(pK2L6Tx$XPHcfooi2wC+k-$usKmzfXmZYQ+yslBXEvvePU z<)&L+>=YGN$P?((WXIfh^eoulAn`47oFAHXh!SWFh+0qKOdT4U}k{Sj>NsPG!n;B>Z zfieMn@D-TX{9}iH`=6kj$^M@ffO`8>Xx^>UEDVy_FlQp?V;QoSBc`gdJ(d)n0<2L&%|5H{?w1F&aj zBVlf={L*LADfqBNi05iB*)t^EnoCz`ZAp66IzFPj#}M@hYYBL%XDOeo@ra0!;;6}C zdp}w*_Pg9JGE7z<^Y#^Lg)o?Sy;TP~M~Bj83DzK*l&ntRS!RCQ*{-!n3S-bIikUwe zEAQx)E$F`?a$Z%Qzm`!*x)3S9-1TEHmW>s})t2<}nvSB^$#Ksoq*+R(gw4Z2{aVI$ za63k(Oe{3~1!A2tiTSp1%wx;XBz?KYJRe#aJIm^mZb=9XOD2u4c4}%2IDXw{*ROU) zMl?1G{Qdlaf@*9&X-31{QTI$tKvL80#zxgBH6`M0DI zLL^Fe;0boBrTbEg&GP#!82(MXh(hjavQ~S3KjZA-PZl6qNkXw#ra+Ji9{+u z*7nnYU53T@LlDhJf@GZD=9t(Eh>8(65_G^~ISYp#e-+DSmH9#lwDksNM?Ce0RBI|< zA?@wrp7fA17o)d%Ql`NJQTUTa;di=qT9(B|NJoX64GKOHlAtdqvTF4+mQ_55iSN$lrmA`HGXRRpX`x-Y zmF&nj{%-=-Oe7k6R%ys^YPC^k)V5Xk+`-ZE7_U`XIdFa_Qxj(|4e)DN0uLuzj2oAi zp<^T$^yPb#@#Wd28^4c-AG-?J<1X%pE^ju?cU{=PF4xuqp_)Rsyw$b5{gNO&fy zTgGdE^6)Z4!vC`2q}w>p)ZQK-H*rAvwM2jQ-0*=-XxoHpBWc5yt(Thv&e9SQk74NV z&(lsWP7%Vd&T_HpQSM?_6X+mAn@YCopJYhjz_cPBlU8qIQK;{oa^(gPguMYhY7k?i zd7P3G<2PZ>u~LL(A^wjgI5SjHABa|<`(N-ZhD63v5?2Ujnpk<^XsQvc4kAYq@}Z2k zPc2LpZoSHgmXwOC5p@LWkE`gXm|5--#TggYFwT< z&HY|(K!Y6>e%Izk6a}>6;MYCAZ`+6u(5TUXRhZl*t2>eeS`m{QqmmXR0CjN0^pf45 zGXE=$biXeK>}Dt1!=Tpdw7-?lb13Dsl5KGc*7%92u_uL6JvavFia zs)(mt22wQ6UfXbbvTOXP1qysEdf)+=&7UN^P6j(_oZ{VFJi=Jn{*@t`lg5^y(A}!Nd=CpATznm5mnPhM8qm6Y6%pm zE|5B07v15!f2FcKn3Nxry)fR~c-c=G_6Z#}^fwV@Q^%h(@P-iZaw88!;g)k|c5nXa zjI3Y~!9reNpXVx~5EF}1fkCxf=!tPn;!ANiRBvINMPH@Rv`fLfdVkyO?FGF?_+7^E zkdo?jSbqx3F(yl}-~wpHWObulrcf`779);#c23T#n|bB?`}^PaEl&Q&dg+EfhY0=< zI7y(p8ee!y&Mk#gSI!gIfIbUm100BbXGve-n+=oV<4z(HU*#gP6v6t0IGVy^SV zlb}B-3^RBojf0B`;Sigk11-2C4Sif_p~h+m z49v=AhiK8ROlOHOx32Q?H!8(rK|7^k7a^%IB5pc38cq!g_$Q96lPMd8y>4G66Y})J zhA}BAxWayM<6W}&)tFUxv4~k1p%(!R{b!3aOhxDzuYBerzA^U6IotuNv8Pm|Z#K_pn6Kw zDRxI!ZdGh2NF)$CC@{1D-l!~+>w(c8A+2~hU$v8`9!@gQZeA)PG zG<9K5RL$e!rImzaHPKxv>Fn%Kpu#2ULoX)A{uMG}I&-knPv+}!MQR|+W7gSW7ZvGJ zpJHWe!?-ELppNKwZf?u8KdX$uCO4qyou}}jq~8z8=&~B}3;TWAecJMy_2<8&v9X++ zh$&-Sn0`2TS_&|d2ZV3Tjnds5K{L|+T)gfFg~2Lg%EIK=?1ZYg?S46o(AW>>xyUE~ zrdhSM8zvR1vk3s8gLpZ5it#i;(*o=-5HbN=pWVT6L&aL$eB(gv1M$)#<=upPf&O&=+rVRs3N0IWDV)`dl40{N5Aa?*wf*jfe&lHZ*AQF zP^kc9$AxauUPIJwpo`exL0HCu(LEv?J?NACSGVa&+GxA(C`%TJj|cG*9Vn9oafR)9 zhA)Z1>K0+AK>jj6SXDzj*qxl^eNTwOFmZbH0e&(0_rXs66=eJ|&_vI#;%8HyvSzZZ zdaMVNjA3l&>?(9Fq>Ca) zF+X8(ZWYKa@BRAQ?lGZjE@+U6Zx>fUf1F$v%YEXlWCe|H3V%UXMz`ZgaJ7Ka_`jgL z{zzn?0^``ah=?yVR4)wSriOHGgj*1WRGP}q;6*w=tBy2%&2HXbWUB>f*e1MRPPWBC zDXCHSf7F~fcfEqqOBpF*#RHOB29JaF1IDQKF!%cPJ0qb@!wX|6`gH`4Tl=tSPYzY- znM!XJ(vqV>y@YoADPbQmev(@9HIohiU~8g$YSWKt6kvw~f16U|mh-wolS5AOS}F&N z{i25Ld0IpSU4RB6bj=C`;;4+c;Y$70O&3genZ2!L7_fajIn;*Sl9pdxEjYxYU&7SN zoe_19=ML3jZ`Lg3V1;!cyb6e(58tshBHiXbfi02ZiGNb zyME%*QKH4qf%*I2Ju{`GN*n)4{B}%f>r^&5P>H(JTsrbMkNS~0UXsyPaZ?FbfxD>{ zJHwKo8R&!b0!S?Xk8fWXucVWy!`ZToe4LHNSV9`w+OnonfaM&gXrKw>=tl-;|4$ob zj39!U`YbuS{r%6=Pm{o@mrM2Ry$S_pxxCmdg3PP^-h6j&f+w^zGDI! zMARLrnKQM)mJobQ;&Rhw$g`^Sjy;iyvKPPQt5PSlpOt7ChpYbKraXa+=DPWIX2vh` zUE4I|D#r$Wmv67(=R$k|v-oJ}$y5&k~nBQR$mwKc7@ znqh+vp9`F1IwjSCh>;(Ny|%mQEJaxTwFWjxVKJGU5(z4x^z<~|OgCl$GZe)2uZW0H z&b=@(n@C>M5uLT1|jua5xEkZ}DHmHMjjOnrt0cOfB&kNi%xXc;B_r2CllJ{s?5 z8Fxp&$v{MrI_8mC05j1Q{u*{2oR%@X7nT(Tu%SypCzF9=nyN54#(`)6=FW=ILKb}N z_*e}zXlrdV&dJhs>1|3wm~I`X@`N|K-!M{<6O}4upHnz`flV42_6m>hWs4%C{sCL? zAJ8}pWh=Cc5)mKQ&$->u)7X6U9wH^F&WO4bqSO+ZULfypYabF2f1=tJlZX z?{lU0L!!v7ITjQ6GzJY>5wC-sGL0H#`thIC@@5dPDT_=s_?Hgki+WJC&axgoH)v{J zC)ApoSFd@h9TyBGvJF;tJ)!8U_rsvlc(U4K6M#(THUy#)DY`+SYeA%tF1_+{?Om#1 z1M0}oU!#k4xJ7;2aigJ<(`Oiu;msdF@#!@!!y9iUw6cxI+w3G@V(g+t6DmT!{GZ^T zQd<+QGzATi$;kuWEuaQAtV&x4)bP`y2Pm0c2yc;19t8ub-drN zs)`%mG_^!(uMr^kRshhfUbiw^2emJ!mY6V5n!M7Car&h^f_8Y!3AGM2o{ie?|e8#MwM9}ESx>v2Q(4N03 z^rViv{1%lMAR!Nt%*n(#=JIOX1pywE=HhbpT6x3QC4>hRuSAj zs^6pqs=I$BQ9g3h@^|vl^3yN|9#}keHaU1L8lJ@=&w+hENQ4g1`9r>Rag6xcdA9(h z7a*tITT0;_uYwKz)SHHNwn3U9cW9;JWFp&deiD9lMU<498L}Ir$%>84DiI**{g`fN zS2R(siIUCYH2IhzcJAw{i-d*#jL(tT)aC0YY7CACBfVXv4+wP#`BSoduqN>TGx+8g zKPrgH`fWR=GJ(8=<&x1EkKPpOJHV>YOwdyd9*$vBX=eIV+m2`sX_Q&!=4N6}LG^_5 zmOKYDA4O^pL^ap`V(=l(-~(FQ#23feM{X1sbGza~Mh-i7S5@y5j;^2raItQ7ObT*= zYy8HLbhovwLi}ttS3YWiRax}`l7tnW(QM8~dm=m4O^P`RXRj%M-f|WuUY;Y+nvU-T zA1#-f#t{qTJHP1`m4yfy5x%k&5oIz9+=%6q{rU3tkHZI=E&k0@d-CnpRISe%oX5wz zXkW$f!b}F*V%%}?K`Wz5{;^$rz5%!!Bk(8m&~Nsuuw+_BYSI1vfK$$SCnimblC>0d zCjGOzQCt7Aub}2{LvI+q+GXJ%@6mbtcWdXiz;hK1I+-ST04uP^vnc#7<}aOkC)?sa zHk;~3 zMfQO4-HJ9lxm%9c<>GwWJ@KLYqmUkbH;>aTsH*yf=rm_A!Z$|t>m!oj!p4qc8xj#O zOZ~b_A_c-s#oLT29y!)=)@in6B-e}+=n|RT>ZfpuG+-R|b1&~gM~$CQ{hcEbuC6oB z#~8=V`w8MqH!_q#2c3WH7r>9OZV&HpHNW3FlxMpUGP z5rdr?*m=T$bU9N?1}yZyXpn(VEdp>34npNmrT-FXd?%r}xzKO@eXYxLU{->h^WRex zRuIdKt5xd$d7C~UR0cR>wZPo_vkI#~5ItX%TPqvxKu@VZ9Cie(Ely3jnB3Vnf*>|r!-kCN=ye;0q9T_C!#CH*2ezTs&Wi#DHOIvv5`pC_%?_D%$=uve! ze239x%0&9@n5eRBK*k_JbZz*H=gqlUH8UriK_YY2$+maq&dh?+xkLPT3XdS;__Tro zU_i1)=Vlav*^@`p)&fgLZtGuKp&MWa~GDeW79| z!)H09d@w)O0wN>0Ep2X|qIXo6){f=@{{Yt?! zq%9>}TBa^3Fk`yIyadj_*`hI7KFMCT>bzq!9LieAKQ0c?cgx~AI>WTLSo@VCX}%?X zCf9Fi*R0pdfKrh-07dH)WfHen%OhA5D<=F97`H%<@D_d)=q#(d>)_m0`JNgRHzib> zH`d+n#-|UG#OiYX>+D#Tg;Z(gZlP-Mn994mV=-Zy>x}e}I@(btLnDqZq8w2ZA2Si2 zs$@dp2wnC;&zr;bR?Jc4+^ywT`drq4b1pt+ntZ*a5ROjENkFaR??AX#zh6DK8@(GW z+p(booI6%Ka1~93t?h>F*!3#adNMrnEl$deHg|e;d=iLWmCLTo2}McH)=Bl0p3>vY zQ!2k%LWjO+wW0TptEt`J-ODsYA)O!lj+I$g@B&6|EA7g?^m(WeE;rVBbdSeI-%d7_ zV_w(z?7xR6Cy|?VxCt@a@&8z`ESd`$`~4X$6Nc>XgdKCVo4ydu3B#yYO74={g=1AOfy@ycM zDJepMWMKMt`oJ&}Urs9ub!2V7=n}fm*3=Iz`wySLYdSg6OZzj1F4Nt0i^$0no>l+W zx2hQYWVucW7;?5abORBUgPZG`$F(c0|)DVN}P z5MmWegD$uk#xO(9?#=HJYlOt|j*RGF8Kx5ba6UC{vhOOeyN7{>fgbhm4 z?RJElL?#QM>~DbFpCdMij_mu7*&tRK?g)xA@jgob_dE@HDXIT^EB5Rm7$=xS{_7Dg z*A<82e$ZK5Z~?|Amabm1eixNS-&aa9@3Jz5kzid)xR^ZorkHp8mf}&XciMh+l5`C9 z$3uEIGtH!`?YM{*x5i0p6&#nECkqd4He30sh#l)Yk<5_c|e@GoM zWydnekmOXXN;=)J<=7>)H>OqR4+sk1Du<2A4*PbsvM1wpA~gn?GOkfc=H8dEYh7>M zN2;-EvVqHsI=Pu;l&%e$Ye$K9JkRbXE>|8R~EI^h1>t%bguCOZWI&2?v zgEGFgU1RtbR9{B-GM_)^ab3wcuhpYFeJzf*b0zq~yP!X!8HHz&Li#yQ3v-xN8TSX~ ze*`nUI?{yt0Lff5f|6di^FckBP>m_Pg8R!9Q=}F0pdO)P7wTcF&Al<6#S%Xk3q|aI z&z01yH=Kb!`3hTl`+-0I_E&n_`P@{d)16y)_3ni})Y@M+#)7yslKed7N;kH{+x*K4 zhXUPZ-rHyG8*6^+KmIysSsc^SLgC@j*UPS`RsjAr*!wOvf4tLk$xxK(kCgf%@>!ao zhW(25WgV%V0D2M4MyCjN&VS}Q=QZiMFY3CKYy6RBV1vb^NPk>q)Kg#o;>H-4Hu6Mu zC;ub&Vsbb8?n6`9p_#VZS*0|I;s*~o@(bL)ZE-%u6V2s(1#Pi@+qknoL`Gm2c0#{z zte?{|1WpHsEZ)nxQ?HD&2sc)>Qf5D{1YM|U9P3$=lE#Ni+ zpwcB|a0Ty@k7CR!^*>6>mwgQf#te3LZ`k(VeNFnLDb1~;HshFIx>#VGeKUicm8=k< zdQs>9v&Mn>k3-|YBqE8n{)53q$LeW*Uzw{6%z>4Hu$s9}))A)5W)i_NlFfLa;qCeS z3Qj5aPu_vKvXc$bPlYxdJW6Gn0!(A|hkaQkg*DvI)sbF}CaRm}kX$4XFl>BJ8uz+M3;qGT>W0|k#FM6bt<&#wLO3a7XS_V?+OL6LtcNIpYP*pax(swpU5i?c zQ}MsN`yp)d*n60GdI!P&ENu&7cVxI)rdB7doVRpp<)Zm+EY=W)J7_Lu5a2rPD9%4p zU7wN?wYX_#Ybwv>)4%;bKhKp=Z2G=lG2o=6y0l1V%g3X0E3{AZlJh+_6-$5}d=TL3l;$L8wmtJjz061O8qV2Xf==1%r36nt#E8i8WJ;DEYX>lq9 ziN>#uLdp?^vA8t;z80VoGslm!@Tzs(JhYEW1Fh3kVe)-kOIUMtLB&x*X{ap|v!>gP z*`FuquA}HzXbP-4)b(VB-_mrMg2q{yG)P9mx*@)qX5=!Dg{QyP!WaHS3OheQkbE}E zuDABk1Re)3Shfz69(_d23FC9dcCD>YvzE9_Wf96fywHtxiaP%46e)Cl9?~u9Du9{x zeV?}$47>Vm`(B52{vk|~zNb8=)|oUbU`J}})qN8O_JDZOuxE!u$V{B$Mi5#j0yZ-U zkC>EH)12XK3_-hlD7o(N=Kr(+dcmne67o>sacYV`&r&O1&FMT>ikZiZyU=d2Gd(Xf zk>uimvdMHd$U*4bwO13b(@xe~UYVMPekOOP_ zooil}YCL&a`Xy;kzCl)JRb}M>#AsZg`ccUnmU@fXVN0=PUR|8fgTfuDzlWQr=7$<- zE~Q+1Sy>qqIR5uM9m3l{<1cI0AAB3?c;nim-*}!b28x`zq^)Gq4Rss5-KxE5$BA#d z5k7SIJ{$K#OGGJRID+yGG~}_aK>$Z)668UFn&*hnpLg1TO$qYSa8_1D+7Xy0hC`U& zk2^tFp#Gdxy9gv9aq;FDbL0bz3U@Vj+-P*AxT*RWiETA6$@}Fut?uC$t~%$_B9Z9B zKKBddN(fTyVqVc;`F$~`NTqaY2ohSA8xOjL!cn>|)~?8;$C9;o@>b=dlQEIMuj?|g z#U$OAA=t3UMdHaw9zjYpVcr*muh!Q-iCmki*KycC1aA#NOKJLgP6co_dNSw9vPX5l z?Yw$#!m15Nfy*&&<9QnjDe3zin;ve26>v^f3Sal25Mee=N&rToP6p$k`+L})zbn;p z5TK$I_6rO6b);7V#dZx z?t97zzRXgMr+2H9Y*sYk@V-WA_Fr_TFKU5}-4B}pPfg@hEM`2X@uMJtP^OTbHl4r% z^Jt)hg2WN49(hga$J&%hj8a$ySR3k@A{!e5{B--+LVH)f%Dtlu*3p{6<1p(`{tq-!eTX&aNqxiJ$^rVNe1PG-32%uiKa{ z$AKPn30_)*qVV+%AJR{}yfW4upC)jcd0o=8%{37(?xeAEXaQt+r<%b|9LIfpk#u2Po9CRoH_W0>0_ z^Yv|VGN;S5x{YIE<2~mU*WEm&nkw$w5c1WW5F`I%DcYts(a0X;i^!C%u-ADq`+$so zsv-Od%Gf?E4J(Z=ANsrOMc#~c$?TSM<}V$qW~p4HSkC@*S~}mG1tN?;hhM0d9QYCT zqmXDR+&w4mJkEem6~}@zygoluUy)+@&oBDwTUS@dEydAm1$ABAJmI++PkM{C-QRCr zws^5RZ&5fS+6a#3Qcv3$&vC9=>GBUx%On#>wn75xTyp(=%-Tgz8a%Ff;Cg0a%(1{i zkq3>f`Ase939%Og$PdVmjS7$8P#k|(bhsJ1B{OK=mDL6VDJy z4cevn)$>nTOSi!Sd%vS)ep80ke|YW`&+2${fl^e04cmZH^$#zLpL*o2tWD?Js0@Aq z9BulnTOrWE!HsI(_(F8~#Yth0?0C4JwJQhht=%d6H6il!DJo?Uez+jNmn{0Tn|WN8 zfXmNNO}EJz;>m>q!w*+GlK1g)H(fq1kGbQy1Qr3b8hc9~wRUlP9m(H(J}6(EsjFDF zZX)%vYJVcG3pOyiRr}!XB-dt@7x|;?+zh&Z#2+$;t?v-E%WH<^Ae%%xe+ZcxjB=P; z2r^t8GTT*zb1s}l{CgW4vEM`^R{EOxU2yP)i4ze~hp=z^NQh;2b@L%MC_$Q=AC-KE zwXX6-R`OJX$I-5*!nYNiG!hD2Z>ZVWH2#AAKB{Z6+icM-=e@?HNM%;exli&vahjO` zGejfB1USSJzSvz`BN-o$>j_i8{oU2&^yoML>0rN0nK00)adD#`-V*+k{A}SkY&j!3 zSa!w=o(k)#>-<(($+m}Wc$>+nqN+mf>Tiujx2Jmq$FO{iWZ!oVUT!^R){j9x$jAd2 zeCv7J1y@jyL6@|Y%ZKm&0%u%0X&oIMzP`T7*8;iW<9WnDYlQ-0cH$vv#JI!rMf7f0 zERYn_C}&L`JWo;L0|4Y>Ki;yXoMXT(ju0Q(X|Lz%T&$H2FE?(<_;0T9f+9_yp)rvQ zQo0I%TJS9O8$!84rW+?vMt7K2Z3L(*hJ^jBU*>KNL%BrpKmRq&XIzIU-;fU1bW+TN?4)k#w~Q!mlEVcqsfYDoq7aQ<-2s_ zyi`g(PjXck{}Sa#ns5<`f&R~M00boLB{<2shwi%(kWGN4;#3&yMWz?bqjWxkqZB6Y z1aiWUi@2# z6~aL+)_{hA7J@GZJDu;wAGc7y!f%!tiW!SaFHSfI(}d82-!A~d=c+&-Iu*{Dc9a)W=YYK~P9oS_#sYe=>&)v%x}2{`l?AT^_5W()xofxXkc&a{Jgr zw}Kieg5H$!d3gruCdnW^^!)>=m!Pn_wu;5z!I-%ubkMJY1MLXiV?M?9#m$VH(s1l03`>RnYt;KnEsL=w4V25nkp)`7!T+yTF&eP*-bJ zlFy2owJvcZZo(ZQUd+B0M_gF{pEDz~O`k=sn%lPd)G?;0LL2REDGJqVzI#IIqb=Wi zcnrg-9ACcHb0+cZ7+-6|3YBh1W)>V;exbOBhdG8d*YjWa7hE@M$|);R_R@fCcX9la4w7073C`_C={Pc{&iXz87z|0R94 zCSD(=e+yRNi8JmZ-O!|E%5lmTo*w}=i$-`D3WoqlB%QdTE5q^I=@bnf8&*I5JZtMJ#cR~ikRM6dtqlgJQGL?tMtak-gaijg&N(7F zWwpyIk`)m~E2LE!!{`Q=nhvN5`V4`=rQH0CYsWCbK|9n{RPnDj@;k||^9IeTZ>zK^6d3v{k8n6;UsXRY-XA^GnTgSXEc#}HW)cV;+K?>`(j@aB z=Z%j!3KI40oNrO0BTWq`K7M;hOGMxJ`Hm)wA4ta1Q>IJSv0E2UfgZv_yjOcG4*^qwUOc3pQ)_1p>}ADL zk!=yIE2Q9K9?po0kLnKy2Y8}gK&1)?v#~Hd>iTzmKY`_V+t!b9OCBjPSL6pD%&;+2 zuB3DSyLe1F4`^j8+_cwZdXIBj5CRh^Op(SpAJHk}#&+g@`L)BZ+K4{%X$0bv49B%1g+pX zo7RpHy+<{v3A9PMIo)IJ5<=L1AsVKq zBIEFzjn*&KWHxH@4y`b5Sos?_6jn5gDm^J{w~Z=uz3Ohb@?Tp7G<62HAdox}kiP6u zo}UsyPW03w<=!Qu)cJES4_OW7N-|2@BY^0`x6|9M6&%xjg)$HeDMtLN7)%ziVBeaxh-Ij zUZ6rwr>Q>vGIYzFTg@)bO(i~q>vzv{ZYPFf{}}z=oDZi88-dd$HS2_F$FN_Wb^0hr z(72w}(uy`vIiXLqUF{Gs{|x~?WkG|4s0|A{B=EU4xPa29(f@J0d2*5{Iax=t9~FFr zF(`mJhQURp5Qk##WzZ+pQxeCP<1ykf5HJ-2GLC$x1i;Z4%kC zkgjfW5T8e9Odv)#IsLnk2mG&kCQWOK{*0p{A%c=KO&jJDOr3P8y%|{zzN&y*;(teK zCi6j2Iz?DK4+k@zrFccy*&S=Ie3MK4))F~tK5osc3Eyde{SKhlfi5_Fu8IU&$Yx>@ zcB=xEbh)rGBQ#Hj^dmY%?3q6g=$B@ix@v=eeCF~`V?n|ZsQo2TwmfW=5lc6?G29Qq zvyx-kd@8`80+hR6F$zsGD^o|2sky0ooMrp`H6nG@SUDxaGkxGO7@Ars?bfMa#vl{i zfXa%aQm3D_uPr+{9n~?sStqlVO8pwKswCk*j-WuUVT4U{*3MoJUnB2f(a?vL=4^UT zuB8(-#0gcY-?vvK=os~p6ska-oIJN(Z*Q{E8SJ5){hKeAgU(kV=j%y4625lTd}UNy zw!)tE2hp%$)w_7W*wOBrctBKu<$AGYi#LkH%2Rk`ORv)eQV&zCMHKKIPa2%3{c@N=)gaAfoxJfF`pZJJ8rQ zZIBW&M!FnxVU}kF%(_N9D~e%*1}0nc>~sSoZrcN0^j{T+SIHY&F4Sp_7esJ9a{x}& zQ~qI>94_xc?2Rvg47k5DcNQ~%WctfLxls3@X$NuBLVC!&HtOMbdsB7!px3V7YB%3& zHa5OznWI@hx)M^g!oU!c#Xkc$@LgT=6CG`~BbPnqVfmwb;h z^!QWs`|!eAAicKUbxYf!w)$vl+Wo=-lXtfCrQ@|5W@yYbqGsd6%GG<)qlxJD?U=HN zG>_%+)NI+p$D1^jZtIAjGUuub1e3VT7Tgi2Ciiy|s~EH)&UeL?B5=Y8R3bWCJAs(i zf*tJWw+xeX06L~8^ZqOq)E>d&Vc%K*5}(r}NJ(5XuJx0ZFUv{k#YBP(ma3ZGXbwpD zypEgUDZ#ojy;$teGxX@Hzo{+*Phq`cKr0w!WbTf9(hA2s@z1fuvJ?E;j@L+EkBPMH2Xb&Ek)s* zsq8$wqqLKo8x6;$f_dH*`Sw*N6LtGUZ*CY5vos5ZH0#WJ=s9n;v*IX(yxF1LtW)6* z9(wb_s}x&TKWp-!xaz`X569m>k^J4OcZ4l1JqD1+u|=;cPjFhsefc^t?{lJSh1@X` zbHjD1Nj+vDYYfwW^Qr!t3|P_(&Hg5QY>mnIZLUE=Fuo3?vw3z6tYEO>IaqMi{X|dW z5flr9pk;{4A<3K170x}LWeKCwX-{BWMOU zNBA-00w|>ww~03+@JPE`NKoE(Y@X)lE!7s#y8<7`NF{N8yd~TuP6-U57sap%+Kt)J zXo(Zda&?T%#y;no?z^h(FxAq>rvj$>PWSVNhTc0l)}7X zCx>XxctVi9LYK2apf{{Wp4HS2vq}PA7KQqWf5qJqZdyx9C*wFeN!v zu=&g(l0o#6T-j&bAi%GdW=bgX+kzUt&X(XrAakuO*f~=aD`Z42!AN1%7rj?^OoOGg z%3gpDNlWmzLc6<((TWgQxvVV3Cf#{%mIB6;nj6%HR$K}@Qrf$F7AkvC_XnS#%n z_1VR&58b326*^06e|+e_mqlhTI;_5N168K@G#~@&+>wdBl#%0c<%GY@F;05tn3&*h=RALUeO|c=v#PhV zQk83Lt4!D)k&+|bbV)qyoL+V8T=w1-6IfbzbkJwg%|S9$JiE*E9u5he#B3=&xc}W( z^SV8Iz>9D;KG`Z|kTNcP>8q$H?~ro76D0*`i-{s9J}X5xmeIk2C?5`$5qy0Pa_=6e zwb+dEn0!Z$Acv}5AK6n!>(hd zDOrZ{pTPI}#ASQCM*S~33_b!8Xg_R@~j)-QC^YofarsoMK6FEAB1@ zin|qehvM!I#e?3w-#Pa;CqKw$_t~ADosrv|$D<+vEJRq7+J&i^{8#jnAlC^GSVf|1 z8CXT3x3W-xzp1nxE5-S*u+~_j`n^I6{_fw(TW${3{EKGS_u?xLjgTE^#-Qu_Dmp|H57{SskuX-qO`hJSHsX zcoioM|AMs^eJep+$($sj=yO-1;3_37+6zos%1XKyaV9_{huhY-4m>y6(;Td?+9uU0 z4O|VQi!hNkHj!|cfPV=|=ahx}zIQ+OK)Ed-l8aawI~oduzsEPB2XbZjy(i4Zm-FGf z7Ax**_ToJJEL_EUlv&j-Kl)#*QBXLM7<|OY-ql;}k=M~DDJ%@P15v_pOb_u<_)k@( zeOD)1NZ4{9*4p~`0m{ZdF>HS3uw>UsCV*wi3lx zwdQeXiP?Zq$aVXac{wJ>b84<;JFJ1&IANbQj&wZ}W-F zgV-)z>?;qOrz%SWoSuM@>M!T$`rd55Jf9cmkIgO~il+(tibh&Xw4AJoz-Z6FSpxBA zT*%7a#Y7{W$QsACem^?SKlvAw^VmqVgAqUTU+ogB``!d;zFlapiK+7=1_+7#$K8lb zo)B-kb;S4$qFpPdJC>m%PpVK)$e)7KN(eBy-py?7n#KIV^u@ykdz+7#pP*%_W_D@q zVl+k2NE~`^?n$k;qYI;qhT1)E_BxK`M5xZKmHl%}a%8p2vOL-!32u>ScHU_vKM`UE z8LmztUq0#MJ88u$P7DM+wbBAz3{@w(DQE&_Oq!|K>x0ozGU_SH9*@<-YE#8QyNU`enFF!W~6g5VS>wYhjnvyOq|*NG_Z+% zssC>!Ks4n&`z^uE@I7Iul#~jas2Xv z8!VQ|wWQ+B7#Dzuoe3FI1jY9pkDfR zpAk9*{V;X#a}C8?zvHyt#&F|w<7buCN~%9rke5mFvRkzOIZYf1ecWFs za`)%iBok9k=V~Zi|4r=o^vEE^PYI|P{eClH#z2dc^+k=blSm>g<$gT|I7XLpZOnHV zt=4M>a^p&q!J9(0=Wx#pwi%&PGl2pD)s?leBk+o>jfpn>dv%|7FzRwE=)1a!4O zhe~;2v_Sac9sc-vB?ksYy^oKtuSbCuMDM#dH^mTkc%6aWTk52&E0-|&r%v8LL}!Xl znkyGLE176DSBZ9;=WT4HvsQufJy;j&2{>RhK8g8)eF2UKPHF__?PEWGVFvhgrMf7zXwt4rjt~BI1@RnM}$+vIi(fw)w3tH;gKSQ z3Nbeh+bmObaTZQq89rP;X7t+su6gtxD+p}xE!&&WnB*$x5Ao(Vbx*Rr^OEysIT5

)wbcGgI+!Jtt9F5hOXBAeSx;EEw)0-35+C)cqc1~y3 zQC;e=4rKG1Onf=K9|w|vuJsfpa)Q#ON>V{9h*WAl4#Y0i+p7(=#Uq}$RQxx_eOgXDBTWErays(YJUP7B zP(VO^=j#L4DKZQwA@A;?TZ9t|5F5*Y7-aADcRs@P`Q%LJZcA7PmujKxJH{Bd+oJ+%CwSlz&Pwdx2sL$5(oW=}9kxrmqCK@_ zFe#?-V8b~J#rcdPOWOZ)0ltVgwP?qtL`{W+J7z1!tlnxR5nSvihdA<&X+_->GZyr% zBU&K16#nXl!@98Ss$|)~gO~c1n zniPWs+V*lYy%(`18-+=+Yl~#$zQ!czjk?NFun4#B;ZGf}#$O@9IBMr#zY;3u;2Jgb zEf^L@;G#AzA!Y#MdBcKAHpiF=jhOQI+2Da5iQ^S}!`!DI#7fy}8}*f}80n{eHJqrd zyrB7VnIykV)WiLPnh(W<+4#w`rO3^x!X8&%vhLLh~6RD?OfIsPfoUGr;|# zyP<+-9d5N8X4%%v!*Pt7g!D0g6$>4oWOr?`RH4_V8UGIRzKG|;T_+ArZ>}?x-^kAr zt&1O3hzMP$13)f-1YP+qGf=jyc6byQ$$u3mQ={Q1vLxk)c`9MP&@!xmSOvp$Oaszc z=I(BQBDCwAVpTORGX+rWC`e*U*ovb0bioQN)is!uYS$9p;GT$u z!9|tx^+ozvVsdOPT5xV?ZxEqs4*Va}(MzXlTi?mq=A5{GFI#3sHLSO$isfQ2?nvv({BoWJ#(<79`ug{$Zxhg&Q zCEL+J=_^(HCfXl2EIg-7Y&~~|5;(HSIHShMGkD zGA}*iUx@wQ>m^LNOUD3GC3LV-8o%hyV^b66e~k(NBinT;6QwA+(=r@p+iF@5R-h%zgP0FnbAcA}8B7C>oW}r&OW6pRWsRh+472 z;u7c9NzVe1T=({?t)P6f%vua0{(_?H{y36NA5FKHL|M_dMpH6_kiVK3rK9-eKW$E2OKh0v{9`MW!RO!C%2 z_c0tr{xXg%wfNw!de-YuWOL56r}vB6lxPj9jiV0|SduEA&!}fY(lLhl&Nb5yo@I|u zDu+C#>cY>bG}N_xFp$5@Y+fYt-(a z;I>TWn_|dCS>DgI$DCCo;iXdF^L|_EhuZvL5G?WEYJ!d_w0f9({rbr`XGGA^I*izs zVO$q4-B|xmO7oON4}I#A>!YW}sd9DXD_~;0kZG zCqN7xSVolmGJns6G7=E#UFhP}2oWIlJnI8isFhqes)i}6ylH6)qnxTF5)dVBDQP{9@@@8rVzCbGhaXWxHUu2Gi$c=+Y9&k#YXxc6=3twrX8+f z?c>g_I!lZCf&3ygPsi0>Ms~)4=Ba*l;%kA$)08!)bY|)uR>h9rL+b~sbbn(y;>I*? z!Ue~MQXXTCohAwS>vcI_7HJ}HyRj~U6eWPw1$ILkb59j%Qs3y)V-EfdvL)))^|1*m z;AYY!@fxwwr*Wq`72{%todIi43rHZ!r4Uz<=-4vkbeMw+aN3-3Ppn%92=vvc&4lCZc<3hAu51`PJ1DR%r*_x+Z2m(_~?RbD^~Q z)N_$AgJE&bfY;1LvTJkmYbIj4AlSZjBpi0w{Z+&eNUtKWa{ss9$6Is_LEFTx|Fd#UL=KFD>h08~N#?sQm1rsNEm<68SEk%RXhnl!&^ zf%*y^oflfavVH3h@Vg zZIoL<*TzsILgd2D;M+3)Aw7yKI;JjdCUchOaO^|1g1;0ed7#%=YV6Zz?3N*Op9C$| zw=}vU2&4K;WjP{`*4?vvQQ9!+d$3YZMMd!zf(L+}RgMu_0t6eNN1oAq5(O?FJM0`D z;Ql*0D3S1yDB#gz05KA`q@*f68++*x7g#Pz2hZ5pUnVQIVcL<1h?a$j%|$$nR}Y6` zT6qUeB4bM~uLU!~Lp zYZh>-aX=AsJLbzoVK~$Uqn8nKaWoNUB+8UI@NU$^n9qMaQzYy2cq^mFbewE_Ls0>0e!zUc zbTr+jyZ?#wce3GI`4(^6?}-5>Cb*k96lJj*^1c?#sn|sZX6aa9rqLTN6qeokFBxCA zr(B2&2`tMFUQu8T6$h3-2i&aV=z{cn`DH$pPeHQHDx&f0d)PF>=lHNux~euB<|?{U z4wCav4rYK7N`sRQPTU^M&;IkcNa)hsahxJat0RCHp3}@-{14mBOqYx%;vVG6`@7fI za<@vom7AMB@}~iy-)n0fSSFd+ay>1V7?K|=!W(>di=1&qci>fKzJJ_W zuETtS>AA#JIUx;43rXWuVn1aIr=_wjgPVOgmdv~QA;p$Km4jNa>bitY(9S0%DImFq z=mE83H6YNDskoCFshP?)X#%RvX&`qJ5H%blbWsm-s;iarb_}63%vu4u-{!nPCTGy{5+UQ4ih{#wl zyF@peHhWiX?<(YLw?vCZGy%=HnEjS1CY{vlJscUy=3lR9f2PhMsIQKu6Z4d^G32x? zhU(aeVQ=STpA)3ulX^xZE`AO1WuAsM{3^ENRcYK(FEuPLep>a5Q=$Lr-Y+l{ep^L2 z?I@Km@py|E52g6Y% zAdkEF=`}5J3%sCM6nKvz!_xM{`Jpq|!X(Fg_s5NYGh+^Fo$oV4cdTozJnuxzKd2qI zygZ@Vwd}qdkDoaWhwyb3dwbka!97%6mqpvi*nBpZ9w}WoEl;WrtJK zFqypq9dR1E_9mbqj(0WJI(BG)W*AOk)3j827(YiFp_#E@mXQR>wZ!^9 z2hLfGU8#J91AFlp$aOuijjoGDrcOb2$9nI0$T_&NL!Qki62+T2Yl2i`-0*9XJT*}0 zvIdu0D^_gs{(1RLk+kYm#DJ;=`fq%-{T`~`cXX*emFQ~ntgr?dE_oyVFsQy;D+VUj z($|QoaC5pO&<;imm?_$3s_=$FAW}0Bq(P1m#eAQGI4j#%XPMHh9Yytp82h8$yEP+h zgv;^qw=Fy{j`6ykD;y0hN*0FR*=HitmL|qJlZ7KH;NfsY#;@|%D38eRC_g*}RovL4 zO?#^U{Ca}hx~6-~oy0ybC+N*~aI5ln&i?sH8mZ{>eRXy7Cro)bLRJ3x-+h|;GN{OS zx2QuM`#nvV$WkpdZM*Si$s-W_32hI-phoul{4#?wvXC-&AHJ^i@iPV7izM0jMUxZ| zX8we{II1$qQ`matyTx$Gwf6E?CTOSx1d(T(mqwAec?J z2xV$xl+EH?`&h3lt4vWhjG4}O^nk6(xsu}ioqa{#*R#z@%voxKVTcMl;UduidUxF< zK3+MZLn$hFV$-kYEJZB{YxLV}@%-?WAG}fwaoQsC0bKLvX9Czg3|R~fy+M2=RIz^y zrWuJ*7y$d<20;)ZL4>eO7lCCY3UgVgK=MLD@OWW(=5jmvDw{+26TPtDOYfM_ij^wH z9TRX}*arRQb(tnpJin2Z8be8myQyh$qzUz}jMp#(Pgh*{F0rWIGPy5N`WU}mi_4P*%p6%@IOBF-jLdHlK!&GJ3;T3 ziAg2RRL@4BN)&_O69~hUOav(uCYZu%u&tfSa=6Y3a^eD~3!L>gd5gr zHRDZu&M98+gYMhWD5G<;VLbprlFA(NhkbcuJ+mC>21=en5y7XT0t#lmY+X+ek9V-= zJOf2G_u?_)45=?mJSbH~W|zOxL9Av!)tx(be{`Js&#VI0j>`othkW)Y9Q5`)ej*u+ zXI6}iJ|NSGJ`pO4G^Fe9i*;=jLA2=SU0jyCxDD&>;eTNsM?K*B@5&c;%3=**PR&tU_^T?4$Ls8DoFzZsy|M8oNjKLT8a!mY ze8{jZCEh0VfF>AhA8YixEtn%*7NDjHKgDa^?_@TSP^hxjA@tI#!}>dom5sko6k^xW ze+Oin;BagCd>>n$efcRN2V!vj__7(eq{@HQ3K5={zH{$L>^{aZ_e55n=E#tC+R9!m zr!?6ky2z?OimcBbpi0a4KrrrDnr4MKbE{6UC-lRSr!Y{jY9aDCZX3_g-G@f3#tMDT zc-k{31aEnfSN8q(3OH6dip^>z9uZUTzznhaYEaZUxly4fUewQ8r>77aAUSIPYkAbQ z*5kzni#7izZc|zvq>;>5b^N7e9yavZCH=Cn6!8Z`&Em>D@fR>pM#lWMf^7Mh9FsaG z{F-7@p6PKlb`tY7=TY&d(qaPy|6q!(_uX@^$)%zG{NwxM}d#)p0F7uT7i z`a(d=HxoX|$_g1Z9^P_uTTBQk7*caWq3O`iJ~!wZ^9>N@!jNMavB>Ym7+3vQ%up)G z+5F3(tRi^OtX;RO2e3#D#ppPu;iY7*tt;IE7@}L|C4vK%6;Wj1!@F z3Qrez_ltiC&Q+RHu2)?#s2%Pl7Zcn?pmD~{M;`!BhJS_XLQdaAhm#^*mB3$>rFLLK zcQd5PA`*(6-6ui}H`Y}LN>XHK%!@2RQ3kt19wYMOg%uaek z@j)eF7cuw)pzt_ zU)~P#ci(&6?mCNuR>NmtoRo!7=Te`BnOX3DH@lit01@*(m2g~Hm$V5$lXvO7-=WTnVo`HNP|msCBT z^lNiy(t-Y|HCfJw*foE|e9sMhSg8@8_UXs166@)7?jxqdk8if^B zxvlBcQ1CjVfxXN$}yAgh?&dbMRFG{in_U5US8O< zeiypT@WGX8Ff?e1%NV;{|C|ub!Y%x(I>sF30rp2(d?A7jdCR)i7mlxQelm-esBdqwm|ijPulhkB*hNL~9TNlv;swFM zjtdw@Wa)tqzMB0*Etr{;^d^ZM_!w+#*Qs~1j>Gak-45{Gj)iBEUj&@#euGt;zf>^K z;}YDc)1$GHTnEg?!UxPE4%{cG*=7~I*pJ?iG2KR5B)smRJ1vTzRlWYLM9n@fyY5~S z#T`~z!auO|LgZCm&b0H)21>O>s)j47Y0?p5OBELQ3So%6pU<%WBKafRXm0$EmBtPPBm}_>D$J-rGpLt$;c?LJxZegMp7^ zG2ORWE$xC?w$Z{a(d$a{Iu=F4j1x!mO1`N-!Xyq+>;DkJLnDY6AM`z4($Wx!nD8Q1 zNP&Ez1(2Wna%6)7kMA1gtk%;Yr{2of2f`Io;G`D(mFdDfTlV^4*-~ny*STwXBOWpM>>wbV#>Y`h8&rJ7gX z8A=&I1s~Rlzct|Jn-p`IUDU-FYQC5#9A{C;o1;Q8kXksKvaaA`%)$3%+B_BF+}xkn zJwLd*FmF_tr{>rFp(h9c?J;la7^$hQK@Hf)-aww@2j4KsFcDL)5!l9g`74#$@p{3U zf3Leqb{-~q>Mx_}esAyB7fVif-Qda7(9mVlEED3LOzYvx>S{iZ*NkB~`44{!3e?f5 znIcQxQW2l1R-n^(7zIjtc%JVy)J~$WNW8BkqyWlLFwwO#FSp6*Q%(dQ!McbWG|ci? zkFDIu?#LbM1rAfsRsjlDYC{sF%0nk+OQeFJ3FAeDIO~gJU9F@7U)_fM+g@)9D=N}U z=s^h^kWL$YrA@ZX)BV5pfv-%%!uGLp5k~O0<`0I*S(|o{uV6;|3MjFL4RtC&&U8q3vk@JKHiurWWu- zyTtWR#f2PxE94n(0eu-TZz@rr^BoK-oW#uip#zFRt3wa?;D(}A03^HO_Bnk*e3L^3 zf+C@%PHeh)yNc5@))(n_qs0V7REWhZCJ#}NQJ``+vDhi9Aapeyp!l>!0*Qcyg;-q- zHjyZw3vQp+B}pH>6YivWMMo5!i5)=d`s!nInqM7af{Z(!X1sSEdY{d7o-0a!bP(85 zJvH?g`$I(R{kB`omM@UphT!zf^NjKc#AJHv??3a{J}V}uV#zwWFzzm%poitMNDV20 zRINq@a;>2dLcCUqbt0{^P7X~n;AC@h1wEJV7Wbf@MXNMd@S)ZC^YAN{qpYS>kTKW} zv2k=B;Xu8?_nw6_?`e-b{Fk(wS+3{X{h%BC)gxFWlP-ARC|avZEa$ga7#5*GYV4c% zZRjXxN;NqNIFeQ_h2msm_#}F&5}nxIC^*D|8IaQv{EVi6g-pAG1oe%cP+$Q&!T!g0 zF#;Q^@G@Mp7RHaC#~V<`qemU4KllKz>U3RIvlKmbYPF*Y>`IzW6@n!RifdQd0d^Dw z(=7l%RY|!>xO203=uDuK_B!H8Ja|{YJ?d>nQ8YRG#>mGv`53{!U~x>B*`)8D5m~ZX-eNBbxSRu zMpJ%dx-~Y)cf0mHM4m=7PyVwj2m0L2CVFpL=4}q*3$wRUV7_=>7^PF`TbPr>BP^{r zeHiKMGt||bOpcC{Kit9E2iP(hpQz^3>paA`FIG!k$}c=);C1hK3|SnkB0`urBp(%g zn|k`&&>K+LA^bF_9OLJCJIR@ITvpqE0bkoUr^_}^N2^T2+Dq%GiZyu{wfy+s5IbZO z6)>B-aX#$Gj;EY;sO@WB!|Xu<7>M;tdbUUPGNvfsi@1Z7M#k|)efjTeyMgiVL7=^u zhG>`QZ?J*H1v{q!q!MWbWESzW=@~l|5<#{H5-A0RpW?Z*`Gr&)i+^=-yqd#CLI?jK zmQ;+b_KML8u_8R2F7+GoH`bF^&xj>;wY~s#Sjd3NDq0 zF)9~MDCKLz*)GUQK*scg#si$)rkZKF-#DSQ`?ow6gd2c@29eK9y;JBnC#`zNQk*=t z!~o+}i{wj7X=CT(t2_T*mG#r~l|_B%tToatr}dV6VWqq$c`>Lp%Y!gP*^2{~u@Oy> z^vlYcp8jK7U=|W15*n8>z@P%1AtTbs3F8|2jYGYza^jmm3^f_=nS;ov#FYd=8oLsu zIeZA;x}(Nr-Xzk5u;bmPKY}iAXM1@Cm#KRs_xsZ?c&V=LItLuMAWnp9;G2ArKSS%dc53=`7+8`KUH{JoI0^hInB;I!0&>(c*P%a13;%Bj+PCg$xRSPay|^fls$qBN>M*BJrU|Qd#5X@ebYMLm3%G-_^aNo9 zv!t`LfJrva(HqY*d3bV;ENY~{gicABjwAY#<(#XOWK59vc?U{Ym%~TrLVSenDR#*q z)vc|eYA%KFQ!^7y1Pv)-5v4?T;#Zc>0n9b|;@#wLYVr0pX^A3N49w9cAl~&rA1s2H z&7}Sxs9s8n$EV0>sDwIssgn)FmcqJA=V%7FR0cBhXw1B=k^2Vh&WdjK!oi0Evnl& zo`cU2Z5A;|I7$mDdE)BV1m}NS<~{*?t|I+pMip;~W3ss)#?+6DmOq{gaqwnkNQn?f z{`op`rwhV|SqJuVY?$B`H^tHZ8>Ayr~wabc5RYE+>hU;gva-= z@jF6$yDc;Tg8f6cvf?-&x_a3Irk}wAcaVd7=!gmoI%GtcuUxJ^?-2N!iDjM%2q^ZT z(BMl$KUJRXfb^TPeStZ`=0sqZ_6&MlNC!AgM`?ydbNc-zq;An6Svs)Ypy>6&0UPS` zBLsBk8FP60XjZKxJr939Tn=O7&DEj>@T~VF15J8hDUy3Ut=9u%ET^$a!HI|_gRXzt zkKDY{7|bbkeb3h6&^Aqst-QSx*X1AApSccMlaPl`P!mX9!{Y;o|2x z*`L@$V4*&q;&l%W6t@%vO$pEK-fj=*=Ht&!iCC+wn+LBx3$P ztfb_JqV#hrNRBVY5zi~hyo$cI4P6PTtged;f0XvPpCc)Apc1plq#mg#`>kw zb#HQG<0@l&;fqFC*5tK~uYgJxQV3@anK5MBSP>-iJAtzBC1RI!5*O(kRuO0r>HB%k zRX9Unb-ofyRql~t{<4lVHC2t!j$RoSGhNQ<&zti;-e2bRw1w@Os~)Z3G$WaVX%?fJ znpd^%>~z#}7iu1poSGwpqH3NxIa2^`B~I{R@3ugRivW$|FG0JG1z*~{<_OC^DT&)| zzMBqM_LM(3v?j1~FzJ^u>Ua?_W{!8uFTHhasU7RCv2YR(2*AILiZNV>!)SHyYp1LH zl2&++W_j68s6c63sMaQ)Q=xsxVJfs#@v@x2V>_2*Y@M0#>!NPlv$C>UEVmft_uH(H zRJ;e&jqm=1A4oJqV=4Li+s6!k%b~-Jbl^gXuRrBiW`>tJ1se+ zSvA(VqDF0x$UnB?QDESU6tz^G0^;H*AfbTUlaf zT{i-6v|q>Ph4J%~kcAQ1<7LE)k>r9q*SK}?aO-ROC&*_*)J!=$%gvx`vzhxE;h-C| zJXM(eVC12a;VsLyYR@I=1F&1^8>Ri#zp4Ka7n0P-7qJu2qTDaA91;~P%g-Mr`gWx% zssF=;dcA9{h+#JG$X$)U`tO>fCzL&gG$r4-Cm3?%^YFzDkCkm&T>SlJyh`_dLHicM zk(RY3G8`ge8`&yS-V%`c_tMl905f92a2H$6M$|P7T%3B*cg}isO-P5dJUh1iy!nbG zgJBQDMezy!k+G1`$spf_;;vn>hrF9HYa+CWBFFr$$5JmfaZ+ldl!sxFy=7@`_|{&R zM;arc>+9i5BO^PKEFsx0mjbz6))=|NPj=l2WnxPXh4&}<=H{pCa1^ZLuP|)7qUVqF zHSA+W)rlRO$TQDg49BCX_v@V&?kd(;MR0{Uk4KPFDz|FbTm1D_WJUG3prtJSH5mxq zrTCWQ;jeWfb3bacU181ucW&=)Hd>aplEkXLU_2hJYAI`#hbORm!9_GEyzs$FTBS*9 zjstMPB93Ms^I~XiTi~t4MPn> zvGGOnZ-3rcncEi^(*L|3RAk&)@N*BVt;#7_Vh#pX{}N=*i%PII(Y(Ao7a<70mxjlD z#itPI`F+rJjKmyWT>w>J)Bn?Pnay;%C!bO<92@_?^s#sa_*dyCD|YP2ylgFN6+O@x zHkV5NwEFd13$O38MSHBTb0R0uu9YAY|2A@% zoSc*l%^b_F;rd@ZeQD3dosW)`p7E+OP3D)Tll3F3qGGA~Bksj=E6U*yKPh~qZx91M zRA7!UPVV`|Nbvf?Ck$Kl>D+{x{iq}PeA2#9*w2P9XA-=78^4=O8r!yS_8;*noF8Vc?wwsq2> zJ?!2u_?~*%UI2sd)hkn~pz#KE{Zf8c8>Y*O3_}>onZJdAV+Yasy+V>$jAUm`$PTyp z8}QpVvt3WUj8bm63aCsoPndsI=CDv%e4Mui){EuNWS+JrQQm7ad>uGuXkeas&>;Tg zs{`9T$U+=S21#WZRjD-e79* zE#&e6LR}!6jzhNmB%5JFj3^JUy99&}c9`1<>r}Xk4k!m~|C`mUF#U`>NF0Sq7%z3x z&ZSThn{b7kQ3QVD7oEl%uR^3NbQ`kKRPCSszQ`{?&>e&f{r-N%e0IkA?=dQ}luiRv zAPvRYc|JU%2cL<#=Ab(#xb!W*?1)ug=gJ(=OCDSs?@53!x`&KCQaNe2xr0$i7@Mu9 zJ*~Vw_AZ#c{U10E9pGD=kMt8%gCR6;1bZA{t{JxDlv*UiVw~FS;L)a*;U@_PH0cv# zM39nBuRgHB4MTjhvj-HAZ*OckZ6Wu*jqy{tVEdkNOF|-}(DbibcBN zju(yD;a^|kl#=nouOjKlzxd~O_wx}8&=$P&8x(TO?jN~fC&4(f^Jb9>(JA8zsjI*N z(QwuLxUp3k49M*9$#RC5mqgI=j_rLoVeatYU}y4=2&a zvYkHvQ&*AkMml8%dT{=^N*B2~eAI>v}%jZI~L1=N5yK z!8}{6oBUig%ZS)RYHQoVEsVhce64DE1i7ucR#H4sJA|)@&8@Ke8;rE1&X*w-Jwwkl z;c2?Q77+f4B*7zu^w@>L)gi8|08VHsst$V`gG+WH2?I1fUzj9 zPkQO;pI{c23P^K$H4oS>_EutbvO1c9+Cn0ik!_fdL#^*PUu$%Sl+?Dg0 z3-RmSYf(?_8v$mrk9LAu^p=WW6?;MlowSQlzlMosAKFlrko|sZKAxMTfZ_W%%#&rT z+KiMl3>BENEbyFToRm#|jHy$z7ZynIc*@L^CJg|}vSEo& zOL6ncXKf_XlY&y*a0ar@)Cn* z^KwPZd0yT97R&7o&Ng${u9`rwvXo}tT3AKE{43@FwO0Iz6|0W9K2G+H=lBs zH3*SGszi8#xj9HTmjwmzOX%K%^V;_R38Ct(##`X*gs2yliIjPt5C7 znH-nonD&fAQ9fY)2!N^Fs!)2R3ybATpw_QYx!NLcIc5Sa7hc#OAE3w-%`?RaY@FtI z^b}Yioe@cAH22Im{^y?&W1`#j2@H+6@MT(Dm*yNDWR_{c*qNoI>}-{NAc@@0HRBko zW*-artzc>QF6>cg3cYckL@JPdtlh3FIAHZ)F@H?b(Vh~6a&x!Yzt75Z!w(ML=yz+; zDmF}&{`(4id8Dph*``%H(yy%iB>{lCBqtIQ@I_zHU!ialWcjGV0yF6UTja&i(#ei} zRY;A+Xnc1oy`l`41wop*>w@QQ2Edv=EU`TEHYBTwF|jqgv7eXkZ{VCiF# zdI-A^h+&aIhQwD;u&i_t&diF3y?WqyTk|hJ85xr?==A>c16>X+(?s@+gG63k>Qsot z?LU2% zPc_FIMq_K2$nD-HAvX_BJIR|wwuInzp9kr#|KQR~37FY^RAb23OM%rn?>-P)ukEY?X*pZ6yKK^b^Q>683rt_tiG`ME0Rk1Map3%2AnOJHGgHv~Am*1REj- zERUOKalu8pLB5}8MiVn$3R81Ru6yaXqA>>cLEYRtQSyr~FvwykvADr-%31{P?jbF^;y ztux9lI)+lyLYBQsOf>$valAsS1!!c3<(miGL;DW(QCvCe@hx6OEEx?TNGy?2%9ycZ z3OPn0$X(g|&aVVX2N_?h?cpNI=6%t!<3(Oy`z2>SO~vS0w7;UsM2?<0MIogV@S)ak zy_!XunrQdj*0DFJK;kl>8D#j46rnHFph(Nvu?bZ5H(~dFex&qdXMRBTO>l`7!PA_U z<=U909*HtSn!OL5M|Vn zkk{s6K(4S3CyRLSHmvK+IL<065hA0Kx*X=xfX{h|j+$urVC4Uji#t303&li4p~@E2 zpg1OFi2-Oe_C&wfpn1liC@Ct9ZVC=@(l_?sFg@ISj>LWg?VCof>OH{2LhRq1^4`V8 z4%iIC^(bdlNVtoCBi>9Tr)x_`W3Aje7Fr-+7Z)k%E?Yx-o3Tk*Z3<72Fbdg&`dc~y z(l($~>j(6s*A7BwWM1Myqh4%}dYNcTO4Z$Hc zR?iyoR17cChD14L?9mf%u>mEltJ2P266W;toG0{hm)f!eV@jOb$y@%E%H zgfGYsqNI`1tvbt35puD4bR-$yIM85vi8ZhFz;X!!{jYQL%1jNloH$b zSSh_3AjviQ;$#1cX~ti&*#1yB$38RJJ{e;$+r)jKqKb8hojydQdXK*Y<0Dv!3h;xb zhGGq99xM$g%eHT{7KsS;gm6;ItiD4D42t#m%?-$n;GfB7X-xkb_Y#Al{gq`fo+WAI zjT<6$iO9=IJie(Iy}9BrjzOd6*iDK&A@!<0|d-d9Rv?J5hDI*QTlDY8dN= zX1VLHIib~`Fb?DhoarXchMK_7(ll@1-n%Xr)8sQo#=wJ}cgkN-f&PzvK_C8hhIO95 z4j}(+`UO}vWGO{3fS{KKD|0oG>9vCfSo4>HGcf2Ho4r-(y{&S*qykm|a>ofD#U+yM zsL|*9K^Ei+p9v?(Lbngy2ZvT@af7(#SxpJMS9DSq120kpgJ+$4Y?`PK~K!}fwMlX1$j-$dMKrd`5FL z{4BBddNOtg7x!64R!71hJ()I;L*lukb@!vb+$26_$)=s^qlS;Oc6Mi(;E&e;1}+9& zt4WKKWk#rUcmP@a*MNd^23}B&3aI?^Qp!KaUh{9FqmDb(?$`7QQXp3!1MrEuzbk!T=@xD70kkJ*Fy=OfG1)W6g0 zl;Z?rkTz9@FLL}V!X&v$vjsHZe%jFQ|RB^ zTp_dJhXlL~&zteVpCyEv#pNx@hSW@Jdr?_f;`Mm`>rN{|9teFW7&jE=(|jr7(r5o= z8003AtVUlkul#u=;$}fRJN9qWU`fenYL=I;2r{K#;4HV@5PnXd=c2>Xlt#sGLlk_a zh$I4BYo!?YuHq{I;KX8jg4`3UARe;290gowl%TsOzfmlW4p0!+iC1Jwr$(a zndd#{e3~DyXYc!3mzKx}=p_5{!bT{oyO;G01`f*u2+8zu?1%Vc?Si{L$-u<(B4eeq zZ4y^n&;ArhY-$_iYpHSCS*I|mBIh99N?e(FIBXeYbef6sr0QKmz&14f&mHLwrK#TF zVCWLhT&T1A^w1@RXY(D#PxDtYOpfJr-2PAWkoWu2u6Y?{R*fK z1Qf__2vM3UQQ=p;o>BVr955S3y6TQ67oblr6FWH)0-BHV_d1_KzL9 zpG85rq>SAThzG(FwI9St%E&JZfD|lPuWtiEeU6rGh-`}OE!h2fS}`LC~uW0 ziS-ZN%U>QGejP)J@I}FwoErNXbB;5kvuT8~m+^ai@mqeCNTyWqv zjK7SK+%O+YpOBqMq@zF`wEL}a=Ec`bLtVs7H>$5%VOcHkHKv$zGloo?v!AzEjR zoTuyFW5-$!(WU}dEiIpOb0JJ#n=G4>-Jd;|_o**jzb2U3Tz?}BocG~NW{${9gtoPWUXuQG0FZro-mLG5j{>l zDtB*fqCb9C<(o0$fLou1MLK4muiPDGVP_DeEqC>gbif6AO{G;#w&KM5M_>-et8a!@ zVRd!Dl7R_AbnAvjh8(8T58UhSe{;50BUofsCi!5-&gT3?uL{)LlPTOJh1+;A zd)E?tzZ@TfN=<1q*}SfkX7Y{r(kB(sGF>Sj^1lGvHq)y|hxfb0WiNz8&)t#)rC)7D z_p%Qfdo~>)TnG>qUGnGL%+?XfbRdf&K<0D~1y3xm14x4Dn8tx}eH9Z^>M+%8waB7; z8uZKN( zM|k*bw1{a3Z(8(gWn#F1BV{&LGY7iKS?n}X@3Q-GbsvtYj_7uT>S)7JOgam+a`JC< zRFlU!cIOO-I+!q6-&KH1z29)EXg7+#I(m=3ZpRQ1xt7wBxTtO^@0858@qxsWN(R6Y zM*ZIx3!%U{_GgWRIl7t7mN{2AD5cOv9RwDhe}M_zl2I;D^h<QP ztuYawO=$&++%HT{Ueo-;vxDb$2MICM)6<1%@NBf{4SKei?(Xd~_3axln+?1_^|Xfd zH)UQlUV<6~P*-<5#|!G%Ts`>()L<;LJ;5T&on2OqAf%y=&&_NX9J)P~|MMbb){1#U zqIEp*T9Jdp0_(W!#9U-MkpOnu1@4IsPo~6>D@@`)cpkTNVh$zWK;R(@7Ii`!Y_%O~ zRZ-JF?WhAa78HKTa!jc$2Kzfurs>0;bE~K?U>dnZ(Mc57PRUT-cS-&PR0MM+@N~IB z@8@xpZDvgS6id^6Y{ly{lk{<1TG&F9!SQ2z`HX}ju2@q6m!XS)y!-`q(&fRR^FV^eV^h9zD+Z1g(#V6xT z)r=bBf{Ln0HO2XD0qTW+slZ?1&wmdJvsKCiP@;das#{ZJ*;2?=3PaFIcAp@&( zzD*Cv%MXDv0$IVnfvjLKQ7$fz{FkLa;~O>hdFT%o&I<|CDA}#ChHw=$OUwja%se50 z@=H27OSxHt)Kgg1hW2r1E1bN%#jKx%V=({U3viosW}Ay?l}5g&WRNAu4fX6_$FUP) z$_aP2c%xI;u4fux%fuD7v5ZmB@&?6hgMZ^D!1m6#(b;+5)Eol^CRHCWeW2p^JV3aL z4CI8{dIoT~YK#-R-$ht1Qj1&*nXCxq*GEkHq z1W&9H24u7lCgNivH+cSx6Z-}-Q}!<)5BldmckM(dCzwRa6$N+u{GixQClGaYHm8H< zNKpwxpR{dL+Y)x9|9pPwS9WNXM8Kl>VftqKYP~C>hj=nz%XUv3cb?7L1*%z2DsT5R>R<=KM?tpYr~ zpwP9N7t%{sQ0Ji7HIZ?Ugvm>%E80#s0-pY1{|y3r_hg?H9=?&lvlz#sun*QEV~?Lq zo30?Ot@zLS0tLTAL*Is&WPEm!$r!xcp@_rXFW8Hqsr#JlXjM!up+b=(J+T+*n|yG$ z0pMN`*1`|W?uK27=?o3#Q;4zJBdba-tfAr6J36-CXw~YM79lX8uSzX(cyTKsz^%D8_ zuQ+YCl?cAq>-0xEecdwH-G;x2iUF9QzJafoHn(~cr8dS2Ov)yhbp}R;xW%Hh+W|8) zh;xU-*_%NO-U9^#=;<>&C{v+(>T0$~Wz!juMg6CTPex4{Y+Pb9xw5oU9AUYg)9j)D zjN4o4-gcDCc<;U({p)D&hl5cbq!Ns;Li<3663wqMx~7NbT9dYz%mJ|%|C<905pZm7 znJ|L`gCkADS;zrYZ`!{zh)?CN8_+Ng|4gExi?WP=Assr1O~W~q@gYBxCY7p^YEEHS zcW2i|Z_0vP&bMc@pF`y22I8atMaMgyK^x)$S!=^6^Cr;2PN#?u7g;c2K`Ej4sD*43 z-ZXxY`4uymefJ}v%%)`S|12+2B5I8(1-JN@_(TWE!Qr7@iVY103%qT{&5UOx($tKx zM}Xxd0&rl{jyP)KuYW9@9Gdf^8oKxR_t)2TOrn7dNkzpmvEcDsvVi=~gnORb_tbe8 zv&YK^sG#;A&#Zh{$etE-XxCw%njNH%82>Be!9k&=dR=ZN>HGP~JpPN{;HQML3<64H ze<(tpX=V$joVYLLsI$_a6N9qg7cb=917Iy3V|Qhzo>X^0T)&#Xr@3Na3>Avg5MlPf zt~dyv45twymvjV73rW8snXiL-6F}jo`=5)aqsRC#cWj^vyFjG^G)=XZ0Qe!oYO(fl zDsMqh`3vCWFa(P?m0p^`m3IhBVCXN0)VP9SQW%NNJX^s;@3R+pz|rqR3{WGM{-$r8 zaj`AKu!cZ73@TjoZJa{r!&02XEKe#jl4y^__Lqq4`V~7KJd|!O?mJ7hO}fNdGsaed zKpd=cPl$7wpHR{)sAzjrg@+V=nE*S|Zff9bFaa2S>pf$hQ7auZShkpt#>%n*mhW9| zH%AN2H^B9e(50O0ZwHs&R4|vG9k%)U_F}8p{FpNGjCXRMPkCpkK4B2x@&5j19Xc3S zxunJ!RJ<_))zAGHbPN|_kY$ARH=2Tia|AXW?L@i7DKzmWUI!1TpWW8U@9hCHu562B zD~&qUL_4Nn^n*%yRK==<9upE0+w`P~mNfN-SwjHJ-5Xu5bRCZx)eXfNH(40?i0pt% zuV5pPaZG7T{Mc_9J0CgaN|>5;SwD8{cVxGgb{p-2KXPw^4KQY~Hxe3DMc^HbkI4{0tbwq*F9EmQDb#T?mHQgFe29 zInOS#S<5Z? zqy=}{o~q*ibMK-GZ0u^^L_;N zrCaOJihoEPnOFxytC+iOD*K>3dGkH}A({N?=@r!TEJ1W8;yMcYz%|oP*^-Yt!^Ad^yXN38etkvj%Lle{*g%uAX7itdc5MT=+>9d3Q8ilSr zN?l(t72+ullA^r+ST5ISd^kj_7o_092zw>&RaPJc2d4UkZ=Q`#D6DR0e*;NzKMA5r z6z9?gNieeY?|;6IlS~Kph+^f5cTe)27N|IO?AS8#K{tdBsD1)pQ}66 zr(nkY#&Baham`S$e@87++(THdWz+>*J;a4Z68!`o-IlIFwybC0(prSKYZ(DA9o0?j z^em+4B8LT(W;RaNV&1~bDRTNh=O`a#qgZqQivf1lMEQlbvmzmNF7{o#g{;!qk@|uE zSMp#?FnG1(dtYb}OXV#++;BbNpplw1{!*=Cq1XcvKm>OGmJEEM9F%K_qdsK}X=Z=d zf-884Z*!l)Z-DyW!DUc%mGpDuBr$0xU|%Tx^TNg}{oLpI0Yf(-@uK3+ds7jxDGX0I z^B&OpHA-)oB--tti3%gyBR`wq1!Wg(-}?HvR%7^4@iob(EA-UXvi0c}#~F~6GODSc z>~!BTw}*nvKQyUdf3o*mA;2Q~N65FXdIDdMnODVQIhbhL;La>L*GAinMdPIGY1rt$ zR%B73U@yBo$eAR>ib$VTOa<_;+xz`=inM=Rpu%>W0Ud6%G|ip2f?ORN4E2rXBaHwg z@TOG_1^rHo39JVa7ooKTg^;4(SzH);I(EQ?jZ{frG*W;{?*Hr95<2}aOaRn;9)%m{ zEWN>CjHE8#AEzp*2c%Bq;sLK*p!)+UrC?!RGD0skVwl?bJ*~TcImQ_v%Q9eQQw4Y< zs8W!8C>bj5vS$mED+o)~Zdyel;Nd5r(?GaEg@(DZ6oFFOl;nAwhF>jxJ+l*Vkz5Xw zhBZV9NrT6=z8uq=lQpe;SM<7#l&%d2=k@jkq)U*nqO0TkzPFibkb#XGN$7o6 zZH6g3$`wuUzt=NN_@!V7IT2M|k&xde$zQ2peH+EKh=Bw4Ur1mCi-NI>j&ND|@u$Bo zYfi$26DxW-h?pd~GiIxe-TXB^rnZe|mpR4I%{KYWU8cv7NwBkJ-YX9kTkM$6*t)PU zyOVrYv}6?s06V^!Ab8IVV<*IUVs8uv2HrnZY=}Y1M=3E7@ySTB z9V_Jr>Yn4(m$1oQ>d3s~`V!Ypw?D*`A#rvp%$H1{LoHbZ96N?rYSc6H$=EbWQ?X|> z$o*Ftbi4|HTl&A1K{=eX^{_jjh*j6iA^8UXQC8p>(-iv(6%;*Y)%IwAQ=a{++G=7c ztdb82J_-tSK>}pz9zdrPinVPSFpS z$7v9&GQxa;cCGCQ6I%!i4|4hBCd+JV;FBUd1U|gswn|x+fbTP26B8KEEMx4_PU89{ zGRg3_##waANlhyO4L3TdZh7357iY~SeB#`-tJ7x}wq4uazO&&SuV1cIS$Xls-NWW# z@a@O0=j9}trcIJX^xvOlM|dz?Gm_Pf<;V#J)KgAJP7J}PCxxTq2vi4+sApbiv9ZBX zod`cP3oHrNelUaoeMr@nTXb(l-^}qf$`JVQJ{f&xU(zZgD(6DJbz*guXWe1~_aLXi3OvczW$V~ z;(5NWB8d3c8^4I&@^EqK4d0C=Dl8Hd*qvoWRXy-tOyX+8S$Iv5#s9CYA8Z5Q+QG*p z20@Mf!9kM4sZ32IRlx!bGxIg!y0c%>P&MkpecHXUQ}LlzX4xjNe0fq zy|g{)RoJcG`V3IK9smJu_hf$sfdmh#_b14GRXY=Sg73VG`OT>;-e-%+Y2UQv>$Sq< z*S23ORIRvqnz9={b)@d2Ya6!G!j%Nb6j{jFf#PK}H+xAOs$UBo18&B2ubT?Ti+*u`F)e_)H|G@YKir- zZ*M-(-8%I=ub)XtNwe7ohzEhWx$}e0@4|S$ zIanpU(%dOe9Avl80N^8_K+*KYYhvlf$2kyZO=77B7X4!Cz#G?oa?l}$b&7~EyN3?4 z`w2xQ{5oh35Z(C7?YfF_*r#3cEs<%-@Va`eX}$8~>X7ElCYSZ(M3{vmX@dpxG<}S?7xrnW> zo}KNe^T=oO$fMyaEV4v#&;!u<=X%XeaNU-V5S?*Pp7W#oR^Iv}Y&RU{q@Wz)(k&ME zgwz4XJem+@$pVWbpys>F!wZSkdinAGfZU`ScB*H}t?x7!{kpi^b%}^6o5Ivf!OZ#n z`P$JBD*yBj!pB~}3Cpn*LFgW|54iz?0n%7nGW>JI*Bpt^@-!s=(-P2JKkFr-_*k&g)kK$3;Ae3Y}NMga*-wukfF!{i$XJYGsvwzS9_YG z-Ta(_3GAcC^IFsMMW=t-a+D5#Yp-+?{&iO`AH%D>GpNWHf%^e-1d?B&{4mmb?-iWI zeCcJjZhjtY{K{r}_l4m>Fxv}Eec)>PuR6$*sq#mSm;N* z){nWWP^#x7;dYl1vD?hc)d%Yc#lds*7ecs14zS1@gD$ddlBU^Vokz2CM;4n6dIsuT zGVE{i@Cmu{NxP4)6J`AXGFB|~cgcDya~eJF!*z@)HAc<8N^v4F;=Q@L%NR zv06=l0Z=Z|dxq8-1?^wlU8Nt{BjMoUyt#D z(a34q>=wHXyS$5;i|i{m91I_B&}`5>?}n_2Ntd92+8)l~Y2As4P@1tLRbt8ev7EFh zpV9omX#Mdhvz$@_b1;WasuIplV$jueRKD&gV_iss#D`^JOQq=M+W-;N(-oEB>yc2d z*ZYmeI3BxHPvEVfyT5P2dHM`FW%BTv)Li4t`}KSFDCr^MZ;+r6OlcD6L@=xa+k2tr zWAG8c7%o?0r_p1(CYcbQIL3I?FnYMd3(J}-g|}$gVPPabd(bJi-g^iWg}|SVD&h;S zqtq2WRf-ceZBt{_{&Ar2EsnV+)c{D3Oufyut|2yyh%(vYO4E2Wu;%R}oc`Jl-xM z{N6zYJ=MCY9zz(76L(WTX363VXIjgV;X8hXoe6}Mb%ol-67)JIOn70&hiZXVI}=l8 z^g=R%Jjeqw23@ws&WPc69yLM2(+D=-qk}5t1zFOP$GSjas>IK!J_eA>udh_xU9;M z-#n#@pX*mBn~_Xl%8|JODrEtk2|QhNbk5Ds+w6ZG+m#}3W=E>sVA}JO7Mu7v^rw>U zqn5gvPkvvi^Mjb^Fkd%B6tG%d z2>-iLkapbhcIe0|;5+B^Ct(>F7P-FcDUvTNcWn7tUFyoTbz>5I$dl1KgD%&|H53d7 zg}Iw={qkJR@28p{SKVj#?)?Y6G5#zDjQz2``o3#+Ayhe*jan*ikk8~vOrB1s&jr4q za~Ua0uX_C_t*UeOcH`k!%HVA1BSNBdPzA_&# zSI0WIh?KhMzqxw+bYPsOTrvt&BcM{AGRT{USbDD?%$8Mx5!yDua(@kW<8%-o`{UptCbsP%?9 zX)PLAu73|>M&Hg-Xqp-ylV?cLLn6!j)naV)S9DH--j=?zt)CQBclq#L!n4ac1*g9S zX(X!11;IhC{0Li?bu8*)v0QM##gdT3W>j$ZF(8yjBMBUgI&yJ--($BNqx!!X$tq6TL zuu>yUR*eH?kX9R)ktL#Ih`W#bWs$xiYdfdpO+|5(1$CP$Mj4}J^6dLQb+M=vX3{0; z>pk0vfpbKZCuA&_rrg;p~| zH`zS(-v14fHR5 zt5Lt-s~s^qlQz)Cq>J{;!i|6kK4VG?T9y+YId#>wu8({#mE))A&*s>0cmf+kH{-?A z;f=Mj3z;t-8(iO;-?&$Qye{3@wQnz)?1bb+st? z!@8v}q!lxQuJ|cv-3BAKC3YcgLzKTGHBXYVgy>PsOHv|B+=Q<4_l<|i(h-m+_4wlm zEDV$f5jBr7qGLOnT9KTKnqG5o@H@`$GkkybmY)kdIvvfKQ>6Ia!Nc=zRl0%zICfn+ zs0F>&Q5?hG#)y+1OZ%ol9-!<517zlHmNkscyvDy9$`9QP+&SLedQVy1C}`;@sA|U! zsD+)!-n0qGHe7o8@zESX%5h@OxwDsTq97qIDHoioi-i8GjFqHt#eEIulwL928!G{? zy)@S$Jpgt;E{6t&`Y05hi|{h%g2nS$QihYfExkzqJW=w!QECt$MQB%`lDR?sUqIH} z7M_ob+$DtL_V?Vr*GocvbvT$);hVg>Hmw*vB^mp$0ISsn*+UJ@k~J@EVHyJUi9sy8 z!hO@*NN!nS8YAHZ16(||%~x-Gd-HRCsT>7V!q9d$C(X)uJBWFsqo;6~ndE%!Fm{`! z6*Of_wV+2Kg0-mlrN3tD8r>YH7NI-8KQ9~xh`hI14Fry|s@SHoL?$>wl-9Q2P|V22 z#okL8ySvO0PFgIc)^l~Jt!qP-vDj9kHyu}desk;mcWCT?_<+}ekaYCPVC1=nZl^(b z1EG^Bd!kE-D%NH#Y!Y;b&Z0cBZ>vQnnsGbg`urJQ5xslLzb-P~H?E-UJL`vxf^kCw zCaQ}ax@7l>YTDk1u?c1~{ z-DU6O?0X^;qJKE*bw8W3@K||#x*2V{HN!4{A(c;DCEQOoG}6maU|_iLLwg)bFiLXT zOu{GG$gB=ecP69AWc-q{mdr}ICy-CVnn%6Wdb^vByWwX-4sL905PgdJ)`E*KL6!1} z+sxHffR$J?etTeE$P9E*v$vx_VXmf|6VjGPp$ykm`v zU+NF`4~b?ozMlmi{^m`2!`XBJ&lmW8VBQz$Q2bn={tuSzm9H4RsYXr}_jvT&Y4&?C z&Cc%%+Kdc-MSd2ir;Th)y%`tK&y)ZcFEg@l;PbTM)XmF%U~blVM90ub>Q1Oekcq z8ohFxmB_8c2aH>eltgHpD0e+h{ER~D-l`rt?6|gvAtT3>5tg8A5|Nm4_S0BB95KUK z)$qPc&0g7gE^kZB;9quaZ8(&qJXzR0Vk+bvr z*l0!QZly@A=F=8mS%FcKBJP;^P@$KcjMW2hr-B1>Ta_1*=y5dmtOnD8zaL$r5o!L) zAdeMP0eXy9J2zXYU`!rQJNZcre3(Cf&`P_*oNf;5pZGJEbR_JhEmXp?WG>Dx$eqYV_Ek}>!Xr7cS>1OH2o3bt;0y~6zfe7N>C6wWVRR$XPNlUL2 z;P!-%wL;4>76_8El z&Lp2aB6^^-UzUr!ZPi%7HdQl@e7??Lxw{zwMaWzfcEJ+X>{mEb33i)B>%h4JIGJ&|HEV?y+YgeuDzv(se_ z9@9%1R}&3Gfe7A=My!dugL?MHacpJ~Wa~~+{80#Ot&~7O&sIx=bAr^p|77bwQ%4x+ zwW+o1zUtomwdLBbw?ji(FkGdZdSVeQ_+Dp^ot8Kt_6I&HpJ+SiK9xEb^w-__$G8NW zUIZDKFCV9hl)~5+0x7aRqdECwii`uE%o&uZ-9G5V3uvej}%@OiKY5-D^ zM=`7mKVPjyW4PLX7fk6Iali<&{@eL0>8ra6KNWkEpWGVKq|ny*Uo-S@PoCf^8aq{# zG5ABUj>JK%i{tCrD5V~tQPE^5aGNZ4e#2R@Ef)n>4u%yv`d}1KiHvcbQ;R-S+M{EM zkGfb1Xg0O46!ZdPHHBd~AB((L)*MHpqc9T9xKB=UA#6Ej9Q|8lZn`ZfgOyRvM;SMS zvOS8~!#+6vX6CttU=r(>{LYiuG7;+%LimI*Ty_g3+`ZzWpVDKSiCHwKQf#5mr3TGv zKhDoGtl(Jrk^%pjHhf~ljjl};GPb>K2DWNHnm9sYh8DzioOr%}k@)#ZE#6sLUk$Z& zb{iCws0r7YNjVari}sD}1V)#DUY-b>5Jm@2hgB0ipOFRES(tmdQto>VbdH5g1veP( zbt#DxN6qMPUh4ZUgf3D_f${92yT~vkd`>CUpo=DG7Ar31JyJ?(?(&lMjYxq#hCzf0 zD~=F)=(c5F(y^Hu){ae|F}FoPOzC>e*bxfYi)pmqz|DNNzRmA@Vk>Kcm;;0xA{YWY zQmV$bd%>S)jhax;%krEWFV?p4V%NP;;4nZ#T;R8C!X~B%vX|C1tM({9PhxG7?k<|Z8*I(G|Vswg1eu`U=y?#I12 zQ%lK~USDW`8r|!%4%VL|=!;}ciuweaS<^F{v9nQB9!(k2N$0&Es~7@c*cE+m7l(5{ z))+Ca{=jv;bCvv_=zTLAo|-h>$%Z+XsOsYG#Z{kfrduQjrqc)s)j1xj7YAL&4Ex~0 zmm-AXICCF6<>k#*JwF%RIxDSxLxAdM7)glboqY6|!KuSHUAU?4nW{z*bUM&b+1|$y z-O^N{C*6`vpo9cCZVg_IY3^rO_705VYgWSnmZG8~e>xng+Dm-Fj#oV&+`^ft{v<;! zyy{Wx@0nG(d0hLw$511OTeJmzFty?t{%aazOoW;dAhKP*ceiuBbG>nhos1<0f80Pz z*yND8)Tk{k^B+RGj)30O(h|g&*kkx~g{HN6ALPbuNd1+o7CQ zc@lYHR#|ETM*E&SWgC%rE2reDg2+aas+mAf##UZtFdOb$Ph9#A%HSIm8Rbx&kCW%% z^&Yb`cLllMZ@)M}aPqCId;2GjQN&}7lP}c>kcdYl2>RB~O%7;g8CF}s@uOU}te4lb^n>PM^69f| zKWE^h3gloIq)*C`&ajI$p(NNb;_Ac;w1DBW-OP+o_s>4LUd`!Ci`SVdX8TgQsPJ{RII*0O_7 zolHhnB#fg*1PY|q*Q*R$&Dq{A98%5AC+A!=ebHHm>P<&Ue38Pf1Jdjd(ZIObDi|py zCXaTcF*J=)?m|FoM@2})jnToF73fCEN3oK-aJz`J5kb&nmR#)5m_&+bsy6L-6?SAs7YMD$pqt3qM6lk%sjN>Nlx9b6 zbEp8_q+~O@laqZ-n=h#heEm2mbf5qgIt_KcS{n<)>|3LF-L$1FZGw~UpQLyY>q}wf z3D(Q{z8L6m_&XWwn=#uL8t#4>^v(xu(H4cKZAswk4pa=a>R$cl7|9`;@>?i{gL5x! z`v$I8sFG)#O#y1@_5>n?dWlkKkK zu;MY8uvd(bAFyNcl+L|<4tmO=Dur}~bfbggSQmDwARbnRIX%5!g|K&QZ%-ebl>|;N zITh>Y*D{HoLQAqDsTvV^0bQe~YYDbi!Rb}1r{_Ie?F2Ot0(TnX^f~Dif|-=(YZ)YH zYwA`CWqQFIOW>_o(?RtzKd&xDj*gKbu9SzotHdQjC&JA=Suoau0H(`y@=f76ei}q- z`l;C2*5QLKX1w=*yghUS9u!tMFs>LnSXw#hWSwy=fP{+dH;q;XqjzIFJgNBN4#E9+ zA~a&xakqU&ciCJyn`qDVcVldB4vd^6OU}l#MYBy8)xIk~Llb6Egwm2hl64qJa|s=$ zeXRb+42V0}+!F0;l&Rx0bW|A{z}Y$|A<$$?;J`qf)cMzsaTxRklW}lYxW6O=e5b@y zRq|tp4A%C}2SQ${Z|pgti-ipCs0zeB`D{rqFlEPkIjaNengnza<`hZR&9522!DMEK z%&T5(-P%6S7ua2{qBx|b)(SWkA7Uig4s?m$4WE^XZjI}X#P{LzJ&{Kp<^FEPkJ$yIW#oU~FeK17tiNwr1X7I=Sj{@W@Hh0> zpSe%CCVBU_hC`0Un+PuEq@MBUgF|J8Os(z|4!fn7UU2>4(tRNUL~UEi$`lL%KD z8+JZuNA2fvp)2Uex9|H(NQkuj0IS({Yh1}YHoHZdLAgcrC5Sd2BVM@c_r8|+phhr{ zW~DzZCkNi~shrz8SbeLNyz>knEMuuHKFFixDw+A<<70j?PM$e_qU?!M3VK}M_M7|r z^pBU(sxF)0(X==B`<+8?Hl}wt`R|G8&|m@uFtN9mw@u!!zunQLHAyErpP2}gIa;X)Rl%>j40Bj2%ahsSMV-llqL zpOFT)E=wobYhPg-dqA zbE2E?`_XXAEr~j=buVPn_ZE|dWD#Z?mm>w%OZxov(6#*lF3Dd$+zO*uwRE4h^)!!P zH4}euJ38(tA`BZT?@lWd0&Zf_SuvHU7W7Qr0F#Hymwe`|U)l|Du(14lm{>t#ta>Aih$$|qTZ!YN3 zR^ND@tNh`TO7(AKVIb3~q!JGBM=-#U$T!dGmaI@av+X7+t1L>A5_)%u#Fxv}m<{6} z%phs8L^^(i`bSv+Ywj}2g!i`{twIqTWu2+Ee!X7F+kc6MMOq=g4CzJ6vXA^1>fXUk z4aGa}sA#~8ZeH)6B4reHbDCSO#6!6|HC|$TcsH^t`Jckv+ct^p4iV5IXGs)ULIi@gA=jp8M3&*Ve zT{(}??Xaz8A;q_yohByyg8ua^PONrz6doS$1iz9T*S*zLD=)4;;#hl)NIs#L4}Rj4 zAdJC)Gt*mB-{gP(+RlReIFcAg_-`hI&`}2IJf4&^s;oKnyr?fCxbI*xqgoO!W$mQ=cuiTQ@qOJg&2Mc9&; z5y_hyQ_iyLlRuu5KqzX)M>*z-Y2ePpT`8WX&w^KM`S^xBTXY()6oRCh=@eup^Ko}q zS;&RZi0Po_;~Oa*_RF!Qy9(*ZIVp(Hg6NO@q3YY+y?Fjm@dnY&c>nA>y>z1H;#t&t zZ5R_oA6ZW0Iz`xExw)c!KjDzVi+^{+JRiFKCdjUtHzEAa`e(1;f|URyr}~V-fTQQY z+?LHuzYlxojFTor-e#xqRl5RCU^cbx!_ugNkh+R z(3C~(->w=SSYshtIFfP_TZdXG;yoiTngIDV_br4J6vRwsUFB`wO9pvABE#3G7mF}aiP@GIi;-5%B&X1dom)?HEnY;60x^QL3vHxcSp1bDW?&*&Z*%kI zA#rh#YhrKsP5LgWB9JvTaCAMYz=#d2bR77Wj_*JN9I!m`+@un~c%Zt3DNT+BHl7~E zAlu`^juGUu-$IKqH11y$rK${-V7GY6L`)yeKzuJ}4UxnG@W^H+mS&2I#;MiI$+S60 zAh>hP?8SwH#NDSVdB|f6u0I_Gv$P~0Lk@irmj}RN#q9aY-{2e^YDKfNBY>Q%h6;$< z!&=?mL$k&8TazO}oZwf#0%7+1UAHHrI>jKX4CJ+@tEVvXK`Q2Uw6ky zF_A%+=6hfS0Naxm=X>bl+&PBXE7C~lIw=$D0fN;(uELPv_AaqdE@fI~UfQ0wn!6*R zD^N2GWj0FtR=GMdk1cyVNDi7tfcUyEU4O01@FkvX+7I0Kk&3$9DZz6TfYQIs`IM|?{29*$U``=U zIWs}{sjRyie+!;sQN&b^*dTDAm_L3&)~DB!({rkJ=con5 zG@*DcA8+H>hZN6RUSTK*SKskMUU+l_y~$^wb}vvIJM^#&#wH`E0Awyyy*N`(oo57%I(-d7mk1gJH@?6})nQPD&1`q2b zRMYJ}RDfPH*CmcE(6=blL4i9vfT_h8%-bm5cf3D(C6#IF8Z;04YH`7jPso>QbN^C_ zQ^~sDzHcv?PgfiseZw!DGR)Q);s_?e*%W;?+9|+}ZcD2P=GG<|#5t%9zauygq#g zh7SRl7tJ%v1NgEQ0ldv!IeE-1hiIf0_4-W` zd(#gZ@(tQ=fA!0UCUNa7>#!;AFD^FoNj`cC&Ax%bz<({={$5Edu75mF_kP~#dw*xC zTtJ>^0joF1N`%JgCK3}6H`rDPy>^HoVzL9d@2zVo*G!<9v)GFdB*w{NDpm$&qQWCt z8%L34RCS*0M|~ZgS8qVPxD%ONf`E@CoC~Oh-Alv^yPgewKv?@EQg(Fj3AQ*B|H4{Z&vWrbC{e0VhoqH{(j9SQ_ zXk`N4-)oWfH)w10?d+d(`jHwteNUbStt$rM&>lug&=zkv;lKxsti_NAet9<}{}MEQ3@Qv{IoXMeECC(Rxzj@xYrJSJJa7}9$}+ePfT0ah=l$DK4q9?Gx$m!d$)s~s zgcWKbn$M}0<~D3Elmv<-0tgXlTfj79h57CfYyQ zR`k>Sk^#_slyvHCb5C+>aOt^R{@VIz7cVHw&h|IF+zR`gLeZZh2?MCA;%er}KZg%P zfRaqLM#Gc-j#`ucFpYF-b9bkTcjE{mG_Z$h_o;%m6v&CiAs3GUULPwfcs9?XXk_zd zNqSjCXEFukRzk1JPtSk8&c12?={-v#(Gv`&hKVQB-R5O~+oG_B*cY z1iA0=HB8gm}c~DDX~4C48y+H&-clN zAZhR~4l-?|+jZW*DVVOq3`&s5cPu!LHGNTs!)#N<0eq5?gy8}U zu!`n{e<_c9Qbj>lkiNq9o>6W_l@q6(*CP$)SY0aztHY=ts+7ueKTiH0N1laUjBeJT zO)Q02;fUkVQhJ8K4~L$SaL9kNcsu~D=YThH8ub7o#o03h$W42zniFbmN?7}^VH%2ZC$W+V1I*nC!;wYLkSu}*YG3&G0`UL%Cm&_>yEWdu zWHyGQ9@-yO66AF4+wn>-KVedmrC{%;#yO-d+S8y)=n9t)RabO%7YX3MqZYD&+-{FS z{bE7E|2kO7OvoO<6cN($cDY_$Eg|MRT!gVfne0%6{U(HeC88{EaNl!3LNEHi=-yk2 zmV8*M{>o{s`}z5q6n@$%j3G~w?EfPX63dWd8NB+|n9{_OSsy%mCEZG%-~8jd+VSQ) zGim`jJ*kf)x=K`xXz;ZJL?tV`Av>RMcUhw$ffdJlD}g zsCenQZ5LWJw8*b3(5_*@8V5N!>Vbir8pffc%>47ZKU%hy!+JfN4d(Kc*%0dji&fwM z7;xYWAqp;-INtW|2lRkBkjc=PL~FH-&a~jc z!7X0!-ZSvgSXv-WR=)#Fu|x5CJXNjP{J7Oh&GUkoV_uYz?KaiMFgk4;**ur0ME^uj0tL{6w$?`0xbO=_s@O%GZ{yiJ6aCj12x7g*` z8TDx~`=_a?`0s6yOy@Y~?E*}X1|Z<+{QQY0<y%Sk z=ttqtpsC{4-{E70k&#rK7MB2afIxuD73o{b;qH#X%7xm{P@+WF^^5^q{a8}!QdJ|q zXGLQN&pUC$m?UiM*^kKe6Sy5Fs%k+zD8MuE2h^^56#ECL+yY`DU~S{F-jq_q)vgYh z7)EASCtEyzXf`71j_?ikqe3wncx%zxfooGD+8u`2eaQXz`V#vy21hWQiSt|`Vi%G2 zn?0zv2R{?Z(Vy`Ew$LX43}Mx;x^f&prkfd%Ggkjqn5%~~0YB*@xwApRR(Qq@|6Jc= z{pX&N%Jy&ahavO27;LluNK~D#CPeoK<1+z8=7&Wj940~&IXw0k(_-AnuVf~ZgWZVi z6LG?XR8IS;FH!%`iUKTmDINXtEp(o_ zkjwJVbKY1_aJThZ>Ak)p#@CYlZN3!en(7Jn0Ij6izZ>=a zCC->K5WdKa)0V83yIES(gqiYNy}M;lYtF_TlEA`zXVu~!f&KASjKrk9CS`28W^GDz zenNAuQUU7@1+h7EcNkw{m7a!kmSl?LRoi%nVbnz=@1*+2#FH42jwvT&1URf!Vn{P7ov;0Px;*A@c*>{lqBouZnl!(pi-fSGf9CK@AkJ*n!Qg~3W@}x z&ziNPxndX)iI90!Vq6OT(vxB5KHq=+0m-ml^H?=}0JO%5>nYX$96WsMnZ+u4jz#%AKXITyg%=8MS}GVQp-h$$o_1BAGnuT0{{rKL?iEm zDN&*BByVxG7bbI|AjC{#(d@)xQ+NCogPR2-L@yclS43C}`_r`yYM5dca2&@9>p)DQ z^@Iu}R#PBe#P8Amyl@+XAI4qhHi}H~_Zk<=)&@<%^Y6H3O4@P#X z2Vn`{3yoD3eZIYugH1`MF`_b1DOSbz>Cj`_vP7@;kH1ozM*JjX3 zb3=gxivTlN4Uj|PIz^+Mdxl(n*G-K>Hwi0hKEK2Q&^?wY)?S4%zF2s^7M)aZql z?s9&5u&cZk(G4`5s?744ODm^Yg!33*E^WKdZOEb^1$^YF-7PY3r-}^$LOfy9+t}IY zLX?873Gjc4rk$YPuN!vlq9!7jZav!-cmO#t@4@yu8sN7pc*L*ZcyLdOp5PDy5pS)f zUZjAGkI!C31>h-LJ-D0TgFm~$XQLTrhSm)ZB7N@@5hs0N<5H7D9Pv;#P8mC5;ys4( zh29^62xsCOmWN3Qr0R@!1MfSx>S|k^pWTJZF<!elF_rQ@{&;@|*@&^3^9^hqiH);=A{9N`F7C`z7PBz#Er zjT!}gOnFj@vjW29Eq%1L?B%$U1g25*AMu+4>WFCdro^d4xTFN&q7Wqs!YLeOWWKIx z`k$KRQIhs7&Q69*bTA8jM^SXG#1KO#*1y~EZe+4E4wOGvW%`rtxNs)<*(DZA>AQ6& z>sPzBOtCAG1()W)MdbKRw?s5<5~GNI8Zs10V6vS1{GFz{J8SvtR%W2C&0oLu5PU<^ z&Gx=l7THL#2(BhDpvLm4c(rsxOa1E~i)zjLk7$$JGQc*za`AdvZG)C2+ZF6EJ-a(k zJv^+*1Uprux@RwTe@Uao>kB{u-KqJcyCp`Qzm7ZVdn25q!|iix_k#O1mT;S%?Fjv! zZpcW85=fDr?ol?#NbnU#Li-Po2!3M78lw>IN5AX*nBVd|g6mjG^iwUL9^GAXcndTG zI6@QOt~LbW?RG4#f1)XCwqqi}h*-K@1s9QQ;KxGYQ8(osRD0BaNG4=LFvjI&iH_4p zpSu5>@t^sJVPdA3B+yaZ@|(JCnO3uSkkjPl(APF=Pa`J!zC!I6d-Bxe;rp5zjb)<) zC#RRqFM3EkbFa?YVFr?hg_wmEIAz!1&s)6w)@yVVGgx+^mBM5$v(8vO$ZF5(Ajm*= zGHTuA2`@7%Zu|F&Nj4MMFwZxvg7- z*?Iy=J5=yVvB3%#ZCE6TpK(eB@cwe6e5!Q0=RRpZ+Z| z8FPuvmk90!vEhOX%i^LA!bAGW+}8SAFuFBr zk7Y81Yfp~zjyW77d?#*5I6NiLg1PNa-6P@34u)sMv-$dvM42^h&d2T2V)Wbc^5ka2 zRj+!6lRLfptm1T5e4rT?O&?)DVeS1Y=Yz77E`<}>}kjlGjoj)RRX ztD)e5=&=W3mpwp%$IKI4+BW0LQA=bUWRRJ|`wJKEFOD?8aP!jO&xeZKaRo4Rf`ZE;W}?#jv8;k#yG;^^R3&Wh6bM2=G^Ca}!1 z&^eRUCzLZ-YLlE7v&r_0S;gAc!2c&qchK>`m@kwoH8$Q~W4@h)HyS8jx5XaxlsO5# z1TnWoDh1EKcH89HEQMg#t&L4c`)$gzzy5*DuU@2S_$f@L|9Q?zZ{#E>(L)pUB$wDJuvm06noh@DXe|eKulVuf?T?yRgoJ8eG1MyrR`1BS*fIKJin?g%HZ0ItM{99pcD_l0>xd#vQy%s`>i61nv zT}39^6UMyu6Fp*|Lhww1>QyA=qJ5#yAR`-c0R@v^YC%`U3P^vkTK0&^;`s=m@k0`6 zZf=G=9G@yK7@ro37f3@8OKa&B|JIs-*q)HN80pJReh53+S@LS6{Kn`> zI)wtNhTUgasahT`#`CAbphCAyqi|lx^U)hSEy;ZAh?+v$1agF?X|92Gt*QOlm_GD? zWq8UQH&$DQK<=ioTFAgND`%vKuHCK83kyZo#HgJ=Hc#*+VCKn&%F(G9U_=G{v4rQi zWD9x?H?mvC#19j<8qPj{8pbCyv-yvGfHJ30IfCBi$6r-+FE|jG2S>RdKcAByy^M~1 zFb8BSNcY`M7s|$C_#9r+*P7cwm9N1TL3*Ec z)%gKl-t3zx-42C2>VjCvNyS!L<-Jec3b0tv=eVJ+fKnpr#R?Lzoh;s#?LP^=hTv4( zcmz{D%&>qmq{u%`4}0S8FaYUlWkfLp%Lb03C{Au0kG8 zMHSC=!~h8uvr#2eBWCC<2?L~EpbVLsq;T(u9oJREoSJ+>cbBC2`P)3>Ts|SmtbijK(Wm_!CEVZZ!iT1dx_T!`r&X zIVH&C-VZmLJzn8BSoG5U!N}DRBcn|d;{pY zoIeu|%6YTv@z#oLMa2zsv3Bos zA)j+!PqOIiE{Z=Ss0irc&27sp8yEy1-g~jiB1$v?=&D}azm&;@Nh3eGAz^v;;#p-x z3Z?Yz%eQG6tAhC{M$BtTELv2LjG-O5?}$VCk`%x^B<;%oXSRykc?=JIIHLn?{*FiR zVE^SablpYgZvRo1tIc*LBp_^7TKhScCF%R;7T3H^6}cN~d}Pn{LaVORmPiHTjt?&# zQB7n5gX3Dda|P6w-qgo*X9Pq!31CUPr~Lyx)@N~`mJmz1;ZMjkH`x?FV=(@++`?_K zSg|ZQ{S4`m!;*r=%VHKh{~B1`?CtJogRYp=AQV*EGagR30Hd$sf*^_JzLW3|h!k_m zEd!NdSqTT)CVFgx-oLYaWylBLBmc8CTs%apubo13!SbOr{fd=8m5o^szn1Z+03t$i?fcq zhbkj+s;x#k3z>{2erN1j3H&qtgvB=S`^Bc*ajrH~H-EGUaMM{8$XC+f7ycUyRzIk9 zH@U3q>zG{sv&fG@La_*Ym3W_WWbGYFzkK(l+O+5M$otdxyI;x(?bmsQigp<@Zjz=P z&;H^V(-z^!9qO1p+b^s{?U@&R6(WFJ@bnjExO}neKF2<$gP4t7j(BO+(p4!}{7JlD zA25C>-cI0HNi5@bdX%`!%#A+wQS1Yyq1;pm?)SDyp4;g;HFiA2C;qU!5FQL*0^xvY zn;v2u>?}x8AA2~;1NM(mG|3+>7(^LaS-PPq^N zd!AuF$tlp_&^a}=bV$BQgM>-^Ar;d0KPI_o&cbONY}-n=L7LC2u69s4Aq}Bh&S7bB zlFeGveQt<_@5kAx=jBh31~9_5t95%{Ra1W2-uQDYGT)_!M>!^NE8$#7WuE_e@Pr_r3Sd(ZXE<02dw=)yr`1#cl`Fm(o6V2c zWO1txEgy$*00h|93<=|d1ghY<4Jvxzu_o4EpVxX<$0hGypL#L5!TOC3Td!)RBj`-_ z*7;4!u_P*+!S~v;#`p~0NaOgE-$8_%T3peNP@IkaGO=Uwr|VAS)T1fNT?7bh@wVS7 zg#a&}k}6hkd()xueHkl*A*$GDvOW>Tigj*L<}>QNXzHV>9&g|Nb3WxY*kvB?JP;n4 z_k+Z$VCfMoRYt`M9Wz7ATL(JVhgG(ant1&n?>SFg++!N)lB`B$C;VPq0Q8GtS6jQb z_n%|q{E`akTp$rl~F*=-^}fCN)mi|4RV2) z0*CsM>Ji*n>}&n(IuW0ZJ>fC-jnY()6$_Xo@;qP)5@bQ1e3)X`@}EU>CuQ8D_M7Q& zo3I8CghS(vkl;JGK8Il_<_I#MpM%Y(hva&RY+`oBu6qq%7K0>;AlmLsPVUcAM9>%? zXL^M@fm3&-9+GM@O4_k8JMOCk&>thCdGRf++nGmd(t3$h3|` z3vfWk=>0${o@7tFVu!^>+xV%4vMwQg_&CP}XB<}fZ33K z1`S2iUM}QdFo+#7?BCptP^0N7vH~R!NA_Gg;t)n?b7>%8%N?Qh9E5p8j8V;MeUSu} z>`bvA!{_!=jaMJg+T+IlGJ^yKZ^Oaz!fn zxYrq+Wy`l;z?fhACHEfH# z?g5ji4TqiN#Gcm?))LM(bh>)a9RIP~-#zVRxI^*>6#WG)i%h^-`x$ycByFKD4G*H~h2qBhp*sY@494ak z*~LH2ST4MJ3xl@MQvQ((%mOH2mwKIumJ9F8-5120y!Ny!UIDF$KLSjnW~ns|K%1Lx z{86weZ8IaXjgXS?*~VJOU_5tmxU^wjI+!C!7N#lI9Whj(yAhrD%4B$SVKs1#=s}+( zs*93HcD@)gVwE+8Fn!{kwzwm`@1G-hamSVzgpMqi?CW;~B{#CwDx>Osv~@5u5yA=MHQ* z_J@BXQE8G*_ioNfek1h}P%9DoL)2?88_KR+INnnZBTlz3k{h{-;Oz+4!e6 z0Q=SHQ_cj%Uf)1w`x9fwA_zYv8O}vR;*va+J`K+@$+kcT=W2$i1wJC&2-8?#*snC# z>JnGE2bb65B@c`NN^li0%VtIjiuP#iqD{IMo#;C}-k5_?)W{#8d8uIfC@m@FxP5)6 z{5B*`byy}&*^W`Y4W#d@t%)T~_#Vl}ovkvcGYShxX1aCzdg>_i8DP?(El4P0TbKxNJYO2 z#<_d&{A^;?0i3Clj4XiCM9+HfK|yL}KRLt)!K~yHf5b7GsPCB1Bl!<17qLuHl}yYN zgAmxc%gFcQi&El~-Z_Hka7}ET0_1l!R7i{bSo4r65aQnt8Tc#tHlN7Zv(ulP zFz#isS<0$OVoCBlnHVd(7r&nvRP+0RV8CIAA815t>)`O$C6U^anzQk;=!}@7nE%Ip z=m_44)~nA(X4V?i#U^1mqA1dkQ!3Ymv#(*DS~-Bcj@DUHUA!NJQgK%$N(s3nUeTzM zcLE;95QW;?Al~8zTlXY;@KIO(;xwoS>w)yUCAz=|4w>ZgtN(s#%26CGt=_$!xZXSf zf=!PM_0Pv9CP?A4^40&%ec0_Lay{LWnLT*T(?4Lu-%Wjt(p5GZdhC_vs?QT{ABYmo zliizU)*Pk-q6pt{`Y>=VNzNA%z*QiEY8uAYBG80$DZK>hsYCc?INpFxj1Ave|K zUB#|nE_mrNTY6#dk$mnY2Rn_`sl56uk;2sX54=xz${-!S{U*`?N(NMPbgH~A_n=?u z$)sRL#WbF1olDP!OtYvx8t?huAPD_DCMoS+sdXH= z4V z-zSf6t@inQeGiY0{THqYJ&G>t5&SPJx$M8DRV=m_*JBC&p5#gh=3GH>J)t1`aj6@O zml1ychSsvE+V>T$Ywf>|rvSi8K7m)*x@;rm_s3n834v2O%6StTrZiAck%3gI0K&sG z-lqRIrMp3fVS2>=|GdX+)$B=$b;$Q_NXc``uHwAQ)8Z!L@%wuV5E#Gq65;CV@19w@ zhF&84d)V{c1+sE(5>eFD(r$0>edo>=aPbbri3ncrm4y^JpVljwC+$R*@%)e&!m(40 zAp@zs_ygLqJ9-GnN1kLpqRFi6bedjmt5G*mi%m0`->=sDZ{BHSwo2Cw< zORNTwhG&@0-I8wczj>VpFWl(#2MTLK}3u?$;U4d ztKdV9a|c#Y53ME-4_31y69iE8Nno&@r2`NaM)wxy#bxtf1qWrL*D$k#En8qvk;)Oj z_!s05ld-aojkWyrM}M8z1wN40c_eM|u&|TVG+5m^Mq;B-@g*-Ud=k^$ws36h%(X4Z zgnm-8Ov`k(cez&?F?;`I1)oim015%Yc-{T=q;!Z7k1cI1$;9g>0&2&FX&MYWX6OfM zJ_RhoY;}%871=p82zxOn?G^_`h!=Hw052L7Hl&d}bhAO`xqsvTL8++9AJ@=s3K`$j zm=Mw&EOq7eWiYTKc#HI6lj2L)scOvcyrco5MflnR#{-pa9v%HNZ$nU85w@8RX0*g) z`n_8MTBljel_D)xgMJE$TWn2FG7D8Bv{H{Jg_tv%`K*+%MLq3ZlAuD`m-*)`Y`DTm zH5(p}rJs3!FmV%En8qg2XeP(LpdIItfbgS>cYr~UGTpBOUp8MiW;!;A;n?f|N(n1d zbJJ9k2v!pLS*1J{t>Rbw3@_1NaW?>0=;ha%Otk*_l*MOx2O_$!ij>njC>XsK&a*o) z$C$fD#3@}B9Wf7hF924l01Z{)`AItlDHcaMQy<}#0fLqSST3oGVo|j;q3S_D`F@cOWVy#69flw|nt*a(qy9i!xg6f0zOP7a)VQ_a;r{tQ&~)F7;WDWlLLotgpSjrh%{R86LkLd%b`^x29z>J zJyw=+*%(k_VKX$MTe5`N1cnz~x;EoXI5*{k?hb%vF#MlorAI`pwI1h;`7eR;6h8NB zya>{BvUt4EA_h?oKa@S0+@G#3yEH0#l>H@>rO3oE1cFBf(dWM+paWkF$+_vwZ4VrN z(Y*VIO~AL0DF%llymnWck53lMCElbf)Z$Dar{fH<>}5z)%q*66;oW-BRxq|03$<`r zO$F8-;Z&ox{AI37Da=ldFffbX+XbI_e)?bjkKzZM|Zz{NAaqkOg0?ln1n?C!{f4l?RD1$U^TOmM{W zC@dZ>Ej|`k%nrxlBzJ_PBhYKQQE{z)FJhEl;FH^&$sM^HX%N>vkTnzytJ(6W84f&BAag;pMJ>;9~@n`hf~a@ z0-c9FvvVSR#7vB=Mb0+a*h3rz zV|BYl@Q)*P6Q_$>;SRXn4gEhCV~MUiAMD-B@N|hCG=E+KD+pgBjS?Dy%6rM;>o^t* zUA$y2a~7~tIP8CA;n4PHrg}z@jIiyWJ-h9mSmeyKR@|(L&8Enl1XCg37FN^NGAs?@m6>9`7V@c zB)R>!!?p0S!;Xf;`beim5)^%b$NR`*q$8-RzBUyZY;~Ds&VhmQ2ozt1tz(3|8>*cqC4ivi>E?|Te#7{<9WSz^k9M=2I zMN{*$=`H-aai^CIMO*0W&l0y3$0?1a^zH*n8xb(2mu*gBs6bt255Q2dUp9I27aROY z4Kv7Lik5uo%Bhb7qNV?St}NM%yeV}aKr&l$vmOPLrw&a#;Y_env;B=|`pP+Xe6v+T z3p~?rLpq<$**xv_dT7_9!DXwb24quQxi*tx?`2s#o7TPdhv|X;Z9Sg;&&VKgnaPTk ze#kN4Z83?Eno*_l(|l81+y^g#?A)DT6XlCSM-1feFQEo#w0=!(dWT3lBtPYSsU5G! z_sdPzyEnFLxnLlp3Zamb`CHM()-Xb&Mc?$-Zl^(nY}+x|Wn0!%_bzu0!ln{`gTj=Q z_z^~C-dHZX%EEcX!^^y(qvQN_d|7sym70~6dUMA>BE54!guz2;+S*?On zMT0ioP}M^Dt@yn^!hdC%09Nnv4n6@}{9RHr6@7{;_MYU+|HkH)el}KPe12>#tzOt?DU1`qp0PQwmLq_OqTCZ#VMq;r=#%L-Js{1+23#kRq#h9k zr7~CA^ZW*arJJUeK4TdaRbh-w=if0|X0$Rs;NCCfLe}qgB-`R&XDiBbgB1(&(7Ys? z`Nc=v7<5jr)s4x?T1=F-z`Ol+l0ZzEQK4;bDE@CY)fud~45K3%_cmK+saSA%!PgC%??2J!a>Fa7}PDNot#!F2hDPMFlxo6!Ag!EBWV-h+Np&EP9pm$*l5`l8Tv$?wr>3zTWjz zLipOg+ng@P#=CJsZA!IounRr54;Nds=f28=8?({q+?Jre-Swt97Rl$`Bso-%Llsd* zsYpz9Y4?No!J^PN@cd-(2<9=S`@mg{h>73v>>nqi$(S86(DAPo4&Ab^L7(SOl+D)C z$A8BCh-}~g!Di!DHJ~pPQSWHBwC-)nr zYj9&qPI@z}`6U$BP4Wme&2gdSs_NRD3k{inF>b4LLtGV$++(y7%~_hmzf{P}C$g@x zHy~SLVCh}c$%Xt;9r?rST43tIP_nFKJ;}(&_7vZG+Kes#L?Eh<62}ax!2x3hh%6?a zJa{C}H+Dm!Pp}`JMJp;EuEd>uvpil?oxc7Izb`k(;U8;%P^wb!?>W=H)ozzvLpXa8 zgxdUqSm4+bZX-;BL1ikcjMdzL4G_VJ5>r-y?}C-rI~5bA8OuW^fk^?v!Y!6j)iabv zH{yU9vmHc$FJH2hO}Ww`o~&fyF<)jAz|xB(K-$NY8!%TVr9x_aitv}RYeH|Ha`_*` z2NrqFEG0KxIg4SoPYIB(k%iExEgm;zDk)~hAv>P{wb>;(W{o<^q3A7;Ocumb*zzA` z54G|cJ@OzyZFtU1$S;bjQ|)xV*7ev>B;A}^q_B(B+LC!<$C-1#(oE-@xAdJc3pq${ zPy6_38v=jmBAm`GGEXN%KOaqh(E?okkH_IMwIRaU7;ypH=mXT{tnUHGk))PR%WEjp z2@Bvt*+t&Avl_2mo{Nq79Cuo+xPjCXAyGPo@>ha!EY$kZRJgmJf(TvJLcHcY#00?) zd&4>C_d4y!KJ120=%l1S31ru)Z9_{g*Iu@M5+GFiff)==vy7)u%b-`X3NJr+it5>E z%#t0b8!z~t{aDe#w>jRQOV})&ndn$Oa~uqskppHbOC4mMC!n~dE)no*JXfe*)5F0= zdCln2<8x%}yyO8O!C0ee>%>qvC6_-DL&jC{chlVNj^ehMo?W4OFISvpLbl=IH0+V|%@jg^hT(Zu5NkS&;I z&F1f01MlXoElw31>e1CZNEIT#+r~DOL1lH*Vb9usFvWzJBfnZs?}5HNtgNKLS@9}6 zI+uY1J3mSBA`o-RV0p6lx7g87`yl{90)idOS0;Z7V7~HbX3e0&g zkN`oExsSoiVOs;Ku{@_(RY4(_^lViO-{*G=tb0QRI`bSnY4hq_VHur&BqA3 zRI+&n+i)JsCT6_^_({Xsf|-;SHY_CV8AM<|TsQe<;WxTw9DS zV>!sK=0b5{h$3<~mK$2<4VU>VLZu=^#q69~zQV^$$SJ)EZ})@b;7uWm(IrSrgCEX# z`(sOH92ctQVq$p7w%5$emm@JC*90_#BTwv=VftoSZOo#Ypbm$GhNLm)2}k?NM=-?= zSLZCJ<)&Ou+hH84K$LV1!mZBhX8WzrC3;cRAsSfz$M#KOW_xBK&LWc~2561`m|0r< z6MDgpeTPRtj|1vM16GhC$3|_<#$phN{PZ6uIQ5LFMnN9^(=fEaaM=7lA+Wav&+^Mc zOyhZZzDcngN+3V~hoTYpL!kN8CLOO7nOGhG@ACU>}O#8VqlP+3Yl zid-ZlczE!GYgQ;CEL-c5S{O%(En-b{ zBx#n1f?Ag~c2?VNs3Wp!PxNNFe9(**)C`@vPUpI_M8VvH-m8jW87Li@<~(G$$|mz_ue#vUoPpJ}@67bN1dS5}I%$st61{isG%Ym}uM*iJzne&*s@ zsgb(_r}t4om6i^ zQn~nW>^9AqB=eW9QV-Zm%zY-F&QNftH6W)+81FmZ@f(j&f8s}fU}u?DlHN?pzY z*IwJj?39_TLNcjz>6H5mS{q##v1m~r)cj78K#;^QSVBV`*FpK!>%il&U-HKfFa zp>=`AkuzmO8 z<)Y^6<}0u3-KpACutj7RAVq>H4vMob-B?Fuz~995Psz<(h1l8x+&9S5o;)3I!4=BG+-bqce}lng)s`EDjTaZYEY8T;;1sV&<&$ zr0WVgIN3!Rci2z3j%|67g6IeQi>|-wo1cDtF0R}CNWT>g*d4)b0=0wMWmgK#}7(S9=Ha{58|4t{4}qvvW4z_J#3N?HriCwMhr;Rp=3>pE^88U)|5 zje3V_bstt-N@JZ15S)mM4=m2@iVNJDH7bkKhN{SNERX7cayPr%@djIr5o}}nCcNqZ zI#r56YVgez^MV(!V<_0ecE;PY6!AICkxdPfc9~RAAhk5(q3NOc!j0S>v~@qmN-90> zeBFsj;1MscE-N~Jves?6b?Q0+hkrpoDHtiKN%A|LS?(aA?t+7r`O^;VC>DYis7RnE z8n5!zBEJ>I`T8EZKEX)YYjyj?kCS+ueiw_ivgZ)9>4Jfk>^F_23Mjd4dtB*BKwoG} zRw8VsN$;6wXBU_k+38y3{4v;!-pMZi{lW9uJGblv&Dk;YabW2IDYMAXi^H#E60N-X z$9xXr+v*Q2$x{P{bG9zu_~fgAmDQy8kANYRs(Z_6I!6 zUKI@ORe+N+>R|l$sHkD2@RbrS9$o3Dk{E--*BBd9O?W64LFS`jbcl~xEohCn0+`II-7CQqp_d!hd@|wxYd`V zD0z`F=S3F&Hx1Dt1ae=@^{krRzjOD$kDf@AP!OR3EGridZdyjmN9k}C>z>}@O94Gf zttbrNdvW@{aPj7VjZ#3mMx)17Oli!64VXr7kFy^Dfo;h7yRc8XL#V)qa{RrZE87P? zNdWN{;!9>2q2wv7kjSE0krU}WD?i}l@pKn9SXbu63|3zt<>zh%RlfPLJNXYimezi$ zMojTWAMd#{0v)9#Z-1LAD#uu`T*=1Dm!$}GT3?>G|9cjoYR)jryC^K`xEU6^Zbf%Y z@9~xOnY+@hU3!xUdDp2B7Vs0IG|vp2+xXQEHT=(KA@~u}+=FXIYFBXj9H*YWcAOC~ zLu%d@;ah+W{SSwxKr_y{t8f|l@!utMT?JQA5JKg|^MSU3<^n_1@qq!G5vtNf(lqLH zwC+QPM^m)4$1$KUl^*awr^&_}svv;PEBS1e=PTW8-fmwAf&TnScnY-#cA}-hmvC%Q zkk~hs9iE5wm%E~q5RhAxH=3KG#7wQ86jMrnhFTS9SS>OM0K=VKW#Ak)QfslO_63 z#nO#+#oQig-z9B>6ZE655HYpE0as+N*^(z_pelCVP0fkFm5z zJ^zFv`V&~&Cfk^b54jude5~{H^CTww!m1~hFDl%;E2ICb6pyyz-u?F5Lzf3fHq%0p*}JMk7|JNVLxA{lUZM#1aL3nGw z1!FPR25kaxvGbCB-vspf^kJGr`LDiQA$@Gl!`BSnWQ+sT=*r3!ajQJGA9iO8Q^bpj zv>7dI*j?IvVZYu_#g%7olt>}QWuWiBD^>B#SZKeDU+B$4%cZU&=_W>P`HeMjLiPP)b1=}kl17iKGS~2bKmaZpap%xGTzpt6Sq70ZQGYCby6-}I^Nq^6LHu{P8%clu^Go^xad2HT0?mU?!c zP6}Yt`t>Kx{bC=VsV2@Q!5zt?ooTAs1&tU)I(5-Oj-ZI1<)uuRoDvn<;ngW;4&nrW z;*|GN&O5PS^_KOjO{g2i^^f;0&}GDMxeJzrNRzhgMP#tHMbWjncI}PKYpxVewrXs# zx}X9TD4P09xyx)%HR)VBMNcszUkbi?_f!v8FVs`#HrCeRA3Mf+5|nvz`LCaQV|F3G ztH69$$n`edaujCBP+EA(A^K*+Tk6EhpT=G=a$PfVdkV8DO>e}m7@=^98HfuW7_qu9 zyeEj-g%58{0@F`88SRvCt{8Un#xCWCS{Mk+Q*JgH>rb;?m z^R#~yi0bina-Q}u>h5*xclsQxUQ%C=%rf!;)Zm&cu)#=2&aRd{jwD^b8QW{6A4ev#;x8vhoYZ}e2G6p#U`WMp>;bKa`e_gHx&Y;ra zbHh#Th%d+8=sty;e*HzW^EM{oP3eWAAwmS~)|U3Sb+&HUoQhcq;bEns zyV8!eWyE*tJjQJ?NI#!B8(x5!_q8|J^w;H&iZ8U?tcj1j@wk)!q(?RZq`&bcRHqY5 z&JDGQbgc{8gWOp)u5tYas9SE;p5=>5cUqwUyKlfk5!!!9#F&C%6O%7Tn$4HMkQJ+}(q_OK=Ys+=9D1oaTMc zcYeUV>)dtsTFDGBvv+s(^Hfz=Rd+uhX49Q|7WAEFw8lV0))(r$X#oG^km&}V%8#(SH}V)Cp?@Uix~H_)TlpqC zqSpn#Sy;fofWaweKr89-G7T}mZ&q87^CGB<6$2UXQ0VeWa{wF3+zBU8Y$KKAK=pkx zVgR$p*@xgpB`Q&_fA&l2syGiBZgq?rJt=GmtU4BzoI+VSF0w2fUTO?7!YiRC(J9I9 zwn5+5l`1u6G@jkIYbWYd)pA_owJ!_u>UmdNjtuf#o+j$*tqwTSpNnkF*cY#6J{~mE z`4_--2c$^zlfH>}a7%pS0~g}wx0yB@3K26|Mb#YT1&xTFrj3YlS`ZtU3k(QP|oiJ&Ez5Ru}rZcHE9u zbcxVHUt_a4Lz#;i!V^D4*x8m;-&wicm)9INbk*j}XxDwysptHqbr*O_sms0&&ZGwb-n`)KVuWwP)gd* z9Lo~BrtDIv6A#)3F8}HiM{4TAlA=}ccj>FLhY_AzJqfK&O6_`*EkMMv)UQ-$(sZ1A zy^zMBjI!HPJ`5e`Hs3=I)e*YYJGox#Qu!C2X}^pst|BfEp~V-w4}Gue?EqbG`Eg@Vz3%p>HEb8s`)3mm>EIcVXT!~ z7Dt55C;Z05(h%DwokO>thQP{e*_2dKGpZ`x*2aI`P*CNVI4E^k4@y`GVz0Adx}0qa z`^^Q<#~7Tkf}g3OB(Q&7LhwX1L>m@bd#IIWjJ(=Rzc(itRd_SIFqpEm@_B{$=3nD@U{El|H9p5j#Fk`ayv@2{8`EqEO7Zo}#`NQJ z@S5l?amahrjh(riisRbfy|T!X&XcmR3#{b~CCeFp_cCy49J|tCj7#NFnqjrh7NY(p z@1FHtk!&kZp|+rf)UiK_jC^zDnX>6EqG)k1>Gq?pTpP4Zxioitzqs49CBl!@P4uaR zb0zh8y(@JuNl`;3ndJSIlM+3i&xx}}q)G+Ebx1YqDW=RUHt&5X92s<%vtYnxS})At z`S{0~=VU_N_mGGD*BFrBuT=$*3>Q*t39gO;mywI>u@x1m2u41}z89%15|dr<(SvbO zHOq1BjG4)&Ph=VM=~#61ioC zQS#ZMo}T|$3oD+&4JNN|fQ*)NiOcyrkUt{e=p%~xIeLG35h3eRpP1wvn-TV%7 zDe5E-MMA8FLb9k1@urk3eP;83AR*{JF=J8dJ(9kf73)jF)TFNocwS8oVlh$RP98CH z%cz7nU7`0zD(drTLT<`Oi|e7KH2&m*QJRuBv^4`xZN?nX`DGZ80O-H` za9O6)8T|xXTNt>hYzY5s#OKfq>NoUEQ$H+{wya86RMHF)*x=r%9=OK0Indw^(C4-f?=P+Vqk+;?nEwR8lplaLZ*8asbdOb$Hd^^6GGfkdo5w)E;b5kWI zH|k`%R(fG9Zj}B{^-yBa4)g^2uiZ~3$-gdL0s>ezFbIH`L1gibxEpY|sDEB3T0|nJ zB2%^nEa{-!oc78^>~`MK(2Ca1@otg}Hh^=M`@%nvdphmKQViyu0yu^PgK7^6NV9lg)Je4$DcH zJ1H!$tyR0XGqXq{tQ(>%@N8!d7Myym`?@8}dkhgaV8!qLunvFjF&8qm7EpEhOS(0` z`%%GAD`^_0%Z*IuA~OXM-b{Ia5bxJK4YpEXn=BjV7M2wgt*phyp%|9ngseQ$F;}V( z@&!%KZyKvu&9&xWs0?;T<0a*&uMVfMD_u&IJ2A9>J%ZV;PSrAp=PO!I>R8-*$#|r_ zS?9||rsHr=v_n({O)Z*QE5=u7c8E+|zNu=)k93|(4HwLwn5nek3Q68{l2gj{T}sWP zdg?$vyUdjm`MDB984TlnrExxBbdDwz)xhVioEgon-Ga;1nV^r-Jqe7B`l!N4{8`6g z(p-=!p6D+Dno6*AHQK%~Uit8$En`*La9-fkG%}Box?n>FB0N<-(ETL3eUZJFcC*J1 zcL!c?`T8F2?m~XNrqaC&*~Z?U-y|as@l76zytcCOs}ci&iyrLAh*n?*(;6##FXyx2 zMq{ydD<#@k@o?^}BB%G@XXBEPUd>~Vso*OXnAUSFsVMweuzuLwcPLDapszX?31PGU zaY9+s$fhlp5^&7|b_2ws$<@GM>9y1!#RI28d#+=+UN@gEU$18cpF}^05Iv!`Ke2Ih zS5$m&BIzBGk19@yTq-*zTh)3rm5R`eCjF!K54vlor2ECnE%gD-T}VI6K(v3j$v&~J z{0Pa9y?yg+8A>j&m)Mq9Y3H-kqK`q>tm&k|CpAc!hxwzMik99K*yFDprFUs+E`RN> z3T^ZhU{O!Z4%^QT8@(bizi!=SI|Um#h(SDL$AhK`elWD5A}j~3e0c~@?x~!c+o~3C zeaahOLQK*4>!x@mhw@rYv=4KE-_iO&+M_#0nyQU#_16gd!d%aIjqY~WZG95;;FJxI zsTO))Py~zX5lAPSzW#kuvkX~<(gbligv|+C-+IVqU&Uhko`osl4L{LDzxL~YU;i2V z{Q7%!+($N)+&DI@3$`kz7vWV^4Jj@jf2O7p#?O~Lt{J}x#<^3YM81&Cex@jF=a@Da zwCB1Zk7F7p7fVoy-Sy_Gdej}ofUTU6ck7(QU$oM}p`-$-tC8Dm4=p5jJ%wz{H_+zE zv{oj_ba&mgjUwr7@6ExdQ(JHe8F^?mbFB{F>QVKLD= z%aF48=i=u2Lm>k3YF~$0-ddPU8rhcE6v!=_r1I4-uoLMSe;~qe;Js`ERvv4p|At3)1CeGk;0|m>ZF3q83z;#_Zwmkv4 z;Z+Aj`ZZh59ivZAQEgRVIfiZgkxN)2RNh5`|JriLYr(~{8fxvu%@C5(Zv5*gGn!^s zR(v;9_f25o=#7`q^pj2P!E?fDoit9F7VFs@)|tz8xV~Hpl@2R*0i3^jH`vVR%2p7* zzh2mllvT3O4V4q2#b9o%_~dcr%L*gm_lvD_BuRYRk3Tt};9^S}HrIA@ZN-D-~+o8Vs>6aiMf>K4!*Q2MUmQ$r{>K(rM;E;uQ8qRQ+TwWVS zvwS}@exF?Vq4KGsv^dcuR9@=)yf79Y@q4cF8{XvU+Rn+}svf#0HK*FG2i6ONHoK+q z3<(*ID@{x1pKa@Z^C<4#a#bJ-rjHvO394$l&mF`TuZ&^7nquG9e0V$ zyb*2ut{d9X9Q;wIr#t*u)*JvAI?+}OLO;XU*dzxyHBu9Tn-Y-Uv~-jUGKa zCwSXwW1jt9HdjneSFI`7_A@(cSFhu7xT5)kt90rcn4@%Rr2t=Q6+dX++FocDn zTUh8VIA;85Y94oa*G2__r_H*Tw|uT1Y5Vw#RJ?s|awXQxy&_YUnWKh)Gw-IWGMi4W zaIyP2goN#iIoMP~sTE=z7dWw+An|uU|1KNuEE%>;s^F%S#$qa-f>qOO_r_@_?4;|w z?XEk1^Oy~kWL0<}Mk@26s!QtC)4=b+w z9yLvKE+#J@|8oJqX14U6`ndOAcrG)rO=n#`Br;V9Zjr5rV(?nC$wL%79|fWPeA4uE zk;i#lIZ40)pdOtBk{(j1^l%4|OkSAH;9d*(yox8PfU&^qA;@<8TYe8r?3@P9^%y~j zfkDavr?n?jD;!=lhILhg!BL*4_&L z&Qz4uS?Y762eH`_eijMn4|E=+O~a!m6U3SDEp;x{^>iBV&_$C{55Bi`fFkL!0EB`# zFB={{{L)c`(l!11*!hoTa<8{UE>Cf5};J;JJsarndSyT zW!tO1-j+{?n;@eon_-h0r4jVIk9zt`(cb zVU{K^=HIL#Yfa4ekrbOQ#3!t*C=e(I>wBBWc`Nt_yeAvHKKR>;N4fy%{8`Jzuy5OV zk_fPt#$kSdK9qL4km9Dn5?U6n(1C#+9i^{WcUqm4m1W4&)8D^7>lbniZumMzMn==6dy*nK~Y z`Ca>^ab%NJPqM%L%IWy_1%LXR#&AU{R!cx_a;rJqcP}-#hm1XmZ z=ULIfy<$_nq?vYhC4N)+Pw0v!m-bn!f*tKmKc?a&Wg=%aEI8q@(fFWQ~)s6tzGh zHq;2_9Y42`Ij7zCN&gzz{SiF6QnY%j1Tp%cqfeTi6E2q-fq2|h{8lG5cFh#3_8*&m zo9dP6xG4%vwMz0o#&Wnu^39;BCMu=btypkge=hun00|fV`*@|fD?%jf9kXMLkkGrV z*hI&wQ|WTqPOHsjEJp8UR6ae{t&em^667|cHp;>@IK zWk}3v!3{kOiP_~kt@MrAkC2>@Qb4wJCJK zNAc+*+s8ygqZ$dzM5V2})~vTglBm~Bcna+NgQ~SM_V?~pVl>VJqP2gNbRfR@YhB@O zy&4eRRi}-_yKegm;|*GDR0aDf!XLs=B;y{u%f2TUKegFXZ+EECG|DzEbS2#4rWWWm zQ=9H3ZaH$&(Gii6+w{!o=Lg>rLa;KIV`=B1Gzm{zzQEsprIf>s?mzakJW^aSnlFRJ zF*IQgCx2H#z@^XIFhD7vAv*Cm+^??>77} zm1`5cj^fosK%Z6PmnHqBgo@ZQ8W|p{|2W``b`=J)>#j-|;n~zzGlHHoXWBzKv5lCQ zl6+4tX7s&x^*T68z?t?AdwN#f@ue@lfOVouv2Sz;uG-6Px~GTV!)6Tz)M$oJs*3$R zB>IL_fEA$;VafRkzxrG0#QYGQiO>7u$wKNK54C{lY!iR%ui>!DS#lgE@KllqutH|l ztTR~L1s54#oR_P59anZKTJQABy6`HmWZuFd9YIedQP2+$U>6)Wv|I>`$T_{m2}j%0 zplj)W%aY-+pyH}ci2!f&vu4}#+auU#7;R~{YT>0DT;1kKarkWb{E-?~y*sy#kRjJ|oub$5l+M zZ`hF~rcO8(Z{1^=loiK@UG}0Yvfo-Ia#=W5h`)KI&n5>=9P-z@b@Mlh@Q}fsPF(42 zZ>{SR+6MQ+qJy6dJXPf$vf71j#dU*#vmmFfI&Q1sVhryIJr7I@7q19$Xx1S9qx_4t$`(%C{rC3TRHreeR6Mp}_Jsg1qFC5hToG$dr3XxY4 zEMX=>1T1N}bKZ%b~3m0*yE=*NHQ5D9`!hy^8 z%`PNkjg63f4qR$$naF#6A=dV8vo0Qv@yUE=-?9y^yIo}S@^2*!kF&^ob^#m1q}TT^ zzLFlvs1B)ntNEuEzr8gmg=NGdm@M48)~SPrcpPryG8k9NLq+ zAa+w2wVWTyrj4U_y>cz`(FwH@Whdkt2Q|gpG2G`Ob6vQ&QXjx{yH1#ppGY0+uZz%} z!~NjT0D|_@G33DIaK8{Qmu+{7JIpwhK>o`FW9!4z=G{>N`go(Ysh@~~JNa}&10p}Z zxlb6l4D#DEXb7lws=U=?s{-y_ZIfG`!F>j=B;?A?)g zKjn|;4yluL4d*?#YRZ!zd<2tmCnPti6MHD|kMN+^HXy$Yb&W4Ge?V9gslkh~lo zqeG?&=VpfkGnTVe*Wk_Q99wuTeQ=Jfx~dRsf~kb0wGfiWOdr8_ntXr(T(GUWxs#u zSd8^F^T!H;O{%==+Z99YDy;jE(3CT&U52*USE_&JqvsrOeUj9*6M2_^j=w$SD0#pM?{Fb1kVSOUGc+y*z zym;h{VW5XE=EF|;dAd%vL?x~Myq|yN4}4SMQ1bS_=w2|Xx7o3%wKBbdP8Bmd$-ppg zOk;V(Y|*NO;RS42kn#6ar;_CUV=0KgNc)01cYb>i-3q0%L*ntRV&h}Fss2O)8gwGg zo8f@t-4Igql%%d|O}3cR<}awOAshDSTj zx_}tWwwZWVN3xBbxs!+-IZ!3rfLiH*ogNnk z2*$6&_xq2$J7%?G1_6Qm(YH8qGAM;h*j6pchj1I1actCr4Z};Z z#hqW+=Tv8Q%(wEDTYW1g=?0n0KT=T{Hh*cHZNOmioOdlqdx}vhcSzA8VMZY*+$xpV z@}dF2F#sjyCW3!qcIGhR1nG@WCyEWR_m0?|Ju-r9s6o2+^;?EN^ACk!x;!d@F>VVx zHhF3uno3eyZ=;beB2~k*RXU;jYXT`Hi8T&q6JRxeUbq+6@FW+j1%t_*DHEF*w&FRB zec3r8n9G7yB0jL#{dGVIlgZ9+TvTUJnvTwaK8WSy(usFuhN~(xn*$ay^lo7LsPDVa zm6u;oTEr|GJse|}&-CMV`D+SFgc^+EDL>3hc&g>l0A|cHD|?X7VY#okn*`oMsZHAM ziMwZT#Dc8DHDhk5v|HQ<5!r1OjzLS(ChqgMdZ|uE!-(*6Khoo44on|l3|v;#Xpsx7 zS#hIhiFTzY#|_kHCtNWL;AXP~o#QkRLFV0U7&|W@bP(@wL1d<|ar;#Ys)B;#*Q`Be zvSoY$8vP>trIlXfiYL>q5oPPOQ*oYYw zHeOepxqlCOXuNT)a)-xNPWu^GE6W`DOkn2jp|7lc5AWdet`*iu)F>*u*2kC9dJFlo zQ$5GRxljkq1m27WL_IyC1CLl_wJSc?pS&mV zhpouV2O@z~?jM8!>teR1%F+p6XcSO5f>q3T*>T|^a%^d;QKh?*HZv7T zL&j!Vf55A2HD_S9Xg257Pkpx0{QA5rGO89i9oo2SfjyI%iY%MUy`v$AuNMO^%``@=?0W@#Sj%& z4`iHBw+c{1Ng@f8eK2v>*L(F(@^iZEoCGr#!>2zJ!{52*2$HQ)U$JTq( zfl7_KbmA_}>|rf>_I6N=SOdyK9mx(}tcf0DtX9}nwrhLk!qZ`GekK(jxQqPtapZ32 z83B5NGiqLejB%vcFe(-cU20wb(Sju$(Nyws+qiv>^G&OBO#OSaa6qzR!3?tms+@Ph z@z=N(GA0X*SLUF=%nipZH)nomv$uqOFlG!npZSp82S30mEI^NQ?g2jjln!= z6tv!gb?osqd#enc1vtWap4o0D4)>Mk+M#|XaVS}KY0OGk6-~s_)v=(Wia>JqDf$Nj zOb&_Q6^r(L=`yn8>e=^(f)cU$ub`$QdoKo?s>DnRlyZKXwo%%}2ZdCnHkN(v+mrNK z%D0k5QCL)e#&M5kl4A(+iTg8Qi1RvNSGo=XNk#QTufK>{Y2DmSNEwYqET&NiWuFqn zZOsaWv0+f}rKs32D!3}V8V_?8w>fPkuqh_$OJk@CiHHb({aWb+IB-gn;D(1Gqw@gKQwR51hD( zgU!OWxxa^ZP|(t#Lha+4GCbNuz9p>%Yt{BEL=RMXdQ}!;%~xXG3+P{dUZBaxn>~<8 zM2*+EpnHh}%tv(keh)EKWdF`qe8U#q_}i4EJuH+GJ8^%ord&xSzwbg9v*Tk@jqD8c z)Uw`zv%u?T%{{T7Os<$hA~jU_{dj363D)J)?Bk>1PDPJd}Nc$kr zia0LfgIB{VaT~tc&)rb5R!f_Q3D5JREXnM=e*zQUF9F+4zihCW}S!v8$K5eSba5B)oX%{-mZ zaXXxpMJ$xEo;9UzWC;FcQlP<%K4^|I*>B2$98uAW~2&Qet9i zg{BN)C^+CruWMq#qW)8LAT7P@YO(tqiZ_@7SbSNEG5zQ{BC$CUrShLl;fRM|@=fNx zeMc|e{FGyQXvx#74a$lCp#7(b#$dr(quEApZnNOKTY}Fbjs5WOqLmoFv|ybH01Y~I zJLaYeZnM=&5LUIC?a^8f=sl^ZVWhLDN#y7V&H`*HrLYLspsE-pJORjE;n%ry#$Kuu z2B2!!v@`my>3~WDv)}|W5s^?Ob&@%iF}$=4_PX6a5z{xCfHvQn|R zk!87E3S9iir6}>tJ4N=yi*A5g${3J&FERNKcHsNr2D=x+MrKGP@0OTx3uQ+#DVy0= zP?%D?s#(LnW#l`u?gqX*> zA2@pved_`EY(23D0_^-cgoi}grEqgV7G_)hn-Xo4o{ZR$d*s&|UY+NMSQflz)E{Iu zhbf;{CICbu|Ic@{5?Qd2wlJ$+zQOFEg?nyZ7DPw%X7jBD)ZP)Rb2Cw}54}^4Bv}g~ z38_>IX0;ghcBJq3+iZXx^@tf;G`u?3_pus#$ARPwHNRZP&vU@twNAo7i%!1|<7qL% z2EYPziExb|DV1Ju0?&hafPQMl;^2xO=~x6P2l^M1lP`y<<%B!*s?eK&4sX}edi+L; z&DSN4RopxBqkCXi^xE-e&C8KQY#{}$2uuD5#8aUmuS}vJ^c{)>ZL?_;O0Rnc#m_#< zRCMD%b(oc$u}u@Xu-Y-GXyl@5c`+|jTrw}e75uwFO!9{F+e>K?t|%yyJc-K@Tcw~n zHrTWk>0MKWXq68lB9dre?Xc4_*saJflH+?QGc zpH2Xu9stQ^tyGROkF#)9fQo)tB~kuAiOJu-AQ!vRoOK;@$Ov!yfYs1cb$L*0!^08T zlqsHQ8DktgJSpE#LF?kUET$q5;X^|pBF2#jf>wjCg&M_B$1eyCTn>zeH6_4vENSSa zqKE{ZMqSz_H|;U8u;wl6VBnA+hT0#(^Ue0%(b`v@^BBC$`l1M&n_Dw8Gb<`izQGZi zT3AT`Nem5PXP~xFO3)bwXoLsrb_BUrKhFtL!o_KQ^GoZszW2$qrlk5<%E72ne(ZJZ zaqO{j|KRO2wc)a82hJ|yB^jd8q^8?Gb+v9e?M=|}=GwDM7`mKNlv}dxMoM{~OAHVB z@mP@gi-VW<;QW@Fn!5C>MRA`Hm$@V3$q*5P2%qahv(^!GZ$K<_b#?XR9Rb7%VF!ZkEs1}Mg!_SpZi61#-n9w`S}`(4<`=Nvd{D5 z81MOTC34<97ag_ZA=KyM3y#8*Iuae&7I?nR%Oel&KE0TfdyalS6}UQD@;Gk2<_E&CaU0Tr zcph5l;N#+|or{j9^W85Udt-NaT`ygOH`j+YKKGsea00gja^66|7@~IO=6gdrPxcDW zn83o<@mjE!e|h&+RYgKXL`0)()62b9L$9ox%ZIwQTQc;+>i{4(IsV%ZzR^Ap8#eBf zDHnaezU~V=P6|M&YHB`oqIg$q?LTb$JQd`dAqQ`0tlY)xHbpdTMDZLo?bAb01Rg4i zi$kB`0N(r>K@FRqemo92DXA37EgfaM)Cvub2ZB0r;C~;*&~hSFk-r0)j(s`x^mxC& zw+G?9UUaZ%lRZhqw`sAvRS4!eZo%ldxw)|@Z;k)Xgn>q`sWfBCFCBr7hL#r{4@VMk zG_C%SGdicD$dmdj;rIRz#R6HViiN}b>tmg#1G@S}=+%qe$x5By`rK zbF22hUA2QlD3xD9c_7c3YfQ}_N_#|yIMLZ*PLh(6X8&3(72DLfY<;NA`I0lFXIu{i z)0vK1TU-01M#x*q!GXoMv$HcWaOcj$I4v#hn;=BcU<095s-(F1J#z3hBL5)Ktv=~Hu)$RM}39lmV&Xu8QFkcay@cyU_cVGxw%QhkMF5DSp$A5 zaG0)R>BJ5_04bmP>O zm#}$h6qzH|zSAY=gQOk152;i-fKYTF2K*~mTrsN6nz$8RTyI%_&TVc=p6jB=+wDMl<-GVAov4psFN%dFUl*hb7Mvoqj&qXd95m~1(8hbXGKND z@bGXyVp=-7Ja^jIeb5FI6BC$kf{bv%lz}bU$HT+JfByUldt)S`A!e_o^POXwuwjuR z?yIYat34&XguWn73nG1~g0@z>I3X=B#=Yo_XWCx|=v9BB2i*u0|MOt$dY-HBFTHB2 zswcOe^aK6#eDEv$x&S18lW(C;fJKU!TWWpU6{7Mq=>2s7KORJ5T&SiYW4H`Fv>YYHLO=80s=m6x7OKobu~5ruI~?>c^JAWH=)0E ztgmN(kZioN{;Y51ziMV&%R78}YIm+zsq>+C|CI{LS*#eKmxxG>w&YuQ4Gj&bi>s?L z)lXUFRlhqG%MMXuc=>Jxa0q|b1cSFuZyjX8TiTzPeflI*URs{S_lK^Vuc?*m6(jk=i%f^B)eLiZhkrwsvPV`Cs^pwXInjv5S%jXyFl98YFEIsQkF zy~tKgQnhkj8ro|Ef8}OJTmbKZPE=GB;Ip%@y#48JJKcl67`J1&)nmnV0|_E5ER2bX zdA9-nZsUEPGL|8LA{cKJ+|9(n0oP$(%l~xqA1m|`4!2a}=YasMRqNWCUdEV;ynJUJ zMyx&HAYpVtZf<}T1?8r(iAh000ifQWP5||tox&w+1_lPXOI6BQSm0+;>+h;!ZH z|Jz25V3vUYzT=V_XQi7qAeM>;PE9Je)84;(PmYZ!hg@musxc_?{x=8fr^?s%H8E6U1_V#EpO)|nLR-2cUho12>t>$vc^ z96bO}t7^TIFnXJe=r-hbo?AfR87QinvF(L*J;j-Z&3FySdmd-nUZ#C+DwCDwSSS*s zVxQ-0pV@M!MQaxahw2ZKolEQM>pv;v#0Z{mHlp|Ywl_ED4zE`0MvU)AY`lN|@PRg> z5tV<@+^hJOJ-*+M#iWW=biCMr+G&^hs;yn7Q~Pi(@a!A1=mX`PGuR&)skFv7zmVYSwF8F<^H%JSko-Ij8vhne0DJx^P zuw4Ns*MpZ(W)irv9w)1vtCu6d_0!{j>W?9Vh{!)|akO)>umC?s+if#$W@cv9AEMwC%IJvQlma zdbYrKy@=s?Vxe=dj_`yOJ20BYQ*X1ucLev03Vwz)YMQaWN6?&3e=6u^Fe5 zoqpHL(T3)^xAJtjaselBStJK*<1N0ldkd6$!@QP5cBI>GUcv{-Kh?+aZ~-rfhdmbO zOdAEmGyUM|%|N0`=Glyo!QJ+z7&vNm?*+!N>#%+Q}x?QiN7{Ch2Zl49{l_ z<&9f-4j&)Pq1FHi=I-c?1SN2b8XIvtz!auoy}GBT2f}~TiLw{X%E}690A}&4M-d?sqX9Z#N=~swj$P0%Xt0yFp-XTj;r!=^6-@Q zJgF;08E($rsW9;Noc3*FeL8((*Be*H9_Nqg*kFQnE{_sIuU^xCWvZa?r$Vp0lw~%Kg{_qcSX^~uy>m!-AK^PQSzR1+?-*r7qfl44nCnU7Soon-I=C<0}+G0;? zaoCo1qU7OOsKo3hA5Q1fuw=!CUvQLno~Acic;m=-d3gzBL7M%9V<6p%<+=NZ{Bn#& zrA)KgSw=+L`_^b-U@~6@BWAKdZl&2}jOkKHczt67sJnvCNmcqi2+bHfVw_5{vZE_L z&vc}SShN*XB~EiEmN_tzR?vZb(k`rkIeB-xI$ROa+%!D`m5J z0y_M}CE#3{dae28-gJ4(S=iDWz->}}wMkk50UfU|<>RbOcIzT&W~QbM_M2hCgMr4m z1qDRBu8hRQg5|Ru9KqHB!fAXSUqyI%d9_{F0>4tIC@bT>eQj2WFPd9XQ9&jh5MNl! z(FUff#l_V7r}!M!4`)LRq}kef%2T@&)*Sq||9b1a3xq2b~-?z9d3q^M`C{)KI% za;N}J(v%J;Ydv3M1|(vLSqKOSFQdF#*+)1uG$bu0mCUHumB?fOG@*i`V#=ahT}{%G^}%#W zf;#FCYmsJh3JMPokA(Pm*);CU`W0`Mq|ZQ00|zrADyposbZXaeM%uP$(!c?~zSyn_ zjiBVe&1BCHmcG55)!A5I7cpGz_*Pk2X0R!oVbMe={a9A&*#3Ah}kYL`C)wRP$K=rG1t@LJW z2!8#KAT>ptoGycq@Mp?(!1eqaL+(A7{cj)@dkGOev(HUv$a!t0nvM2Gn}c!Sf#KK;Q6V9wrl$P^19L#XZ4M>mRyBbq!|ARJa>OmS4Jk%z2v*Kh>7{6=v-iPtY8TJ zm?ir$@X<$-+4hVQS65eo&mI^YtnslBN%F95ik=kkYR~_2{&$D}{ndhvqJlz`%W)fE z>=r#bmLu7FDY^-HHMO~No%Vx+gUn3gp{$061^{~{Wo0^zx&xr(?c4G5YJ+m|C#=D@ zB11!&l0JjEHK69(H*bncN`^*8mH@)!1Rhy|JORvP5*a@ME=s1*57IB@wFrll(J?UC zJlvduk$vso+1I!Ic)jur{*jTAmTnjRs>j2}r)&Q^Lo1zHWF`5Hz0qlZX1ynT#Q3~7 z5?@$INIgvsppn*R?CGF-taLInq~+p|G_WyEA%@1r#R6d^*0IkzyA#QH1^5&Ed3kx@ zF&}?YadY1Rf=5J06LDB;8XEo!!=wQi7mvV^*V5uM=zZ(N)6?B8%r`5{kUJd_3`n!>@;Onk0-2caN3W*TixE?9yee6 z;e7Bn%UQJz=r()%Dx<|Sbs=Npt;_vcQNx*1HQ*5C1CT}wJT-(gG&h&XEGH+jn*Evi zrGbx+&!FAH>3(6lZ(WmS$(}Ne3&Dt_5LC&{%ZtS40OYY8OXoA6 zlm@Nv@6@fw-+bDQu@>nw-xr-zegQ$5ISBZf@87O<2iq*vjU1tO431|BPX~kP#=^=~ ziAs4fip*0oGB5lk_a`^E+hjJ21KGdLF2`W@CHmpR2SZ@iU!Y)>b8viYbG>UcH0Wx6 znDoj2wVRvU^z^ja%v`lGBhFO48(>fl)(Xnox9=HseGeyM$i$t2i0bOT(nZpc3I`*z z;kyt<#Rxs+E2du=8Uym8;rt0KIyS*J7p=090)zx{`*Lb{LERUC9ZU zWpQv7*B$=ZbsV81eOp7!$OxvSf1F$D>ewkL#6|r4{O&Gx$w;}=WC5;JO-&0!a3Xtw zLUgJhPu?7ov9+yu5pQsCa0ZWy?4>yd;85;>@J$EI+2v*2vyMb>vQgs%=xa#~XfT)^ zW&nTJkhut{jc#yoa7y9Hk&OGR2E!ozLY{FZqJqXBaHrYXS%H3V-ryP_KuQD$D{EoF zX9EKRf-fIyN@{A9(hOXV7U%wZJyBO%E!4q1FzhAqq0LpBL|@(j zzD(aFv6#I7LRC`|C@2AFGbNk&^z;P0=$VaR6r!(cOjJ|@%&H0s+36LkO^!vE|58)m zJ0;7=${yu5t=Wf#g-ub5Z}di%l$O@;8?xeMxNYI0ot~f5Ffge2fBb3ow?dDU8BB*? z?Bu_*Gy6;06);8PxrFnTHf2Mt13W6$k|GwF{h5?h!`H12F|)#X(5+8c@xAAt^BthvJFTR+8?O5YUuPYhAFHbc+iM9>A!A$=@?Dc-XY6 znSWL@KY@M38V&e-Kun@oWqT|mBPq%4>R>LK|4zcHoY%1bJAgFzKHN7%2^ksXrRjE` z=a&g1V1mchfg6a=(ng1RKVHtxoJSMz$SbL1#a+Z zcG{fS5|E4hKjfkyCl@8`IGC&c^_(zaTGMlyQQ=1bcMf(Ya^in= z`~u2v?F?Y@W6I}zSVXM9vV^>@Cptclo3VFmQowxJ%&q=TmMs|S@2^P9NKW3{-JLVE z2jq@^&-LfFryI5g4}Qd|ow8Xwp($y^cp-zxHTLnO8>K)t&D=>{LZW{-iRG90-rgQF zGc)pg&M%sp2S-PQ@7}$`z+eH0ENcj)B(#f*izD)Rs0eE@ooMtrG7R8^6Y7f6@-U?3-2dPx@*#G{EDDkV8pCd_8 zp}~u<7#chjcoocn4|w@?ru-|Rm)CJhXp)y#(|7+5zm8&p4epwt1njDk(g#v&Yipps ztn~6HOlcVyu+aowu6EgC6o@Ze2LX8Ge0O)Z!CaLQFnymseFA1;M5fv6{wf5G%+KE+ zSTdkVxU0eE)L+`4$+x(;c;W6d~k3F`Wcx5R#7`6K_HHLz?&Ny z9)1^7-galc+~O90T3lTG{rmSHKhSk_RzNWDEe>Oc8yhr4m&gU&-Ia28cNeHmk!8=? z-PhL;2uzuz$S0-q5uc~qKIW%Up5xfq*boVIbv!dv$cgET*iXLPT^*(*CsUJx;L}h7 zpg!>87Mq+(LIC_sfHEH~1#;Os?Wcr52y_7h!8l{YbO)n|i;4yY1z}-hqu?;Eb_F7~ zwY80wAwwYdFN5dk3n*{~qry!=s{>>#R~zQWj1(`f{?fQ?>9Qkdc?ik25i| zuoTFo7~gIKDglorRTTvS`SqVa>FMk1J0CC8k%9mbEhXj2)s?feC)`b?=-L6l5HIndB8@RS(cAFdzU}9`DCHtrpjb*;x({Qlg;& z4iFs;&3+HIj-&H82;^_y3tR|i{^UtVisgh@&Q*yXawn#zFXxD(RL`}TPGpCLA(&vp zLwvnnpiDRj+*%YuUP{vc#!Q;(mpHY3&H_v zmzrI$OH8ByEOP$~JuvtO2bO3_Y!)+MaIGlb;xhm9N8v|}0h1nb>3BzHFCg6@aWMeX z=&r6V5ZD4*eb=$+;o-s87t%cW`Qzl@N&^tDWgyk@JQW4f-Hv|)5tM!rdX2ceyu6uN zQOL#dickM{61w3Q;CSarCy3;VM-%3VM<3+^XuCrGhte-{2G{>>>i@sg9RJ^b{Ryts Wq+7jr6hZJsG?JpSB4t9le*X&=%f#6L literal 0 HcmV?d00001 diff --git a/dev/assets/kddpcoo.DDw-uyO9.png b/dev/assets/kddpcoo.DDw-uyO9.png new file mode 100644 index 0000000000000000000000000000000000000000..f954ddc4ed207889452ab1e5a565f5684c5f570a GIT binary patch literal 88775 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

)=xn>q7pj3UHZ>hirs&jZ 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 TZC}KpwVSlKJhDLa<=g)O3@egI literal 0 HcmV?d00001 diff --git a/dev/assets/object_modification.md.-cjSpi5I.js b/dev/assets/object_modification.md.Bn8irSF4.js similarity index 81% rename from dev/assets/object_modification.md.-cjSpi5I.js rename to dev/assets/object_modification.md.Bn8irSF4.js index 1c42af456..6c84f0b86 100644 --- a/dev/assets/object_modification.md.-cjSpi5I.js +++ b/dev/assets/object_modification.md.Bn8irSF4.js @@ -1,4 +1,4 @@ -import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./chunks/framework.B8l2DGq3.js";const m=JSON.parse('{"title":"Modifying objects","description":"","frontmatter":{},"headers":[],"relativePath":"object_modification.md","filePath":"object_modification.md","lastUpdated":null}'),g={name:"object_modification.md"};function y(o,a,c,f,u,E){const h=n("PluginTabsTab"),t=n("PluginTabs");return r(),p("div",null,[a[12]||(a[12]=k('

DimensionalData.jl objects are all struct rather than mutable struct. The only things you can modify in-place are the values of the contained arrays or metadata Dicts if they exist.

Everything else must be rebuilt and assigned to a variable.

modify

Modify the inner arrays of a AbstractDimArray or AbstractDimStack, with modify. This can be useful to e.g. replace all arrays with CuArray moving the data to the GPU, collect all inner arrays to Array without losing the outer DimArray wrappers, and similar things.

',5)),e(t,null,{default:l(()=>[e(h,{label:"array"},{default:l(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData")]),s(` +import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./chunks/framework.BAAK0EyE.js";const m=JSON.parse('{"title":"Modifying Objects","description":"","frontmatter":{},"headers":[],"relativePath":"object_modification.md","filePath":"object_modification.md","lastUpdated":null}'),g={name:"object_modification.md"};function y(o,a,c,f,u,E){const h=n("PluginTabsTab"),t=n("PluginTabs");return r(),p("div",null,[a[12]||(a[12]=k('

Modifying Objects

DimensionalData.jl objects are all struct rather than mutable struct. The only things you can modify in-place are the values of the contained arrays or metadata Dicts if they exist.

Everything else must be rebuilt and assigned to a variable.

modify

Modify the inner arrays of a AbstractDimArray or AbstractDimStack, with modify. This can be useful to e.g. replace all arrays with CuArray moving the data to the GPU, collect all inner arrays to Array without losing the outer DimArray wrappers, and similar things.

',5)),e(t,null,{default:l(()=>[e(h,{label:"array"},{default:l(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Bool,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` @@ -20,7 +20,7 @@ import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," parent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A_mod)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"3×5 Matrix{Bool}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")])])])],-1)])),_:1}),e(h,{label:"stack"},{default:l(()=>a[1]||(a[1]=[i("p",null,[s("For a stack this applied to all layers, and is where "),i("code",null,"modify"),s(" starts to be more powerful:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"((a"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), b"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")])])])],-1)])),_:1}),e(h,{label:"stack"},{default:l(()=>a[1]||(a[1]=[i("p",null,[s("For a stack, this applies to all layers, and is where "),i("code",null,"modify"),s(" starts to be more powerful:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"((a"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), b"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────┴─────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` @@ -47,27 +47,27 @@ import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")])])])],-1)])),_:1}),e(h,{label:"all dimensions"},{default:l(()=>a[3]||(a[3]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reorder"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ReverseOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")])])])],-1)])),_:1}),e(h,{label:"all dimensions"},{default:l(()=>a[3]||(a[3]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reorder"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ReverseOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3.0:-1.0:1.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'n':-1:'a'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'l'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'c'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.340557 0.69461 0.804846 0.207882 0.461631 0.338844")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.907202 0.21316 0.138819 0.406397 0.803446 0.668984")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.352592 0.770553 0.183103 0.28035 0.0702987 0.450109")])])])],-1)])),_:1})]),_:1}),a[15]||(a[15]=k('

mergedims

mergedims is like reshape, but simultaneously merges multiple dimensions into a single combined dimension with a lookup holding Tuples of the values of both dimensions.

rebuild

rebuild is one of the core functions of DimensionalData.jl. Basically everything uses it somewhere. And you can too, with a few caveats.

Warning

rebuild assumes you know what you are doing. You can quite easily set values to things that don't make sense. The constructor may check a few things, like the number of dimensions matches the axes of the array. But not much else.

',5)),e(t,null,{default:l(()=>[e(h,{label:"change the name"},{default:l(()=>a[4]||(a[4]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rebuild"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":my_array"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.86789 0.487197 0.744517 0.208271 0.686915 0.884218")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.933212 0.298728 0.824556 0.247032 0.0915867 0.903705")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.364844 0.474052 0.474755 0.317813 0.193627 0.159092")])])])],-1)])),_:1})]),_:1}),a[15]||(a[15]=k('

mergedims

mergedims is like reshape, but simultaneously merges multiple dimensions into a single combined dimension with a lookup holding Tuples of the values of both dimensions.

rebuild

rebuild is one of the core functions of DimensionalData.jl. Basically everything uses it somewhere. And you can too, with a few caveats.

Warning

rebuild assumes you know what you are doing. You can quite easily set values to things that don't make sense. The constructor may check a few things, like the number of dimensions matches the axes of the array. But not much else.

',5)),e(t,null,{default:l(()=>[e(h,{label:"change the name"},{default:l(()=>a[4]||(a[4]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rebuild"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":my_array"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," my_array"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────────┴──────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," name"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A1)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},":my_array")])])])],-1)])),_:1}),e(h,{label:"change the metadata"},{default:l(()=>a[5]||(a[5]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rebuild"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," =>"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "foo"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":b"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," =>"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "bar"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," name"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A1)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},":my_array")])])])],-1)])),_:1}),e(h,{label:"change the metadata"},{default:l(()=>a[5]||(a[5]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rebuild"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," =>"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "foo"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":b"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," =>"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "bar"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -78,9 +78,9 @@ import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' :b => "bar"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," metadata"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A1)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Dict{Symbol, String} with 2 entries:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," metadata"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A1)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Dict{Symbol, String} with 2 entries:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' :a => "foo"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' :b => "bar"')])])])],-1)])),_:1})]),_:1}),a[16]||(a[16]=k('

The most common use internally is the arg version on Dimension. This is very useful in dimension-based algorithms as a way to transform a dimension wrapper from one object to another:

julia
julia> d = X(1)
X 1
julia
julia> rebuild(d, 1:10)
X 1:10

rebuild applications are listed here. AbstractDimArray and AbstractDimStack always accept these keywords or arguments, but those in [ ] brackets may be thrown away if not needed. Keywords in ( ) will error if used where they are not accepted.

TypeKeywordsArguments
AbstractDimArraydata, dims, [refdims, name, metadata]as with kw, in order
AbstractDimStackdata, dims, [refdims], layerdims, [metadata, layermetadata]as with kw, in order
Dimensionvalval
Selectorval, (atol)val
Lookupdata, (order, span, sampling, metadata)keywords only

rebuild magic

rebuild with keywords will even work on objects DD doesn't know about!

julia
julia> nt = (a = 1, b = 2)
(a = 1, b = 2)
julia
julia> rebuild(nt, a = 99)
(a = 99, b = 2)

Really, the keyword version is just ConstructionBase.setproperties underneath, but wrapped so objects can customise the DD interface without changing the more generic ConstructionBase.jl behaviours and breaking e.g. Accessors.jl in the process.

set

set gives us a way to set the values of the immutable objects in DD, like Dimension and LookupArray. Unlike rebuild it tries its best to do the right thing. You don't have to specify what field you want to set. Just pass in the object you want to be part of the lookup. Usually, there is no possible ambiguity.

set is still improving. Sometimes it may not do the right thing. If you think this is the case, create a GitHub issue.

',17)),e(t,null,{default:l(()=>[e(h,{label:"set the dimension wrapper"},{default:l(()=>a[6]||(a[6]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Z)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` @@ -89,49 +89,49 @@ import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Z"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"clear the lookups"},{default:l(()=>a[7]||(a[7]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," NoLookup, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," NoLookup)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"clear the lookups"},{default:l(()=>a[7]||(a[7]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," NoLookup, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," NoLookup)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴─────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.849576 … 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.882085 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.745856 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"set different lookup values"},{default:l(()=>a[8]||(a[8]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"140"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.615705 … 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.565229 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.593346 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"set different lookup values"},{default:l(()=>a[8]||(a[8]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"140"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Int64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10:10:140"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 20"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 30"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"120"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 130"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 140")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"set lookup type as well as values"},{default:l(()=>a[9]||(a[9]=[i("p",null,"Change the values but also set the type to Sampled. TODO: broken",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"140"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"set lookup type as well as values"},{default:l(()=>a[9]||(a[9]=[i("p",null,"Change the values but also set the type to Sampled. TODO: broken",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"140"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10:10:140"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," NoSpan"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," NoSampling")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 20"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 30"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"120"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 130"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 140")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"set the points in X to be intervals"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Intervals)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"set the points in X to be intervals"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Intervals)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Center}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"set the categories in Y to be `Unordered`"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Unordered)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"set the categories in Y to be `Unordered`"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Unordered)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Unordered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1),i("p",null,":::",-1)])),_:1})]),_:1})])}const v=d(g,[["render",y]]);export{m as __pageData,v as default}; +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1),i("p",null,":::",-1)])),_:1})]),_:1})])}const v=d(g,[["render",y]]);export{m as __pageData,v as default}; diff --git a/dev/assets/object_modification.md.-cjSpi5I.lean.js b/dev/assets/object_modification.md.Bn8irSF4.lean.js similarity index 81% rename from dev/assets/object_modification.md.-cjSpi5I.lean.js rename to dev/assets/object_modification.md.Bn8irSF4.lean.js index 1c42af456..6c84f0b86 100644 --- a/dev/assets/object_modification.md.-cjSpi5I.lean.js +++ b/dev/assets/object_modification.md.Bn8irSF4.lean.js @@ -1,4 +1,4 @@ -import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./chunks/framework.B8l2DGq3.js";const m=JSON.parse('{"title":"Modifying objects","description":"","frontmatter":{},"headers":[],"relativePath":"object_modification.md","filePath":"object_modification.md","lastUpdated":null}'),g={name:"object_modification.md"};function y(o,a,c,f,u,E){const h=n("PluginTabsTab"),t=n("PluginTabs");return r(),p("div",null,[a[12]||(a[12]=k('

Modifying objects

DimensionalData.jl objects are all struct rather than mutable struct. The only things you can modify in-place are the values of the contained arrays or metadata Dicts if they exist.

Everything else must be rebuilt and assigned to a variable.

modify

Modify the inner arrays of a AbstractDimArray or AbstractDimStack, with modify. This can be useful to e.g. replace all arrays with CuArray moving the data to the GPU, collect all inner arrays to Array without losing the outer DimArray wrappers, and similar things.

',5)),e(t,null,{default:l(()=>[e(h,{label:"array"},{default:l(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData")]),s(` +import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./chunks/framework.BAAK0EyE.js";const m=JSON.parse('{"title":"Modifying Objects","description":"","frontmatter":{},"headers":[],"relativePath":"object_modification.md","filePath":"object_modification.md","lastUpdated":null}'),g={name:"object_modification.md"};function y(o,a,c,f,u,E){const h=n("PluginTabsTab"),t=n("PluginTabs");return r(),p("div",null,[a[12]||(a[12]=k('

Modifying Objects

DimensionalData.jl objects are all struct rather than mutable struct. The only things you can modify in-place are the values of the contained arrays or metadata Dicts if they exist.

Everything else must be rebuilt and assigned to a variable.

modify

Modify the inner arrays of a AbstractDimArray or AbstractDimStack, with modify. This can be useful to e.g. replace all arrays with CuArray moving the data to the GPU, collect all inner arrays to Array without losing the outer DimArray wrappers, and similar things.

',5)),e(t,null,{default:l(()=>[e(h,{label:"array"},{default:l(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Bool,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` @@ -20,7 +20,7 @@ import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," parent"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A_mod)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"3×5 Matrix{Bool}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")])])])],-1)])),_:1}),e(h,{label:"stack"},{default:l(()=>a[1]||(a[1]=[i("p",null,[s("For a stack this applied to all layers, and is where "),i("code",null,"modify"),s(" starts to be more powerful:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"((a"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), b"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0 0 0 0 0")])])])],-1)])),_:1}),e(h,{label:"stack"},{default:l(()=>a[1]||(a[1]=[i("p",null,[s("For a stack, this applies to all layers, and is where "),i("code",null,"modify"),s(" starts to be more powerful:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"((a"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), b"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"falses"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────┴─────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` @@ -47,27 +47,27 @@ import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")])])])],-1)])),_:1}),e(h,{label:"all dimensions"},{default:l(()=>a[3]||(a[3]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reorder"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ReverseOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")])])])],-1)])),_:1}),e(h,{label:"all dimensions"},{default:l(()=>a[3]||(a[3]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reorder"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ReverseOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3.0:-1.0:1.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'n':-1:'a'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'l'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'c'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.340557 0.69461 0.804846 0.207882 0.461631 0.338844")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.907202 0.21316 0.138819 0.406397 0.803446 0.668984")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.352592 0.770553 0.183103 0.28035 0.0702987 0.450109")])])])],-1)])),_:1})]),_:1}),a[15]||(a[15]=k('

mergedims

mergedims is like reshape, but simultaneously merges multiple dimensions into a single combined dimension with a lookup holding Tuples of the values of both dimensions.

rebuild

rebuild is one of the core functions of DimensionalData.jl. Basically everything uses it somewhere. And you can too, with a few caveats.

Warning

rebuild assumes you know what you are doing. You can quite easily set values to things that don't make sense. The constructor may check a few things, like the number of dimensions matches the axes of the array. But not much else.

',5)),e(t,null,{default:l(()=>[e(h,{label:"change the name"},{default:l(()=>a[4]||(a[4]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rebuild"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":my_array"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.86789 0.487197 0.744517 0.208271 0.686915 0.884218")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.933212 0.298728 0.824556 0.247032 0.0915867 0.903705")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.364844 0.474052 0.474755 0.317813 0.193627 0.159092")])])])],-1)])),_:1})]),_:1}),a[15]||(a[15]=k('

mergedims

mergedims is like reshape, but simultaneously merges multiple dimensions into a single combined dimension with a lookup holding Tuples of the values of both dimensions.

rebuild

rebuild is one of the core functions of DimensionalData.jl. Basically everything uses it somewhere. And you can too, with a few caveats.

Warning

rebuild assumes you know what you are doing. You can quite easily set values to things that don't make sense. The constructor may check a few things, like the number of dimensions matches the axes of the array. But not much else.

',5)),e(t,null,{default:l(()=>[e(h,{label:"change the name"},{default:l(()=>a[4]||(a[4]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rebuild"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":my_array"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," my_array"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────────┴──────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," name"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A1)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},":my_array")])])])],-1)])),_:1}),e(h,{label:"change the metadata"},{default:l(()=>a[5]||(a[5]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rebuild"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," =>"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "foo"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":b"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," =>"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "bar"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," name"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A1)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},":my_array")])])])],-1)])),_:1}),e(h,{label:"change the metadata"},{default:l(()=>a[5]||(a[5]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rebuild"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; metadata"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Dict"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," =>"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "foo"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":b"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," =>"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "bar"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -78,9 +78,9 @@ import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' :b => "bar"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," metadata"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A1)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Dict{Symbol, String} with 2 entries:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," metadata"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A1)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Dict{Symbol, String} with 2 entries:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' :a => "foo"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' :b => "bar"')])])])],-1)])),_:1})]),_:1}),a[16]||(a[16]=k('

The most common use internally is the arg version on Dimension. This is very useful in dimension-based algorithms as a way to transform a dimension wrapper from one object to another:

julia
julia> d = X(1)
X 1
julia
julia> rebuild(d, 1:10)
X 1:10

rebuild applications are listed here. AbstractDimArray and AbstractDimStack always accept these keywords or arguments, but those in [ ] brackets may be thrown away if not needed. Keywords in ( ) will error if used where they are not accepted.

TypeKeywordsArguments
AbstractDimArraydata, dims, [refdims, name, metadata]as with kw, in order
AbstractDimStackdata, dims, [refdims], layerdims, [metadata, layermetadata]as with kw, in order
Dimensionvalval
Selectorval, (atol)val
Lookupdata, (order, span, sampling, metadata)keywords only

rebuild magic

rebuild with keywords will even work on objects DD doesn't know about!

julia
julia> nt = (a = 1, b = 2)
(a = 1, b = 2)
julia
julia> rebuild(nt, a = 99)
(a = 99, b = 2)

Really, the keyword version is just ConstructionBase.setproperties underneath, but wrapped so objects can customise the DD interface without changing the more generic ConstructionBase.jl behaviours and breaking e.g. Accessors.jl in the process.

set

set gives us a way to set the values of the immutable objects in DD, like Dimension and LookupArray. Unlike rebuild it tries its best to do the right thing. You don't have to specify what field you want to set. Just pass in the object you want to be part of the lookup. Usually, there is no possible ambiguity.

set is still improving. Sometimes it may not do the right thing. If you think this is the case, create a GitHub issue.

',17)),e(t,null,{default:l(()=>[e(h,{label:"set the dimension wrapper"},{default:l(()=>a[6]||(a[6]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Z)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` @@ -89,49 +89,49 @@ import{_ as d,c as p,a4 as k,G as e,w as l,j as i,a as s,B as n,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Z"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"clear the lookups"},{default:l(()=>a[7]||(a[7]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," NoLookup, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," NoLookup)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"clear the lookups"},{default:l(()=>a[7]||(a[7]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," NoLookup, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," NoLookup)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴─────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"→ "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.849576 … 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.882085 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.745856 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"set different lookup values"},{default:l(()=>a[8]||(a[8]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"140"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.615705 … 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.565229 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.593346 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"set different lookup values"},{default:l(()=>a[8]||(a[8]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"140"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Int64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10:10:140"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 20"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 30"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"120"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 130"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 140")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"set lookup type as well as values"},{default:l(()=>a[9]||(a[9]=[i("p",null,"Change the values but also set the type to Sampled. TODO: broken",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"140"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"set lookup type as well as values"},{default:l(()=>a[9]||(a[9]=[i("p",null,"Change the values but also set the type to Sampled. TODO: broken",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"140"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10:10:140"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," NoSpan"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," NoSampling")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 20"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 30"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"120"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 130"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 140")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"set the points in X to be intervals"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Intervals)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"set the points in X to be intervals"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Intervals)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Center}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1)])),_:1}),e(h,{label:"set the categories in Y to be `Unordered`"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Unordered)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1)])),_:1}),e(h,{label:"set the categories in Y to be `Unordered`"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, Y "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Unordered)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭──────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"14"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├──────────────────────────┴───────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:3.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'a':1:'n'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Unordered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'a'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'b'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'c'"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"'l'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'm'"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 'n'")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450109 0.0702987 0.28035 0.183103 0.770553 0.352592")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.668984 0.803446 0.406397 0.138819 0.21316 0.907202")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.338844 0.461631 0.207882 0.804846 0.69461 0.340557")])])])],-1),i("p",null,":::",-1)])),_:1})]),_:1})])}const v=d(g,[["render",y]]);export{m as __pageData,v as default}; +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789")])])])],-1),i("p",null,":::",-1)])),_:1})]),_:1})])}const v=d(g,[["render",y]]);export{m as __pageData,v as default}; diff --git a/dev/assets/plots.md.kpY9w3i0.js b/dev/assets/plots.md.D4kZ1izt.js similarity index 96% rename from dev/assets/plots.md.kpY9w3i0.js rename to dev/assets/plots.md.D4kZ1izt.js index b8e46c42a..4554d0b32 100644 --- a/dev/assets/plots.md.kpY9w3i0.js +++ b/dev/assets/plots.md.D4kZ1izt.js @@ -1,4 +1,4 @@ -import{_ as i,c as a,a4 as t,o as l}from"./chunks/framework.B8l2DGq3.js";const e="/DimensionalData.jl/dev/assets/jmmhsxu.iiL4UBgm.png",h="/DimensionalData.jl/dev/assets/ybmzrjc.BIa4VhRY.png",n="/DimensionalData.jl/dev/assets/veptoqy.CZKDtjAN.png",p="/DimensionalData.jl/dev/assets/izkfogt.nOjqWh1g.png",k="/DimensionalData.jl/dev/assets/yhxwiti.CBNkYhiq.png",r="/DimensionalData.jl/dev/assets/rcywifo.NnnTWDGw.png",m=JSON.parse('{"title":"Plots.jl","description":"","frontmatter":{},"headers":[],"relativePath":"plots.md","filePath":"plots.md","lastUpdated":null}'),d={name:"plots.md"};function o(E,s,g,c,y,F){return l(),a("div",null,s[0]||(s[0]=[t(`

Plots.jl

Plots.jl and Makie.jl functions mostly work out of the box on AbstractDimArray, although not with the same results - they choose to follow each packages default behaviour as much as possible.

This will plot a line plot with 'a', 'b' and 'c' in the legend, and values 1-10 on the labelled X axis:

Plots.jl support is deprecated, as development is moving to Makie.jl

Makie.jl

Makie.jl functions also mostly work with AbstractDimArray and will permute and reorder axes into the right places, especially if X/Y/Z/Ti dimensions are used.

In Makie a DimMatrix will plot as a heatmap by default, but it will have labels and axes in the right places:

julia
using DimensionalData, CairoMakie
+import{_ as i,c as a,a4 as t,o as l}from"./chunks/framework.BAAK0EyE.js";const e="/DimensionalData.jl/dev/assets/esowbav.y1SvPNdA.png",h="/DimensionalData.jl/dev/assets/iqbzbbw.CmaGXDA6.png",n="/DimensionalData.jl/dev/assets/jrsvknx.DWa7L8iX.png",p="/DimensionalData.jl/dev/assets/garsckr.CNIu1Nb4.png",k="/DimensionalData.jl/dev/assets/kddpcoo.DDw-uyO9.png",r="/DimensionalData.jl/dev/assets/dcljjmm.DHFgsALw.png",m=JSON.parse('{"title":"Plots.jl","description":"","frontmatter":{},"headers":[],"relativePath":"plots.md","filePath":"plots.md","lastUpdated":null}'),d={name:"plots.md"};function o(E,s,g,c,y,F){return l(),a("div",null,s[0]||(s[0]=[t(`

Plots.jl

Plots.jl and Makie.jl functions mostly work out of the box on AbstractDimArray, although not with the same results - they choose to follow each packages default behaviour as much as possible.

This will plot a line plot with 'a', 'b' and 'c' in the legend, and values 1-10 on the labelled X axis:

Plots.jl support is deprecated, as development is moving to Makie.jl

Makie.jl

Makie.jl functions also mostly work with AbstractDimArray and will permute and reorder axes into the right places, especially if X/Y/Z/Ti dimensions are used.

In Makie a DimMatrix will plot as a heatmap by default, but it will have labels and axes in the right places:

julia
using DimensionalData, CairoMakie
 
 A = rand(X(10:10:100), Y([:a, :b, :c]))
 Makie.plot(A; colormap=:inferno)

Other plots also work, here DD ignores the axis order and instead favours the categorical variable for the X axis:

julia
Makie.rainclouds(A)

Test series plots

default colormap

julia
B = rand(X(10:10:100), Y([:a, :b, :c, :d, :e, :f, :g, :h, :i, :j]))
diff --git a/dev/assets/plots.md.kpY9w3i0.lean.js b/dev/assets/plots.md.D4kZ1izt.lean.js
similarity index 96%
rename from dev/assets/plots.md.kpY9w3i0.lean.js
rename to dev/assets/plots.md.D4kZ1izt.lean.js
index b8e46c42a..4554d0b32 100644
--- a/dev/assets/plots.md.kpY9w3i0.lean.js
+++ b/dev/assets/plots.md.D4kZ1izt.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a4 as t,o as l}from"./chunks/framework.B8l2DGq3.js";const e="/DimensionalData.jl/dev/assets/jmmhsxu.iiL4UBgm.png",h="/DimensionalData.jl/dev/assets/ybmzrjc.BIa4VhRY.png",n="/DimensionalData.jl/dev/assets/veptoqy.CZKDtjAN.png",p="/DimensionalData.jl/dev/assets/izkfogt.nOjqWh1g.png",k="/DimensionalData.jl/dev/assets/yhxwiti.CBNkYhiq.png",r="/DimensionalData.jl/dev/assets/rcywifo.NnnTWDGw.png",m=JSON.parse('{"title":"Plots.jl","description":"","frontmatter":{},"headers":[],"relativePath":"plots.md","filePath":"plots.md","lastUpdated":null}'),d={name:"plots.md"};function o(E,s,g,c,y,F){return l(),a("div",null,s[0]||(s[0]=[t(`

Plots.jl

Plots.jl and Makie.jl functions mostly work out of the box on AbstractDimArray, although not with the same results - they choose to follow each packages default behaviour as much as possible.

This will plot a line plot with 'a', 'b' and 'c' in the legend, and values 1-10 on the labelled X axis:

Plots.jl support is deprecated, as development is moving to Makie.jl

Makie.jl

Makie.jl functions also mostly work with AbstractDimArray and will permute and reorder axes into the right places, especially if X/Y/Z/Ti dimensions are used.

In Makie a DimMatrix will plot as a heatmap by default, but it will have labels and axes in the right places:

julia
using DimensionalData, CairoMakie
+import{_ as i,c as a,a4 as t,o as l}from"./chunks/framework.BAAK0EyE.js";const e="/DimensionalData.jl/dev/assets/esowbav.y1SvPNdA.png",h="/DimensionalData.jl/dev/assets/iqbzbbw.CmaGXDA6.png",n="/DimensionalData.jl/dev/assets/jrsvknx.DWa7L8iX.png",p="/DimensionalData.jl/dev/assets/garsckr.CNIu1Nb4.png",k="/DimensionalData.jl/dev/assets/kddpcoo.DDw-uyO9.png",r="/DimensionalData.jl/dev/assets/dcljjmm.DHFgsALw.png",m=JSON.parse('{"title":"Plots.jl","description":"","frontmatter":{},"headers":[],"relativePath":"plots.md","filePath":"plots.md","lastUpdated":null}'),d={name:"plots.md"};function o(E,s,g,c,y,F){return l(),a("div",null,s[0]||(s[0]=[t(`

Plots.jl

Plots.jl and Makie.jl functions mostly work out of the box on AbstractDimArray, although not with the same results - they choose to follow each packages default behaviour as much as possible.

This will plot a line plot with 'a', 'b' and 'c' in the legend, and values 1-10 on the labelled X axis:

Plots.jl support is deprecated, as development is moving to Makie.jl

Makie.jl

Makie.jl functions also mostly work with AbstractDimArray and will permute and reorder axes into the right places, especially if X/Y/Z/Ti dimensions are used.

In Makie a DimMatrix will plot as a heatmap by default, but it will have labels and axes in the right places:

julia
using DimensionalData, CairoMakie
 
 A = rand(X(10:10:100), Y([:a, :b, :c]))
 Makie.plot(A; colormap=:inferno)

Other plots also work, here DD ignores the axis order and instead favours the categorical variable for the X axis:

julia
Makie.rainclouds(A)

Test series plots

default colormap

julia
B = rand(X(10:10:100), Y([:a, :b, :c, :d, :e, :f, :g, :h, :i, :j]))
diff --git a/dev/assets/rcywifo.NnnTWDGw.png b/dev/assets/rcywifo.NnnTWDGw.png
deleted file mode 100644
index 3653bcd6f3f36cbb44af9587bccc18741704c3ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 92622
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

diff --git a/dev/assets/selectors.md.Cu8DY1IK.js b/dev/assets/selectors.md.BYwWS6hp.js
similarity index 63%
rename from dev/assets/selectors.md.Cu8DY1IK.js
rename to dev/assets/selectors.md.BYwWS6hp.js
index 334341268..f7e97ce8d 100644
--- a/dev/assets/selectors.md.Cu8DY1IK.js
+++ b/dev/assets/selectors.md.BYwWS6hp.js
@@ -1,48 +1,48 @@
-import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./chunks/framework.B8l2DGq3.js";const C=JSON.parse('{"title":"Selectors","description":"","frontmatter":{},"headers":[],"relativePath":"selectors.md","filePath":"selectors.md","lastUpdated":null}'),g={name:"selectors.md"};function y(f,a,o,c,E,u){const e=n("PluginTabsTab"),t=n("PluginTabs");return r(),d("div",null,[a[11]||(a[11]=k(`

Selectors

As well as choosing dimensions by name, we can also select values in them.

First, we can create DimArray with lookup values as well as dimension names:

julia
using DimensionalData
julia
julia> A = rand(X(1.0:0.2:2.0), Y([:a, :b, :c]))
╭─────────────────────────╮
+import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./chunks/framework.BAAK0EyE.js";const C=JSON.parse('{"title":"Selectors","description":"","frontmatter":{},"headers":[],"relativePath":"selectors.md","filePath":"selectors.md","lastUpdated":null}'),g={name:"selectors.md"};function y(f,a,o,c,E,u){const e=n("PluginTabsTab"),t=n("PluginTabs");return r(),d("div",null,[a[11]||(a[11]=k(`

Selectors

In addition to choosing dimensions by name, we can also select values within them.

First, we can create a DimArray with lookup values as well as dimension names:

julia
using DimensionalData
julia
julia> A = rand(X(1.0:0.2:2.0), Y([:a, :b, :c]))
╭─────────────────────────╮
 6×3 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.2:2.0 ForwardOrdered Regular Points,
 Y Categorical{Symbol} [:a, :b, :c] ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
-   :a        :b         :c
- 1.0  0.772277  0.536911   0.101231
- 1.2  0.711133  0.0653496  0.339858
- 1.4  0.883222  0.748041   0.191494
- 1.6  0.802776  0.621603   0.341976
- 1.8  0.156538  0.768488   0.87255
- 2.0  0.969079  0.869012   0.415714

Then we can use Selector to select values from the array:

`,7)),l(t,null,{default:h(()=>[l(e,{label:"At"},{default:h(()=>a[0]||(a[0]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.At"},[i("code",null,"At(x)")]),s(" gets the index or indices exactly matching the passed in value/s.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"0.33985840915074383")])])])],-1),i("p",null,"Or within a tolerance:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.99"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.201"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"; atol"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.05"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` + :a :b :c + 1.0 0.782081 0.381692 0.751977 + 1.2 0.836407 0.992013 0.806006 + 1.4 0.429267 0.367576 0.376108 + 1.6 0.127082 0.114532 0.0943594 + 1.8 0.677743 0.354013 0.910098 + 2.0 0.822783 0.874735 0.144269

Then we can use the Selector to select values from the array:

`,7)),l(t,null,{default:h(()=>[l(e,{label:"At"},{default:h(()=>a[0]||(a[0]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.At"},[i("code",null,"At(x)")]),s(" selector gets the index or indices exactly matching the passed in value(s).")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"0.806005979085237")])])])],-1),i("p",null,"Or within a tolerance:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.99"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.201"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"; atol"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.05"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.0, 1.2, 1.4]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.772277 0.536911 0.101231")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1),i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.At"},[i("code",null,"At")]),s(" can also take vectors and ranges:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"])]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782081 0.381692 0.751977")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1),i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.At"},[i("code",null,"At")]),s(" can also take vectors and ranges:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"])]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.2, 1.4]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.191494")])])])],-1)])),_:1}),l(e,{label:"Near"},{default:h(()=>a[1]||(a[1]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Near"},[i("code",null,"Near(x)")]),s(" gets the closest index to the passed in value(s), indexing with an "),i("code",null,"Int"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.245"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.376108")])])])],-1)])),_:1}),l(e,{label:"Near"},{default:h(()=>a[1]||(a[1]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Near"},[i("code",null,"Near(x)")]),s(" selector gets the closest index to the passed in value(s), indexing with an "),i("code",null,"Int"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.245"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────┴──────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :a"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :b"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0653496")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :c"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.339858")])])])],-1),i("p",null,[i("code",null,"Near"),s(" can also take vectors and ranges, which indexes with a "),i("code",null,"Vector{Int}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.25"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :a"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :b"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.992013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :c"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.806006")])])])],-1),i("p",null,[i("code",null,"Near"),s(" can also take vectors and ranges, which indexes with a "),i("code",null,"Vector{Int}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.25"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.2, 1.4]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1)])),_:1}),l(e,{label:"Contains"},{default:h(()=>a[2]||(a[2]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Contains"},[i("code",null,"Contains(x)")]),s(" get indices where the value x falls within an interval in the lookup.")],-1),i("p",null,[s("First set the "),i("code",null,"X"),s(" axis to be "),i("code",null,"Intervals"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Lookups")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1)])),_:1}),l(e,{label:"Contains"},{default:h(()=>a[2]||(a[2]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Contains"},[i("code",null,"Contains(x)")]),s(" selector gets indices where the value x falls within an interval in the lookup.")],-1),i("p",null,[s("First, set the "),i("code",null,"X"),s(" axis to be "),i("code",null,"Intervals"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Lookups")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` @@ -50,43 +50,43 @@ import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:0.2:2.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.772277 0.536911 0.101231")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.802776 0.621603 0.341976")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.156538 0.768488 0.87255")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.969079 0.869012 0.415714")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A_intervals, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"6-element Vector{Tuple{Float64, Float64}}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782081 0.381692 0.751977")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.127082 0.114532 0.0943594")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.677743 0.354013 0.910098")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.822783 0.874735 0.144269")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A_intervals, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"6-element Vector{Tuple{Float64, Float64}}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.0, 1.2)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.2, 1.4)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.4, 1.6)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.6, 1.8)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.8, 2.0)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2.0, 2.2)")])])])],-1),i("p",null,[s("With a single value it is like indexing with "),i("code",null,"Int")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Contains"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.245"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2.0, 2.2)")])])])],-1),i("p",null,[s("With a single value, it is like indexing with "),i("code",null,"Int")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Contains"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.245"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────┴──────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :a"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :b"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0653496")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :c"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.339858")])])])],-1),i("p",null,[i("code",null,"Contains"),s(" can also take vectors and ranges, which is lick indexing with "),i("code",null,"Vector{Int}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Contains"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.25"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :a"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :b"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.992013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :c"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.806006")])])])],-1),i("p",null,[i("code",null,"Contains"),s(" can also take vectors and ranges, which is like indexing with "),i("code",null,"Vector{Int}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Contains"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.25"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.0, 1.2]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.772277 0.536911 0.101231")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")])])])],-1)])),_:1}),l(e,{label:".."},{default:h(()=>a[3]||(a[3]=[i("p",null,[i("code",null,".."),s(" or "),i("code",null,"IntervalSets.Interval"),s(" selects a range of values: "),i("code",null,".."),s(" is like indexing with a "),i("code",null,"UnitRange"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782081 0.381692 0.751977")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")])])])],-1)])),_:1}),l(e,{label:".."},{default:h(()=>a[3]||(a[3]=[i("p",null,[s("The "),i("code",null,".."),s(" or "),i("code",null,"IntervalSets.Interval"),s(" selector selects a range of values: "),i("code",null,".."),s(" is like indexing with a "),i("code",null,"UnitRange"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.2:0.2:1.6"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.802776 0.621603 0.341976")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," IntervalSets")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.127082 0.114532 0.0943594")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," IntervalSets")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"OpenInterval"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` @@ -95,59 +95,59 @@ import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Interval{:close,:open}"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Interval{:close,:open}"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.2:0.2:1.4"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1)])),_:1}),l(e,{label:"Touches"},{default:h(()=>a[4]||(a[4]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Touches"},[i("code",null,"Touches")]),s(" is like "),i("code",null,".."),s(", but for "),i("code",null,"Intervals"),s(" it will include intervals touched by the selected interval, not inside it.")],-1),i("p",null,[s("This usually means including zero, one or two cells more than "),i("code",null,".."),s(),i("code",null,"Touches"),s(" is like indexing with a "),i("code",null,"UnitRange")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Touches"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1)])),_:1}),l(e,{label:"Touches"},{default:h(()=>a[4]||(a[4]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Touches"},[i("code",null,"Touches")]),s(" selector is like "),i("code",null,".."),s(", but for "),i("code",null,"Intervals"),s(", it will include intervals touched by the selected interval, not inside it.")],-1),i("p",null,[s("This usually means including zero, one, or two cells more than "),i("code",null,".."),s(),i("code",null,"Touches"),s(" is like indexing with a "),i("code",null,"UnitRange")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Touches"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:0.2:1.4"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.772277 0.536911 0.101231")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782081 0.381692 0.751977")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.2:0.2:1.2"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")])])])],-1)])),_:1}),l(e,{label:"Where"},{default:h(()=>a[5]||(a[5]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Where"},[i("code",null,"Where(f)")]),s(" filter the array axis by a function of the dimension index values. "),i("code",null,"Where"),s(" is like indexing with a "),i("code",null,"Vector{Bool}"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"->"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"in"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")])])])],-1)])),_:1}),l(e,{label:"Where"},{default:h(()=>a[5]||(a[5]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Where"},[i("code",null,"Where(f)")]),s(" selector filters the array axis by a function of the dimension index values. "),i("code",null,"Where"),s(" is like indexing with a "),i("code",null,"Vector{Bool}"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"->"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"in"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.6, 1.8, 2.0]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.802776 0.341976")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.156538 0.87255")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.969079 0.415714")])])])],-1)])),_:1}),l(e,{label:"Not"},{default:h(()=>a[6]||(a[6]=[i("p",null,[i("code",null,"Not(x)"),s(" get all indices "),i("em",null,"not"),s(" selected by "),i("code",null,"x"),s(", which can be another selector. "),i("code",null,"Not"),s(" is like indexing with a "),i("code",null,"Vector{Bool}"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Not"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Not"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"in"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.127082 0.0943594")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.677743 0.910098")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.822783 0.144269")])])])],-1)])),_:1}),l(e,{label:"Not"},{default:h(()=>a[6]||(a[6]=[i("p",null,[s("The "),i("code",null,"Not(x)"),s(" selector gets all indices "),i("em",null,"not"),s(" selected by "),i("code",null,"x"),s(", which can be another selector. "),i("code",null,"Not"),s(" is like indexing with a "),i("code",null,"Vector{Bool}"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Not"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Not"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"in"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.0, 1.2, 1.6, 1.8, 2.0]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:b]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.536911")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0653496")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.621603")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.768488")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.869012")])])])],-1)])),_:1})]),_:1}),a[12]||(a[12]=k('

Lookups

Selectors find indices in the Lookup of each dimension. Lookups wrap other AbstractArray (often AbstractRange) but add additional traits to facilitate fast lookups or specifying point or interval behaviour. These are usually detected automatically.

julia
using DimensionalData.Lookups
',3)),l(t,null,{default:h(()=>[l(e,{label:"Sampled lookups"},{default:h(()=>a[7]||(a[7]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Sampled"},[i("code",null,"Sampled(x)")]),s(" lookups hold values sampled along an axis. They may be "),i("code",null,"Ordered"),s("/"),i("code",null,"Unordered"),s(", "),i("code",null,"Intervals"),s("/"),i("code",null,"Points"),s(", and "),i("code",null,"Regular"),s("/"),i("code",null,"Irregular"),s(".")],-1),i("p",null,[s("Most of these properties are usually detected automatically, but here we create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Sampled"},[i("code",null,"Sampled")]),s(" lookup manually:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"100.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(), span"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Regular"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10.0:10.0:100.0")])])])],-1),i("p",null,[s("To specify "),i("code",null,"Irregular"),s(),i("code",null,"Intervals"),s(" we should include the outer bounds of the lookup, as we cant determine them from the vector.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"13"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(), span"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Irregular"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"21"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.381692")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.992013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.114532")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.354013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.874735")])])])],-1)])),_:1})]),_:1}),a[12]||(a[12]=k('

Lookups

Selectors find indices in the Lookup of each dimension. Lookups wrap other AbstractArray (often AbstractRange) but add additional traits to facilitate fast lookups or specifying point or interval behaviour. These are usually detected automatically.

julia
using DimensionalData.Lookups
',3)),l(t,null,{default:h(()=>[l(e,{label:"Sampled lookups"},{default:h(()=>a[7]||(a[7]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Sampled"},[i("code",null,"Sampled(x)")]),s(" lookup holds values sampled along an axis. They may be "),i("code",null,"Ordered"),s("/"),i("code",null,"Unordered"),s(", "),i("code",null,"Intervals"),s("/"),i("code",null,"Points"),s(", and "),i("code",null,"Regular"),s("/"),i("code",null,"Irregular"),s(".")],-1),i("p",null,[s("Most of these properties are usually detected automatically, but here we create a "),i("code",null,"Sampled"),s(" lookup manually:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"100.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(), span"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Regular"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10.0:10.0:100.0")])])])],-1),i("p",null,[s("To specify "),i("code",null,"Irregular"),s(),i("code",null,"Intervals"),s(", we should include the outer bounds of the lookup, as we can't determine them from the vector.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"13"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(), span"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Irregular"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"21"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"6-element Vector{Int64}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 13")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 8")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 5")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 3")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1")])])])],-1)])),_:1}),l(e,{label:"Categorical lookup"},{default:h(()=>a[8]||(a[8]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Categorical"},[i("code",null,"Categorical(x)")]),s(" a categorical lookup that holds categories, and may be ordered.")],-1),i("p",null,[s("Create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Categorical"},[i("code",null,"Categorical")]),s(" lookup manually")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Categorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"mon"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"tue"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"weds"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"thur"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"fri"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"sat"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"sun"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Unordered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Categorical{String} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"Unordered")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1")])])])],-1)])),_:1}),l(e,{label:"Categorical lookup"},{default:h(()=>a[8]||(a[8]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Categorical"},[i("code",null,"Categorical(x)")]),s(" lookup is a categorical lookup that holds categories, and may be ordered.")],-1),i("p",null,[s("Create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Categorical"},[i("code",null,"Categorical")]),s(" lookup manually")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Categorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"mon"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"tue"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"weds"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"thur"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"fri"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"sat"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"sun"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Unordered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Categorical{String} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"Unordered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"7-element Vector{String}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "mon"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "tue"')]),s(` @@ -155,7 +155,7 @@ import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "thur"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "fri"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "sat"')]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "sun"')])])])],-1)])),_:1}),l(e,{label:"Cyclic lookups"},{default:h(()=>a[9]||(a[9]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Cyclic"},[i("code",null,"Cyclic(x)")]),s(" an "),i("code",null,"AbstractSampled"),s(" lookup for cyclical values.")],-1),i("p",null,[s("Create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Cyclic"},[i("code",null,"Cyclic")]),s(" lookup that cycles over 12 months.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Dates")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "sun"')])])])],-1)])),_:1}),l(e,{label:"Cyclic lookups"},{default:h(()=>a[9]||(a[9]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Cyclic"},[i("code",null,"Cyclic(x)")]),s(" lookup is an "),i("code",null,"AbstractSampled"),s(" lookup for cyclical values.")],-1),i("p",null,[s("Create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Cyclic"},[i("code",null,"Cyclic")]),s(" lookup that cycles over 12 months.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Dates")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Cyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2000"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Month"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2000"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"12"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"); cycle"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Month"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"12"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Cyclic{Dates.DateTime} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"AutoOrder"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," AutoSpan"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00")')])])])],-1),i("p",null,[s("There is a shorthand to make a "),i("code",null,"DimArray"),s(" from a "),i("code",null,"Dimension"),s(" with a function of the lookup values. Here we convert the values to the month names:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(monthabbr, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────────────────╮")]),s(` @@ -174,85 +174,85 @@ import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-09-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "Sep"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-10-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "Oct"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-11-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "Nov"')]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-12-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "Dec"')])])])],-1),i("p",null,"Now we can select any date and get the month:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2005"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'"Apr"')])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3047"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"9"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'"Sep"')])])])],-1)])),_:1}),l(e,{label:"NoLookup"},{default:h(()=>a[10]||(a[10]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.NoLookup"},[i("code",null,"NoLookup(x)")]),s(" no lookup values provided, so "),i("code",null,"Selector"),s("s will not work. When you create a "),i("code",null,"DimArray"),s(" without a lookup array, "),i("code",null,"NoLookup"),s(" will be used. It is also not show in REPL printing.")],-1),i("p",null,[s("Here we create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.NoLookup"},[i("code",null,"NoLookup")]),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," NoLookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," typeof"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup{AutoValues}")])])])],-1),i("p",null,"Or even fill in the axis:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," NoLookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(Base"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"OneTo"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," typeof"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup{Base.OneTo{Int64}}")])])])],-1)])),_:1})]),_:1}),a[13]||(a[13]=k(`

Lookup autodetection

When we define an array, extra properties are detected:

julia
julia> A = DimArray(rand(7, 5), (X(10:10:70), Y([:a, :b, :c, :d, :e])))
╭─────────────────────────╮
+`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-12-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'  "Dec"')])])])],-1),i("p",null,"Now we can select any date and get the month:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2005"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'"Apr"')])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3047"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"9"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'"Sep"')])])])],-1)])),_:1}),l(e,{label:"NoLookup"},{default:h(()=>a[10]||(a[10]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.NoLookup"},[i("code",null,"NoLookup(x)")]),s(" lookup has no lookup values provided, so "),i("code",null,"Selector"),s("s will not work. When you create a "),i("code",null,"DimArray"),s(" without a lookup array, "),i("code",null,"NoLookup"),s(" will be used. It is also not shown in REPL printing.")],-1),i("p",null,[s("Here we create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.NoLookup"},[i("code",null,"NoLookup")]),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," NoLookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," typeof"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup{AutoValues}")])])])],-1),i("p",null,"Or even fill in the axis:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," NoLookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(Base"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"OneTo"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," typeof"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup{Base.OneTo{Int64}}")])])])],-1)])),_:1})]),_:1}),a[13]||(a[13]=k(`

Lookup autodetection

When we define an array, extra properties are detected:

julia
julia> A = DimArray(rand(7, 5), (X(10:10:70), Y([:a, :b, :c, :d, :e])))
╭─────────────────────────╮
 7×5 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Int64} 10:10:70 ForwardOrdered Regular Points,
 Y Categorical{Symbol} [:a, :b, :c, :d, :e] ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
    :a        :b        :c        :d        :e
- 10    0.441181  0.12452   0.201129  0.12668   0.647225
- 20    0.621662  0.196478  0.792553  0.575595  0.357367
- 30    0.72217   0.791844  0.883323  0.915251  0.246886
- 40    0.896257  0.758149  0.679453  0.506221  0.667841
- 50    0.301659  0.229418  0.442111  0.680987  0.0429074
- 60    0.973622  0.228248  0.882656  0.396585  0.870348
- 70    0.942925  0.749731  0.683795  0.687921  0.825204

This array has a Sampled lookup with ForwardOrdered Regular Points for X, and a Categorical ForwardOrdered for Y.

Most lookup types and properties are detected automatically like this from the arrays and ranges used.

  • Arrays and ranges of String, Symbol and Char are set to Categorical lookup.

    • order is detected as Unordered, ForwardOrdered or ReverseOrdered
  • Arrays and ranges of Number, DateTime and other things are set to Sampled lookups.

    • order is detected as Unordered, ForwardOrdered or ReverseOrdered.

    • sampling is set to Points() unless the values are IntervalSets.Interval, then Intervals(Center()) is used.

    • span is detected as Regular(step(range)) for AbstractRange and Irregular(nothing, nothing) for other AbstractArray, where nothing, nothing are the unknown outer bounds of the lookup. They are not needed for Points as the outer values are the outer bounds. But they can be specified manually for Intervals

    • Empty dimensions or dimension types are assigned NoLookup() ranges that can't be used with selectors as they hold no values.

DimSelector

We can also index with arrays of selectors DimSelectors. These are like CartesianIndices or DimIndices but holding Selectors At, Near or Contains.

julia
julia> A = rand(X(1.0:0.2:2.0), Y(10:2:20))
╭─────────────────────────╮
+ 10    0.659048  0.883222  0.621603  0.41767   0.48849
+ 20    0.796999  0.872742  0.768488  0.594101  0.956886
+ 30    0.27736   0.530405  0.721125  0.530389  0.00114293
+ 40    0.444305  0.226064  0.806166  0.794725  0.522816
+ 50    0.184738  0.764895  0.496058  0.298029  0.305342
+ 60    0.772277  0.86273   0.973357  0.491103  0.927836
+ 70    0.711133  0.748041  0.925367  0.976465  0.239921

This array has a Sampled lookup with ForwardOrdered Regular Points for X, and a Categorical ForwardOrdered for Y.

Most lookup types and properties are detected automatically like this from the arrays and ranges used.

  • Arrays and ranges of String, Symbol, and Char are set to Categorical lookup.

    • order is detected as Unordered, ForwardOrdered, or ReverseOrdered
  • Arrays and ranges of Number, DateTime, and other things are set to Sampled lookups.

    • order is detected as Unordered, ForwardOrdered, or ReverseOrdered.

    • sampling is set to Points() unless the values are IntervalSets.Interval, then Intervals(Center()) is used.

    • span is detected as Regular(step(range)) for AbstractRange and Irregular(nothing, nothing) for other AbstractArray, where nothing, nothing are the unknown outer bounds of the lookup. They are not needed for Points as the outer values are the outer bounds. But they can be specified manually for Intervals

    • Empty dimensions or dimension types are assigned NoLookup() ranges that can't be used with selectors as they hold no values.

DimSelector

We can also index with arrays of selectors DimSelectors. These are like CartesianIndices or DimIndices, but holding the Selectors At, Near, or Contains.

julia
julia> A = rand(X(1.0:0.2:2.0), Y(10:2:20))
╭─────────────────────────╮
 6×6 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.2:2.0 ForwardOrdered Regular Points,
 Y Sampled{Int64} 10:2:20 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  10          12         14          16         18         20
- 1.0   0.11787     0.664642   0.0831822   0.528009   0.631878   0.990294
- 1.2   0.0905873   0.30391    0.552153    0.229792   0.29205    0.610173
- 1.4   0.495624    0.810377   0.578253    0.574678   0.371583   0.460775
- 1.6   0.263531    0.361536   0.753597    0.568763   0.564657   0.788252
- 1.8   0.388768    0.44818    0.0300922   0.896624   0.952489   0.216905
- 2.0   0.422318    0.499307   0.228081    0.823123   0.10454    0.931705

We can define another array with partly matching indices

julia
julia> B = rand(X(1.0:0.04:2.0), Y(20:-1:10))
╭───────────────────────────╮
+  10          12           14         16         18         20
+ 1.0   0.672504    0.72217      0.196478   0.650675   0.238831   0.396585
+ 1.2   0.71372     0.896257     0.791844   0.97293    0.570603   0.687921
+ 1.4   0.905616    0.00498986   0.758149   0.883323   0.929034   0.880178
+ 1.6   0.0928922   0.307762     0.229418   0.679453   0.21921    0.855976
+ 1.8   0.441181    0.651538     0.75985    0.442111   0.506221   0.0575993
+ 2.0   0.621662    0.314906     0.152068   0.882656   0.680987   0.771237

We can define another array with partly matching indices

julia
julia> B = rand(X(1.0:0.04:2.0), Y(20:-1:10))
╭───────────────────────────╮
 26×11 DimArray{Float64,2}
 ├───────────────────────────┴──────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.04:2.0 ForwardOrdered Regular Points,
 Y Sampled{Int64} 20:-1:10 ReverseOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
    20          19         1812          11         10
- 1.0    0.300304    0.660657   0.677543      0.712342    0.806495   0.727464
- 1.04   0.421525    0.835674   0.458427      0.248873    0.412078   0.455255
- 1.08   0.399781    0.824659   0.392334      0.675459    0.95213    0.91666
- 1.12   0.717006    0.623124   0.482654      0.964964    0.304266   0.313361
+ 1.0    0.0775482   0.473944   0.898833      0.746037    0.594523   0.312277
+ 1.04   0.838572    0.631878   0.429465      0.812342    0.737151   0.5053
+ 1.08   0.166221    0.29205    0.244582      0.363678    0.801242   0.328169
+ 1.12   0.11787     0.371583   0.400001      0.92906     0.337296   0.760043
  ⋮                                       ⋱               ⋮
- 1.84   0.880853    0.578329   0.394576      0.255579    0.750947   0.27206
- 1.88   0.363918    0.533041   0.545522      0.516268    0.531012   0.503183
- 1.92   0.259597    0.358535   0.748884      0.575727    0.227865   0.865713
- 1.96   0.34589     0.94196    0.657054  …   0.728852    0.462859   0.767151
- 2.0    0.0143204   0.985407   0.476387      0.0417586   0.286      0.777391

And we can simply select values from B with selectors from A:

julia
julia> B[DimSelectors(A)]
╭─────────────────────────╮
+ 1.84   0.528009    0.951796   0.188707      0.0411113   0.608263   0.993001
+ 1.88   0.229792    0.565165   0.910836      0.162784    0.410125   0.699118
+ 1.92   0.574678    0.618541   0.187648      0.952744    0.583476   0.460775
+ 1.96   0.89559     0.812106   0.953145  …   0.727405    0.559465   0.788252
+ 2.0    0.595409    0.630782   0.298791      0.391258    0.320737   0.216905

And we can simply select values from B with selectors from A:

julia
julia> B[DimSelectors(A)]
╭─────────────────────────╮
 6×6 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} [1.0, 1.2, …, 1.8, 2.0] ForwardOrdered Irregular Points,
 Y Sampled{Int64} [10, 12, …, 18, 20] ReverseOrdered Irregular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  10         12          14         16          18         20
- 1.0   0.727464   0.712342    0.14203    0.207735    0.677543   0.300304
- 1.2   0.815253   0.642187    0.49973    0.0387029   0.319496   0.887979
- 1.4   0.391307   0.197423    0.166425   0.48124     0.300285   0.0574938
- 1.6   0.49224    0.795274    0.24625    0.735391    0.699976   0.973586
- 1.8   0.539197   0.0661958   0.811917   0.822008    0.848624   0.930699
- 2.0   0.777391   0.0417586   0.873218   0.834418    0.476387   0.0143204

If the lookups aren't aligned we can use Near instead of At, which like doing a nearest neighbor interpolation:

julia
julia> C = rand(X(1.0:0.007:2.0), Y(10.0:0.9:30))
╭────────────────────────────╮
+  10         12         14          16          18          20
+ 1.0   0.312277   0.746037   0.0623229   0.930614    0.898833    0.0775482
+ 1.2   0.825676   0.208304   0.232648    0.856029    0.649595    0.495624
+ 1.4   0.87475    0.403556   0.0990865   0.571126    0.0564029   0.909826
+ 1.6   0.939546   0.097066   0.139173    0.0566306   0.833475    0.0831822
+ 1.8   0.747695   0.721253   0.998253    0.781923    0.554833    0.228081
+ 2.0   0.216905   0.391258   0.719849    0.127621    0.298791    0.595409

If the lookups aren't aligned, we can use Near instead of At, which is like doing a nearest neighbor interpolation:

julia
julia> C = rand(X(1.0:0.007:2.0), Y(10.0:0.9:30))
╭────────────────────────────╮
 143×23 DimArray{Float64,2}
 ├────────────────────────────┴─────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.007:1.994 ForwardOrdered Regular Points,
 Y Sampled{Float64} 10.0:0.9:29.8 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-    10.0         10.928.0        28.9        29.8
- 1.0     0.168617     0.417756       0.258764    0.195897    0.747615
- 1.007   0.395053     0.994295       0.770101    0.403836    0.891596
- 1.014   0.144422     0.370454       0.878565    0.753744    0.0149561
- 1.021   0.938771     0.917143       0.679296    0.180397    0.436168
- ⋮                               ⋱
- 1.966   0.454047     0.92977        0.662833    0.160403    0.276742
- 1.973   0.846736     0.0923954  …   0.43915     0.405912    0.245638
- 1.98    0.946655     0.0506805      0.0821229   0.0787968   0.613895
- 1.987   0.00686195   0.266013       0.485952    0.193179    0.0628947
- 1.994   0.84475      0.574619       0.0760101   0.950007    0.662413
julia
julia> C[DimSelectors(A; selectors=Near)]
╭─────────────────────────╮
+    10.0       10.9       11.828.0       28.9       29.8
+ 1.0     0.412631   0.707629   0.640577       0.329029   0.945549   0.505129
+ 1.007   0.300304   0.66424    0.948532       0.565649   0.27236    0.782344
+ 1.014   0.421525   0.564636   0.267693       0.861783   0.53422    0.906871
+ 1.021   0.399781   0.381315   0.970303       0.449093   0.560553   0.565202
+ ⋮                                        ⋱
+ 1.966   0.608086   0.605375   0.336929       0.891637   0.537974   0.509288
+ 1.973   0.500679   0.179953   0.183503   …   0.851044   0.206886   0.824656
+ 1.98    0.673494   0.613381   0.0136364      0.427523   0.397621   0.742451
+ 1.987   0.294489   0.949143   0.520037       0.307031   0.18378    0.531598
+ 1.994   0.725774   0.525431   0.870641       0.919448   0.09814    0.331422
julia
julia> C[DimSelectors(A; selectors=Near)]
╭─────────────────────────╮
 6×6 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} [1.0, 1.203, …, 1.798, 1.994] ForwardOrdered Irregular Points,
 Y Sampled{Float64} [10.0, 11.8, …, 18.1, 19.9] ForwardOrdered Irregular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-    10.0        11.8        13.6        16.3        18.1       19.9
- 1.0     0.168617    0.397386    0.133475    0.0630398   0.247976   0.145293
- 1.203   0.233685    0.243195    0.331147    0.584048    0.717841   0.832538
- 1.399   0.0164892   0.729706    0.0315018   0.899356    0.847872   0.358513
- 1.602   0.0426808   0.61781     0.808889    0.140817    0.188976   0.054083
- 1.798   0.226699    0.0983553   0.661444    0.750622    0.650842   0.986606
- 1.994   0.84475     0.366873    0.734751    0.590953    0.621527   0.23502
`,22))])}const b=p(g,[["render",y]]);export{C as __pageData,b as default}; + 10.0 11.8 13.6 16.3 18.1 19.9 + 1.0 0.412631 0.640577 0.505726 0.371838 0.49487 0.0639461 + 1.203 0.824659 0.913321 0.510752 0.29488 0.154653 0.647062 + 1.399 0.366634 0.653364 0.568727 0.925888 0.660823 0.645043 + 1.602 0.0515532 0.324073 0.424831 0.808144 0.838211 0.71953 + 1.798 0.205861 0.414017 0.453507 0.526825 0.180915 0.125626 + 1.994 0.725774 0.870641 0.484227 0.0294193 0.6675 0.712805
`,22))])}const b=p(g,[["render",y]]);export{C as __pageData,b as default}; diff --git a/dev/assets/selectors.md.Cu8DY1IK.lean.js b/dev/assets/selectors.md.BYwWS6hp.lean.js similarity index 63% rename from dev/assets/selectors.md.Cu8DY1IK.lean.js rename to dev/assets/selectors.md.BYwWS6hp.lean.js index 334341268..f7e97ce8d 100644 --- a/dev/assets/selectors.md.Cu8DY1IK.lean.js +++ b/dev/assets/selectors.md.BYwWS6hp.lean.js @@ -1,48 +1,48 @@ -import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./chunks/framework.B8l2DGq3.js";const C=JSON.parse('{"title":"Selectors","description":"","frontmatter":{},"headers":[],"relativePath":"selectors.md","filePath":"selectors.md","lastUpdated":null}'),g={name:"selectors.md"};function y(f,a,o,c,E,u){const e=n("PluginTabsTab"),t=n("PluginTabs");return r(),d("div",null,[a[11]||(a[11]=k(`

Selectors

As well as choosing dimensions by name, we can also select values in them.

First, we can create DimArray with lookup values as well as dimension names:

julia
using DimensionalData
julia
julia> A = rand(X(1.0:0.2:2.0), Y([:a, :b, :c]))
╭─────────────────────────╮
+import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./chunks/framework.BAAK0EyE.js";const C=JSON.parse('{"title":"Selectors","description":"","frontmatter":{},"headers":[],"relativePath":"selectors.md","filePath":"selectors.md","lastUpdated":null}'),g={name:"selectors.md"};function y(f,a,o,c,E,u){const e=n("PluginTabsTab"),t=n("PluginTabs");return r(),d("div",null,[a[11]||(a[11]=k(`

Selectors

In addition to choosing dimensions by name, we can also select values within them.

First, we can create a DimArray with lookup values as well as dimension names:

julia
using DimensionalData
julia
julia> A = rand(X(1.0:0.2:2.0), Y([:a, :b, :c]))
╭─────────────────────────╮
 6×3 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.2:2.0 ForwardOrdered Regular Points,
 Y Categorical{Symbol} [:a, :b, :c] ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
-   :a        :b         :c
- 1.0  0.772277  0.536911   0.101231
- 1.2  0.711133  0.0653496  0.339858
- 1.4  0.883222  0.748041   0.191494
- 1.6  0.802776  0.621603   0.341976
- 1.8  0.156538  0.768488   0.87255
- 2.0  0.969079  0.869012   0.415714

Then we can use Selector to select values from the array:

`,7)),l(t,null,{default:h(()=>[l(e,{label:"At"},{default:h(()=>a[0]||(a[0]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.At"},[i("code",null,"At(x)")]),s(" gets the index or indices exactly matching the passed in value/s.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"0.33985840915074383")])])])],-1),i("p",null,"Or within a tolerance:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.99"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.201"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"; atol"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.05"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` + :a :b :c + 1.0 0.782081 0.381692 0.751977 + 1.2 0.836407 0.992013 0.806006 + 1.4 0.429267 0.367576 0.376108 + 1.6 0.127082 0.114532 0.0943594 + 1.8 0.677743 0.354013 0.910098 + 2.0 0.822783 0.874735 0.144269

Then we can use the Selector to select values from the array:

`,7)),l(t,null,{default:h(()=>[l(e,{label:"At"},{default:h(()=>a[0]||(a[0]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.At"},[i("code",null,"At(x)")]),s(" selector gets the index or indices exactly matching the passed in value(s).")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"0.806005979085237")])])])],-1),i("p",null,"Or within a tolerance:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.99"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.201"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"; atol"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.05"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.0, 1.2, 1.4]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.772277 0.536911 0.101231")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1),i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.At"},[i("code",null,"At")]),s(" can also take vectors and ranges:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"])]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782081 0.381692 0.751977")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1),i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.At"},[i("code",null,"At")]),s(" can also take vectors and ranges:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"])]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.2, 1.4]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.191494")])])])],-1)])),_:1}),l(e,{label:"Near"},{default:h(()=>a[1]||(a[1]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Near"},[i("code",null,"Near(x)")]),s(" gets the closest index to the passed in value(s), indexing with an "),i("code",null,"Int"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.245"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.376108")])])])],-1)])),_:1}),l(e,{label:"Near"},{default:h(()=>a[1]||(a[1]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Near"},[i("code",null,"Near(x)")]),s(" selector gets the closest index to the passed in value(s), indexing with an "),i("code",null,"Int"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.245"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────┴──────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :a"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :b"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0653496")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :c"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.339858")])])])],-1),i("p",null,[i("code",null,"Near"),s(" can also take vectors and ranges, which indexes with a "),i("code",null,"Vector{Int}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.25"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :a"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :b"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.992013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :c"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.806006")])])])],-1),i("p",null,[i("code",null,"Near"),s(" can also take vectors and ranges, which indexes with a "),i("code",null,"Vector{Int}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.25"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.2, 1.4]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1)])),_:1}),l(e,{label:"Contains"},{default:h(()=>a[2]||(a[2]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Contains"},[i("code",null,"Contains(x)")]),s(" get indices where the value x falls within an interval in the lookup.")],-1),i("p",null,[s("First set the "),i("code",null,"X"),s(" axis to be "),i("code",null,"Intervals"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Lookups")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1)])),_:1}),l(e,{label:"Contains"},{default:h(()=>a[2]||(a[2]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Contains"},[i("code",null,"Contains(x)")]),s(" selector gets indices where the value x falls within an interval in the lookup.")],-1),i("p",null,[s("First, set the "),i("code",null,"X"),s(" axis to be "),i("code",null,"Intervals"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," DimensionalData"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Lookups")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," set"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A, X "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` @@ -50,43 +50,43 @@ import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:0.2:2.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.772277 0.536911 0.101231")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.802776 0.621603 0.341976")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.156538 0.768488 0.87255")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.969079 0.869012 0.415714")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A_intervals, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"6-element Vector{Tuple{Float64, Float64}}:")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782081 0.381692 0.751977")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.127082 0.114532 0.0943594")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.677743 0.354013 0.910098")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.822783 0.874735 0.144269")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," intervalbounds"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A_intervals, X)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"6-element Vector{Tuple{Float64, Float64}}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.0, 1.2)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.2, 1.4)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.4, 1.6)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.6, 1.8)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (1.8, 2.0)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2.0, 2.2)")])])])],-1),i("p",null,[s("With a single value it is like indexing with "),i("code",null,"Int")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Contains"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.245"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (2.0, 2.2)")])])])],-1),i("p",null,[s("With a single value, it is like indexing with "),i("code",null,"Int")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Contains"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.245"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────┴──────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :a"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :b"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0653496")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :c"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.339858")])])])],-1),i("p",null,[i("code",null,"Contains"),s(" can also take vectors and ranges, which is lick indexing with "),i("code",null,"Vector{Int}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Contains"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.25"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :a"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :b"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.992013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," :c"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.806006")])])])],-1),i("p",null,[i("code",null,"Contains"),s(" can also take vectors and ranges, which is like indexing with "),i("code",null,"Vector{Int}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Contains"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"0.25"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.0, 1.2]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.772277 0.536911 0.101231")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")])])])],-1)])),_:1}),l(e,{label:".."},{default:h(()=>a[3]||(a[3]=[i("p",null,[i("code",null,".."),s(" or "),i("code",null,"IntervalSets.Interval"),s(" selects a range of values: "),i("code",null,".."),s(" is like indexing with a "),i("code",null,"UnitRange"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782081 0.381692 0.751977")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")])])])],-1)])),_:1}),l(e,{label:".."},{default:h(()=>a[3]||(a[3]=[i("p",null,[s("The "),i("code",null,".."),s(" or "),i("code",null,"IntervalSets.Interval"),s(" selector selects a range of values: "),i("code",null,".."),s(" is like indexing with a "),i("code",null,"UnitRange"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.2:0.2:1.6"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.802776 0.621603 0.341976")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," IntervalSets")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.127082 0.114532 0.0943594")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," IntervalSets")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"OpenInterval"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` @@ -95,59 +95,59 @@ import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Interval{:close,:open}"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Interval{:close,:open}"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.2:0.2:1.4"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1)])),_:1}),l(e,{label:"Touches"},{default:h(()=>a[4]||(a[4]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Touches"},[i("code",null,"Touches")]),s(" is like "),i("code",null,".."),s(", but for "),i("code",null,"Intervals"),s(" it will include intervals touched by the selected interval, not inside it.")],-1),i("p",null,[s("This usually means including zero, one or two cells more than "),i("code",null,".."),s(),i("code",null,"Touches"),s(" is like indexing with a "),i("code",null,"UnitRange")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Touches"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1)])),_:1}),l(e,{label:"Touches"},{default:h(()=>a[4]||(a[4]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Touches"},[i("code",null,"Touches")]),s(" selector is like "),i("code",null,".."),s(", but for "),i("code",null,"Intervals"),s(", it will include intervals touched by the selected interval, not inside it.")],-1),i("p",null,[s("This usually means including zero, one, or two cells more than "),i("code",null,".."),s(),i("code",null,"Touches"),s(" is like indexing with a "),i("code",null,"UnitRange")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Touches"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:0.2:1.4"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.772277 0.536911 0.101231")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.883222 0.748041 0.191494")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782081 0.381692 0.751977")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.429267 0.367576 0.376108")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A_intervals[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.1"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," .."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.2:0.2:1.2"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :b, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.711133 0.0653496 0.339858")])])])],-1)])),_:1}),l(e,{label:"Where"},{default:h(()=>a[5]||(a[5]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Where"},[i("code",null,"Where(f)")]),s(" filter the array axis by a function of the dimension index values. "),i("code",null,"Where"),s(" is like indexing with a "),i("code",null,"Vector{Bool}"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"->"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"in"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.836407 0.992013 0.806006")])])])],-1)])),_:1}),l(e,{label:"Where"},{default:h(()=>a[5]||(a[5]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Where"},[i("code",null,"Where(f)")]),s(" selector filters the array axis by a function of the dimension index values. "),i("code",null,"Where"),s(" is like indexing with a "),i("code",null,"Vector{Bool}"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"->"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," x "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"in"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.6, 1.8, 2.0]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:a, :c]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :a"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :c")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.802776 0.341976")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.156538 0.87255")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.969079 0.415714")])])])],-1)])),_:1}),l(e,{label:"Not"},{default:h(()=>a[6]||(a[6]=[i("p",null,[i("code",null,"Not(x)"),s(" get all indices "),i("em",null,"not"),s(" selected by "),i("code",null,"x"),s(", which can be another selector. "),i("code",null,"Not"),s(" is like indexing with a "),i("code",null,"Vector{Bool}"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Not"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Not"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"in"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.127082 0.0943594")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.677743 0.910098")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.822783 0.144269")])])])],-1)])),_:1}),l(e,{label:"Not"},{default:h(()=>a[6]||(a[6]=[i("p",null,[s("The "),i("code",null,"Not(x)"),s(" selector gets all indices "),i("em",null,"not"),s(" selected by "),i("code",null,"x"),s(", which can be another selector. "),i("code",null,"Not"),s(" is like indexing with a "),i("code",null,"Vector{Bool}"),s(".")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Not"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1.3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Not"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Where"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"in"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────┴────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"[1.0, 1.2, 1.6, 1.8, 2.0]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Symbol} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"[:b]"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," :b")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.536911")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0653496")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.621603")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.768488")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.869012")])])])],-1)])),_:1})]),_:1}),a[12]||(a[12]=k('

Lookups

Selectors find indices in the Lookup of each dimension. Lookups wrap other AbstractArray (often AbstractRange) but add additional traits to facilitate fast lookups or specifying point or interval behaviour. These are usually detected automatically.

julia
using DimensionalData.Lookups
',3)),l(t,null,{default:h(()=>[l(e,{label:"Sampled lookups"},{default:h(()=>a[7]||(a[7]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Sampled"},[i("code",null,"Sampled(x)")]),s(" lookups hold values sampled along an axis. They may be "),i("code",null,"Ordered"),s("/"),i("code",null,"Unordered"),s(", "),i("code",null,"Intervals"),s("/"),i("code",null,"Points"),s(", and "),i("code",null,"Regular"),s("/"),i("code",null,"Irregular"),s(".")],-1),i("p",null,[s("Most of these properties are usually detected automatically, but here we create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Sampled"},[i("code",null,"Sampled")]),s(" lookup manually:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"100.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(), span"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Regular"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10.0:10.0:100.0")])])])],-1),i("p",null,[s("To specify "),i("code",null,"Irregular"),s(),i("code",null,"Intervals"),s(" we should include the outer bounds of the lookup, as we cant determine them from the vector.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"13"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(), span"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Irregular"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"21"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.381692")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.992013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.114532")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.354013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.874735")])])])],-1)])),_:1})]),_:1}),a[12]||(a[12]=k('

Lookups

Selectors find indices in the Lookup of each dimension. Lookups wrap other AbstractArray (often AbstractRange) but add additional traits to facilitate fast lookups or specifying point or interval behaviour. These are usually detected automatically.

julia
using DimensionalData.Lookups
',3)),l(t,null,{default:h(()=>[l(e,{label:"Sampled lookups"},{default:h(()=>a[7]||(a[7]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Sampled"},[i("code",null,"Sampled(x)")]),s(" lookup holds values sampled along an axis. They may be "),i("code",null,"Ordered"),s("/"),i("code",null,"Unordered"),s(", "),i("code",null,"Intervals"),s("/"),i("code",null,"Points"),s(", and "),i("code",null,"Regular"),s("/"),i("code",null,"Irregular"),s(".")],-1),i("p",null,[s("Most of these properties are usually detected automatically, but here we create a "),i("code",null,"Sampled"),s(" lookup manually:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"100.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(), span"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Regular"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Float64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"10.0:10.0:100.0")])])])],-1),i("p",null,[s("To specify "),i("code",null,"Irregular"),s(),i("code",null,"Intervals"),s(", we should include the outer bounds of the lookup, as we can't determine them from the vector.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Sampled"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"13"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"5"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(), span"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Irregular"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"21"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Sampled{Int64} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Irregular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"6-element Vector{Int64}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 13")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 8")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 5")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 3")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 2")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1")])])])],-1)])),_:1}),l(e,{label:"Categorical lookup"},{default:h(()=>a[8]||(a[8]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Categorical"},[i("code",null,"Categorical(x)")]),s(" a categorical lookup that holds categories, and may be ordered.")],-1),i("p",null,[s("Create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Categorical"},[i("code",null,"Categorical")]),s(" lookup manually")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Categorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"mon"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"tue"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"weds"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"thur"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"fri"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"sat"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"sun"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Unordered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Categorical{String} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"Unordered")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 1")])])])],-1)])),_:1}),l(e,{label:"Categorical lookup"},{default:h(()=>a[8]||(a[8]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Categorical"},[i("code",null,"Categorical(x)")]),s(" lookup is a categorical lookup that holds categories, and may be ordered.")],-1),i("p",null,[s("Create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Categorical"},[i("code",null,"Categorical")]),s(" lookup manually")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Categorical"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"mon"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"tue"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"weds"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"thur"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"fri"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"sat"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"sun"'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]; order"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Unordered"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"())")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Categorical{String} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"Unordered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"7-element Vector{String}:")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "mon"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "tue"')]),s(` @@ -155,7 +155,7 @@ import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "thur"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "fri"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "sat"')]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "sun"')])])])],-1)])),_:1}),l(e,{label:"Cyclic lookups"},{default:h(()=>a[9]||(a[9]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Cyclic"},[i("code",null,"Cyclic(x)")]),s(" an "),i("code",null,"AbstractSampled"),s(" lookup for cyclical values.")],-1),i("p",null,[s("Create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Cyclic"},[i("code",null,"Cyclic")]),s(" lookup that cycles over 12 months.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Dates")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "sun"')])])])],-1)])),_:1}),l(e,{label:"Cyclic lookups"},{default:h(()=>a[9]||(a[9]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Cyclic"},[i("code",null,"Cyclic(x)")]),s(" lookup is an "),i("code",null,"AbstractSampled"),s(" lookup for cyclical values.")],-1),i("p",null,[s("Create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.Cyclic"},[i("code",null,"Cyclic")]),s(" lookup that cycles over 12 months.")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," using"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Dates")]),s(` `),i("span",{class:"line"}),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," Cyclic"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2000"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Month"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2000"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"12"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"); cycle"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Month"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"12"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), sampling"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Intervals"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Start"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Cyclic{Dates.DateTime} "),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}},"AutoOrder"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," AutoSpan"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Intervals{Start}")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"wrapping: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00")')])])])],-1),i("p",null,[s("There is a shorthand to make a "),i("code",null,"DimArray"),s(" from a "),i("code",null,"Dimension"),s(" with a function of the lookup values. Here we convert the values to the month names:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimArray"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(monthabbr, "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────────────────────╮")]),s(` @@ -174,85 +174,85 @@ import{_ as p,c as d,a4 as k,G as l,w as h,B as n,o as r,j as i,a as s}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-09-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "Sep"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-10-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "Oct"')]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-11-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "Nov"')]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-12-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},' "Dec"')])])])],-1),i("p",null,"Now we can select any date and get the month:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2005"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'"Apr"')])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3047"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"9"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'"Sep"')])])])],-1)])),_:1}),l(e,{label:"NoLookup"},{default:h(()=>a[10]||(a[10]=[i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.NoLookup"},[i("code",null,"NoLookup(x)")]),s(" no lookup values provided, so "),i("code",null,"Selector"),s("s will not work. When you create a "),i("code",null,"DimArray"),s(" without a lookup array, "),i("code",null,"NoLookup"),s(" will be used. It is also not show in REPL printing.")],-1),i("p",null,[s("Here we create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.NoLookup"},[i("code",null,"NoLookup")]),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," NoLookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," typeof"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup{AutoValues}")])])])],-1),i("p",null,"Or even fill in the axis:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," NoLookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(Base"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"OneTo"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," typeof"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup{Base.OneTo{Int64}}")])])])],-1)])),_:1})]),_:1}),a[13]||(a[13]=k(`

Lookup autodetection

When we define an array, extra properties are detected:

julia
julia> A = DimArray(rand(7, 5), (X(10:10:70), Y([:a, :b, :c, :d, :e])))
╭─────────────────────────╮
+`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2000-12-01T00:00:00"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'  "Dec"')])])])],-1),i("p",null,"Now we can select any date and get the month:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2005"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'"Apr"')])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DateTime"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"3047"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"9"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},'"Sep"')])])])],-1)])),_:1}),l(e,{label:"NoLookup"},{default:h(()=>a[10]||(a[10]=[i("p",null,[s("The "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.NoLookup"},[i("code",null,"NoLookup(x)")]),s(" lookup has no lookup values provided, so "),i("code",null,"Selector"),s("s will not work. When you create a "),i("code",null,"DimArray"),s(" without a lookup array, "),i("code",null,"NoLookup"),s(" will be used. It is also not shown in REPL printing.")],-1),i("p",null,[s("Here we create a "),i("a",{href:"/DimensionalData.jl/dev/api/lookuparrays#DimensionalData.Dimensions.Lookups.NoLookup"},[i("code",null,"NoLookup")]),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," NoLookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"()")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," typeof"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup{AutoValues}")])])])],-1),i("p",null,"Or even fill in the axis:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," l "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," NoLookup"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(Base"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"OneTo"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"10"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," typeof"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(l)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"NoLookup{Base.OneTo{Int64}}")])])])],-1)])),_:1})]),_:1}),a[13]||(a[13]=k(`

Lookup autodetection

When we define an array, extra properties are detected:

julia
julia> A = DimArray(rand(7, 5), (X(10:10:70), Y([:a, :b, :c, :d, :e])))
╭─────────────────────────╮
 7×5 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Int64} 10:10:70 ForwardOrdered Regular Points,
 Y Categorical{Symbol} [:a, :b, :c, :d, :e] ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
    :a        :b        :c        :d        :e
- 10    0.441181  0.12452   0.201129  0.12668   0.647225
- 20    0.621662  0.196478  0.792553  0.575595  0.357367
- 30    0.72217   0.791844  0.883323  0.915251  0.246886
- 40    0.896257  0.758149  0.679453  0.506221  0.667841
- 50    0.301659  0.229418  0.442111  0.680987  0.0429074
- 60    0.973622  0.228248  0.882656  0.396585  0.870348
- 70    0.942925  0.749731  0.683795  0.687921  0.825204

This array has a Sampled lookup with ForwardOrdered Regular Points for X, and a Categorical ForwardOrdered for Y.

Most lookup types and properties are detected automatically like this from the arrays and ranges used.

  • Arrays and ranges of String, Symbol and Char are set to Categorical lookup.

    • order is detected as Unordered, ForwardOrdered or ReverseOrdered
  • Arrays and ranges of Number, DateTime and other things are set to Sampled lookups.

    • order is detected as Unordered, ForwardOrdered or ReverseOrdered.

    • sampling is set to Points() unless the values are IntervalSets.Interval, then Intervals(Center()) is used.

    • span is detected as Regular(step(range)) for AbstractRange and Irregular(nothing, nothing) for other AbstractArray, where nothing, nothing are the unknown outer bounds of the lookup. They are not needed for Points as the outer values are the outer bounds. But they can be specified manually for Intervals

    • Empty dimensions or dimension types are assigned NoLookup() ranges that can't be used with selectors as they hold no values.

DimSelector

We can also index with arrays of selectors DimSelectors. These are like CartesianIndices or DimIndices but holding Selectors At, Near or Contains.

julia
julia> A = rand(X(1.0:0.2:2.0), Y(10:2:20))
╭─────────────────────────╮
+ 10    0.659048  0.883222  0.621603  0.41767   0.48849
+ 20    0.796999  0.872742  0.768488  0.594101  0.956886
+ 30    0.27736   0.530405  0.721125  0.530389  0.00114293
+ 40    0.444305  0.226064  0.806166  0.794725  0.522816
+ 50    0.184738  0.764895  0.496058  0.298029  0.305342
+ 60    0.772277  0.86273   0.973357  0.491103  0.927836
+ 70    0.711133  0.748041  0.925367  0.976465  0.239921

This array has a Sampled lookup with ForwardOrdered Regular Points for X, and a Categorical ForwardOrdered for Y.

Most lookup types and properties are detected automatically like this from the arrays and ranges used.

  • Arrays and ranges of String, Symbol, and Char are set to Categorical lookup.

    • order is detected as Unordered, ForwardOrdered, or ReverseOrdered
  • Arrays and ranges of Number, DateTime, and other things are set to Sampled lookups.

    • order is detected as Unordered, ForwardOrdered, or ReverseOrdered.

    • sampling is set to Points() unless the values are IntervalSets.Interval, then Intervals(Center()) is used.

    • span is detected as Regular(step(range)) for AbstractRange and Irregular(nothing, nothing) for other AbstractArray, where nothing, nothing are the unknown outer bounds of the lookup. They are not needed for Points as the outer values are the outer bounds. But they can be specified manually for Intervals

    • Empty dimensions or dimension types are assigned NoLookup() ranges that can't be used with selectors as they hold no values.

DimSelector

We can also index with arrays of selectors DimSelectors. These are like CartesianIndices or DimIndices, but holding the Selectors At, Near, or Contains.

julia
julia> A = rand(X(1.0:0.2:2.0), Y(10:2:20))
╭─────────────────────────╮
 6×6 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.2:2.0 ForwardOrdered Regular Points,
 Y Sampled{Int64} 10:2:20 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  10          12         14          16         18         20
- 1.0   0.11787     0.664642   0.0831822   0.528009   0.631878   0.990294
- 1.2   0.0905873   0.30391    0.552153    0.229792   0.29205    0.610173
- 1.4   0.495624    0.810377   0.578253    0.574678   0.371583   0.460775
- 1.6   0.263531    0.361536   0.753597    0.568763   0.564657   0.788252
- 1.8   0.388768    0.44818    0.0300922   0.896624   0.952489   0.216905
- 2.0   0.422318    0.499307   0.228081    0.823123   0.10454    0.931705

We can define another array with partly matching indices

julia
julia> B = rand(X(1.0:0.04:2.0), Y(20:-1:10))
╭───────────────────────────╮
+  10          12           14         16         18         20
+ 1.0   0.672504    0.72217      0.196478   0.650675   0.238831   0.396585
+ 1.2   0.71372     0.896257     0.791844   0.97293    0.570603   0.687921
+ 1.4   0.905616    0.00498986   0.758149   0.883323   0.929034   0.880178
+ 1.6   0.0928922   0.307762     0.229418   0.679453   0.21921    0.855976
+ 1.8   0.441181    0.651538     0.75985    0.442111   0.506221   0.0575993
+ 2.0   0.621662    0.314906     0.152068   0.882656   0.680987   0.771237

We can define another array with partly matching indices

julia
julia> B = rand(X(1.0:0.04:2.0), Y(20:-1:10))
╭───────────────────────────╮
 26×11 DimArray{Float64,2}
 ├───────────────────────────┴──────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.04:2.0 ForwardOrdered Regular Points,
 Y Sampled{Int64} 20:-1:10 ReverseOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
    20          19         1812          11         10
- 1.0    0.300304    0.660657   0.677543      0.712342    0.806495   0.727464
- 1.04   0.421525    0.835674   0.458427      0.248873    0.412078   0.455255
- 1.08   0.399781    0.824659   0.392334      0.675459    0.95213    0.91666
- 1.12   0.717006    0.623124   0.482654      0.964964    0.304266   0.313361
+ 1.0    0.0775482   0.473944   0.898833      0.746037    0.594523   0.312277
+ 1.04   0.838572    0.631878   0.429465      0.812342    0.737151   0.5053
+ 1.08   0.166221    0.29205    0.244582      0.363678    0.801242   0.328169
+ 1.12   0.11787     0.371583   0.400001      0.92906     0.337296   0.760043
  ⋮                                       ⋱               ⋮
- 1.84   0.880853    0.578329   0.394576      0.255579    0.750947   0.27206
- 1.88   0.363918    0.533041   0.545522      0.516268    0.531012   0.503183
- 1.92   0.259597    0.358535   0.748884      0.575727    0.227865   0.865713
- 1.96   0.34589     0.94196    0.657054  …   0.728852    0.462859   0.767151
- 2.0    0.0143204   0.985407   0.476387      0.0417586   0.286      0.777391

And we can simply select values from B with selectors from A:

julia
julia> B[DimSelectors(A)]
╭─────────────────────────╮
+ 1.84   0.528009    0.951796   0.188707      0.0411113   0.608263   0.993001
+ 1.88   0.229792    0.565165   0.910836      0.162784    0.410125   0.699118
+ 1.92   0.574678    0.618541   0.187648      0.952744    0.583476   0.460775
+ 1.96   0.89559     0.812106   0.953145  …   0.727405    0.559465   0.788252
+ 2.0    0.595409    0.630782   0.298791      0.391258    0.320737   0.216905

And we can simply select values from B with selectors from A:

julia
julia> B[DimSelectors(A)]
╭─────────────────────────╮
 6×6 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} [1.0, 1.2, …, 1.8, 2.0] ForwardOrdered Irregular Points,
 Y Sampled{Int64} [10, 12, …, 18, 20] ReverseOrdered Irregular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  10         12          14         16          18         20
- 1.0   0.727464   0.712342    0.14203    0.207735    0.677543   0.300304
- 1.2   0.815253   0.642187    0.49973    0.0387029   0.319496   0.887979
- 1.4   0.391307   0.197423    0.166425   0.48124     0.300285   0.0574938
- 1.6   0.49224    0.795274    0.24625    0.735391    0.699976   0.973586
- 1.8   0.539197   0.0661958   0.811917   0.822008    0.848624   0.930699
- 2.0   0.777391   0.0417586   0.873218   0.834418    0.476387   0.0143204

If the lookups aren't aligned we can use Near instead of At, which like doing a nearest neighbor interpolation:

julia
julia> C = rand(X(1.0:0.007:2.0), Y(10.0:0.9:30))
╭────────────────────────────╮
+  10         12         14          16          18          20
+ 1.0   0.312277   0.746037   0.0623229   0.930614    0.898833    0.0775482
+ 1.2   0.825676   0.208304   0.232648    0.856029    0.649595    0.495624
+ 1.4   0.87475    0.403556   0.0990865   0.571126    0.0564029   0.909826
+ 1.6   0.939546   0.097066   0.139173    0.0566306   0.833475    0.0831822
+ 1.8   0.747695   0.721253   0.998253    0.781923    0.554833    0.228081
+ 2.0   0.216905   0.391258   0.719849    0.127621    0.298791    0.595409

If the lookups aren't aligned, we can use Near instead of At, which is like doing a nearest neighbor interpolation:

julia
julia> C = rand(X(1.0:0.007:2.0), Y(10.0:0.9:30))
╭────────────────────────────╮
 143×23 DimArray{Float64,2}
 ├────────────────────────────┴─────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.007:1.994 ForwardOrdered Regular Points,
 Y Sampled{Float64} 10.0:0.9:29.8 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-    10.0         10.928.0        28.9        29.8
- 1.0     0.168617     0.417756       0.258764    0.195897    0.747615
- 1.007   0.395053     0.994295       0.770101    0.403836    0.891596
- 1.014   0.144422     0.370454       0.878565    0.753744    0.0149561
- 1.021   0.938771     0.917143       0.679296    0.180397    0.436168
- ⋮                               ⋱
- 1.966   0.454047     0.92977        0.662833    0.160403    0.276742
- 1.973   0.846736     0.0923954  …   0.43915     0.405912    0.245638
- 1.98    0.946655     0.0506805      0.0821229   0.0787968   0.613895
- 1.987   0.00686195   0.266013       0.485952    0.193179    0.0628947
- 1.994   0.84475      0.574619       0.0760101   0.950007    0.662413
julia
julia> C[DimSelectors(A; selectors=Near)]
╭─────────────────────────╮
+    10.0       10.9       11.828.0       28.9       29.8
+ 1.0     0.412631   0.707629   0.640577       0.329029   0.945549   0.505129
+ 1.007   0.300304   0.66424    0.948532       0.565649   0.27236    0.782344
+ 1.014   0.421525   0.564636   0.267693       0.861783   0.53422    0.906871
+ 1.021   0.399781   0.381315   0.970303       0.449093   0.560553   0.565202
+ ⋮                                        ⋱
+ 1.966   0.608086   0.605375   0.336929       0.891637   0.537974   0.509288
+ 1.973   0.500679   0.179953   0.183503   …   0.851044   0.206886   0.824656
+ 1.98    0.673494   0.613381   0.0136364      0.427523   0.397621   0.742451
+ 1.987   0.294489   0.949143   0.520037       0.307031   0.18378    0.531598
+ 1.994   0.725774   0.525431   0.870641       0.919448   0.09814    0.331422
julia
julia> C[DimSelectors(A; selectors=Near)]
╭─────────────────────────╮
 6×6 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} [1.0, 1.203, …, 1.798, 1.994] ForwardOrdered Irregular Points,
 Y Sampled{Float64} [10.0, 11.8, …, 18.1, 19.9] ForwardOrdered Irregular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-    10.0        11.8        13.6        16.3        18.1       19.9
- 1.0     0.168617    0.397386    0.133475    0.0630398   0.247976   0.145293
- 1.203   0.233685    0.243195    0.331147    0.584048    0.717841   0.832538
- 1.399   0.0164892   0.729706    0.0315018   0.899356    0.847872   0.358513
- 1.602   0.0426808   0.61781     0.808889    0.140817    0.188976   0.054083
- 1.798   0.226699    0.0983553   0.661444    0.750622    0.650842   0.986606
- 1.994   0.84475     0.366873    0.734751    0.590953    0.621527   0.23502
`,22))])}const b=p(g,[["render",y]]);export{C as __pageData,b as default}; + 10.0 11.8 13.6 16.3 18.1 19.9 + 1.0 0.412631 0.640577 0.505726 0.371838 0.49487 0.0639461 + 1.203 0.824659 0.913321 0.510752 0.29488 0.154653 0.647062 + 1.399 0.366634 0.653364 0.568727 0.925888 0.660823 0.645043 + 1.602 0.0515532 0.324073 0.424831 0.808144 0.838211 0.71953 + 1.798 0.205861 0.414017 0.453507 0.526825 0.180915 0.125626 + 1.994 0.725774 0.870641 0.484227 0.0294193 0.6675 0.712805
`,22))])}const b=p(g,[["render",y]]);export{C as __pageData,b as default}; diff --git a/dev/assets/stacks.md.SmvHWrk4.js b/dev/assets/stacks.md.DhVQ6mRN.js similarity index 90% rename from dev/assets/stacks.md.SmvHWrk4.js rename to dev/assets/stacks.md.DhVQ6mRN.js index 9586148b9..cb668b0d2 100644 --- a/dev/assets/stacks.md.SmvHWrk4.js +++ b/dev/assets/stacks.md.DhVQ6mRN.js @@ -1,4 +1,4 @@ -import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./chunks/framework.B8l2DGq3.js";const b=JSON.parse('{"title":"DimStacks","description":"","frontmatter":{},"headers":[],"relativePath":"stacks.md","filePath":"stacks.md","lastUpdated":null}'),g={name:"stacks.md"};function y(f,a,c,o,u,E){const k=d("PluginTabsTab"),e=d("PluginTabs");return r(),p("div",null,[a[25]||(a[25]=t(`

DimStacks

An AbstractDimStack represents a collection of AbstractDimArray layers that share some or all dimensions. For any two layers, a dimension of the same name must have the identical lookup - in fact only one is stored for all layers to enforce this consistency.

julia
julia> using DimensionalData
+import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./chunks/framework.BAAK0EyE.js";const b=JSON.parse('{"title":"DimStacks","description":"","frontmatter":{},"headers":[],"relativePath":"stacks.md","filePath":"stacks.md","lastUpdated":null}'),g={name:"stacks.md"};function y(f,a,c,o,u,E){const k=d("PluginTabsTab"),e=d("PluginTabs");return r(),p("div",null,[a[25]||(a[25]=t(`

DimStacks

An AbstractDimStack represents a collection of AbstractDimArray layers that share some or all dimensions. For any two layers, a dimension of the same name must have the identical lookup - in fact, only one is stored for all layers to enforce this consistency.

julia
julia> using DimensionalData
 
 julia> x, y = X(1.0:10.0), Y(5.0:10.0)
(X 1.0:1.0:10.0,
 Y 5.0:1.0:10.0)
julia
julia> st = DimStack((a=rand(x, y), b=rand(x, y), c=rand(y), d=rand(x)))
╭───────────────╮
@@ -11,33 +11,33 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch
   :b eltype: Float64 dims: X, Y size: 10×6
   :c eltype: Float64 dims: Y size: 6
   :d eltype: Float64 dims: X size: 10
-└──────────────────────────────────────────────────────────────────────────────┘

The behaviour of a DimStack is at times like a NamedTuple of DimArray and, others an AbstractArray of NamedTuple.

NamedTuple-like indexing

`,8)),h(e,null,{default:l(()=>[h(k,{label:"getting layers"},{default:l(()=>a[0]||(a[0]=[i("p",null,[s("Layers can be accessed with "),i("code",null,".name"),s(" or "),i("code",null,"[:name]")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"a")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` +└──────────────────────────────────────────────────────────────────────────────┘

The behavior of a DimStack is at times like a NamedTuple of DimArray and, at other times, an AbstractArray of NamedTuple.

NamedTuple-like indexing

`,8)),h(e,null,{default:l(()=>[h(k,{label:"getting layers"},{default:l(()=>a[0]||(a[0]=[i("p",null,[s("Layers can be accessed with "),i("code",null,".name"),s(" or "),i("code",null,"[:name]")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"a")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," a"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────┴─────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"5.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 5.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 6.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 7.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 8.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 9.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10.0")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.111155 0.87656 0.0963009 0.257129 0.11311 0.781497")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.386306 0.668226 0.278077 0.52735 0.775634 0.440884")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.348826 0.691687 0.964227 0.76448 0.0852624 0.52036")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.520184 0.484929 0.013144 0.269905 0.204084 0.117737")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.451525 0.247586 0.602631 0.793532 0.842029 0.0683416")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 6.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.669966 0.640974 0.0171909 0.749553 0.433769 0.452694")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.969881 0.130252 0.369225 0.518483 0.0141696 0.714084")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.517605 0.93358 0.515445 0.0758114 0.193109 0.150559")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.072176 0.474535 0.778122 0.0768485 0.80023 0.91305")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.854239 0.735973 0.0102776 0.0299112 0.537046 0.938732")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 5.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 6.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 7.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 8.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 9.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10.0")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.105474 0.924846 0.935937 0.956044 0.841169 0.178846")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.606746 0.31628 0.745734 0.912254 0.581458 0.287284")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0461633 0.0979352 0.497456 0.940199 0.459336 0.477439")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.341785 0.25853 0.788056 0.392071 0.277507 0.048092")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.275784 0.130942 0.0251457 0.0883392 0.257433 0.0878344")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 6.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.659836 0.220699 0.249439 0.0571503 0.192702 0.620657")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.168617 0.842552 0.935022 0.544803 0.970824 0.704105")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.395053 0.565883 0.19689 0.569194 0.317199 0.574623")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.790418 0.0329394 0.389598 0.879411 0.780527 0.579492")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.113361 0.106544 0.8698 0.722335 0.544125 0.562491")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────────────┴────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0406084")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 6.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.01576")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.104261")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.12714")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.370194")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.48022")])])])],-1)])),_:1}),h(k,{label:"subsetting layers"},{default:l(()=>a[1]||(a[1]=[i("p",null,[s("We can subset layers with a "),i("code",null,"Tuple"),s(" of "),i("code",null,"Symbol"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.150559")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 6.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.91305")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.938732")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498429")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.887397")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.576224")])])])],-1)])),_:1}),h(k,{label:"subsetting layers"},{default:l(()=>a[1]||(a[1]=[i("p",null,[s("We can subset layers with a "),i("code",null,"Tuple"),s(" of "),i("code",null,"Symbol"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -95,7 +95,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :e"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1),i("p",null,"Merging only works when dimensions match:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," merge"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st, (; d "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'a'"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'n'"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ERROR: DimensionMismatch: Found both lengths 6 and 14 for Y.")])])])],-1)])),_:1})]),_:1}),a[26]||(a[26]=i("h2",{id:"Array-like-indexing",tabindex:"-1"},[s("Array-like indexing "),i("a",{class:"header-anchor",href:"#Array-like-indexing","aria-label":'Permalink to "Array-like indexing {#Array-like-indexing}"'},"​")],-1)),h(e,null,{default:l(()=>[h(k,{label:"scalars"},{default:l(()=>a[4]||(a[4]=[i("p",null,[s("Indexing with a scalar returns a "),i("code",null,"NamedTuple"),s(" of values, one for each layer:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)")])])])],-1)])),_:1}),h(k,{label:"selectors"},{default:l(()=>a[5]||(a[5]=[i("p",null,[s("Selectors for single values also return a "),i("code",null,"NamedTuple")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"20"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.4408839264303761, b = 0.6445457662038467, c = 0.4802202427553709, d = 0.15905863317294833)")])])])],-1)])),_:1}),h(k,{label:"partial indexing"},{default:l(()=>a[6]||(a[6]=[i("p",null,[s("If not all dimensions are scalars, we return another "),i("code",null,"DimStack"),s(". The layers without another dimension are now zero-dimensional:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1),i("p",null,"Merging only works when dimensions match:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," merge"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st, (; d "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'a'"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'n'"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ERROR: DimensionMismatch: Found both lengths 6 and 14 for Y.")])])])],-1)])),_:1})]),_:1}),a[26]||(a[26]=i("h2",{id:"Array-like-indexing",tabindex:"-1"},[s("Array-like indexing "),i("a",{class:"header-anchor",href:"#Array-like-indexing","aria-label":'Permalink to "Array-like indexing {#Array-like-indexing}"'},"​")],-1)),h(e,null,{default:l(()=>[h(k,{label:"scalars"},{default:l(()=>a[4]||(a[4]=[i("p",null,[s("Indexing with a scalar returns a "),i("code",null,"NamedTuple"),s(" of values, one for each layer:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.9560436529181846, b = 0.5154448003579335, c = 0.49842910686075803, d = 0.48240020633837055)")])])])],-1)])),_:1}),h(k,{label:"selectors"},{default:l(()=>a[5]||(a[5]=[i("p",null,[s("Selectors for single values also return a "),i("code",null,"NamedTuple")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"20"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.287284213573217, b = 0.8002301328044032, c = 0.5762235094109146, d = 0.8030281996030815)")])])])],-1)])),_:1}),h(k,{label:"partial indexing"},{default:l(()=>a[6]||(a[6]=[i("p",null,[s("If not all dimensions are scalars, we return another "),i("code",null,"DimStack"),s(". The layers without another dimension are now zero-dimensional:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────┴─────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -105,26 +105,26 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: ")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"linear indexing"},{default:l(()=>a[7]||(a[7]=[i("p",null,[s("If we index with "),i("code",null,":"),s(" we get a "),i("code",null,"Vector{<:NamedTuple}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[:]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"60-element Vector{@NamedTuple{a::Float64, b::Float64, c::Float64, d::Float64}}:")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.11115487324489237, b = 0.439711995898844, c = 0.04060837507113502, d = 0.3258728635315493)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.3863063388395396, b = 0.2855663183499576, c = 0.04060837507113502, d = 0.15905863317294833)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.34882573131206984, b = 0.48889263023704055, c = 0.04060837507113502, d = 0.8632634208267141)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5201836703588896, b = 0.48240020633837055, c = 0.04060837507113502, d = 0.2504949184379115)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.45152471334016764, b = 0.8030281996030815, c = 0.04060837507113502, d = 0.5434869639181522)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.66996622586129, b = 0.006378200703587189, c = 0.04060837507113502, d = 0.6702922824659258)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.9698812177371097, b = 0.2868262581079416, c = 0.04060837507113502, d = 0.5663088629322468)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5176046469253345, b = 0.7802406914680406, c = 0.04060837507113502, d = 0.06317733925981239)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.07217595907727536, b = 0.9003647810614493, c = 0.04060837507113502, d = 0.9919365440188083)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.8542391508438596, b = 0.8219054655873324, c = 0.04060837507113502, d = 0.5514523568721104)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.10547438260234843, b = 0.20258969376355607, c = 0.15055904027841316, d = 0.48240020633837055)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.6067463820279478, b = 0.7177678881661339, c = 0.15055904027841316, d = 0.8030281996030815)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.04616326467070997, b = 0.6518774627227301, c = 0.15055904027841316, d = 0.006378200703587189)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.3417845510633072, b = 0.11115487324489237, c = 0.15055904027841316, d = 0.2868262581079416)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.275783886021123, b = 0.3863063388395396, c = 0.15055904027841316, d = 0.7802406914680406)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.6598361711868228, b = 0.34882573131206984, c = 0.15055904027841316, d = 0.5476725802849189)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.16861675953228428, b = 0.5201836703588896, c = 0.15055904027841316, d = 0.6672884952890055)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.3950526238122817, b = 0.45152471334016764, c = 0.15055904027841316, d = 0.05946710667513877)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.7904180889084199, b = 0.10363647991272806, c = 0.15055904027841316, d = 0.17715541586710937)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.1133609324748911, b = 0.38290995355378155, c = 0.15055904027841316, d = 0.04060837507113502)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.4408839264303761, b = 0.6445457662038467, c = 0.4802202427553709, d = 0.15905863317294833)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5203602669427675, b = 0.4854948068259556, c = 0.4802202427553709, d = 0.8632634208267141)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.11773734015093373, b = 0.08553143289483933, c = 0.4802202427553709, d = 0.2504949184379115)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.06834164575276236, b = 0.3266527246823143, c = 0.4802202427553709, d = 0.5434869639181522)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.4526944925375208, b = 0.5128894732327488, c = 0.4802202427553709, d = 0.6702922824659258)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.7140841681506571, b = 0.13525245310587153, c = 0.4802202427553709, d = 0.5663088629322468)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.15055904027841316, b = 0.19122366809754, c = 0.4802202427553709, d = 0.06317733925981239)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.9130495399200352, b = 0.9436941638102098, c = 0.4802202427553709, d = 0.9919365440188083)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.938732432349465, b = 0.17715541586710937, c = 0.4802202427553709, d = 0.5514523568721104)")])])])],-1)])),_:1})]),_:1}),a[27]||(a[27]=t('

Reducing functions

Base functions like mean, maximum, reverse are applied to all layers of the stack.

julia
using Statistics
',3)),h(e,null,{default:l(()=>[h(k,{label:"maximum"},{default:l(()=>a[8]||(a[8]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.9698812177371097, b = 0.9982064541308482, c = 0.4802202427553709, d = 0.9919365440188083)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.287284213573217, b = 0.8002301328044032, c = 0.5762235094109146, d = 0.8030281996030815)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.47743850127749476, b = 0.5370455292538254, c = 0.5762235094109146, d = 0.006378200703587189)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.048092019187169766, b = 0.7814968833366662, c = 0.5762235094109146, d = 0.2868262581079416)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.08783435714630261, b = 0.4408839264303761, c = 0.5762235094109146, d = 0.7802406914680406)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.6206571460949776, b = 0.5203602669427675, c = 0.5762235094109146, d = 0.5476725802849189)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.7041047189542633, b = 0.7057009741792366, c = 0.5762235094109146, d = 0.6672884952890055)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5746233955742341, b = 0.3517350991207968, c = 0.5762235094109146, d = 0.05946710667513877)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5794916001308447, b = 0.6691920691407321, c = 0.5762235094109146, d = 0.17715541586710937)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5624913882274706, b = 0.7140841681506571, c = 0.5762235094109146, d = 0.04060837507113502)")])])])],-1)])),_:1})]),_:1}),a[27]||(a[27]=t('

Reducing functions

Base functions like mean, maximum, reverse are applied to all layers of the stack.

julia
using Statistics
',3)),h(e,null,{default:l(()=>[h(k,{label:"maximum"},{default:l(()=>a[8]||(a[8]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.9708243398463525, b = 0.97164033242648, c = 0.938732432349465, d = 0.8030281996030815)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -134,7 +134,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"minimum"},{default:l(()=>a[9]||(a[9]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.010277581356302745, b = 0.006378200703587189, c = 0.015759978623873905, d = 0.06317733925981239)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"minimum"},{default:l(()=>a[9]||(a[9]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.02514568569664144, b = 0.0038728108200783984, c = 0.15055904027841316, d = 0.006378200703587189)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -144,7 +144,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"sum"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 27.590188929977547, b = 29.43471177733076, c = 1.1381833125394196, d = 4.98534418543618)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"sum"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 28.038407066827922, b = 29.50156726022296, c = 3.9643902442904744, d = 3.851065529408329)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -154,7 +154,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"prod"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," prod"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 3.0670357162417285e-32, b = 1.1151003460971078e-27, c = 1.5081446040814137e-6, d = 7.991119595116132e-5)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," prod"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"prod"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," prod"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 4.612615296500003e-29, b = 2.1532608102742886e-28, c = 0.032889338556748006, d = 8.64500911377966e-8)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," prod"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -164,7 +164,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"mean"},{default:l(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.45983648216629247, b = 0.49057852962217935, c = 0.18969721875656995, d = 0.49853441854361796)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"mean"},{default:l(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.46730678444713203, b = 0.49169278767038266, c = 0.6607317073817457, d = 0.3851065529408329)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -174,7 +174,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"std"},{default:l(()=>a[13]||(a[13]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," std"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.30405878501189054, b = 0.28346307460586856, c = 0.19009332850891253, d = 0.3002782566445145)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," std"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"std"},{default:l(()=>a[13]||(a[13]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," std"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.3015920521232277, b = 0.2834645880044695, c = 0.31179659785762176, d = 0.31044194430853883)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," std"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -184,7 +184,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"var"},{default:l(()=>a[14]||(a[14]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," var"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.09245174474290706, b = 0.0803513146650122, c = 0.03613547354359734, d = 0.09016703141346892)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," var"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"var"},{default:l(()=>a[14]||(a[14]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," var"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.0909577659038997, b = 0.08035217265254364, c = 0.09721711843558752, d = 0.09637420078606593)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," var"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -194,7 +194,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"reduce"},{default:l(()=>a[15]||(a[15]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reduce"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"+"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 27.590188929977547, b = 29.43471177733076, c = 1.1381833125394196, d = 4.98534418543618)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reduce"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"+"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"reduce"},{default:l(()=>a[15]||(a[15]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reduce"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"+"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 28.038407066827922, b = 29.50156726022296, c = 3.9643902442904744, d = 3.851065529408329)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reduce"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"+"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -204,7 +204,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"extrema"},{default:l(()=>a[16]||(a[16]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extrema"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = (0.010277581356302745, 0.9698812177371097), b = (0.006378200703587189, 0.9982064541308482), c = (0.015759978623873905, 0.4802202427553709), d = (0.06317733925981239, 0.9919365440188083))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extrema"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"extrema"},{default:l(()=>a[16]||(a[16]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extrema"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = (0.02514568569664144, 0.9708243398463525), b = (0.0038728108200783984, 0.97164033242648), c = (0.15055904027841316, 0.938732432349465), d = (0.006378200703587189, 0.8030281996030815))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extrema"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -233,7 +233,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: ")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[28]||(a[28]=i("p",null,[i("code",null,"broadcast_dims"),s(" broadcasts functions over any mix of "),i("code",null,"AbstractDimStack"),s(" and "),i("code",null,"AbstractDimArray"),s(" returning a new "),i("code",null,"AbstractDimStack"),s(" with layers the size of the largest layer in the broadcast. This will work even if dimension permutation does not match in the objects.")],-1)),h(e,null,{default:l(()=>[h(k,{label:"rotl90"},{default:l(()=>a[18]||(a[18]=[i("p",null,"Only matrix layers can be rotated",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rotl90"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st[("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":b"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")])")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[28]||(a[28]=i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.broadcast_dims"},[i("code",null,"broadcast_dims")]),s(" broadcasts functions over any mix of "),i("code",null,"AbstractDimStack"),s(" and "),i("code",null,"AbstractDimArray"),s(" returning a new "),i("code",null,"AbstractDimStack"),s(" with layers the size of the largest layer in the broadcast. This will work even if dimension permutation does not match in the objects.")],-1)),h(e,null,{default:l(()=>[h(k,{label:"rotl90"},{default:l(()=>a[18]||(a[18]=[i("p",null,"Only matrix layers can be rotated",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rotl90"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st[("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":b"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")])")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10.0:-1.0:5.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -361,8 +361,8 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[29]||(a[29]=t(`

Performance

Indexing stack is fast - indexing a single value return a NamedTuple from all layers is usually measures in nanoseconds, and no slower than manually indexing into each parent array directly.

There are some compilation overheads to this though, and stacks with very many layers can take a long time to compile.

julia
julia> using BenchmarkTools
+`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[29]||(a[29]=t(`

Performance

Indexing a stack is fast - indexing a single value and returning a NamedTuple from all layers is usually measured in nanoseconds, and no slower than manually indexing into each parent array directly.

There are some compilation overheads to this though, and stacks with very many layers can take a long time to compile.

julia
julia> using BenchmarkTools
 
-julia> @btime $st[X=1, Y=4]
  4.028 ns (0 allocations: 0 bytes)
-(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
julia
julia> @btime $st[1, 4]
  4.028 ns (0 allocations: 0 bytes)
-(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
`,7))])}const F=n(g,[["render",y]]);export{b as __pageData,F as default}; +julia> @btime $st[X=1, Y=4]
  4.067 ns (0 allocations: 0 bytes)
+(a = 0.9560436529181846, b = 0.5154448003579335, c = 0.49842910686075803, d = 0.48240020633837055)
julia
julia> @btime $st[1, 4]
  4.038 ns (0 allocations: 0 bytes)
+(a = 0.9560436529181846, b = 0.5154448003579335, c = 0.49842910686075803, d = 0.48240020633837055)
`,7))])}const F=n(g,[["render",y]]);export{b as __pageData,F as default}; diff --git a/dev/assets/stacks.md.SmvHWrk4.lean.js b/dev/assets/stacks.md.DhVQ6mRN.lean.js similarity index 90% rename from dev/assets/stacks.md.SmvHWrk4.lean.js rename to dev/assets/stacks.md.DhVQ6mRN.lean.js index 9586148b9..cb668b0d2 100644 --- a/dev/assets/stacks.md.SmvHWrk4.lean.js +++ b/dev/assets/stacks.md.DhVQ6mRN.lean.js @@ -1,4 +1,4 @@ -import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./chunks/framework.B8l2DGq3.js";const b=JSON.parse('{"title":"DimStacks","description":"","frontmatter":{},"headers":[],"relativePath":"stacks.md","filePath":"stacks.md","lastUpdated":null}'),g={name:"stacks.md"};function y(f,a,c,o,u,E){const k=d("PluginTabsTab"),e=d("PluginTabs");return r(),p("div",null,[a[25]||(a[25]=t(`

DimStacks

An AbstractDimStack represents a collection of AbstractDimArray layers that share some or all dimensions. For any two layers, a dimension of the same name must have the identical lookup - in fact only one is stored for all layers to enforce this consistency.

julia
julia> using DimensionalData
+import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./chunks/framework.BAAK0EyE.js";const b=JSON.parse('{"title":"DimStacks","description":"","frontmatter":{},"headers":[],"relativePath":"stacks.md","filePath":"stacks.md","lastUpdated":null}'),g={name:"stacks.md"};function y(f,a,c,o,u,E){const k=d("PluginTabsTab"),e=d("PluginTabs");return r(),p("div",null,[a[25]||(a[25]=t(`

DimStacks

An AbstractDimStack represents a collection of AbstractDimArray layers that share some or all dimensions. For any two layers, a dimension of the same name must have the identical lookup - in fact, only one is stored for all layers to enforce this consistency.

julia
julia> using DimensionalData
 
 julia> x, y = X(1.0:10.0), Y(5.0:10.0)
(X 1.0:1.0:10.0,
 Y 5.0:1.0:10.0)
julia
julia> st = DimStack((a=rand(x, y), b=rand(x, y), c=rand(y), d=rand(x)))
╭───────────────╮
@@ -11,33 +11,33 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch
   :b eltype: Float64 dims: X, Y size: 10×6
   :c eltype: Float64 dims: Y size: 6
   :d eltype: Float64 dims: X size: 10
-└──────────────────────────────────────────────────────────────────────────────┘

The behaviour of a DimStack is at times like a NamedTuple of DimArray and, others an AbstractArray of NamedTuple.

NamedTuple-like indexing

`,8)),h(e,null,{default:l(()=>[h(k,{label:"getting layers"},{default:l(()=>a[0]||(a[0]=[i("p",null,[s("Layers can be accessed with "),i("code",null,".name"),s(" or "),i("code",null,"[:name]")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"a")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` +└──────────────────────────────────────────────────────────────────────────────┘

The behavior of a DimStack is at times like a NamedTuple of DimArray and, at other times, an AbstractArray of NamedTuple.

NamedTuple-like indexing

`,8)),h(e,null,{default:l(()=>[h(k,{label:"getting layers"},{default:l(()=>a[0]||(a[0]=[i("p",null,[s("Layers can be accessed with "),i("code",null,".name"),s(" or "),i("code",null,"[:name]")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"a")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,2}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," a"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────┴─────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," → "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"5.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 5.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 6.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 7.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 8.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 9.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10.0")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.111155 0.87656 0.0963009 0.257129 0.11311 0.781497")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.386306 0.668226 0.278077 0.52735 0.775634 0.440884")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.348826 0.691687 0.964227 0.76448 0.0852624 0.52036")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.520184 0.484929 0.013144 0.269905 0.204084 0.117737")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.451525 0.247586 0.602631 0.793532 0.842029 0.0683416")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 6.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.669966 0.640974 0.0171909 0.749553 0.433769 0.452694")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.969881 0.130252 0.369225 0.518483 0.0141696 0.714084")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.517605 0.93358 0.515445 0.0758114 0.193109 0.150559")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.072176 0.474535 0.778122 0.0768485 0.80023 0.91305")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.854239 0.735973 0.0102776 0.0299112 0.537046 0.938732")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 5.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 6.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 7.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 8.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 9.0"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10.0")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.105474 0.924846 0.935937 0.956044 0.841169 0.178846")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.606746 0.31628 0.745734 0.912254 0.581458 0.287284")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0461633 0.0979352 0.497456 0.940199 0.459336 0.477439")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.341785 0.25853 0.788056 0.392071 0.277507 0.048092")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.275784 0.130942 0.0251457 0.0883392 0.257433 0.0878344")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 6.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.659836 0.220699 0.249439 0.0571503 0.192702 0.620657")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.168617 0.842552 0.935022 0.544803 0.970824 0.704105")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.395053 0.565883 0.19689 0.569194 0.317199 0.574623")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.790418 0.0329394 0.389598 0.879411 0.780527 0.579492")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.113361 0.106544 0.8698 0.722335 0.544125 0.562491")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st["),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭─────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimArray{Float64,1}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├─────────────────────────────────┴────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0406084")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 6.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.01576")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.104261")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.12714")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.370194")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.48022")])])])],-1)])),_:1}),h(k,{label:"subsetting layers"},{default:l(()=>a[1]||(a[1]=[i("p",null,[s("We can subset layers with a "),i("code",null,"Tuple"),s(" of "),i("code",null,"Symbol"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 5.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.150559")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 6.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.91305")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.938732")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.498429")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.887397")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10.0"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.576224")])])])],-1)])),_:1}),h(k,{label:"subsetting layers"},{default:l(()=>a[1]||(a[1]=[i("p",null,[s("We can subset layers with a "),i("code",null,"Tuple"),s(" of "),i("code",null,"Symbol"),s(":")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":c"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -95,7 +95,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :e"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"6")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1),i("p",null,"Merging only works when dimensions match:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," merge"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st, (; d "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'a'"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'n'"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ERROR: DimensionMismatch: Found both lengths 6 and 14 for Y.")])])])],-1)])),_:1})]),_:1}),a[26]||(a[26]=i("h2",{id:"Array-like-indexing",tabindex:"-1"},[s("Array-like indexing "),i("a",{class:"header-anchor",href:"#Array-like-indexing","aria-label":'Permalink to "Array-like indexing {#Array-like-indexing}"'},"​")],-1)),h(e,null,{default:l(()=>[h(k,{label:"scalars"},{default:l(()=>a[4]||(a[4]=[i("p",null,[s("Indexing with a scalar returns a "),i("code",null,"NamedTuple"),s(" of values, one for each layer:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)")])])])],-1)])),_:1}),h(k,{label:"selectors"},{default:l(()=>a[5]||(a[5]=[i("p",null,[s("Selectors for single values also return a "),i("code",null,"NamedTuple")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"20"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.4408839264303761, b = 0.6445457662038467, c = 0.4802202427553709, d = 0.15905863317294833)")])])])],-1)])),_:1}),h(k,{label:"partial indexing"},{default:l(()=>a[6]||(a[6]=[i("p",null,[s("If not all dimensions are scalars, we return another "),i("code",null,"DimStack"),s(". The layers without another dimension are now zero-dimensional:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1),i("p",null,"Merging only works when dimensions match:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," merge"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st, (; d "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'a'"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'n'"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"ERROR: DimensionMismatch: Found both lengths 6 and 14 for Y.")])])])],-1)])),_:1})]),_:1}),a[26]||(a[26]=i("h2",{id:"Array-like-indexing",tabindex:"-1"},[s("Array-like indexing "),i("a",{class:"header-anchor",href:"#Array-like-indexing","aria-label":'Permalink to "Array-like indexing {#Array-like-indexing}"'},"​")],-1)),h(e,null,{default:l(()=>[h(k,{label:"scalars"},{default:l(()=>a[4]||(a[4]=[i("p",null,[s("Indexing with a scalar returns a "),i("code",null,"NamedTuple"),s(" of values, one for each layer:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"4"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.9560436529181846, b = 0.5154448003579335, c = 0.49842910686075803, d = 0.48240020633837055)")])])])],-1)])),_:1}),h(k,{label:"selectors"},{default:l(()=>a[5]||(a[5]=[i("p",null,[s("Selectors for single values also return a "),i("code",null,"NamedTuple")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"), Y"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"Near"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"20"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.287284213573217, b = 0.8002301328044032, c = 0.5762235094109146, d = 0.8030281996030815)")])])])],-1)])),_:1}),h(k,{label:"partial indexing"},{default:l(()=>a[6]||(a[6]=[i("p",null,[s("If not all dimensions are scalars, we return another "),i("code",null,"DimStack"),s(". The layers without another dimension are now zero-dimensional:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[X"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"At"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"2.0"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6-element "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────┴─────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"5.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points")]),s(` @@ -105,26 +105,26 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: ")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"linear indexing"},{default:l(()=>a[7]||(a[7]=[i("p",null,[s("If we index with "),i("code",null,":"),s(" we get a "),i("code",null,"Vector{<:NamedTuple}")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st[:]")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"60-element Vector{@NamedTuple{a::Float64, b::Float64, c::Float64, d::Float64}}:")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.11115487324489237, b = 0.439711995898844, c = 0.04060837507113502, d = 0.3258728635315493)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.3863063388395396, b = 0.2855663183499576, c = 0.04060837507113502, d = 0.15905863317294833)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.34882573131206984, b = 0.48889263023704055, c = 0.04060837507113502, d = 0.8632634208267141)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5201836703588896, b = 0.48240020633837055, c = 0.04060837507113502, d = 0.2504949184379115)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.45152471334016764, b = 0.8030281996030815, c = 0.04060837507113502, d = 0.5434869639181522)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.66996622586129, b = 0.006378200703587189, c = 0.04060837507113502, d = 0.6702922824659258)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.9698812177371097, b = 0.2868262581079416, c = 0.04060837507113502, d = 0.5663088629322468)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5176046469253345, b = 0.7802406914680406, c = 0.04060837507113502, d = 0.06317733925981239)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.07217595907727536, b = 0.9003647810614493, c = 0.04060837507113502, d = 0.9919365440188083)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.8542391508438596, b = 0.8219054655873324, c = 0.04060837507113502, d = 0.5514523568721104)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.10547438260234843, b = 0.20258969376355607, c = 0.15055904027841316, d = 0.48240020633837055)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.6067463820279478, b = 0.7177678881661339, c = 0.15055904027841316, d = 0.8030281996030815)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.04616326467070997, b = 0.6518774627227301, c = 0.15055904027841316, d = 0.006378200703587189)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.3417845510633072, b = 0.11115487324489237, c = 0.15055904027841316, d = 0.2868262581079416)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.275783886021123, b = 0.3863063388395396, c = 0.15055904027841316, d = 0.7802406914680406)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.6598361711868228, b = 0.34882573131206984, c = 0.15055904027841316, d = 0.5476725802849189)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.16861675953228428, b = 0.5201836703588896, c = 0.15055904027841316, d = 0.6672884952890055)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.3950526238122817, b = 0.45152471334016764, c = 0.15055904027841316, d = 0.05946710667513877)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.7904180889084199, b = 0.10363647991272806, c = 0.15055904027841316, d = 0.17715541586710937)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.1133609324748911, b = 0.38290995355378155, c = 0.15055904027841316, d = 0.04060837507113502)")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.4408839264303761, b = 0.6445457662038467, c = 0.4802202427553709, d = 0.15905863317294833)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5203602669427675, b = 0.4854948068259556, c = 0.4802202427553709, d = 0.8632634208267141)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.11773734015093373, b = 0.08553143289483933, c = 0.4802202427553709, d = 0.2504949184379115)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.06834164575276236, b = 0.3266527246823143, c = 0.4802202427553709, d = 0.5434869639181522)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.4526944925375208, b = 0.5128894732327488, c = 0.4802202427553709, d = 0.6702922824659258)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.7140841681506571, b = 0.13525245310587153, c = 0.4802202427553709, d = 0.5663088629322468)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.15055904027841316, b = 0.19122366809754, c = 0.4802202427553709, d = 0.06317733925981239)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.9130495399200352, b = 0.9436941638102098, c = 0.4802202427553709, d = 0.9919365440188083)")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.938732432349465, b = 0.17715541586710937, c = 0.4802202427553709, d = 0.5514523568721104)")])])])],-1)])),_:1})]),_:1}),a[27]||(a[27]=t('

Reducing functions

Base functions like mean, maximum, reverse are applied to all layers of the stack.

julia
using Statistics
',3)),h(e,null,{default:l(()=>[h(k,{label:"maximum"},{default:l(()=>a[8]||(a[8]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.9698812177371097, b = 0.9982064541308482, c = 0.4802202427553709, d = 0.9919365440188083)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.287284213573217, b = 0.8002301328044032, c = 0.5762235094109146, d = 0.8030281996030815)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.47743850127749476, b = 0.5370455292538254, c = 0.5762235094109146, d = 0.006378200703587189)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.048092019187169766, b = 0.7814968833366662, c = 0.5762235094109146, d = 0.2868262581079416)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.08783435714630261, b = 0.4408839264303761, c = 0.5762235094109146, d = 0.7802406914680406)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.6206571460949776, b = 0.5203602669427675, c = 0.5762235094109146, d = 0.5476725802849189)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.7041047189542633, b = 0.7057009741792366, c = 0.5762235094109146, d = 0.6672884952890055)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5746233955742341, b = 0.3517350991207968, c = 0.5762235094109146, d = 0.05946710667513877)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5794916001308447, b = 0.6691920691407321, c = 0.5762235094109146, d = 0.17715541586710937)")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," (a = 0.5624913882274706, b = 0.7140841681506571, c = 0.5762235094109146, d = 0.04060837507113502)")])])])],-1)])),_:1})]),_:1}),a[27]||(a[27]=t('

Reducing functions

Base functions like mean, maximum, reverse are applied to all layers of the stack.

julia
using Statistics
',3)),h(e,null,{default:l(()=>[h(k,{label:"maximum"},{default:l(()=>a[8]||(a[8]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.9708243398463525, b = 0.97164033242648, c = 0.938732432349465, d = 0.8030281996030815)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," maximum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -134,7 +134,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"minimum"},{default:l(()=>a[9]||(a[9]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.010277581356302745, b = 0.006378200703587189, c = 0.015759978623873905, d = 0.06317733925981239)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"minimum"},{default:l(()=>a[9]||(a[9]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.02514568569664144, b = 0.0038728108200783984, c = 0.15055904027841316, d = 0.006378200703587189)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," minimum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -144,7 +144,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"sum"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 27.590188929977547, b = 29.43471177733076, c = 1.1381833125394196, d = 4.98534418543618)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"sum"},{default:l(()=>a[10]||(a[10]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 28.038407066827922, b = 29.50156726022296, c = 3.9643902442904744, d = 3.851065529408329)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," sum"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -154,7 +154,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"prod"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," prod"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 3.0670357162417285e-32, b = 1.1151003460971078e-27, c = 1.5081446040814137e-6, d = 7.991119595116132e-5)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," prod"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"prod"},{default:l(()=>a[11]||(a[11]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," prod"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 4.612615296500003e-29, b = 2.1532608102742886e-28, c = 0.032889338556748006, d = 8.64500911377966e-8)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," prod"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -164,7 +164,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"mean"},{default:l(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.45983648216629247, b = 0.49057852962217935, c = 0.18969721875656995, d = 0.49853441854361796)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"mean"},{default:l(()=>a[12]||(a[12]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.46730678444713203, b = 0.49169278767038266, c = 0.6607317073817457, d = 0.3851065529408329)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," mean"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -174,7 +174,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"std"},{default:l(()=>a[13]||(a[13]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," std"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.30405878501189054, b = 0.28346307460586856, c = 0.19009332850891253, d = 0.3002782566445145)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," std"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"std"},{default:l(()=>a[13]||(a[13]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," std"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.3015920521232277, b = 0.2834645880044695, c = 0.31179659785762176, d = 0.31044194430853883)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," std"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -184,7 +184,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"var"},{default:l(()=>a[14]||(a[14]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," var"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.09245174474290706, b = 0.0803513146650122, c = 0.03613547354359734, d = 0.09016703141346892)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," var"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"var"},{default:l(()=>a[14]||(a[14]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," var"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 0.0909577659038997, b = 0.08035217265254364, c = 0.09721711843558752, d = 0.09637420078606593)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," var"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -194,7 +194,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"reduce"},{default:l(()=>a[15]||(a[15]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reduce"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"+"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 27.590188929977547, b = 29.43471177733076, c = 1.1381833125394196, d = 4.98534418543618)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reduce"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"+"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"reduce"},{default:l(()=>a[15]||(a[15]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reduce"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"+"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = 28.038407066827922, b = 29.50156726022296, c = 3.9643902442904744, d = 3.851065529408329)")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," reduce"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"+"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -204,7 +204,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"extrema"},{default:l(()=>a[16]||(a[16]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extrema"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = (0.010277581356302745, 0.9698812177371097), b = (0.006378200703587189, 0.9982064541308482), c = (0.015759978623873905, 0.4802202427553709), d = (0.06317733925981239, 0.9919365440188083))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extrema"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(k,{label:"extrema"},{default:l(()=>a[16]||(a[16]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extrema"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"(a = (0.02514568569664144, 0.9708243398463525), b = (0.0038728108200783984, 0.97164033242648), c = (0.15055904027841316, 0.938732432349465), d = (0.006378200703587189, 0.8030281996030815))")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," extrema"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; dims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Y)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1.0:1.0:10.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -233,7 +233,7 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: ")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[28]||(a[28]=i("p",null,[i("code",null,"broadcast_dims"),s(" broadcasts functions over any mix of "),i("code",null,"AbstractDimStack"),s(" and "),i("code",null,"AbstractDimArray"),s(" returning a new "),i("code",null,"AbstractDimStack"),s(" with layers the size of the largest layer in the broadcast. This will work even if dimension permutation does not match in the objects.")],-1)),h(e,null,{default:l(()=>[h(k,{label:"rotl90"},{default:l(()=>a[18]||(a[18]=[i("p",null,"Only matrix layers can be rotated",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rotl90"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st[("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":b"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")])")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[28]||(a[28]=i("p",null,[i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.broadcast_dims"},[i("code",null,"broadcast_dims")]),s(" broadcasts functions over any mix of "),i("code",null,"AbstractDimStack"),s(" and "),i("code",null,"AbstractDimArray"),s(" returning a new "),i("code",null,"AbstractDimStack"),s(" with layers the size of the largest layer in the broadcast. This will work even if dimension permutation does not match in the objects.")],-1)),h(e,null,{default:l(()=>[h(k,{label:"rotl90"},{default:l(()=>a[18]||(a[18]=[i("p",null,"Only matrix layers can be rotated",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rotl90"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st[("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":a"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":b"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")])")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────┴──────────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Float64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10.0:-1.0:5.0"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ReverseOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -361,8 +361,8 @@ import{_ as n,c as p,a4 as t,G as h,w as l,j as i,a as s,B as d,o as r}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :b"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :c"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"6")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :d"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"X"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[29]||(a[29]=t(`

Performance

Indexing stack is fast - indexing a single value return a NamedTuple from all layers is usually measures in nanoseconds, and no slower than manually indexing into each parent array directly.

There are some compilation overheads to this though, and stacks with very many layers can take a long time to compile.

julia
julia> using BenchmarkTools
+`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[29]||(a[29]=t(`

Performance

Indexing a stack is fast - indexing a single value and returning a NamedTuple from all layers is usually measured in nanoseconds, and no slower than manually indexing into each parent array directly.

There are some compilation overheads to this though, and stacks with very many layers can take a long time to compile.

julia
julia> using BenchmarkTools
 
-julia> @btime $st[X=1, Y=4]
  4.028 ns (0 allocations: 0 bytes)
-(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
julia
julia> @btime $st[1, 4]
  4.028 ns (0 allocations: 0 bytes)
-(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
`,7))])}const F=n(g,[["render",y]]);export{b as __pageData,F as default}; +julia> @btime $st[X=1, Y=4]
  4.067 ns (0 allocations: 0 bytes)
+(a = 0.9560436529181846, b = 0.5154448003579335, c = 0.49842910686075803, d = 0.48240020633837055)
julia
julia> @btime $st[1, 4]
  4.038 ns (0 allocations: 0 bytes)
+(a = 0.9560436529181846, b = 0.5154448003579335, c = 0.49842910686075803, d = 0.48240020633837055)
`,7))])}const F=n(g,[["render",y]]);export{b as __pageData,F as default}; diff --git a/dev/assets/style.CaBzy52z.css b/dev/assets/style.BjYx-k93.css similarity index 97% rename from dev/assets/style.CaBzy52z.css rename to dev/assets/style.BjYx-k93.css index ebdf959e5..2c2c3b350 100644 --- a/dev/assets/style.CaBzy52z.css +++ b/dev/assets/style.BjYx-k93.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic";@import"https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic";@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-b06cdb19]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-b06cdb19],.VPBackdrop.fade-leave-to[data-v-b06cdb19]{opacity:0}.VPBackdrop.fade-leave-active[data-v-b06cdb19]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-b06cdb19]{display:none}}.NotFound[data-v-951cab6c]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-951cab6c]{padding:96px 32px 168px}}.code[data-v-951cab6c]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-951cab6c]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-951cab6c]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-951cab6c]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-951cab6c]{padding-top:20px}.link[data-v-951cab6c]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-951cab6c]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-3f927ebe]{position:relative;z-index:1}.nested[data-v-3f927ebe]{padding-right:16px;padding-left:16px}.outline-link[data-v-3f927ebe]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-3f927ebe]:hover,.outline-link.active[data-v-3f927ebe]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-3f927ebe]{padding-left:13px}.VPDocAsideOutline[data-v-b38bf2ff]{display:none}.VPDocAsideOutline.has-outline[data-v-b38bf2ff]{display:block}.content[data-v-b38bf2ff]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-b38bf2ff]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-b38bf2ff]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-6d7b3c46]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-6d7b3c46]{flex-grow:1}.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-6d7b3c46] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-475f71b8]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-475f71b8]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-4f9813fa]{margin-top:64px}.edit-info[data-v-4f9813fa]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-4f9813fa]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-4f9813fa]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-4f9813fa]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-4f9813fa]{margin-right:8px}.prev-next[data-v-4f9813fa]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-4f9813fa]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-4f9813fa]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-4f9813fa]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-4f9813fa]{margin-left:auto;text-align:right}.desc[data-v-4f9813fa]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-4f9813fa]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-83890dd9]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-83890dd9]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-83890dd9]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-83890dd9]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-83890dd9]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-83890dd9]{display:flex;justify-content:center}.VPDoc .aside[data-v-83890dd9]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-83890dd9]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-83890dd9]{max-width:1104px}}.container[data-v-83890dd9]{margin:0 auto;width:100%}.aside[data-v-83890dd9]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-83890dd9]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-83890dd9]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-83890dd9]::-webkit-scrollbar{display:none}.aside-curtain[data-v-83890dd9]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-83890dd9]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-83890dd9]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-83890dd9]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-83890dd9]{order:1;margin:0;min-width:640px}}.content-container[data-v-83890dd9]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-83890dd9]{max-width:688px}.VPButton[data-v-906d7fb4]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-906d7fb4]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-906d7fb4]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-906d7fb4]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-906d7fb4]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-906d7fb4]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-906d7fb4]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-906d7fb4]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-906d7fb4]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-906d7fb4]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-906d7fb4]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-906d7fb4]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-906d7fb4]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-35a7d0b8]{display:none}.dark .VPImage.light[data-v-35a7d0b8]{display:none}.VPHero[data-v-955009fc]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-955009fc]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-955009fc]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-955009fc]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-955009fc]{flex-direction:row}}.main[data-v-955009fc]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-955009fc]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-955009fc]{text-align:left}}@media (min-width: 960px){.main[data-v-955009fc]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-955009fc]{max-width:592px}}.name[data-v-955009fc],.text[data-v-955009fc]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-955009fc],.VPHero.has-image .text[data-v-955009fc]{margin:0 auto}.name[data-v-955009fc]{color:var(--vp-home-hero-name-color)}.clip[data-v-955009fc]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-955009fc],.text[data-v-955009fc]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-955009fc],.text[data-v-955009fc]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-955009fc],.VPHero.has-image .text[data-v-955009fc]{margin:0}}.tagline[data-v-955009fc]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-955009fc]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-955009fc]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-955009fc]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-955009fc]{margin:0}}.actions[data-v-955009fc]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-955009fc]{justify-content:center}@media (min-width: 640px){.actions[data-v-955009fc]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-955009fc]{justify-content:flex-start}}.action[data-v-955009fc]{flex-shrink:0;padding:6px}.image[data-v-955009fc]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-955009fc]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-955009fc]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-955009fc]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-955009fc]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-955009fc]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-955009fc]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-955009fc]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-955009fc]{width:320px;height:320px}}[data-v-955009fc] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-955009fc] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-955009fc] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-f5e9645b]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-f5e9645b]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-f5e9645b]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-f5e9645b]>.VPImage{margin-bottom:20px}.icon[data-v-f5e9645b]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-f5e9645b]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-f5e9645b]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-f5e9645b]{padding-top:8px}.link-text-value[data-v-f5e9645b]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-f5e9645b]{margin-left:6px}.VPFeatures[data-v-d0a190d7]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-d0a190d7]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-d0a190d7]{padding:0 64px}}.container[data-v-d0a190d7]{margin:0 auto;max-width:1152px}.items[data-v-d0a190d7]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-d0a190d7]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-d0a190d7],.item.grid-4[data-v-d0a190d7],.item.grid-6[data-v-d0a190d7]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-d0a190d7],.item.grid-4[data-v-d0a190d7]{width:50%}.item.grid-3[data-v-d0a190d7],.item.grid-6[data-v-d0a190d7]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-d0a190d7]{width:25%}}.container[data-v-7a48a447]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-7a48a447]{padding:0 48px}}@media (min-width: 960px){.container[data-v-7a48a447]{width:100%;padding:0 64px}}.vp-doc[data-v-7a48a447] .VPHomeSponsors,.vp-doc[data-v-7a48a447] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-7a48a447] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-7a48a447] .VPHomeSponsors a,.vp-doc[data-v-7a48a447] .VPTeamPage a{text-decoration:none}.VPHome[data-v-cbb6ec48]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-cbb6ec48]{margin-bottom:128px}}.VPContent[data-v-91765379]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-91765379]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-91765379]{margin:0}@media (min-width: 960px){.VPContent[data-v-91765379]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-91765379]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-91765379]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-c970a860]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-c970a860]{display:none}.VPFooter[data-v-c970a860] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-c970a860] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-c970a860]{padding:32px}}.container[data-v-c970a860]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-c970a860],.copyright[data-v-c970a860]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-bc9dc845]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-bc9dc845]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-bc9dc845]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-bc9dc845]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-bc9dc845]{color:var(--vp-c-text-1)}.icon[data-v-bc9dc845]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-bc9dc845]{font-size:14px}.icon[data-v-bc9dc845]{font-size:16px}}.open>.icon[data-v-bc9dc845]{transform:rotate(90deg)}.items[data-v-bc9dc845]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-bc9dc845]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-bc9dc845]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-bc9dc845]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-bc9dc845]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-bc9dc845]{transition:all .2s ease-out}.flyout-leave-active[data-v-bc9dc845]{transition:all .15s ease-in}.flyout-enter-from[data-v-bc9dc845],.flyout-leave-to[data-v-bc9dc845]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-070ab83d]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-070ab83d]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-070ab83d]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-070ab83d]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-070ab83d]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-070ab83d]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-070ab83d]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-070ab83d]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-070ab83d]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-070ab83d]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-070ab83d]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-070ab83d]{display:none}}.menu-icon[data-v-070ab83d]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-070ab83d]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-070ab83d]{padding:12px 32px 11px}}.VPSwitch[data-v-4a1c76db]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-4a1c76db]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-4a1c76db]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-4a1c76db]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-4a1c76db] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-4a1c76db] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-e40a8bb6]{opacity:1}.moon[data-v-e40a8bb6],.dark .sun[data-v-e40a8bb6]{opacity:0}.dark .moon[data-v-e40a8bb6]{opacity:1}.dark .VPSwitchAppearance[data-v-e40a8bb6] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-af096f4a]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-af096f4a]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-8b74d055]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-8b74d055]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-8b74d055]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-8b74d055]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-48c802d0]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-48c802d0]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-48c802d0]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-48c802d0]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-7dd3104a]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-7dd3104a] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-7dd3104a] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-7dd3104a] .group:last-child{padding-bottom:0}.VPMenu[data-v-7dd3104a] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-7dd3104a] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-7dd3104a] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-7dd3104a] .action{padding-left:24px}.VPFlyout[data-v-04f5c5e9]{position:relative}.VPFlyout[data-v-04f5c5e9]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-04f5c5e9]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-04f5c5e9]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-04f5c5e9]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-04f5c5e9]{color:var(--vp-c-brand-2)}.button[aria-expanded=false]+.menu[data-v-04f5c5e9]{opacity:0;visibility:hidden;transform:translateY(0)}.VPFlyout:hover .menu[data-v-04f5c5e9],.button[aria-expanded=true]+.menu[data-v-04f5c5e9]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-04f5c5e9]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-04f5c5e9]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-04f5c5e9]{margin-right:0;font-size:16px}.text-icon[data-v-04f5c5e9]{margin-left:4px;font-size:14px}.icon[data-v-04f5c5e9]{font-size:20px;transition:fill .25s}.menu[data-v-04f5c5e9]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-717b8b75]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-717b8b75]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-717b8b75]>svg,.VPSocialLink[data-v-717b8b75]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-ee7a9424]{display:flex;justify-content:center}.VPNavBarExtra[data-v-925effce]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-925effce]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-925effce]{display:none}}.trans-title[data-v-925effce]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-925effce],.item.social-links[data-v-925effce]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-925effce]{min-width:176px}.appearance-action[data-v-925effce]{margin-right:-2px}.social-links-list[data-v-925effce]{margin:-4px -8px}.VPNavBarHamburger[data-v-5dea55bf]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-5dea55bf]{display:none}}.container[data-v-5dea55bf]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-5dea55bf]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-5dea55bf]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-5dea55bf],.VPNavBarHamburger.active:hover .middle[data-v-5dea55bf],.VPNavBarHamburger.active:hover .bottom[data-v-5dea55bf]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-5dea55bf],.middle[data-v-5dea55bf],.bottom[data-v-5dea55bf]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-5dea55bf]{top:0;left:0;transform:translate(0)}.middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-ed5ac1f6]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-ed5ac1f6],.VPNavBarMenuLink[data-v-ed5ac1f6]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-e6d46098]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-e6d46098]{display:flex}}/*! @docsearch/css 3.6.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-164c457f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-164c457f]{display:flex;align-items:center}}.title[data-v-28a961f9]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-28a961f9]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-28a961f9]{border-bottom-color:var(--vp-c-divider)}}[data-v-28a961f9] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-c80d9ad0]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-c80d9ad0]{display:flex;align-items:center}}.title[data-v-c80d9ad0]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-822684d1]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-822684d1]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-822684d1]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-822684d1]:not(.home){background-color:transparent}.VPNavBar[data-v-822684d1]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-822684d1]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-822684d1]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-822684d1]{padding:0}}.container[data-v-822684d1]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-822684d1],.container>.content[data-v-822684d1]{pointer-events:none}.container[data-v-822684d1] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-822684d1]{max-width:100%}}.title[data-v-822684d1]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-822684d1]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-822684d1]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-822684d1]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-822684d1]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-822684d1]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-822684d1]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-822684d1]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-822684d1]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-822684d1]{column-gap:.5rem}}.menu+.translations[data-v-822684d1]:before,.menu+.appearance[data-v-822684d1]:before,.menu+.social-links[data-v-822684d1]:before,.translations+.appearance[data-v-822684d1]:before,.appearance+.social-links[data-v-822684d1]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-822684d1]:before,.translations+.appearance[data-v-822684d1]:before{margin-right:16px}.appearance+.social-links[data-v-822684d1]:before{margin-left:16px}.social-links[data-v-822684d1]{margin-right:-8px}.divider[data-v-822684d1]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-822684d1]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-822684d1]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-822684d1]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-822684d1]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-822684d1]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-822684d1]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-ffb44008]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-ffb44008]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-27d04aeb]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-27d04aeb]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-7179dbb7]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-7179dbb7]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-4b8941ac]{display:block}.title[data-v-4b8941ac]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-875057a5]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-875057a5]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-875057a5]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-875057a5]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-875057a5]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-875057a5]{transform:rotate(45deg)}.button[data-v-875057a5]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-875057a5]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-875057a5]{transition:transform .25s}.group[data-v-875057a5]:first-child{padding-top:0}.group+.group[data-v-875057a5],.group+.item[data-v-875057a5]{padding-top:4px}.VPNavScreenTranslations[data-v-362991c2]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-362991c2]{height:auto}.title[data-v-362991c2]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-362991c2]{font-size:16px}.icon.lang[data-v-362991c2]{margin-right:8px}.icon.chevron[data-v-362991c2]{margin-left:4px}.list[data-v-362991c2]{padding:4px 0 0 24px}.link[data-v-362991c2]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-833aabba]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-833aabba],.VPNavScreen.fade-leave-active[data-v-833aabba]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-833aabba],.VPNavScreen.fade-leave-active .container[data-v-833aabba]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-833aabba],.VPNavScreen.fade-leave-to[data-v-833aabba]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-833aabba],.VPNavScreen.fade-leave-to .container[data-v-833aabba]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-833aabba]{display:none}}.container[data-v-833aabba]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-833aabba],.menu+.appearance[data-v-833aabba],.translations+.appearance[data-v-833aabba]{margin-top:24px}.menu+.social-links[data-v-833aabba]{margin-top:16px}.appearance+.social-links[data-v-833aabba]{margin-top:16px}.VPNav[data-v-f1e365da]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-f1e365da]{position:fixed}}.VPSidebarItem.level-0[data-v-196b2e5f]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-196b2e5f]{padding-bottom:10px}.item[data-v-196b2e5f]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-196b2e5f]{cursor:pointer}.indicator[data-v-196b2e5f]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-196b2e5f],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-196b2e5f],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-196b2e5f],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-196b2e5f]{background-color:var(--vp-c-brand-1)}.link[data-v-196b2e5f]{display:flex;align-items:center;flex-grow:1}.text[data-v-196b2e5f]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-196b2e5f]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-196b2e5f],.VPSidebarItem.level-2 .text[data-v-196b2e5f],.VPSidebarItem.level-3 .text[data-v-196b2e5f],.VPSidebarItem.level-4 .text[data-v-196b2e5f],.VPSidebarItem.level-5 .text[data-v-196b2e5f]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-196b2e5f]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-1.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-2.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-3.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-4.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-5.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-196b2e5f]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-196b2e5f]{color:var(--vp-c-brand-1)}.caret[data-v-196b2e5f]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-196b2e5f]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-196b2e5f]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-196b2e5f]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-196b2e5f]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-196b2e5f],.VPSidebarItem.level-2 .items[data-v-196b2e5f],.VPSidebarItem.level-3 .items[data-v-196b2e5f],.VPSidebarItem.level-4 .items[data-v-196b2e5f],.VPSidebarItem.level-5 .items[data-v-196b2e5f]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-196b2e5f]{display:none}.no-transition[data-v-9e426adc] .caret-icon{transition:none}.group+.group[data-v-9e426adc]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-9e426adc]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-18756405]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-18756405]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-18756405]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-18756405]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-18756405]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-18756405]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-18756405]{outline:0}.VPSkipLink[data-v-c3508ec8]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-c3508ec8]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-c3508ec8]{top:14px;left:16px}}.Layout[data-v-a9a9e638]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-db81191c]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-db81191c]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-db81191c]{margin:128px 0}}.VPHomeSponsors[data-v-db81191c]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-db81191c]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-db81191c]{padding:0 64px}}.container[data-v-db81191c]{margin:0 auto;max-width:1152px}.love[data-v-db81191c]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-db81191c]{display:inline-block}.message[data-v-db81191c]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-db81191c]{padding-top:32px}.action[data-v-db81191c]{padding-top:40px;text-align:center}.VPTeamPage[data-v-c2f8e101]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-c2f8e101]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-c2f8e101-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-c2f8e101-s],.VPTeamMembers+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-c2f8e101-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-c2f8e101-s],.VPTeamMembers+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:96px}}.VPTeamMembers[data-v-c2f8e101-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-c2f8e101-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-c2f8e101-s]{padding:0 64px}}.VPTeamPageTitle[data-v-e277e15c]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-e277e15c]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-e277e15c]{padding:80px 64px 48px}}.title[data-v-e277e15c]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-e277e15c]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-e277e15c]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-e277e15c]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-d43bc49d]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 64px}}.title[data-v-d43bc49d]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-d43bc49d]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-d43bc49d]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-d43bc49d]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-d43bc49d]{padding-top:40px}.VPTeamMembersItem[data-v-f9987cb6]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-f9987cb6]{padding:32px}.VPTeamMembersItem.small .data[data-v-f9987cb6]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-f9987cb6]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-f9987cb6]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-f9987cb6]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-f9987cb6]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-f9987cb6]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-f9987cb6]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-f9987cb6]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-f9987cb6]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-f9987cb6]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-f9987cb6]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-f9987cb6]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-f9987cb6]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-f9987cb6]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-f9987cb6]{text-align:center}.avatar[data-v-f9987cb6]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-f9987cb6]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-f9987cb6]{margin:0;font-weight:600}.affiliation[data-v-f9987cb6]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-f9987cb6]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-f9987cb6]:hover{color:var(--vp-c-brand-1)}.desc[data-v-f9987cb6]{margin:0 auto}.desc[data-v-f9987cb6] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-f9987cb6]{display:flex;justify-content:center;height:56px}.sp-link[data-v-f9987cb6]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-f9987cb6]:hover,.sp .sp-link.link[data-v-f9987cb6]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-f9987cb6]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-fba19bad]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-fba19bad]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-fba19bad]{max-width:876px}.VPTeamMembers.medium .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-fba19bad]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-fba19bad]{max-width:760px}.container[data-v-fba19bad]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-plugin-tabs-tab-text-color: var(--vp-c-text-2);--vp-plugin-tabs-tab-active-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-hover-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-bg: var(--vp-c-bg-soft);--vp-plugin-tabs-tab-divider: var(--vp-c-divider);--vp-plugin-tabs-tab-active-bar-color: var(--vp-c-brand-1)}.plugin-tabs{margin:16px 0;background-color:var(--vp-plugin-tabs-tab-bg);border-radius:8px}.plugin-tabs--tab-list{position:relative;padding:0 12px;overflow-x:auto;overflow-y:hidden}.plugin-tabs--tab-list:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--vp-plugin-tabs-tab-divider)}.plugin-tabs--tab{position:relative;padding:0 12px;line-height:48px;border-bottom:2px solid transparent;color:var(--vp-plugin-tabs-tab-text-color);font-size:14px;font-weight:500;white-space:nowrap;transition:color .25s}.plugin-tabs--tab[aria-selected=true]{color:var(--vp-plugin-tabs-tab-active-text-color)}.plugin-tabs--tab:hover{color:var(--vp-plugin-tabs-tab-hover-text-color)}.plugin-tabs--tab:after{content:"";position:absolute;bottom:-2px;left:8px;right:8px;height:2px;background-color:transparent;transition:background-color .25s;z-index:1}.plugin-tabs--tab[aria-selected=true]:after{background-color:var(--vp-plugin-tabs-tab-active-bar-color)}.plugin-tabs--content[data-v-9b0d03d2]{padding:16px}.plugin-tabs--content[data-v-9b0d03d2]>:first-child:first-child{margin-top:0}.plugin-tabs--content[data-v-9b0d03d2]>:last-child:last-child{margin-bottom:0}.plugin-tabs--content[data-v-9b0d03d2]>div[class*=language-]{border-radius:8px;margin:16px 0}:root:not(.dark) .plugin-tabs--content[data-v-9b0d03d2] div[class*=language-]{background-color:var(--vp-c-bg)}.VPVersionPicker[data-v-f465cb49] button .text{color:var(--vp-c-text-1)!important}.VPVersionPicker[data-v-f465cb49]:hover button .text{color:var(--vp-c-text-2)!important}.VPHero .clip{white-space:pre;max-width:500px}:root{--vp-font-family-base: "Barlow", "Inter var experimental", "Inter var", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--vp-font-family-mono: "Fira Code", Menlo, Monaco, Consolas, "Courier New", monospace}:root{--julia-blue: #5fd7ff ;--julia-purple: #5fd7ff;--julia-red: #CB3C33;--julia-green: #0087d7;--vp-c-brand: #0087d7;--vp-c-brand-light: #0087d7;--vp-c-brand-lighter: #5fd7ff ;--vp-c-brand-lightest: #5fd7ff ;--vp-c-brand-dark: #5fd7ff;--vp-c-brand-darker: #5fd7ff ;--vp-c-brand-dimm: #212425}:root{--vp-button-brand-border: var(--vp-c-brand-light);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-light);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #ff875f 30%, #0087d7 );--vp-home-hero-image-background-image: linear-gradient( -45deg, #0087d7 35%, #0087d7 35%, #ff875f );--vp-home-hero-image-filter: blur(40px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(72px)}}:root.dark{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);--vp-c-black: hsl(220 20% 9%);--vp-c-black-pure: hsl(220, 24%, 4%);--vp-c-black-soft: hsl(220 16% 13%);--vp-c-black-mute: hsl(220 14% 17%);--vp-c-gray: hsl(220 8% 56%);--vp-c-gray-dark-1: hsl(220 10% 39%);--vp-c-gray-dark-2: hsl(220 12% 28%);--vp-c-gray-dark-3: hsl(220 12% 23%);--vp-c-gray-dark-4: hsl(220 14% 17%);--vp-c-gray-dark-5: hsl(220 16% 13%);--vp-c-bg: hsl(240, 2%, 11%);--vp-custom-block-info-bg: hsl(220 14% 17%);--vp-c-gutter: hsl(220 20% 9%);--vp-c-bg-alt: hsl(220 20% 9%);--vp-c-bg-soft: hsl(220 14% 17%);--vp-c-bg-mute: hsl(220 12% 23%)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand) !important}mjx-container>svg{display:block;margin:auto}mjx-container{padding:.5rem 0}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{margin:auto;display:inline-block}:root{--vp-c-brand-1: #ff875f;--vp-c-brand-2: #ff875f;--vp-c-brand-3: #ff875f;--vp-c-sponsor: #ca2971;--vitest-c-sponsor-hover: #c13071}.dark{--vp-c-brand-1: #0087d7;--vp-c-brand-2: #0087d7;--vp-c-brand-3: #0087d7;--vp-c-sponsor: #ee4e95;--vitest-c-sponsor-hover: #e51370}.VPDoc.has-aside .content-container{max-width:100%!important}.aside{max-width:200px!important;padding-left:0!important}.VPDoc{padding-top:15px!important;padding-left:5px!important}.VPDocOutlineItem li{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:200px}.VPNavBar .title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}@media (max-width: 960px){.VPDoc{padding-left:25px!important}}.VPLocalSearchBox[data-v-5b749456]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-5b749456]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-5b749456]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-5b749456]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-5b749456]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-5b749456]{padding:0 8px}}.search-bar[data-v-5b749456]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-5b749456]{display:block;font-size:18px}.navigate-icon[data-v-5b749456]{display:block;font-size:14px}.search-icon[data-v-5b749456]{margin:8px}@media (max-width: 767px){.search-icon[data-v-5b749456]{display:none}}.search-input[data-v-5b749456]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-5b749456]{padding:6px 4px}}.search-actions[data-v-5b749456]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-5b749456]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-5b749456]{display:none}}.search-actions button[data-v-5b749456]{padding:8px}.search-actions button[data-v-5b749456]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-5b749456]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-5b749456]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-5b749456]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-5b749456]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-5b749456]{display:none}}.search-keyboard-shortcuts kbd[data-v-5b749456]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-5b749456]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-5b749456]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-5b749456]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-5b749456]{margin:8px}}.titles[data-v-5b749456]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-5b749456]{display:flex;align-items:center;gap:4px}.title.main[data-v-5b749456]{font-weight:500}.title-icon[data-v-5b749456]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-5b749456]{opacity:.5}.result.selected[data-v-5b749456]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-5b749456]{position:relative}.excerpt[data-v-5b749456]{opacity:50%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;margin-top:4px}.result.selected .excerpt[data-v-5b749456]{opacity:1}.excerpt[data-v-5b749456] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-5b749456] mark,.excerpt[data-v-5b749456] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-5b749456] .vp-code-group .tabs{display:none}.excerpt[data-v-5b749456] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-5b749456]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-5b749456]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-5b749456],.result.selected .title-icon[data-v-5b749456]{color:var(--vp-c-brand-1)!important}.no-results[data-v-5b749456]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-5b749456]{flex:none} +@import"https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic";@import"https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic";@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/DimensionalData.jl/dev/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-b06cdb19]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-b06cdb19],.VPBackdrop.fade-leave-to[data-v-b06cdb19]{opacity:0}.VPBackdrop.fade-leave-active[data-v-b06cdb19]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-b06cdb19]{display:none}}.NotFound[data-v-951cab6c]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-951cab6c]{padding:96px 32px 168px}}.code[data-v-951cab6c]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-951cab6c]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-951cab6c]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-951cab6c]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-951cab6c]{padding-top:20px}.link[data-v-951cab6c]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-951cab6c]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-3f927ebe]{position:relative;z-index:1}.nested[data-v-3f927ebe]{padding-right:16px;padding-left:16px}.outline-link[data-v-3f927ebe]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-3f927ebe]:hover,.outline-link.active[data-v-3f927ebe]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-3f927ebe]{padding-left:13px}.VPDocAsideOutline[data-v-b38bf2ff]{display:none}.VPDocAsideOutline.has-outline[data-v-b38bf2ff]{display:block}.content[data-v-b38bf2ff]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-b38bf2ff]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-b38bf2ff]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-6d7b3c46]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-6d7b3c46]{flex-grow:1}.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-6d7b3c46] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-475f71b8]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-475f71b8]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-4f9813fa]{margin-top:64px}.edit-info[data-v-4f9813fa]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-4f9813fa]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-4f9813fa]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-4f9813fa]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-4f9813fa]{margin-right:8px}.prev-next[data-v-4f9813fa]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-4f9813fa]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-4f9813fa]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-4f9813fa]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-4f9813fa]{margin-left:auto;text-align:right}.desc[data-v-4f9813fa]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-4f9813fa]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-83890dd9]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-83890dd9]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-83890dd9]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-83890dd9]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-83890dd9]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-83890dd9]{display:flex;justify-content:center}.VPDoc .aside[data-v-83890dd9]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-83890dd9]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-83890dd9]{max-width:1104px}}.container[data-v-83890dd9]{margin:0 auto;width:100%}.aside[data-v-83890dd9]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-83890dd9]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-83890dd9]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-83890dd9]::-webkit-scrollbar{display:none}.aside-curtain[data-v-83890dd9]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-83890dd9]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-83890dd9]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-83890dd9]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-83890dd9]{order:1;margin:0;min-width:640px}}.content-container[data-v-83890dd9]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-83890dd9]{max-width:688px}.VPButton[data-v-906d7fb4]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-906d7fb4]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-906d7fb4]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-906d7fb4]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-906d7fb4]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-906d7fb4]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-906d7fb4]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-906d7fb4]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-906d7fb4]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-906d7fb4]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-906d7fb4]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-906d7fb4]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-906d7fb4]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-35a7d0b8]{display:none}.dark .VPImage.light[data-v-35a7d0b8]{display:none}.VPHero[data-v-955009fc]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-955009fc]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-955009fc]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-955009fc]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-955009fc]{flex-direction:row}}.main[data-v-955009fc]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-955009fc]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-955009fc]{text-align:left}}@media (min-width: 960px){.main[data-v-955009fc]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-955009fc]{max-width:592px}}.name[data-v-955009fc],.text[data-v-955009fc]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-955009fc],.VPHero.has-image .text[data-v-955009fc]{margin:0 auto}.name[data-v-955009fc]{color:var(--vp-home-hero-name-color)}.clip[data-v-955009fc]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-955009fc],.text[data-v-955009fc]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-955009fc],.text[data-v-955009fc]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-955009fc],.VPHero.has-image .text[data-v-955009fc]{margin:0}}.tagline[data-v-955009fc]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-955009fc]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-955009fc]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-955009fc]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-955009fc]{margin:0}}.actions[data-v-955009fc]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-955009fc]{justify-content:center}@media (min-width: 640px){.actions[data-v-955009fc]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-955009fc]{justify-content:flex-start}}.action[data-v-955009fc]{flex-shrink:0;padding:6px}.image[data-v-955009fc]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-955009fc]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-955009fc]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-955009fc]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-955009fc]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-955009fc]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-955009fc]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-955009fc]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-955009fc]{width:320px;height:320px}}[data-v-955009fc] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-955009fc] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-955009fc] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-f5e9645b]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-f5e9645b]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-f5e9645b]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-f5e9645b]>.VPImage{margin-bottom:20px}.icon[data-v-f5e9645b]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-f5e9645b]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-f5e9645b]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-f5e9645b]{padding-top:8px}.link-text-value[data-v-f5e9645b]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-f5e9645b]{margin-left:6px}.VPFeatures[data-v-d0a190d7]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-d0a190d7]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-d0a190d7]{padding:0 64px}}.container[data-v-d0a190d7]{margin:0 auto;max-width:1152px}.items[data-v-d0a190d7]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-d0a190d7]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-d0a190d7],.item.grid-4[data-v-d0a190d7],.item.grid-6[data-v-d0a190d7]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-d0a190d7],.item.grid-4[data-v-d0a190d7]{width:50%}.item.grid-3[data-v-d0a190d7],.item.grid-6[data-v-d0a190d7]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-d0a190d7]{width:25%}}.container[data-v-7a48a447]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-7a48a447]{padding:0 48px}}@media (min-width: 960px){.container[data-v-7a48a447]{width:100%;padding:0 64px}}.vp-doc[data-v-7a48a447] .VPHomeSponsors,.vp-doc[data-v-7a48a447] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-7a48a447] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-7a48a447] .VPHomeSponsors a,.vp-doc[data-v-7a48a447] .VPTeamPage a{text-decoration:none}.VPHome[data-v-cbb6ec48]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-cbb6ec48]{margin-bottom:128px}}.VPContent[data-v-91765379]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-91765379]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-91765379]{margin:0}@media (min-width: 960px){.VPContent[data-v-91765379]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-91765379]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-91765379]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-c970a860]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-c970a860]{display:none}.VPFooter[data-v-c970a860] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-c970a860] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-c970a860]{padding:32px}}.container[data-v-c970a860]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-c970a860],.copyright[data-v-c970a860]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-bc9dc845]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-bc9dc845]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-bc9dc845]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-bc9dc845]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-bc9dc845]{color:var(--vp-c-text-1)}.icon[data-v-bc9dc845]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-bc9dc845]{font-size:14px}.icon[data-v-bc9dc845]{font-size:16px}}.open>.icon[data-v-bc9dc845]{transform:rotate(90deg)}.items[data-v-bc9dc845]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-bc9dc845]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-bc9dc845]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-bc9dc845]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-bc9dc845]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-bc9dc845]{transition:all .2s ease-out}.flyout-leave-active[data-v-bc9dc845]{transition:all .15s ease-in}.flyout-enter-from[data-v-bc9dc845],.flyout-leave-to[data-v-bc9dc845]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-070ab83d]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-070ab83d]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-070ab83d]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-070ab83d]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-070ab83d]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-070ab83d]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-070ab83d]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-070ab83d]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-070ab83d]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-070ab83d]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-070ab83d]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-070ab83d]{display:none}}.menu-icon[data-v-070ab83d]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-070ab83d]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-070ab83d]{padding:12px 32px 11px}}.VPSwitch[data-v-4a1c76db]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-4a1c76db]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-4a1c76db]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-4a1c76db]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-4a1c76db] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-4a1c76db] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-e40a8bb6]{opacity:1}.moon[data-v-e40a8bb6],.dark .sun[data-v-e40a8bb6]{opacity:0}.dark .moon[data-v-e40a8bb6]{opacity:1}.dark .VPSwitchAppearance[data-v-e40a8bb6] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-af096f4a]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-af096f4a]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-acbfed09]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-acbfed09]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-acbfed09]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-acbfed09]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-48c802d0]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-48c802d0]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-48c802d0]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-48c802d0]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-7dd3104a]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-7dd3104a] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-7dd3104a] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-7dd3104a] .group:last-child{padding-bottom:0}.VPMenu[data-v-7dd3104a] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-7dd3104a] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-7dd3104a] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-7dd3104a] .action{padding-left:24px}.VPFlyout[data-v-04f5c5e9]{position:relative}.VPFlyout[data-v-04f5c5e9]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-04f5c5e9]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-04f5c5e9]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-04f5c5e9]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-04f5c5e9]{color:var(--vp-c-brand-2)}.button[aria-expanded=false]+.menu[data-v-04f5c5e9]{opacity:0;visibility:hidden;transform:translateY(0)}.VPFlyout:hover .menu[data-v-04f5c5e9],.button[aria-expanded=true]+.menu[data-v-04f5c5e9]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-04f5c5e9]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-04f5c5e9]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-04f5c5e9]{margin-right:0;font-size:16px}.text-icon[data-v-04f5c5e9]{margin-left:4px;font-size:14px}.icon[data-v-04f5c5e9]{font-size:20px;transition:fill .25s}.menu[data-v-04f5c5e9]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-717b8b75]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-717b8b75]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-717b8b75]>svg,.VPSocialLink[data-v-717b8b75]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-ee7a9424]{display:flex;justify-content:center}.VPNavBarExtra[data-v-925effce]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-925effce]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-925effce]{display:none}}.trans-title[data-v-925effce]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-925effce],.item.social-links[data-v-925effce]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-925effce]{min-width:176px}.appearance-action[data-v-925effce]{margin-right:-2px}.social-links-list[data-v-925effce]{margin:-4px -8px}.VPNavBarHamburger[data-v-5dea55bf]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-5dea55bf]{display:none}}.container[data-v-5dea55bf]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-5dea55bf]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-5dea55bf]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-5dea55bf],.VPNavBarHamburger.active:hover .middle[data-v-5dea55bf],.VPNavBarHamburger.active:hover .bottom[data-v-5dea55bf]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-5dea55bf],.middle[data-v-5dea55bf],.bottom[data-v-5dea55bf]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-5dea55bf]{top:0;left:0;transform:translate(0)}.middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-956ec74c]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-956ec74c],.VPNavBarMenuLink[data-v-956ec74c]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-e6d46098]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-e6d46098]{display:flex}}/*! @docsearch/css 3.6.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-164c457f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-164c457f]{display:flex;align-items:center}}.title[data-v-28a961f9]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-28a961f9]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-28a961f9]{border-bottom-color:var(--vp-c-divider)}}[data-v-28a961f9] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-c80d9ad0]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-c80d9ad0]{display:flex;align-items:center}}.title[data-v-c80d9ad0]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-822684d1]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-822684d1]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-822684d1]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-822684d1]:not(.home){background-color:transparent}.VPNavBar[data-v-822684d1]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-822684d1]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-822684d1]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-822684d1]{padding:0}}.container[data-v-822684d1]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-822684d1],.container>.content[data-v-822684d1]{pointer-events:none}.container[data-v-822684d1] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-822684d1]{max-width:100%}}.title[data-v-822684d1]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-822684d1]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-822684d1]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-822684d1]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-822684d1]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-822684d1]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-822684d1]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-822684d1]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-822684d1]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-822684d1]{column-gap:.5rem}}.menu+.translations[data-v-822684d1]:before,.menu+.appearance[data-v-822684d1]:before,.menu+.social-links[data-v-822684d1]:before,.translations+.appearance[data-v-822684d1]:before,.appearance+.social-links[data-v-822684d1]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-822684d1]:before,.translations+.appearance[data-v-822684d1]:before{margin-right:16px}.appearance+.social-links[data-v-822684d1]:before{margin-left:16px}.social-links[data-v-822684d1]{margin-right:-8px}.divider[data-v-822684d1]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-822684d1]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-822684d1]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-822684d1]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-822684d1]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-822684d1]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-822684d1]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-ffb44008]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-ffb44008]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-735512b8]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-735512b8]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-372ae7c0]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-372ae7c0]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-4b8941ac]{display:block}.title[data-v-4b8941ac]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-875057a5]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-875057a5]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-875057a5]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-875057a5]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-875057a5]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-875057a5]{transform:rotate(45deg)}.button[data-v-875057a5]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-875057a5]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-875057a5]{transition:transform .25s}.group[data-v-875057a5]:first-child{padding-top:0}.group+.group[data-v-875057a5],.group+.item[data-v-875057a5]{padding-top:4px}.VPNavScreenTranslations[data-v-362991c2]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-362991c2]{height:auto}.title[data-v-362991c2]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-362991c2]{font-size:16px}.icon.lang[data-v-362991c2]{margin-right:8px}.icon.chevron[data-v-362991c2]{margin-left:4px}.list[data-v-362991c2]{padding:4px 0 0 24px}.link[data-v-362991c2]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-833aabba]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-833aabba],.VPNavScreen.fade-leave-active[data-v-833aabba]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-833aabba],.VPNavScreen.fade-leave-active .container[data-v-833aabba]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-833aabba],.VPNavScreen.fade-leave-to[data-v-833aabba]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-833aabba],.VPNavScreen.fade-leave-to .container[data-v-833aabba]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-833aabba]{display:none}}.container[data-v-833aabba]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-833aabba],.menu+.appearance[data-v-833aabba],.translations+.appearance[data-v-833aabba]{margin-top:24px}.menu+.social-links[data-v-833aabba]{margin-top:16px}.appearance+.social-links[data-v-833aabba]{margin-top:16px}.VPNav[data-v-f1e365da]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-f1e365da]{position:fixed}}.VPSidebarItem.level-0[data-v-196b2e5f]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-196b2e5f]{padding-bottom:10px}.item[data-v-196b2e5f]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-196b2e5f]{cursor:pointer}.indicator[data-v-196b2e5f]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-196b2e5f],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-196b2e5f],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-196b2e5f],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-196b2e5f]{background-color:var(--vp-c-brand-1)}.link[data-v-196b2e5f]{display:flex;align-items:center;flex-grow:1}.text[data-v-196b2e5f]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-196b2e5f]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-196b2e5f],.VPSidebarItem.level-2 .text[data-v-196b2e5f],.VPSidebarItem.level-3 .text[data-v-196b2e5f],.VPSidebarItem.level-4 .text[data-v-196b2e5f],.VPSidebarItem.level-5 .text[data-v-196b2e5f]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-196b2e5f],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-196b2e5f]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-1.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-2.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-3.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-4.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-5.has-active>.item>.text[data-v-196b2e5f],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-196b2e5f],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-196b2e5f]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-196b2e5f],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-196b2e5f]{color:var(--vp-c-brand-1)}.caret[data-v-196b2e5f]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-196b2e5f]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-196b2e5f]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-196b2e5f]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-196b2e5f]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-196b2e5f],.VPSidebarItem.level-2 .items[data-v-196b2e5f],.VPSidebarItem.level-3 .items[data-v-196b2e5f],.VPSidebarItem.level-4 .items[data-v-196b2e5f],.VPSidebarItem.level-5 .items[data-v-196b2e5f]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-196b2e5f]{display:none}.no-transition[data-v-9e426adc] .caret-icon{transition:none}.group+.group[data-v-9e426adc]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-9e426adc]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-18756405]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-18756405]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-18756405]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-18756405]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-18756405]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-18756405]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-18756405]{outline:0}.VPSkipLink[data-v-c3508ec8]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-c3508ec8]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-c3508ec8]{top:14px;left:16px}}.Layout[data-v-a9a9e638]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-db81191c]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-db81191c]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-db81191c]{margin:128px 0}}.VPHomeSponsors[data-v-db81191c]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-db81191c]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-db81191c]{padding:0 64px}}.container[data-v-db81191c]{margin:0 auto;max-width:1152px}.love[data-v-db81191c]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-db81191c]{display:inline-block}.message[data-v-db81191c]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-db81191c]{padding-top:32px}.action[data-v-db81191c]{padding-top:40px;text-align:center}.VPTeamPage[data-v-c2f8e101]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-c2f8e101]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-c2f8e101-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-c2f8e101-s],.VPTeamMembers+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-c2f8e101-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-c2f8e101-s],.VPTeamMembers+.VPTeamPageSection[data-v-c2f8e101-s]{margin-top:96px}}.VPTeamMembers[data-v-c2f8e101-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-c2f8e101-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-c2f8e101-s]{padding:0 64px}}.VPTeamPageTitle[data-v-e277e15c]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-e277e15c]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-e277e15c]{padding:80px 64px 48px}}.title[data-v-e277e15c]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-e277e15c]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-e277e15c]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-e277e15c]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-d43bc49d]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 64px}}.title[data-v-d43bc49d]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-d43bc49d]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-d43bc49d]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-d43bc49d]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-d43bc49d]{padding-top:40px}.VPTeamMembersItem[data-v-f9987cb6]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-f9987cb6]{padding:32px}.VPTeamMembersItem.small .data[data-v-f9987cb6]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-f9987cb6]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-f9987cb6]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-f9987cb6]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-f9987cb6]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-f9987cb6]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-f9987cb6]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-f9987cb6]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-f9987cb6]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-f9987cb6]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-f9987cb6]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-f9987cb6]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-f9987cb6]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-f9987cb6]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-f9987cb6]{text-align:center}.avatar[data-v-f9987cb6]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-f9987cb6]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-f9987cb6]{margin:0;font-weight:600}.affiliation[data-v-f9987cb6]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-f9987cb6]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-f9987cb6]:hover{color:var(--vp-c-brand-1)}.desc[data-v-f9987cb6]{margin:0 auto}.desc[data-v-f9987cb6] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-f9987cb6]{display:flex;justify-content:center;height:56px}.sp-link[data-v-f9987cb6]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-f9987cb6]:hover,.sp .sp-link.link[data-v-f9987cb6]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-f9987cb6]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-fba19bad]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-fba19bad]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-fba19bad]{max-width:876px}.VPTeamMembers.medium .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-fba19bad]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-fba19bad]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-fba19bad]{max-width:760px}.container[data-v-fba19bad]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-plugin-tabs-tab-text-color: var(--vp-c-text-2);--vp-plugin-tabs-tab-active-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-hover-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-bg: var(--vp-c-bg-soft);--vp-plugin-tabs-tab-divider: var(--vp-c-divider);--vp-plugin-tabs-tab-active-bar-color: var(--vp-c-brand-1)}.plugin-tabs{margin:16px 0;background-color:var(--vp-plugin-tabs-tab-bg);border-radius:8px}.plugin-tabs--tab-list{position:relative;padding:0 12px;overflow-x:auto;overflow-y:hidden}.plugin-tabs--tab-list:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--vp-plugin-tabs-tab-divider)}.plugin-tabs--tab{position:relative;padding:0 12px;line-height:48px;border-bottom:2px solid transparent;color:var(--vp-plugin-tabs-tab-text-color);font-size:14px;font-weight:500;white-space:nowrap;transition:color .25s}.plugin-tabs--tab[aria-selected=true]{color:var(--vp-plugin-tabs-tab-active-text-color)}.plugin-tabs--tab:hover{color:var(--vp-plugin-tabs-tab-hover-text-color)}.plugin-tabs--tab:after{content:"";position:absolute;bottom:-2px;left:8px;right:8px;height:2px;background-color:transparent;transition:background-color .25s;z-index:1}.plugin-tabs--tab[aria-selected=true]:after{background-color:var(--vp-plugin-tabs-tab-active-bar-color)}.plugin-tabs--content[data-v-9b0d03d2]{padding:16px}.plugin-tabs--content[data-v-9b0d03d2]>:first-child:first-child{margin-top:0}.plugin-tabs--content[data-v-9b0d03d2]>:last-child:last-child{margin-bottom:0}.plugin-tabs--content[data-v-9b0d03d2]>div[class*=language-]{border-radius:8px;margin:16px 0}:root:not(.dark) .plugin-tabs--content[data-v-9b0d03d2] div[class*=language-]{background-color:var(--vp-c-bg)}.VPVersionPicker[data-v-f465cb49] button .text{color:var(--vp-c-text-1)!important}.VPVersionPicker[data-v-f465cb49]:hover button .text{color:var(--vp-c-text-2)!important}.VPHero .clip{white-space:pre;max-width:500px}:root{--vp-font-family-base: "Barlow", "Inter var experimental", "Inter var", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--vp-font-family-mono: "Fira Code", Menlo, Monaco, Consolas, "Courier New", monospace}:root{--julia-blue: #5fd7ff ;--julia-purple: #5fd7ff;--julia-red: #CB3C33;--julia-green: #0087d7;--vp-c-brand: #0087d7;--vp-c-brand-light: #0087d7;--vp-c-brand-lighter: #5fd7ff ;--vp-c-brand-lightest: #5fd7ff ;--vp-c-brand-dark: #5fd7ff;--vp-c-brand-darker: #5fd7ff ;--vp-c-brand-dimm: #212425}:root{--vp-button-brand-border: var(--vp-c-brand-light);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-light);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #ff875f 30%, #0087d7 );--vp-home-hero-image-background-image: linear-gradient( -45deg, #0087d7 35%, #0087d7 35%, #ff875f );--vp-home-hero-image-filter: blur(40px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(72px)}}:root.dark{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);--vp-c-black: hsl(220 20% 9%);--vp-c-black-pure: hsl(220, 24%, 4%);--vp-c-black-soft: hsl(220 16% 13%);--vp-c-black-mute: hsl(220 14% 17%);--vp-c-gray: hsl(220 8% 56%);--vp-c-gray-dark-1: hsl(220 10% 39%);--vp-c-gray-dark-2: hsl(220 12% 28%);--vp-c-gray-dark-3: hsl(220 12% 23%);--vp-c-gray-dark-4: hsl(220 14% 17%);--vp-c-gray-dark-5: hsl(220 16% 13%);--vp-c-bg: hsl(240, 2%, 11%);--vp-custom-block-info-bg: hsl(220 14% 17%);--vp-c-gutter: hsl(220 20% 9%);--vp-c-bg-alt: hsl(220 20% 9%);--vp-c-bg-soft: hsl(220 14% 17%);--vp-c-bg-mute: hsl(220 12% 23%)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand) !important}mjx-container>svg{display:block;margin:auto}mjx-container{padding:.5rem 0}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{margin:auto;display:inline-block}:root{--vp-c-brand-1: #ff875f;--vp-c-brand-2: #ff875f;--vp-c-brand-3: #ff875f;--vp-c-sponsor: #ca2971;--vitest-c-sponsor-hover: #c13071}.dark{--vp-c-brand-1: #0087d7;--vp-c-brand-2: #0087d7;--vp-c-brand-3: #0087d7;--vp-c-sponsor: #ee4e95;--vitest-c-sponsor-hover: #e51370}.VPDoc.has-aside .content-container{max-width:100%!important}.aside{max-width:200px!important;padding-left:0!important}.VPDoc{padding-top:15px!important;padding-left:5px!important}.VPDocOutlineItem li{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:200px}.VPNavBar .title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}@media (max-width: 960px){.VPDoc{padding-left:25px!important}}.VPLocalSearchBox[data-v-1783de97]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-1783de97]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-1783de97]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-1783de97]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-1783de97]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-1783de97]{padding:0 8px}}.search-bar[data-v-1783de97]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-1783de97]{display:block;font-size:18px}.navigate-icon[data-v-1783de97]{display:block;font-size:14px}.search-icon[data-v-1783de97]{margin:8px}@media (max-width: 767px){.search-icon[data-v-1783de97]{display:none}}.search-input[data-v-1783de97]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-1783de97]{padding:6px 4px}}.search-actions[data-v-1783de97]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-1783de97]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-1783de97]{display:none}}.search-actions button[data-v-1783de97]{padding:8px}.search-actions button[data-v-1783de97]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-1783de97]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-1783de97]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-1783de97]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-1783de97]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-1783de97]{display:none}}.search-keyboard-shortcuts kbd[data-v-1783de97]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-1783de97]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-1783de97]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-1783de97]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-1783de97]{margin:8px}}.titles[data-v-1783de97]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-1783de97]{display:flex;align-items:center;gap:4px}.title.main[data-v-1783de97]{font-weight:500}.title-icon[data-v-1783de97]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-1783de97]{opacity:.5}.result.selected[data-v-1783de97]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-1783de97]{position:relative}.excerpt[data-v-1783de97]{opacity:50%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;margin-top:4px}.result.selected .excerpt[data-v-1783de97]{opacity:1}.excerpt[data-v-1783de97] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-1783de97] mark,.excerpt[data-v-1783de97] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-1783de97] .vp-code-group .tabs{display:none}.excerpt[data-v-1783de97] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-1783de97]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-1783de97]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-1783de97],.result.selected .title-icon[data-v-1783de97]{color:var(--vp-c-brand-1)!important}.no-results[data-v-1783de97]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-1783de97]{flex:none} diff --git a/dev/assets/tables.md.t8vBJGld.js b/dev/assets/tables.md.C58ZkjII.js similarity index 86% rename from dev/assets/tables.md.t8vBJGld.js rename to dev/assets/tables.md.C58ZkjII.js index 295501fa3..a4500e654 100644 --- a/dev/assets/tables.md.t8vBJGld.js +++ b/dev/assets/tables.md.C58ZkjII.js @@ -1,8 +1,8 @@ -import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./chunks/framework.B8l2DGq3.js";const m=JSON.parse('{"title":"Tables and DataFrames","description":"","frontmatter":{},"headers":[],"relativePath":"tables.md","filePath":"tables.md","lastUpdated":null}'),r={name:"tables.md"};function f(o,a,y,c,b,w){const l=d("PluginTabsTab"),k=d("PluginTabs");return p(),g("div",null,[a[6]||(a[6]=e(`

Tables and DataFrames

Tables.jl provides an ecosystem-wide interface to tabular data in Julia, giving interoperability with DataFrames.jl, CSV.jl and hundreds of other packages that implement the standard.

DimensionalData.jl implements the Tables.jl interface for AbstractDimArray and AbstractDimStack. DimStack layers are unrolled so they are all the same size, and dimensions loop to match the length of the largest layer.

Columns are given the name or the array or the stack layer key. Dimension columns use the Symbol version (the result of DD.name(dimension)).

Looping of dimensions and stack layers is done lazily, and does not allocate unless collected.

Example

julia
using DimensionalData
+import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./chunks/framework.BAAK0EyE.js";const m=JSON.parse('{"title":"Tables and DataFrames","description":"","frontmatter":{},"headers":[],"relativePath":"tables.md","filePath":"tables.md","lastUpdated":null}'),r={name:"tables.md"};function f(o,a,y,c,b,w){const l=d("PluginTabsTab"),k=d("PluginTabs");return p(),g("div",null,[a[6]||(a[6]=e(`

Tables and DataFrames

Tables.jl provides an ecosystem-wide interface to tabular data in Julia, ensuring interoperability with DataFrames.jl, CSV.jl, and hundreds of other packages that implement the standard.

DimensionalData.jl implements the Tables.jl interface for AbstractDimArray and AbstractDimStack. DimStack layers are unrolled so they are all the same size, and dimensions loop to match the length of the largest layer.

Columns are given the name of the array or stack layer, and the result of DD.name(dimension) for Dimension columns.

Looping of dimensions and stack layers is done lazily, and does not allocate unless collected.

Example

julia
using DimensionalData
 using Dates
 using DataFrames

Define some dimensions:

julia
julia> x, y, c = X(1:10), Y(1:10), Dim{:category}('a':'z')
(X        1:10,
 Y        1:10,
-category 'a':1:'z')
`,10)),h(k,null,{default:t(()=>[h(l,{label:"create a `DimArray`"},{default:t(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y, c; name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":data"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` +category 'a':1:'z')
`,10)),h(k,null,{default:t(()=>[h(l,{label:"Create a `DimArray`"},{default:t(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y, c; name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":data"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"26"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,3}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," data"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────────┴──────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1:10"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -10,16 +10,16 @@ import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}}," ↗ "),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"category"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"'a':1:'z'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"["),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},":"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},":"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"]")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 1"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"8"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 9"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.921958 0.128827 0.517175 0.947312 0.743407 0.0120967")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.449491 0.176024 0.914911 0.674061 0.291555 0.266342")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.581131 0.436605 0.694066 0.0325131 0.645678 0.620473")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.194849 0.580091 0.176766 0.888721 0.890574 0.985377")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮ ⋱ ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.191934 0.359421 0.51621 0.828161 0.516313 0.74172")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450701 0.341133 0.00110588 0.190482 0.245671 0.819605")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.336376 0.636476 0.45655 0.16484 0.294486 0.457841")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.963657 0.353968 0.199484 … 0.104763 0.887294 0.670607")])])])],-1)])),_:1}),h(l,{label:"create a `DimStack`"},{default:t(()=>a[1]||(a[1]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"((data1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y), data2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y, c)))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 1"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"8"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 9"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.846254 0.684303 0.939201 0.61378 0.231047 0.0950183")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782777 0.224351 0.240351 0.319803 0.554735 0.99531")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.807522 0.767136 0.390515 0.207789 0.204906 0.605097")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.960754 0.73427 0.71403 0.317665 0.685225 0.66882")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮ ⋱ ⋮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.685603 0.444969 0.899242 0.374729 0.778193 0.556711")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0987646 0.628875 0.901156 0.571628 0.652397 0.057459")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.596036 0.110489 0.215681 0.998548 0.918952 0.806689")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.603358 0.245564 0.431383 … 0.258165 0.233468 0.99726")])])])],-1)])),_:1}),h(l,{label:"Create a `DimStack`"},{default:t(()=>a[1]||(a[1]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"((data1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y), data2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y, c)))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"26"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────┴──────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1:10"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -28,66 +28,66 @@ import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────────────────────────────────────────── layers ┤")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :data1"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :data2"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"category"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"26")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[7]||(a[7]=i("h2",{id:"Converting-to-DataFrame",tabindex:"-1"},[s("Converting to DataFrame "),i("a",{class:"header-anchor",href:"#Converting-to-DataFrame","aria-label":'Permalink to "Converting to DataFrame {#Converting-to-DataFrame}"'},"​")],-1)),h(k,null,{default:t(()=>[h(l,{label:"array default"},{default:t(()=>a[2]||(a[2]=[i("p",null,"Arrays will have columns for each dimension, and only one data column",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×4 DataFrame")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[7]||(a[7]=i("h2",{id:"Converting-to-DataFrame",tabindex:"-1"},[s("Converting to DataFrame "),i("a",{class:"header-anchor",href:"#Converting-to-DataFrame","aria-label":'Permalink to "Converting to DataFrame {#Converting-to-DataFrame}"'},"​")],-1)),h(k,null,{default:t(()=>[h(l,{label:"Array Default"},{default:t(()=>a[2]||(a[2]=[i("p",null,"Arrays will have columns for each dimension, and only one data column",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×4 DataFrame")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Y "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"──────┼──────────────────────────────────")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 a 0.921958")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 a 0.449491")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 a 0.581131")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 a 0.194849")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 a 0.364097")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 a 0.022593")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 a 0.191934")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 a 0.450701")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ 4 10 z 0.236866")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ 5 10 z 0.894053")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ 6 10 z 0.350024")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ 7 10 z 0.417756")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ 8 10 z 0.125477")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ 9 10 z 0.599789")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ 10 10 z 0.363373")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 2585 rows omitted")])])])],-1)])),_:1}),h(l,{label:"stack default"},{default:t(()=>a[3]||(a[3]=[i("p",null,"Stacks will become a table with a column for each dimension, and one for each layer:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×5 DataFrame")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Y "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data1 "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data2")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"──────┼───────────────────────────────────")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 a 0.846254")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 a 0.782777")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 a 0.807522")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 a 0.960754")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 a 0.0965086")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 a 0.889194")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 a 0.685603")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 a 0.0987646")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ 4 10 z 0.404604")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ 5 10 z 0.0769145")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ 6 10 z 0.292495")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ 7 10 z 0.227142")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ 8 10 z 0.635786")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ 9 10 z 0.210417")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ 10 10 z 0.849817")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 2585 rows omitted")])])])],-1)])),_:1}),h(l,{label:"Stack Default"},{default:t(()=>a[3]||(a[3]=[i("p",null,"Stacks will become a table with a column for each dimension, and one for each layer:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×5 DataFrame")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Y "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data1 "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data2")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"──────┼───────────────────────────────────────────────")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 a 0.550148 0.944751")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 a 0.0930075 0.159458")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 a 0.489525 0.614656")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 a 0.793832 0.977066")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 a 0.00191986 0.798656")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 a 0.861278 0.673027")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 a 0.207584 0.768342")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 a 0.0236468 0.0123003")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ 4 10 z 0.871914 0.19857")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ 5 10 z 0.504023 0.694279")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ 6 10 z 0.351006 0.206362")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ 7 10 z 0.856091 0.842866")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ 8 10 z 0.0459964 0.615094")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ 9 10 z 0.00516367 0.768924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ 10 10 z 0.8289 0.813696")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 a 0.447327 0.555606")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 a 0.965529 0.102767")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 a 0.487488 0.222371")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 a 0.267433 0.550148")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 a 0.599241 0.0930075")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 a 0.192192 0.489525")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 a 0.607291 0.793832")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 a 0.921958 0.00191986")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ 4 10 z 0.107233 0.963013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ 5 10 z 0.934189 0.82194")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ 6 10 z 0.294486 0.368519")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ 7 10 z 0.616331 0.233504")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ 8 10 z 0.0201588 0.795927")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ 9 10 z 0.334393 0.377799")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ 10 10 z 0.485876 0.2276")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 2585 rows omitted")])])])],-1)])),_:1}),h(l,{label:"layersfrom"},{default:t(()=>a[4]||(a[4]=[i("p",null,[s("Using "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.DimTable"},[i("code",null,"DimTable")]),s(" we can specify that a "),i("code",null,"DimArray"),s(" should take columns from one of the dimensions:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DimTable"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; layersfrom"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":category"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"100×28 DataFrame")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Y "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_a "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_b "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_c "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_d "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_ ⋯")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 ⋯")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"─────┼──────────────────────────────────────────────────────────────────────────")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 0.921958 0.713814 0.884385 0.186811 0.256817 ⋯")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 0.449491 0.062795 0.195938 0.608366 0.738445")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 0.581131 0.12764 0.182707 0.773256 0.061892")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 0.194849 0.173013 0.493065 0.132989 0.936495")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 0.364097 0.0445446 0.849707 0.153753 0.64534 ⋯")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 0.022593 0.634377 0.00816974 0.359194 0.719779")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 0.191934 0.307616 0.535124 0.597843 0.666938")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 0.450701 0.868587 0.175544 0.429822 0.296092")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 0.846254 0.747231 0.947824 0.49413 0.726966 ⋯")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 0.782777 0.365215 0.17004 0.449062 0.029790")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 0.807522 0.113556 0.634008 0.634405 0.887684")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 0.960754 0.579501 0.997558 0.768418 0.568669")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 0.0965086 0.171519 0.664597 0.896537 0.337662 ⋯")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 0.889194 0.207662 0.0615946 0.785915 0.385875")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 0.685603 0.521608 0.496268 0.130122 0.905295")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 0.0987646 0.227811 0.653044 0.701935 0.952573")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 94 │ 4 10 0.985377 0.789667 0.956616 0.622735 0.051776 ⋯")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 95 │ 5 10 0.294893 0.921567 0.656243 0.233997 0.648179")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 96 │ 6 10 0.363442 0.114915 0.121746 0.679632 0.951145")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 97 │ 7 10 0.74172 0.98893 0.456688 0.270915 0.86112")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 98 │ 8 10 0.819605 0.053158 0.960726 0.228415 0.909847 ⋯")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 99 │ 9 10 0.457841 0.271591 0.488473 0.983904 0.868917")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 100 │ 10 10 0.670607 0.160352 0.227082 0.110425 0.204879")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 94 │ 4 10 0.66882 0.908419 0.49574 0.382223 0.924198 ⋯")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 95 │ 5 10 0.0648408 0.979155 0.865462 0.503582 0.844321")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 96 │ 6 10 0.433724 0.90654 0.0894465 0.533196 0.749403")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 97 │ 7 10 0.556711 0.402627 0.180188 0.639993 0.765715")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 98 │ 8 10 0.057459 0.993473 0.786614 0.92641 0.348164 ⋯")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 99 │ 9 10 0.806689 0.202238 0.302384 0.290933 0.91454")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 100 │ 10 10 0.99726 0.556427 0.463976 0.490566 0.810841")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 22 columns and 85 rows omitted")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; layersfrom"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":category"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────┴─────────────────────────────────────────────────────── dims ┐")]),s(` @@ -121,45 +121,45 @@ import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :z"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(l,{label:"mergedims"},{default:t(()=>a[5]||(a[5]=[i("p",null,[s("Using "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.DimTable"},[i("code",null,"DimTable")]),s(" we can merge the spatial dimensions so the column is a tuple:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DimTable"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; mergedims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":XY"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×4 DataFrame")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," XY "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data1 "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data2")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Tuple… "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," XY "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data1 "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data2")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Tuple… "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"──────┼───────────────────────────────────────────")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ (1, 1) a 0.550148 0.944751")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ (2, 1) a 0.0930075 0.159458")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ (3, 1) a 0.489525 0.614656")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ (4, 1) a 0.793832 0.977066")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ (5, 1) a 0.00191986 0.798656")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ (6, 1) a 0.861278 0.673027")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ (7, 1) a 0.207584 0.768342")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ (8, 1) a 0.0236468 0.0123003")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ (4, 10) z 0.871914 0.19857")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ (5, 10) z 0.504023 0.694279")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ (6, 10) z 0.351006 0.206362")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ (7, 10) z 0.856091 0.842866")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ (8, 10) z 0.0459964 0.615094")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ (9, 10) z 0.00516367 0.768924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ (10, 10) z 0.8289 0.813696")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ (1, 1) a 0.447327 0.555606")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ (2, 1) a 0.965529 0.102767")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ (3, 1) a 0.487488 0.222371")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ (4, 1) a 0.267433 0.550148")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ (5, 1) a 0.599241 0.0930075")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ (6, 1) a 0.192192 0.489525")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ (7, 1) a 0.607291 0.793832")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ (8, 1) a 0.921958 0.00191986")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ (4, 10) z 0.107233 0.963013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ (5, 10) z 0.934189 0.82194")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ (6, 10) z 0.294486 0.368519")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ (7, 10) z 0.616331 0.233504")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ (8, 10) z 0.0201588 0.795927")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ (9, 10) z 0.334393 0.377799")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ (10, 10) z 0.485876 0.2276")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 2585 rows omitted")])])])],-1)])),_:1})]),_:1}),a[8]||(a[8]=e(`

Converting to CSV

We can also write arrays and stacks directly to CSV.jl, or any other data type supporting the Tables.jl interface.

julia
using CSV
 CSV.write("dimstack.csv", st)
 readlines("dimstack.csv")
2601-element Vector{String}:
  "X,Y,category,data1,data2"
- "1,1,a,0.5501481631111826,0.9447511416331498"
- "2,1,a,0.09300753748828394,0.15945803739833375"
- "3,1,a,0.48952511607945026,0.6146564273146751"
- "4,1,a,0.7938317326707394,0.9770663775826343"
- "5,1,a,0.0019198597596568057,0.798655984630017"
- "6,1,a,0.8612776980335002,0.6730273352488979"
- "7,1,a,0.20758428874582302,0.7683418213117802"
- "8,1,a,0.023646798570656102,0.012300334322905893"
- "9,1,a,0.11925244363082943,0.4278264986513013"
+ "1,1,a,0.4473266106898912,0.55560637324799"
+ "2,1,a,0.9655293490481315,0.10276733254788795"
+ "3,1,a,0.48748811097285394,0.22237128922242078"
+ "4,1,a,0.2674330482715843,0.5501481631111826"
+ "5,1,a,0.5992407552660244,0.09300753748828394"
+ "6,1,a,0.19219227965820063,0.48952511607945026"
+ "7,1,a,0.6072910004472037,0.7938317326707394"
+ "8,1,a,0.9219584479428687,0.0019198597596568057"
+ "9,1,a,0.9217489713778885,0.44833963865079907"
 
- "2,10,z,0.8146121812750928,0.3434655288098666"
- "3,10,z,0.38167574879167476,0.24524306337289326"
- "4,10,z,0.8719143923648308,0.1985699519321249"
- "5,10,z,0.5040228055200978,0.694278906020718"
- "6,10,z,0.35100608350331053,0.20636222545147498"
- "7,10,z,0.8560905731682101,0.8428656510212863"
- "8,10,z,0.04599641808658339,0.6150940338022266"
- "9,10,z,0.005163666306917225,0.768924169642427"
- "10,10,z,0.8288995877624121,0.8136963000324107"
`,4))])}const E=n(r,[["render",f]]);export{m as __pageData,E as default}; + "2,10,z,0.39189449474581917,0.42429962356614626" + "3,10,z,0.21066413424755615,0.836907965319872" + "4,10,z,0.10723267004015569,0.9630127530566065" + "5,10,z,0.9341886269251364,0.8219403925584018" + "6,10,z,0.29448593792551514,0.36851882799081104" + "7,10,z,0.6163310918833074,0.23350386812772128" + "8,10,z,0.020158765333216477,0.7959265671836858" + "9,10,z,0.3343926384599254,0.3777991041100621" + "10,10,z,0.4858762080349691,0.2276004407628871"
`,4))])}const E=n(r,[["render",f]]);export{m as __pageData,E as default}; diff --git a/dev/assets/tables.md.t8vBJGld.lean.js b/dev/assets/tables.md.C58ZkjII.lean.js similarity index 86% rename from dev/assets/tables.md.t8vBJGld.lean.js rename to dev/assets/tables.md.C58ZkjII.lean.js index 295501fa3..a4500e654 100644 --- a/dev/assets/tables.md.t8vBJGld.lean.js +++ b/dev/assets/tables.md.C58ZkjII.lean.js @@ -1,8 +1,8 @@ -import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./chunks/framework.B8l2DGq3.js";const m=JSON.parse('{"title":"Tables and DataFrames","description":"","frontmatter":{},"headers":[],"relativePath":"tables.md","filePath":"tables.md","lastUpdated":null}'),r={name:"tables.md"};function f(o,a,y,c,b,w){const l=d("PluginTabsTab"),k=d("PluginTabs");return p(),g("div",null,[a[6]||(a[6]=e(`

Tables and DataFrames

Tables.jl provides an ecosystem-wide interface to tabular data in Julia, giving interoperability with DataFrames.jl, CSV.jl and hundreds of other packages that implement the standard.

DimensionalData.jl implements the Tables.jl interface for AbstractDimArray and AbstractDimStack. DimStack layers are unrolled so they are all the same size, and dimensions loop to match the length of the largest layer.

Columns are given the name or the array or the stack layer key. Dimension columns use the Symbol version (the result of DD.name(dimension)).

Looping of dimensions and stack layers is done lazily, and does not allocate unless collected.

Example

julia
using DimensionalData
+import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./chunks/framework.BAAK0EyE.js";const m=JSON.parse('{"title":"Tables and DataFrames","description":"","frontmatter":{},"headers":[],"relativePath":"tables.md","filePath":"tables.md","lastUpdated":null}'),r={name:"tables.md"};function f(o,a,y,c,b,w){const l=d("PluginTabsTab"),k=d("PluginTabs");return p(),g("div",null,[a[6]||(a[6]=e(`

Tables and DataFrames

Tables.jl provides an ecosystem-wide interface to tabular data in Julia, ensuring interoperability with DataFrames.jl, CSV.jl, and hundreds of other packages that implement the standard.

DimensionalData.jl implements the Tables.jl interface for AbstractDimArray and AbstractDimStack. DimStack layers are unrolled so they are all the same size, and dimensions loop to match the length of the largest layer.

Columns are given the name of the array or stack layer, and the result of DD.name(dimension) for Dimension columns.

Looping of dimensions and stack layers is done lazily, and does not allocate unless collected.

Example

julia
using DimensionalData
 using Dates
 using DataFrames

Define some dimensions:

julia
julia> x, y, c = X(1:10), Y(1:10), Dim{:category}('a':'z')
(X        1:10,
 Y        1:10,
-category 'a':1:'z')
`,10)),h(k,null,{default:t(()=>[h(l,{label:"create a `DimArray`"},{default:t(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y, c; name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":data"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` +category 'a':1:'z')
`,10)),h(k,null,{default:t(()=>[h(l,{label:"Create a `DimArray`"},{default:t(()=>a[0]||(a[0]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," A "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y, c; name"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":data"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"26"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimArray{Float64,3}"),i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," data"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────────────────────┴──────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1:10"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -10,16 +10,16 @@ import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}}," ↗ "),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"category"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Categorical{Char} "),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"'a':1:'z'"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"["),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},":"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},":"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"]")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 1"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"8"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 9"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.921958 0.128827 0.517175 0.947312 0.743407 0.0120967")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.449491 0.176024 0.914911 0.674061 0.291555 0.266342")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.581131 0.436605 0.694066 0.0325131 0.645678 0.620473")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.194849 0.580091 0.176766 0.888721 0.890574 0.985377")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮ ⋱ ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.191934 0.359421 0.51621 0.828161 0.516313 0.74172")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.450701 0.341133 0.00110588 0.190482 0.245671 0.819605")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.336376 0.636476 0.45655 0.16484 0.294486 0.457841")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.963657 0.353968 0.199484 … 0.104763 0.887294 0.670607")])])])],-1)])),_:1}),h(l,{label:"create a `DimStack`"},{default:t(()=>a[1]||(a[1]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"((data1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y), data2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y, c)))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────╮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," →"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 1"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 2"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," … "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"8"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 9"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}}," 10")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 1"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.846254 0.684303 0.939201 0.61378 0.231047 0.0950183")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 2"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.782777 0.224351 0.240351 0.319803 0.554735 0.99531")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 3"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.807522 0.767136 0.390515 0.207789 0.204906 0.605097")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 4"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.960754 0.73427 0.71403 0.317665 0.685225 0.66882")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," ⋮ ⋱ ⋮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 7"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.685603 0.444969 0.899242 0.374729 0.778193 0.556711")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 8"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.0987646 0.628875 0.901156 0.571628 0.652397 0.057459")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 9"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.596036 0.110489 0.215681 0.998548 0.918952 0.806689")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," 10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," 0.603358 0.245564 0.431383 … 0.258165 0.233468 0.99726")])])])],-1)])),_:1}),h(l,{label:"Create a `DimStack`"},{default:t(()=>a[1]||(a[1]=[i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," st "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"((data1 "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y), data2"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"rand"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(x, y, c)))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭───────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"26"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├───────────────────┴──────────────────────────────────────────────────── dims ┐")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}}," ↓ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," Sampled{Int64} "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"1:10"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," ForwardOrdered"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Regular"),i("span",{style:{"--shiki-light":"#808080","--shiki-dark":"#808080"}}," Points"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},",")]),s(` @@ -28,66 +28,66 @@ import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────────────────────────────────────────────────────────── layers ┤")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :data1"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :data2"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"category"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#5fd7ff","--shiki-dark":"#5fd7ff"}},"26")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[7]||(a[7]=i("h2",{id:"Converting-to-DataFrame",tabindex:"-1"},[s("Converting to DataFrame "),i("a",{class:"header-anchor",href:"#Converting-to-DataFrame","aria-label":'Permalink to "Converting to DataFrame {#Converting-to-DataFrame}"'},"​")],-1)),h(k,null,{default:t(()=>[h(l,{label:"array default"},{default:t(()=>a[2]||(a[2]=[i("p",null,"Arrays will have columns for each dimension, and only one data column",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×4 DataFrame")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1})]),_:1}),a[7]||(a[7]=i("h2",{id:"Converting-to-DataFrame",tabindex:"-1"},[s("Converting to DataFrame "),i("a",{class:"header-anchor",href:"#Converting-to-DataFrame","aria-label":'Permalink to "Converting to DataFrame {#Converting-to-DataFrame}"'},"​")],-1)),h(k,null,{default:t(()=>[h(l,{label:"Array Default"},{default:t(()=>a[2]||(a[2]=[i("p",null,"Arrays will have columns for each dimension, and only one data column",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×4 DataFrame")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Y "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"──────┼──────────────────────────────────")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 a 0.921958")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 a 0.449491")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 a 0.581131")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 a 0.194849")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 a 0.364097")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 a 0.022593")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 a 0.191934")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 a 0.450701")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ 4 10 z 0.236866")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ 5 10 z 0.894053")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ 6 10 z 0.350024")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ 7 10 z 0.417756")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ 8 10 z 0.125477")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ 9 10 z 0.599789")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ 10 10 z 0.363373")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 2585 rows omitted")])])])],-1)])),_:1}),h(l,{label:"stack default"},{default:t(()=>a[3]||(a[3]=[i("p",null,"Stacks will become a table with a column for each dimension, and one for each layer:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×5 DataFrame")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Y "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data1 "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data2")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"──────┼───────────────────────────────────")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 a 0.846254")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 a 0.782777")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 a 0.807522")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 a 0.960754")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 a 0.0965086")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 a 0.889194")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 a 0.685603")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 a 0.0987646")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ 4 10 z 0.404604")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ 5 10 z 0.0769145")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ 6 10 z 0.292495")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ 7 10 z 0.227142")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ 8 10 z 0.635786")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ 9 10 z 0.210417")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ 10 10 z 0.849817")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 2585 rows omitted")])])])],-1)])),_:1}),h(l,{label:"Stack Default"},{default:t(()=>a[3]||(a[3]=[i("p",null,"Stacks will become a table with a column for each dimension, and one for each layer:",-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st)")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×5 DataFrame")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Y "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data1 "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data2")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"──────┼───────────────────────────────────────────────")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 a 0.550148 0.944751")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 a 0.0930075 0.159458")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 a 0.489525 0.614656")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 a 0.793832 0.977066")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 a 0.00191986 0.798656")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 a 0.861278 0.673027")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 a 0.207584 0.768342")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 a 0.0236468 0.0123003")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ 4 10 z 0.871914 0.19857")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ 5 10 z 0.504023 0.694279")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ 6 10 z 0.351006 0.206362")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ 7 10 z 0.856091 0.842866")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ 8 10 z 0.0459964 0.615094")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ 9 10 z 0.00516367 0.768924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ 10 10 z 0.8289 0.813696")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 a 0.447327 0.555606")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 a 0.965529 0.102767")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 a 0.487488 0.222371")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 a 0.267433 0.550148")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 a 0.599241 0.0930075")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 a 0.192192 0.489525")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 a 0.607291 0.793832")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 a 0.921958 0.00191986")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ 4 10 z 0.107233 0.963013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ 5 10 z 0.934189 0.82194")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ 6 10 z 0.294486 0.368519")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ 7 10 z 0.616331 0.233504")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ 8 10 z 0.0201588 0.795927")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ 9 10 z 0.334393 0.377799")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ 10 10 z 0.485876 0.2276")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 2585 rows omitted")])])])],-1)])),_:1}),h(l,{label:"layersfrom"},{default:t(()=>a[4]||(a[4]=[i("p",null,[s("Using "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.DimTable"},[i("code",null,"DimTable")]),s(" we can specify that a "),i("code",null,"DimArray"),s(" should take columns from one of the dimensions:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DimTable"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; layersfrom"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":category"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"100×28 DataFrame")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," X "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Y "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_a "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_b "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_c "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_d "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category_ ⋯")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Int64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 ⋯")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"─────┼──────────────────────────────────────────────────────────────────────────")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 0.921958 0.713814 0.884385 0.186811 0.256817 ⋯")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 0.449491 0.062795 0.195938 0.608366 0.738445")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 0.581131 0.12764 0.182707 0.773256 0.061892")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 0.194849 0.173013 0.493065 0.132989 0.936495")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 0.364097 0.0445446 0.849707 0.153753 0.64534 ⋯")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 0.022593 0.634377 0.00816974 0.359194 0.719779")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 0.191934 0.307616 0.535124 0.597843 0.666938")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 0.450701 0.868587 0.175544 0.429822 0.296092")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ 1 1 0.846254 0.747231 0.947824 0.49413 0.726966 ⋯")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ 2 1 0.782777 0.365215 0.17004 0.449062 0.029790")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ 3 1 0.807522 0.113556 0.634008 0.634405 0.887684")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ 4 1 0.960754 0.579501 0.997558 0.768418 0.568669")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ 5 1 0.0965086 0.171519 0.664597 0.896537 0.337662 ⋯")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ 6 1 0.889194 0.207662 0.0615946 0.785915 0.385875")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ 7 1 0.685603 0.521608 0.496268 0.130122 0.905295")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ 8 1 0.0987646 0.227811 0.653044 0.701935 0.952573")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 94 │ 4 10 0.985377 0.789667 0.956616 0.622735 0.051776 ⋯")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 95 │ 5 10 0.294893 0.921567 0.656243 0.233997 0.648179")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 96 │ 6 10 0.363442 0.114915 0.121746 0.679632 0.951145")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 97 │ 7 10 0.74172 0.98893 0.456688 0.270915 0.86112")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 98 │ 8 10 0.819605 0.053158 0.960726 0.228415 0.909847 ⋯")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 99 │ 9 10 0.457841 0.271591 0.488473 0.983904 0.868917")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 100 │ 10 10 0.670607 0.160352 0.227082 0.110425 0.204879")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 94 │ 4 10 0.66882 0.908419 0.49574 0.382223 0.924198 ⋯")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 95 │ 5 10 0.0648408 0.979155 0.865462 0.503582 0.844321")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 96 │ 6 10 0.433724 0.90654 0.0894465 0.533196 0.749403")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 97 │ 7 10 0.556711 0.402627 0.180188 0.639993 0.765715")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 98 │ 8 10 0.057459 0.993473 0.786614 0.92641 0.348164 ⋯")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 99 │ 9 10 0.806689 0.202238 0.302384 0.290933 0.91454")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 100 │ 10 10 0.99726 0.556427 0.463976 0.490566 0.810841")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 22 columns and 85 rows omitted")])])])],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DimStack"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(A; layersfrom"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":category"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"╭────────────────╮")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"│ "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}}," DimStack"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," │")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"├────────────────┴─────────────────────────────────────────────────────── dims ┐")]),s(` @@ -121,45 +121,45 @@ import{_ as n,c as g,a4 as e,G as h,w as t,j as i,a as s,B as d,o as p}from"./ch `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#00afaf","--shiki-dark":"#00afaf"}}," :z"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," eltype: "),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"Float64"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," dims: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"X"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},", "),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"Y"),i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}}," size: "),i("span",{style:{"--shiki-light":"#ff875f","--shiki-dark":"#ff875f"}},"10"),i("span",{style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8"}},"×"),i("span",{style:{"--shiki-light":"#0087d7","--shiki-dark":"#0087d7"}},"10")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-dark":"#959da5"}},"└──────────────────────────────────────────────────────────────────────────────┘")])])])],-1)])),_:1}),h(l,{label:"mergedims"},{default:t(()=>a[5]||(a[5]=[i("p",null,[s("Using "),i("a",{href:"/DimensionalData.jl/dev/api/reference#DimensionalData.DimTable"},[i("code",null,"DimTable")]),s(" we can merge the spatial dimensions so the column is a tuple:")],-1),i("div",{class:"language-julia vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"julia"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"julia"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},">"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," DataFrame"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"DimTable"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(st; mergedims"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":X"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":Y"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")"),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=>"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},":XY"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"))")])])])],-1),i("div",{class:"language- vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"}),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}},"2600×4 DataFrame")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," XY "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data1 "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data2")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Tuple… "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," Row │"),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," XY "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," category "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data1 "),i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," data2")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292e","--shiki-light-font-weight":"bold","--shiki-dark":"#e1e4e8","--shiki-dark-font-weight":"bold"}}," │"),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Tuple… "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Char "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64 "),i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," Float64")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}},"──────┼───────────────────────────────────────────")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ (1, 1) a 0.550148 0.944751")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ (2, 1) a 0.0930075 0.159458")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ (3, 1) a 0.489525 0.614656")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ (4, 1) a 0.793832 0.977066")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ (5, 1) a 0.00191986 0.798656")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ (6, 1) a 0.861278 0.673027")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ (7, 1) a 0.207584 0.768342")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ (8, 1) a 0.0236468 0.0123003")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ (4, 10) z 0.871914 0.19857")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ (5, 10) z 0.504023 0.694279")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ (6, 10) z 0.351006 0.206362")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ (7, 10) z 0.856091 0.842866")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ (8, 10) z 0.0459964 0.615094")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ (9, 10) z 0.00516367 0.768924")]),s(` -`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ (10, 10) z 0.8289 0.813696")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 1 │ (1, 1) a 0.447327 0.555606")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2 │ (2, 1) a 0.965529 0.102767")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 3 │ (3, 1) a 0.487488 0.222371")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 4 │ (4, 1) a 0.267433 0.550148")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 5 │ (5, 1) a 0.599241 0.0930075")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 6 │ (6, 1) a 0.192192 0.489525")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 7 │ (7, 1) a 0.607291 0.793832")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 8 │ (8, 1) a 0.921958 0.00191986")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," ⋮ │ ⋮ ⋮ ⋮ ⋮")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2594 │ (4, 10) z 0.107233 0.963013")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2595 │ (5, 10) z 0.934189 0.82194")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2596 │ (6, 10) z 0.294486 0.368519")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2597 │ (7, 10) z 0.616331 0.233504")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2598 │ (8, 10) z 0.0201588 0.795927")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2599 │ (9, 10) z 0.334393 0.377799")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#959da5","--shiki-light-font-weight":"bold","--shiki-dark":"#959da5","--shiki-dark-font-weight":"bold"}}," 2600 │ (10, 10) z 0.485876 0.2276")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1b7c83","--shiki-light-font-weight":"bold","--shiki-dark":"#39c5cf","--shiki-dark-font-weight":"bold"}}," 2585 rows omitted")])])])],-1)])),_:1})]),_:1}),a[8]||(a[8]=e(`

Converting to CSV

We can also write arrays and stacks directly to CSV.jl, or any other data type supporting the Tables.jl interface.

julia
using CSV
 CSV.write("dimstack.csv", st)
 readlines("dimstack.csv")
2601-element Vector{String}:
  "X,Y,category,data1,data2"
- "1,1,a,0.5501481631111826,0.9447511416331498"
- "2,1,a,0.09300753748828394,0.15945803739833375"
- "3,1,a,0.48952511607945026,0.6146564273146751"
- "4,1,a,0.7938317326707394,0.9770663775826343"
- "5,1,a,0.0019198597596568057,0.798655984630017"
- "6,1,a,0.8612776980335002,0.6730273352488979"
- "7,1,a,0.20758428874582302,0.7683418213117802"
- "8,1,a,0.023646798570656102,0.012300334322905893"
- "9,1,a,0.11925244363082943,0.4278264986513013"
+ "1,1,a,0.4473266106898912,0.55560637324799"
+ "2,1,a,0.9655293490481315,0.10276733254788795"
+ "3,1,a,0.48748811097285394,0.22237128922242078"
+ "4,1,a,0.2674330482715843,0.5501481631111826"
+ "5,1,a,0.5992407552660244,0.09300753748828394"
+ "6,1,a,0.19219227965820063,0.48952511607945026"
+ "7,1,a,0.6072910004472037,0.7938317326707394"
+ "8,1,a,0.9219584479428687,0.0019198597596568057"
+ "9,1,a,0.9217489713778885,0.44833963865079907"
 
- "2,10,z,0.8146121812750928,0.3434655288098666"
- "3,10,z,0.38167574879167476,0.24524306337289326"
- "4,10,z,0.8719143923648308,0.1985699519321249"
- "5,10,z,0.5040228055200978,0.694278906020718"
- "6,10,z,0.35100608350331053,0.20636222545147498"
- "7,10,z,0.8560905731682101,0.8428656510212863"
- "8,10,z,0.04599641808658339,0.6150940338022266"
- "9,10,z,0.005163666306917225,0.768924169642427"
- "10,10,z,0.8288995877624121,0.8136963000324107"
`,4))])}const E=n(r,[["render",f]]);export{m as __pageData,E as default}; + "2,10,z,0.39189449474581917,0.42429962356614626" + "3,10,z,0.21066413424755615,0.836907965319872" + "4,10,z,0.10723267004015569,0.9630127530566065" + "5,10,z,0.9341886269251364,0.8219403925584018" + "6,10,z,0.29448593792551514,0.36851882799081104" + "7,10,z,0.6163310918833074,0.23350386812772128" + "8,10,z,0.020158765333216477,0.7959265671836858" + "9,10,z,0.3343926384599254,0.3777991041100621" + "10,10,z,0.4858762080349691,0.2276004407628871"
`,4))])}const E=n(r,[["render",f]]);export{m as __pageData,E as default}; diff --git a/dev/assets/veptoqy.CZKDtjAN.png b/dev/assets/veptoqy.CZKDtjAN.png deleted file mode 100644 index 1443d43f0decf5839564ffc47d64c2d5a5c6e6c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231259 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 (ic%YAlz~?nX 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°9J$_Khgr*k`oz`9=x6V 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 bFP46ST*PlEA7o@W)m$G)$f0t?o_PKbz$+by diff --git a/dev/assets/ybmzrjc.BIa4VhRY.png b/dev/assets/ybmzrjc.BIa4VhRY.png deleted file mode 100644 index 6f0e615af00e061cfba35cc66bdc0f4b55654c20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32198 zcmdSBWn7e97dLtl!blE+gyf(C(%t2Npi&}@G*Z&ijWUF!iipyoq;xmZ4Jw_|-Q8!8 z&-1+J+xzW&INZPAJvi6CcC5Yfzt-a2Gi7-~ygPUh1Q9-YEc+aSunQpw3kAaj-$)W0 z=7A3!69su$=oJ1>t`_ZFOA<=Q0RXeJtsq= zKe->^A<&;+$O7T$PsLCq4E@RU2!W0Mj8222C-Q%y`u~U5Sv6fD+7fN{;=Aa*a|>%| z+&x|j|L+NSkiyy|o9iJNadCGLEu%%IX1Eys)BFMgr{47m2?-}B?qfR8-yh=>6N$_2B13*5(&7NzF%7xp|1c{~h-8-AfA|%v_2+@8{J&jr zONYbPX#cToBUBXhZ2SM^>@P&eMPSvYz;4#N#OU`jntj;OdokvT z{O?`};6DGG<-bdQiF)LUW~KCJ*{J`sY$y^jD1?Vl4F0+W9?holo<9BGMjy`_)by#s zj5+m+(d&miNC)eqstUKLfc%G3A_o7r1rvYtO5D`L5?By~B2Lb8j{HY9BmcJqBx^K* z@TD}~URv;y_e#LODI7Y19KzC5(mEpjAEv^a^eE9pfZdgRv8w-L16m#)8}m3_j5YLF zjPbkLPd-1yjiM1LwjRkZkr4Af*=Y@C6cVs{sGJ`7O!d?6-@nbeKljE96_l5|8reTLFyKU;92WR(Zg>6+z-_)m zb=G(rA5Dudyg6>V3B0-n29i!oipl*#UxZZ2z84oihw=EF9gJ#oT+N`!a&mOp6Ow_N zh0`U-WVz|uJS7jiFC=t4C?zN$;88byRsTduNh#~Oa=ai%!fc9@-oIOCkwy%PaF91W ziDuH!&`3OM&n>9;JU`mJ^obt8M25BUnst2|xGR~=B`GPXNR_G;n%36Bji&y8R=J}u zBkZ1f17+GCDdF(9u_+Kgn2`GOmoLJ`O{jRg>eT>Z$@hswza8-ZodbQR9Fg##N0z9< z`ueLbwgT}(Be1N7#!#GqH942T#Yn@IfPg^Ru~27sx7f1Kp1XKJc&O!TFU+SuG$J-< zH6L4=^ZKPi{C(?(XWo)g?dc9$bpAM%;?s0ek{)#i1taUb?j|NCX~}p#7NbbYI|u@7 zOtnnqy5%IVrM^UJYHF{8m0!%s-o>@G-mRgxn}Z0wR=>x3`bFQsCr{X?E-NiXG4rG~ zZ4olH>CSt_35-uqbD|zUejMV-0<8p>mkTz`*q7D|C;)JOMHK~uTQyR zf|dXW=)wcF)NO(nFl%dT(p$GUs}?@GtPg+x_6yOI`Gf0$>l?{|4PQEq#_pL~5W zwe5TSQGs)HQE90^d8WH0b+@^trG>jq?wiM;w28N3R3NwdjZ^#^DULU9-qg$$;Nkgz zgh}JG7j1##-e+QB4gL7#OGhwU1fLB;-222KDvJ63{mWGqKS0gTX)N^KI}f)59rl-c z>%^%=>x^1LNCGsjTQ#>0yAphPT zrNYC*qnydd#JKa7~geZa(1vv%B)O=q!DvfbS0OKZ>qKcT7i2PSEuKPmpMBM z8IrA*iHFF^%{9Y)SepHoj~Ol50Z2=zErEBC5kaax5q&iwwaK<{&)ifBo6n-;O37T5WTz<2v6 zEv?zwDf%C zvsfF<26txcu{`keAn2OHlKXpJq~q642|7hXHMP4aN-K2&?$nW02=^HiEsT+wFZ(Pu~NVq7r+S_zz^GiAO}uYuA1;Qy8lk= z`4h}NZgG5KCf{g;Ha%c7o)77TFB({4!+n$R@Wb#EBL91s3|#fF{{ zH%25KD(!9aR+T}o;*9}Jq)!Sl=74Z~Jkk;y>>~`E337fb36q{@LA9X|=Y9c}I75@} z&dAb1XQV$j`c+_$QYZ!=g71_O{MdMio>m3$4Jmq&N+Jq1xd?x-592NtsP0+dBj6OQ zD1|k%iD5ROzuv_bmb~pR$&#>jLwZ7&R*^~o6HEY(4tb^)hr<2K%Zh^r;ApZDFN67R z;=nL0b);1%68}50brHWK5`ui1GI*iVA5|0GK5VAwJx%%!qt7U5g)vYpS0nF=jlu;~ zn==O@lnDC`Ceg+U9AH7uOK}%{NKu${_nHkEG61|RD~=H;wgnw9b^!X`(X@8zj`ZI_ zf3GJQgp09)BUA`kQUwlhgSS7}alHt~93VVnfO?;6sLCMt@ql~K@(`S#{tZLC5yn84 zd2sAIt)Pbp)H`8e6x`ppFbM8%o@nU?s8q*i4ODUkivmUXC8QTP z|0%>6N0c{GG}`0GRNJ1R4@r~(&Uh0{WI0?UCkG=8M8Zf{9Zp}$L;jMx=oLTqZWe4U zsC&wQ1F_d)v@V*)szPVdU@j&3I~$5tLX_ZA(|S917@(;Xa4#9nF8alH8G69vVVc2O zXr5rJNTwo$N-h2Jl)z@PmP$20edO{DXAJIY0?q&%hQbEm+_Jy#P5b`i7f((OjFJwZ=S@SgiJ+Crfrw z8!%`j0WGI?IB!EC~rLqdUSs+@+6R@pP zGXaTtMotEi*NCNc8vOQ8(bnWN>AJ)7p0b!}gVm8rnF{}C z70b1P&swYoH9n!Iv;RzsK_ZJlJy3Tk2CQXQ$i@q8I-CZ0e9r^RzXi)n`aQFHnS=#h zS}w0xKygL&S*?r2UCM7@Y4E0#S2js0O+K%8%s1U3DDLnX%LPCSAh@8Pv0NO*HH{j(P&v*rBzD;zkOafM5l<#-6^d zn?Hp0xWsOxp^&fuHk)GfMO;1`0>a2Z)f|w4M4*1s+M5FzOmc8$g{nmL>MN+|_({R0 zd$x8*TpSB%{gc#PLA2a)(3Ny22v-U4`CYN$(cVa2=pZoqHS}2B+NnTvm<22m3LbUa zzr;X55>}4xVtO__c+zoZVysvR5|+H+P-8`Hc4$GRAEl)7mpy+aTA@|it^CFk+stQ^d6{T!ae%Z8c%RJg*;s35A7Ffq)||IYV-KJ&t@N%* z!g~F`A9@o7!h?!4tD`TAp_PvM@xC0QSiqKwh=S6?yk-}$11B)Ur`qRBVL&{Dh=%|d zHj;(Dpoy|)pVi|`cn9QQ=SIwC40?k?Iih;W>P3kJ{vp;*XLQ>7jrm?HB!K2cd9}T> zgn&?x&*56VZs5cr#Mndn42&3<+vz02i~v_E3{*xJ+V*M8ERH>E+6{mh6;y}hg~;gb zT|0;{H^C4Fz~fQ5qlRSub{DqxF7E>xA=%MlT4v!7_;r928NduUCzdy)nRCRZ=*fA+ zVGPB9<=pq-6QOf7;20rg?eS(n%h!8ajobvbPj;|8^k~MGEjAHT6!-%qWP&cS<-8(v z{*pA=+u*tgI3W_}l;NXpmq(LsNJAi^*lbY(|2CPHHTN}&b@T<9^unidQM!x2l~FQG z143lTm85QpN%f|yH0WS<>H^1{9|}pxAsUIA;rh$Kc>tpI>WciVF|@+M0I}}U!KH^= z3?Mi`ZuW#%f7e?g3VEV5dKT0`o!kCbE<9=aq-ovhURy8d!>_rW>C=Mr2-m0$h5;%( z#DT3}9w6%jAQ}l186StEy2cc6q-C8eFWlmA|GYA_85jg#%p)1T>Q9~nUKGe z@bu*6?|fGDiqC?(-Hy-OyL7DrD9OOq*QPGyl;fckM^}}<6!he$0W`#f3_Zx24sJEF z0Dv=ao?>=Q1h1QcX{K3n&N_lj1TV4RuA7`Q`rCB5-v}AOZ4P`V4vU*epsB`_{$p@e z>3Ix<9W13J6T6&$ENqNvEQ3H@vE-aAzYzuBrwG018aJ3SybH*cp1tLKy;66vWLL1k zzzzJ30}B~Pr-+DXSIAOJ)#(_>tVa1m9Jpr8W@@i#o zvLa`I)aWi1H0xYD=GcFJnqV1Pm<~r;>^*%k_6*xNmXw z`^zDcn}9{$rG+kfX-8v8r`KXE0`s6jJ6VbeSDs)U_d7NI5QSv}rvjrogXWebey{34p+(c>;2E*3@HkFV@SWu?H8^qMqwe+e`p-SnKfD%-_v z8r%1@*#3@{7e8@F$hLBefJ~QwVYnM~*VgA$bl52zIjp`FbtbJO;|%_VR&J+T`Z~`h z=fF!$z>X0CY367z#2olEps3o0gMm`@iCs>LX&>dmP?bZVh6S8Gu44M-IiWj1>?-0F zM#u!g0*%6vLSkDlGzMn(z`yQ%86) z-FG3|l_Q)jLw)ye^*|P&w%xO5QZ|;^;X3E-gaQ!Fw>Y%K^#}*277|PLb zn{b+0*^7Hd= zvuUD)SesV9<}GfN-H@*KqqTJh<~Uytz?#iCsSg3L@9DJA@gd&6-eV+RAM2#Vpx`)C zYzu}HAQMFJfQ4lg1n+A@xfA2#2)mofbrPJoaUV;X$x!-q=qyc3GW#={!M(KyYhNz%P{{Yo zc$I3yHeJ083=B-?Qv_%A%U;F6=W6%+YOc=KrOw@7y;|d_m}EqqEJUm5z7W~fbGoWr zm(2x{;tgnj&H2>t#Nev!mhVFd7T>U)>)~yBv)edDNtYcJ&7>r{OBJj4x)Yjyx!jkC z46!b#JL<`_tK9|6md1h=A0FBvGQHt0)bJ2!;3bVetM#U>A1-jpudv{BIjo;Ivo8K@ zvBvPi@_x@{@H#p=0vtl>FbZpwsI;nT%)I0#!n`-mWvRqzxvxx{Jtyb$=g&lpOik=r zSql44tK4v;Kl=zIO1*e7xJd}?ZX?5gCI5>fWcz0hHv4yIcsQt@Qo{4#YkymNJ2Aba z9!ynDjdVzRWr#X>O+l9ieI3~vHxNT2fTK8dwNvvZvEEm;PYBYkQ z)6)i8Bh6E#0N9G{Ufgy67#*FC1|fTpE3U~G{agq{YC8pr4hULZgNlX4vPeU0nuG4H zQFhKrb5dJY;`tAjP?ObEcuo%M3H}YmHqvLl$4~w+yXYn)rLa7W(z^FZRb4}3q6GS8 z?RZ9inw4Ka!6o+ilS9#OF;ns;wQeGx`Xm+4UC%mX$jQmc^h{=YdU~vd%zUs!-_u78 zKOWdfPLl{P8_HLP-w|L%lm{C(4h)4hJZlsmPXK-%4cDvPN1JDVxW>lD(w%#F)=Y8Ki;}jU-`EW zDOcsp5^&HqoPNR7gHJs@Jx;z{=9EOwfosr|pJVAOpF1=@Kcl4;7=wQyhWIpM5zeapXH^Qb!yHa~Kjt74>OEn#7$j^V^5cH4%ZfRvj zf&{|Gn^QCpomu{QLc;v38iw>;SIu&%+WOJOd6Xq&>{MC5UaxUOnUj5h+Vtp9HC--H z?)vG|r+wb#wYB2>A`Sq|{G}Y!e_oj7;q|Bn9VjhcUbNv#2`f`$!{z9;T&_+oO-moH zeBi-Ph0g&H?Dn-}(iMLu9YGyVaj9r+!-OUX?I2QB_1($xQ0DSaH$?Wyq)%)fSf6*s zA?-`c+p(Iu3j=pD;_YrBH>PSTva(i6GY$MMT@Womhl!i_P~Pm^v2W;QD~Y%HC;`3G ztN#l;n`uc9k-;FDG43@QC%%5QLuV6VNaYWdEHEZ zH88)M;CTTO8q;-NZYwH}q*#@8^ao1MW$oiDF{LTXM10)p;~T=diTn%4wSNO&=N1#K z^hkJNcF)=2IzB#rAiVoCM|VdDOybMOk9**x90s-S?UA%47X4ReBMp)uCsK?45l6HT z3Qan6b5wK?*xG^6WM(_-QzE9nj(Ta$mcEB#H+3lHKsty;752NxVgzA6d`N_NJkWe) zH8ozHAMY2mhjNpO@C{>dS{?5B+!2;f!~Z#&xF$7C$7KJgcs*PVzllH85}h znJ&3BIBU*XfFEsH)g`XAtwKRE-O({FLGvp9bWP6R$3C&>&1a-`I~{wqZvd2mL0a}1 zjKmRyvj0$-R4sDjcTq(!#4VG&;u2_laR=w~57rL*!hf`(nQp|g#+%TW1e*ZvC1deg zjkt!7Rm7e*%X?kubSjYjyHl`7!48d38lKr6U&nm&~Cbs;_xxs)Be2fCVvadA1HQ=YHar*7FZ_~3`uA$BGudJMt-lg9@ z0_+MwKY4Bvk{s+Y5B2=Tgo`BkzrN1F1it2DcU!;SGsfZCMgVbze8MU#A31jF!}fo? zd*f5`4^DCIc1~WXX*)WnPs&dZ_{wlXz!9>U-Pb@49}Vq4B!&1D(NXB<4Kr2>e^?fX z98B~-!48g-8KHuO#Pm=gNlUA<2uYAmL9(OjA$b;>b?W$XE_1d%12f}BMhiA`dV>Z#o^M@Zzme;yN9hfM5 z6*!RJ^FU~$IQ!KiX{^rccr3|ht7A#txx+V=`3^OZ(>~0Eg_p48-ox9I@ zp}Gn6-^Ce)I<9z+|K4PwYhXm_4p`bJ3yOCujk7q4P|EAQoDjcDlk|f^Xxe=qWJ3bs zg7KRmfkT2MpyFKs86H9j>c!JE5v!Zs^^)sDmjdgdFOG&>^DdJ;c6rRlYyy!X4xT0o zIuX4bK&hLq?P2>CXAEo#HT}w1;=jvm+w=Zjg_Qg57X;wvOf~gGKcU!a0!Q~^1M!0a znN+UO&`@L`H%PZ~`JIOS5RZ-QpHv<5t<2Azpx(Iw;?V*7?PVc5mZeHMh$J;@?e2Qm zolUy2ht7Xjex-+|!4Q%cJI(hMKEn|8M`ZZIGOplrMTJC zFe_uChs z6`1j*i%M_11`Y2oX5gn0`+P`Dq&;K2f8T7b<=t;gj5w{S)uq9Qd|4X~b$d_B;EZA% z#+|n%^ltwlHMLI`V_K`a$JhOsg|Tas_{w|JQN{l|z)ct%eqD{A;UmCGndP56PAN?> zt5$EC@?=21kL&z)sbB4jDWtG;i@2AAsNL6q@;3xEsCEQ=NLUg>_`KcAZ6&c}I^ z={lc$sjPb~ysSqLuJnxxhsgvB*i2S|V4Yq@cEu^X=3>H0I1L?u3Lbj^m(UDLAxsML zqow@RP4;+irMJ_*&zT=Cre&5d@K9B@Cz>&{j zJd{8`71+3;HFM##u)0<+Krcx4LHNrVDHu^G6HFv=x)AN-?dav@WoY0%qVJ{(YYst% zV4S5CT5ax{qfrCR;O^t`E8Ty;hBY5g^O%2=f3kL>L&aCme{yU!er7(ip#jt%Q}o1_2(?bMt1j0v9CFt0?4jl@^$?Ndt+5hxoFpfb}&vt3k-4AMWIe-ptWF*zS6xL zpN{vaUuH^Qhj%O9LWcJ%0xi1|P1u?T>X7amy*z(q1GY7eM6`%p7|WXh{21sJB2H~<}&=5zWg zq6WJGpO9gOR>x-R$pLA1n-(wKiBZv{G49v41jch>c2V5(FF-wobBSWFcOzO^ODZ7Q zN5*OuVF9+`O`BS*<9a!)kvw;>I35@`IR7Qs;0;ZBkaL!M*xGZ10T;l1r882%Yx1AL zO;DVqt3Ek5YVgZ<>VU*F_+DopBT(uREU&hF%~T@LN0ilgWDJmO>6c}~-oa z-R~k|1lc6vsSwp=tL>TwLMEC9+REnYl2 z2fPU`?u#-S7{rF!mhr)%0$Q}!6DFO<9()7$DLFK|C-Fgx2}nGj=&!zEKZvof;2G@A zA61y+$DGi1q0g?B+BSsJZ|_jQxW<4O!10*t;%9aoHG#V}Ju$dE7qd(CLi?E!EH!{~X0tKeH)IAQiK z$k%29(52R=a`u@%8q@B{&5lRH815k3dofPf@lwYGMkV~NDxZQNI%Bv;^%s<8q8{`_ zg$~#AA%eeb;H9ci^dpSNLxAo5vnXRe+!Mnr?Or5aiYYG_R;*Z*B+XXZyu6TO3d4Ng zhidS_wFiYc_wV1YYgigc1vaOvyW7xn_4~A8!u$6-m)m|);NM*evv2sh*q1;(}pDmhfca z=m()Zjr97Q>5u53@1IJAU*f(Ymk{?`i)}MA;P(vKVE846;LqN?z4@XW?T$kTl%+Z0 ztTf?e(}l629)E|>&1zbZuxtO3z>kOU{PcnHJYuY>SnY9R2Cw-7Axp!A0Xo=%AyD1) z3pDDGDxbYg#sul6N8b1&Y*HbNNqWN|+%8_FYs4KpEX8Miu1f*~uSLqn->- zX#XZ)$a($ymN}m_*@=*(V_e7D+qONyOu$t;B80AZ2!G4-HIKU>gIxL+X-Qt6QtYi# z1|B+8$0?(ed5X(t`*Qc%_IN1a;5nT=y`81w2_Uq8zvF4ZCMTy7l*S=|aQ(@Ta}xu> zf?}H8!7-TlhgB!!=LF0?gkE2?C+LA(mQo5lu4w`!p_BaoO}{6ImR7}An#$ue<)1NF zQ09M+aJBve-g!P7+xke0;qT#dJogJ|$~{$B#I~V4wV1vyklz&CRt_K{@0Zq|G&2z> z0rc{HIMUMLDrIje^&eo4o5T7PWQ7-sv?=d_thHQ4(YLbRP9k5ZG^@OOYSYYv5Bf^p z+d&ok^&Z-u2M+wD1URpb{8|klgORIdSmpdjN1#%8Tf2z-VWR3I8slpq9)&zze-ym{ ziUV#aVc%kXZhf5RCC>s1RIAmc7S~NQmA4BVg%T~#7Xp6zakVZ}UBv(8Cqv%#`j^Iq z95iuX*@Cn97wWb|aZ&pn(l%&e*)$2kACw-+4|#arf-U01WvYx93A*duSGO8?8PhH zx5kS%!~K=KN}(*VZ2ddK+qg&QGr^VDSlAH=L1x=NshZ}LRE6n|=Kbtgv)L-RblHyZ zn;03~j7hw)QsJMrWeT#e5mm=sPpIAzd~S3GwJN2l-!#m+0#a$M3WeOfs5g=>aB4Q# zr5k8-)?Yhdg3+Ci!|V2c?*eM01vvwxf|T3-<|harbgKpRCW~Ga-;^=4z&PV5C`DJX zuKetEl2fMszzV`04T3Q0XYqfu#?eOiLrfCoaZef*mu6*3vUPQJmCt-&(qDx(tE{ZX z8%!qMZ~iiK%5^pioj(Lo-_5`Qf5~i1k_}r0)ts8F$r2qJyeBY&ysSp|;>%EmBjo?p7-{9r7d?G^n%z9FqmoZWe{fHkB16;f z`w=vM5cB_F!vQjuZ^2$0MS7^?J(|O9BJZQ93cIs@af^dm8sPS#v(-L(jT+I#e{KQZ z0Tlq2{EvDQ)~k8Yyt96XP$3HZ~@%I0%e>RUE;>O9dlG3xED4 z)6mx%tSw9EAO4puW}^|rkiND{;@j(br&FwE#Ben1Jbf00HRJ8#X9oNS^4?VVozP}b zx%YE1rd*;rbs?2Fl0K`fvk&v&-PF9H+9*&i5b8}UBi&`!pz(v<;((MH-Rim=R?N`x zt-a2^G?AiWEQW-OhjvZWdQZK>;Y}taox40B4)oc(Dq^B&pM|(X5lFN#3`TgrqpWj$`S^dBaOQuW8s-o$#Jg7GO1!J8{1mM4ySUm(lY zqpl-TTAL-D#xHWjPdrz;qk*3b%E~NR5@PYB#jZS3G+nVfzGbZy3{&{c4_$7A5~QDv zA8f2=T7cUoAiw^UjA{^n+&(iA#ds3x7^nrScNr~m?RW7ROAGQM40bVs+FF@b^x z0yK9Ne-xp_^=GOrPo8~PLjC!pLvv5UJDpCU9wXR|pcoqZ{f3c53W{dtSG1OeUZ4=d z12c4kA+EWIH0WdNlWgE?3@=R^pdIXcCE6{fhF{St#gVW0&sMebB)*tR2hm$}{?^c* zcFWW-K ziW+#f#T(`6tPRCu!lza5Avdm;eGr#8pEW7``|jc z0l@&0uxrDQC!GW0naQgZU@PGoI-R=>2Ex529}=-Fgm~B%+rExv-wY2@+a7)F>{AQEgZ{HwXbiz&_N0T?G>FwDP+tNtOA7y zsz{G%PogVgIxLDp3;~?T|MgF5Dlr)ntJ>iJjxKoV1LXjA_R_9+mXB(>GaXL&6m2YD zU(DlY@><|mH$J4nasIUu?)J6v216()(6x^f0Bo8r;yNwQS5Q-ZJfhyPZ*wTtFLz&A ziv9ZAS%rsLdhk8FhVx==w&W1w=dqFWXNNjfY*CK4h)W|uRcD-#V6+(uO3VJa1)`Tb z#r2indsoHAjb?PGnZ)oJ{$Ob-(ZqKm=`3l1-sin#+E4v+mJ~{}_!p@SysrUr$A8~W z&;0i{c3-NWgCFNi=+3+NgE~_kK~-diLOZd<^aeU4)S+?wZg6k`{J3!QqdbXVgHGYci;inN+Lf2`S&-x0ZDex9bg8;SjP;>pgs=C;j@mn4|=Eraa3W1 z-LHzgJ-WDon?^a=*M%-(lBPFb&Y1DOdJMJ);;0ClS$^{f%#akK*oMmQF90_UM4&Ye zqkw@c-d`u@XRw;;YRoslNv!4<6Y|kB|F}U03#b!F1Z6v&_NBlGd-v7HDQm>gf_k{S z_a&Ep<}w3Pct^VS!$jS8{*tPQ7a2F>#CDsN>00zBT?Wu!{LQb~D%L&|J@s7dim|WV zZ5vBU(>7~U#cuDtzQ-*sSQOuWN>!7As@f>^@d zM6X$dtBO_beDAg%S^hCLj=f<7sE>pOzH+Hhxh}S_lN-s1@$157JlFFk>>H-GkAtsN zRX?T6M@{=2Pk}79VbyCh8=GVk`|;9M(DETRQL>!u=j&elYT|G?;$-){yLL08IKVPw zyEXY9bIajX+!=AKJhLKwZ_g9!QZMtxZ~spIMi*519Zbj=Ce=0!FQKafFi->L2zGY% z3*e6|AD;ts&u=%(P|vAX;QROQz%7{piM8=EYkH4`59kI3u5C3H?(*H5H~nES#xr1eE&Qw^wQ|vGzpW=(R1db>a=0wvFw`>pz=j&1(8|SK z!~qk+VPNK%J*qMV>69$Zg>jK1dqBSc$f4{n_s>*0 zEz@7^1fOr!aEXbXCv2;sn^N5WzQLsf{|gBoF3er#n$*yKAQl(|%I6dI1+3IKLzR@N zfp`elRCf~-Z}eaJ7)CTxg91mNEVwQQIT6X5VHztVRW^uV;JU{0pgL^{9kDR@AK|6; zn!os$)1LO)CM^5;9%L>l483>X;&VFGOo5D!cJa$6+uQSpo}gSm5dJ4aDa_Jn^L%8z zyWmCr$kuK*QQGa@-R0>i>%o!wWM0=ZhK3L6bC#Xb__IRh%iiv_r$Jwr>vu6ao)2_@ zVkvHEpf1nzznnD2Awdbl<|c2o$NthlQd-62>uxKRM8B(3kUYALv>7d&1qavB$z};n zf#ZFETVJv+tE}__Jv!;U99u6UrsWF%`y*0F4TfO^T;NZK-*>+PAs%N#$w$%MM&4s$ zI;vdl2E8zW@YB=NW$)wx%qDQOo1{$cb<=O(z6F`IwY4>e<)L8vzEmv;#;kGsJ_ow8 zNP32@^40V3vV!wvERwV;Bqi%>)3)$c$JCK;Pohz9LPA2$*xcjen;Z;1y}dqj@0jJn zDS3cLj4nN(my*1Dcb-}5v{U4|@~0x*XI?&wLbf^R?#k^YVxcIi@1y-7<;ds8A&#(;^HL$-}iD|*fMPrVHav|y<$PboPy-}s*#Zx27L zzwLijeOP-y94WAJMjqchyRy6XYiw-wbrrIiJ2WR~u_7o34}t162MrQb7c~f3r@(<# zXFS9$Qc^E(!3PgkOSsk_Wx??f^_QFW*B8rD$vmb(ttKLlb1iqH#P^os?Loid)n8nx zj_&UDOCzV@ME`mV*p2 z;?9btzm>B6G`Cg(bxRjm4gjhL3Q^9}^Q@bzp%%1_9Rrz>x|)~r^oVY_SmXj7K6j*O zM4c_SpOns5Q}t;Caulm|#D4ucHV-pi;gqql`2lAXWD*2dg36F+Z);my0e6z#Cq44_ zn)=~3FE4Kp(dI09<;?c+sW<30LWWT0y6pIod>++Cpju64O>R8im5L?o%0e5i;dRLn2c84{yx|4~SE7$VO&z$;a zPdO z@%$U!uHk-LL!nwhrW`YnN%upTj~y}X@$JuHF>pqH^G_c?HXX8t^B=E!cf3c;ZQ$>Z zkB>{97r&trbzT|FRttoK6gc%x{K~Jv*=!pQEC%*F)t>dXxDciPi@tu^I2vZL8;Vbz z0v&*6Mux=2#i^CZNU=E&UjRjpqXr9v&$mU8B1bome%8LDbIhmp|B27~D)$d~3!;<< zP|_wqZIv;if9oLPVj_Q-74e1OWz z&L%>#KpfUy@o1r-`EhHQhar!Pb7hy^%`Q z2KtL6HnWF^hkeeEZX)s!**2p_O!3P{hhGdCN2}jEfQ!g8rNJWM|g!a!o4`4l25utSl77k0+gc8>A#9uRwvq z`NllZ5Gei>B-v<**D`Rc1eOVtB@?H6VOOWN=^MjO>H0iw%_sLE;3|kX~`nV zV+j<9ks>e9Wo&#)PEJ4UD`$gN|75BpOV*W@2^@s9ns{s!wWHv;L^PF4an^f#d!k}u zpvcB0(q=Ub4f)Q1&0um1is-F^=s2ujpH>lGoKzO7&D(<@MlS@zAMnZIokY069@ zpX}51s%+YA#z*REH>#OlpV=%NUb6^H~5x@Nz_F{NeM>x~BEgV%I2BP@TJ`PL*1zt#C*8$BDUZX=v%Y3~6X39u0xn|8=kw3N5>TM~ zG4;GQ%SH^m^8T#a*w`qlsL=Dw{dkdDd$yKq;k8!14t7($uC8HgV-p?`vAL+Ecwd6& zXm3}h;sd$u7-3 zHo(nXiAk;Y|P7|6eV@=To&{;7Wonu|N7!KC+Ax5)8U0s(c0OeWpa{mg%K$_gf73%)Ws0 z;p3%x^mZ!sKT$xt_g5|LJ2hAkV;J>u$Q|G8_}Es){I5N|%+O_9l>h{{GNcjWXFEM8 z8TNntH?}&vC>-7h0WbvJFNI@K77|Esi;PfUei2uR%@kmM?E7BOPXKr5khuB71qls!fCE)SB>VEm)cKjhngbpfqA*Y z`~IRlW$#EC!}r^WKv3kL)Y7U=br0L0B_yiIfIq0;3f+;?qQ}V(omn}{r2!Dv2ro9$ zq6Sx16Es1;w>Njy_5LwL@eG74Db(}4(Zs_pU^7sg+piUZF_NanKe`i+4*P#+^EtbISxn|eNXH0*dR?6_0;O_D0W?%^d)e*oZnX7`#r5T3k$FudpTsJHp~+=$O(6d zC*{}ryfl5+_ZV@aE^BCUI=Z?83O!vnbrG__{G~k#>pM+)@Zf?7j~TcDaFeqTel%Bg zdW>ajhCNds6M-7BIVodOXOO~vR~MiOIs15o?Dp+IJai2is11n7T4>7rm-ETK`y7C= zDa@UYJftPhyCxDqtvZ{p@8$wmBsDLyP~z-Eh7I$VPV;mmEu0|D6SDjD$!@}HtQ4sw z2h;<}yCR%RXRBlE4A_k5#Cv#*7e@%0D5%e6Y5QUz9&yu$?~cr;-=;xRM4 zjg1kCD&c17shok`7Qs&;53`)iYGwlCMd^DZ}l}uqV24MQD+~<7^OS!J+7B!V~ zjYGfY08Rw#5aj=}+GmRr@LS{GAf}RQdd9cNkpAapxKN71h+W{_Etr@nM-`$4RS8|^_ZyJ-RSvyUDBI*aRv2{eH{J;d+d~=5{#NlYCRM1Ti3=&zV-W$szN4({q|; z37spwi%U9wCgLQ3WErah41=JFLe9e5Y;7mvejcdl_s7uTV0^&Ywus+FWWryeFWg11 zE@ysEneH=yCqXwZ`qjtxW{EzE+u`=N6RPG zgqKU-OQ9w+*;h?bT*;t-0CamG+3BZ9d@s~z@5O_^Xu&{WCncqy^v|dFnug>F=_j;lUEux~!{fu` zF4%bB58=QNwY5(X*u`1=F&Ax}rZ~f&MOywp;%T6y=%*S;F_il_74-OMVHrkf}pf+N0W!fzRPTGVaF`{(~E@EWttj40sXiWG(E=cMK= zwEQ}3_R>fau12h}zi$`(%J-D~TN;t{fq}P|&mf6E%VKfMScf?T|JpX zce|pGPD@MY7Md^v({zGfLFh}Hw{x`Rz!S<*!Bkp%r0JQK%Der}?qKY63 z%JF!)V#L1e8v*=-?^O5IW%x~*b=EW@%=hbpwmjmGHPIuQ_Kwku>-L8p7$dD`|>ITtQ# zm2IgmwJnW&&@-Pa+XO2@CQ2H$ufR;oZ#3-MJw-nF;CBYHPTEhMe`)bO~|flN4`JN zr=PET#5VFCv>;{}{oy{I@edtUoDQYtHP!~NC6wx6j4Cd|G|9($^WyvV<>}_(^?uy< zLL>VxyiY%~po)$x0^uDRb*u_o!ahyA>1*jkNOQ%lKekV2?B?&}S`ciI0FG1u`<$a{ zI?-*YI?OB6{DkpZOEjkTXk|9QQ{8*LqM+2{uSZm#evRN7EHR5yX-f3}Y3{p&qT0T6 z8xUzhpivN!*ou-A1eKg_0|JU5S#l602`EuAN+Tc=MG=XLWF)B|u@#V{lB0yaAUWq8 zW*zSQs^*2MSMzFK)wAwD+&*WYo%dSbx4yN#3_E!^B6#o?A#~N7o;G7U$UDSR&F$U( z*`?28Q!pIzjaT4j+-Z|g-70q1BmPoCrE0$h+2cgBt9Yk5P*HsrcRi7D&5zZ!4;Cl= znv|W-Te`QpR3ARe0F%r5{!lh1nt{^HyRrzfT12Yd&}^IuXId&f_w*Fw)*tfP=6jmg z8)^JB|IB>uf~{otik;yfcU5-BSR99gaEZRwQ)FOmVPLzMi{%qZO&y=xWNr`ly`Vka zDh1y+vihMDN`ibqrE)8en#*5ONAu10c;j7xc)`nY!Qzy%vDTmWX!_n_>N<-ygcVsy zOp`fJ3|D0N5U$zXxA%D1sfQ|Z2vx9bfEkzmDqj=*7*}9InBPdc;&I@c9zja(kVA(< z8kogEiM`Ej`=i78UfABw)ZU9@D~gYweEw{N<>aHUeyv|wczzmPrpq{m6a zQ}`ce4y*hWY(j38M)@z+o(GP};>A{hQ>n7U5HfsN)aS&Pl+JwjWffdKSn`!>smD3KUGwiTdK9v` zE_{4Y@?CzZ)>U;5lb5HloDv%96dY&1E6j(uS?=Xf>G$OK)xWrJxUYYq2o)El!pT37 zPsFFcX*t+!S;!@_xU#^uBxytsd-4n1Y0YbC-yJ^;(z`wz_&mCA06U1q_xIA*HoRTh z8GWl3vqXl%#Hqdp-F}NX?6ahnbMYMe8zXj%q+z%0_`8wYfQwBXDnQ%rkOgl|o5f$7U zQ#Clh-|)ULtV^AOq*sbK{sLCG%32;IslxeaH?qR^=4eZV^)!3kJuq?>=5)4NNf8{j zqxg3gBSlPP2MdBVH|LhfM++QI`Ey9@E`?@&lWIy0M@7oLQSA2H_!)9f4JDSNYpL8x z$E^ZoyYlflWIE}QZ05l3Twun-_#^Zddzxg?p!#bu1K=!Z(Q|@i;BK_^GrtyW;`=!e|P;{ zC@5dafBbXY1t(gZH59)4w+y>P^|?UVJeyn{bfcu-+=!hm!9iUy#regKOAi07Yud3i z3)-+51!tu`-Pqo^!X>QZ^&ZoJ^|8H3sWi@mU%K{AH;vlfsRPcY2t&!e#}RY721()K zRJA=)T>TmsgR-4Hc|Ds#&W&C!;y2D8A@*;Hk{((MUpO%h#?ZpyyS; zKx`P2IWijphj7Wgu*BZ-3)393v&W~@=Zi1h^wfUEayg|K)=CH)}c!pXOJMWelR zmG4x)IT(I1A#68Auf-cI_^f|`{p0OfqpMcky*Axrq-8qdFIm*Bx~+BS&z}@Y78)N8 zO;=;b)&gA%F&xGhR)y_i zREoTXvG`VkSKqLlmvm9Xij71U!S7&weck#>f@s-rZ5!Jro+VoKJi&LjA;-6Pu~1h> zA(1>d^jM`GEc)n7O^dIPL2E76#8(Wz2so7+iymYoQeZUdTw0k0II20J@0#*Bm}*mA z@%O^)FNTb{7zRcXzN~&FiQqRb{d{SpnJm)eS!i_63|^M;4fIbOn*70!^{-^Kl1sHG z``JA<2HhPAd+XuJkmsxWTHxa6E@tVK0|H`Jl@uq+e0F5q4K2M8e*U%U+KkRUHJpFt zZNr$|-w)48si9rMvZFiE@oE;T9%bA{F~_lor^X5DbNJmZg$@eI)rk_3l48WnX?d^N z=qL7Y)$)M&#EPg77HG=i9FefD#@DTwXl`NznEj8~1($#zfZ<$kJvV-NUPjEZX`0%g z?y8pSFT!g(dfa}tuI2Usj}KvGbOt)SK?Wv$7*|-;B$uDzYV(e|6$$0Qr~N^~j@FQ) zoGZemunr5n$-Wt%eKS>+j!E+I=AdD-9=-UzUWT?CH-D`9=x z{$Z4ahtSu2y2MGnsQsXTqt_EjIU=q_%(~9Uh|XJ)ANFf!)!;kTzp%H_Qv=GW%2~uDOt1UCd?8;D^^`~T6jvB%kK&%5)Kww)Spr7I%nysM4j(^&M11U!guSu6-^GfSX;l0q{~Gz6-$GTk*q6# zm2E}C%Hm3yf=U#v>yVl~85k+$^fTD_W8JlX?~`1a`@z>n9v^4!xg(WQEICa-S~zg& zFn1ro=Aiif5^|D@&8Y!<)(_)$s1tN__dPew(0LLC~;cSwE|uo=-XY8>*^R9O4@bjiaC!P zy7gH?8o<6X*O`~P#vV|G*qy&$rf!g@Al+?@i`Z^yV23SjA6 z+!vwGWE-2x7mg@+d+Mw4PQ&{lIZtFRyoVh!>eVYV$FY&by&lk{h!DN6;2-qcmka`u zoxD5B-%Atl;lW=9g9NgoZEw%y6Lyz>Kq9(tc6p^2 z@bKv;@Q~Dx1J*!flDDvnT?JQnE1NrRlPl*3Do(gxpLX^`0w4a;rAw^ZbLZH%8bF*^ zF!yL-sB+=UpKwfdk>wBA*s2DTCIF2ZC@_;d8?}j8S=rgy_Vu7*{tfMdyj4HrUTm!{ zJ=o3Mc1~XnL00FR-zD+(#~%MY)1xJoT_prFBMrU-3T2}b2e5-cw>>bNb}n4>U3&Tj z{NmpMwDaqdGCO@OI5fh2FAmqZKe7Rp6|iBUj0DJu#?;6n7yIk zO!af7E7F_OOZDu;r5cBpnr3iy^Vvk4T;#guiIiU{j?b%0JHNif?XMzkd&kJ$LmXFb50+O{yr9+wl7$ub2%vm@0|WPm(Jikj!Zt~4Gkxq4I?B=bJ#q`G$gq2PATKoalF$g3H>T>5A@r@!WH5;kaHNEo!tyV z_kP^CFVWcC{6giz%*+fDKLIr4ocK>5D%_aAq@`JwEbwS`eIMQ)H)AAjR6o6BklMVA z{q*S*=Wp>XUJH;>)x92SaTe*wYQ59|B<9$Xs%F}`67Re=rNIqd17~})iQi8*4KLY z)q0|#v~HeZX@$=oMFasrPF54sQezVKtEui&a-ltLV}viDW*_?@k(B}qt`AZXfHu+1 zO-?nup%mA_(~b+!x)9IH1kuSD$^FGY4LX-DSIX+oY-} z?*o7B`8jgK|;b%3$-XE$c?a(dJ{$ei|ST5S=(DHExA_Wj3 zr%}ZlB~Ba~f(D>#SQ5Hg3#8RO`xlHO#2eVM^793hU4<+^{qZ`23<X+C_ow6j1ULeLD%Y<{X5 z!GnDu-GcEO+k83Rpmbk~c3Cdxhn&i-Yx_PrM$6B{mCW0^!A`#U)=36yb?w+5Y zPh8(;y$Cztj$f#X@`Y;G`sc5E`^nLN%ZZw~1nhD7|12}j{tLIR)yzmhlhcRi~+9uqD${u&}Dj$g=-b3Fv>z}etDYO2P1<()JDfNz&Lv0mI0 zlxFDRP?KGA^l&3rGQ!}MIPCohpMXrY3;AW!*%+L&^9oJ*Uo4)JZ((M@Kh~WFS5Y|g z5Uv~d1(K8+gL4@k0Q)Zzio=&*5v{~owHPSi^2<;4_*(YGQp@h%-%dY>B(qU9PglA5 zo4ykoWcS5g9<*SkE-f_9kBuZJgQc15HD8LwgBbEhrRSRXSPbMeJaf(d_or)i-H?9L zXF`J5H@pYqWLRhpd06?1Ki6Y$XQRGAo>pEyKIGsUt_f006#raWS_(lm?t`wn=;1eZ zd3|uglr0i?+_qf>%9q}^fdPRScVu9oW%)??Q(I`9rQ^S<)WFv89d{b{1r~FD)%G;7 zzFj%G2dfz}MqeJ7q0QiQAnXh-0A;_v$O$n&NGQ#PTW>mthW1xG)R34F6N0bL#{3`w zLP$)2-0gd=hK9^tncF=l71Jd8muUT2S%i9df5|>&70b=@+ZeoGPAyg<=o6&Hy9Ni~ z)Rp9|pMN4`s(@IAA!~fWMaw4nr9(spQUyy$w7`UhFd7kHr+`j2gL$yGy(Tf45&+2w zicTdE3IUSoVY#*&Ds$l6Pn4#i{7OT^rnU3ggo5!VM?iGQgW>(XJdermnE{a0& zqr9jetV!_A^b;fVp1=LwHOXCl2-K^3+au6t{7)R91EL zAjO2VtwBv0c+^f5LCQM1(>l7y+EmTh-6q)$14y^2LjhTu9RM-zFmaBO4Md#`YxJ?r zld^qO?dgf?SH5r}z)K5&IBu17&i9&>*eEgEM}y}njt7H1;lQL1>HPYf1~QLA8_5DA zxsAX@)T|Rm4AG$D5Au&%gpFO_;s}fkHgesJ+}m-DfVc8a-?77E8qRv1Kwb$>iw?<8 zzT8C5<4?0Um`TzXqk>;ae-s@_&_IV6E0j&vomA|3bvTHg)Lm)c752r+^jroqx6`NF zGc_amb{nx=S9N0dL&LaHIHe0XO;=^;Q{1Z?7n(~3xDS5piIkcf-d$r1XE_B{_~f(^>Rn1zbGgl^Liw+tI|8ebY{8nqc6ZCPQLn( zKKOBwc_3!e7JT23yZ1HNA)~s-z3$$+y=_;7zjAxYhnJ;SWhTaaB2j?UqN8#0XLplp zg3?2Gr%3~Ib9=REf@L*br&dW`-4AB;b8L{=D~m;({7xQJQD!F^i;3#{a|YbXSPgXJ zO>mbb4qYx(pN8#(Hpf{Cnq2$Cv)-tl$h@op@cc-@H^f$c6&*u|<2VD5Y;D`CS0QwP zk=~#E2=hV5=Mir)SBX)tlO*_ONGfwQKdul!(0YEEN4J0H@}^*zut&~z<_JlBAf#E2 zRR6l_kqgLTM?K6KQjV2pVHnaVagSX135Vq*_}oA6g&6>|$Kv%bSAT2Ps|Cdf2+A`_ zxjz(1%)X&9p;|~ze%tyP1CB!j=6+nwG`P^ZiyKcX+`DUsVDOR3a<(XvMM*el0VxG9 z{vEk-L!)tJV}=oGsv?9#%R8vZX%prxVcO5^R=&j~NT$C+Qv7Hwn)S&J$`*Huh6UXbAdl8K*zI`)bb9p_FI3m zjX|O1^f*d+8(uN51gT?>tJPyxMa~2d(cKF>CGK~hn+5Q}i-nijZ*yxrML%YFP!}$Wl zmMvbkS=3bagAG;S4eWbVm|b?Uv{2;2fCouws)61TV5ZP~U}7mdehxz*`qr=5C0W(D z-z68I(*kiyX3M9skqaka-@2K;KF8*IqzH$7f0=qpPp|;-`%zv3biV;7UDQ3f)A?Sr zOpavvtwsS2Yx@5G0Zk9?Ej1z4d#Bv*)XG)0iQ z3r3;_T08JwI?4Cwa#*2k46+WGT`V2ED;+F`S*I|$MK!@WkRyP z$b|9&1R*jhsh$VYXprYwDU=nKAE+|t$oQvssw)eiT2)bSVxna49si(-raF8Q-f&&)hKpvRUXlmh;rpxPBBW5{sM+;j(qy_}Xd?H5sz4x=oJAk4L%j+0G;N zPIi+c1UVg&7`hdYq8j`y&bFCOgy7&&#=WvW4^kAz70>dIypU<*VOx2fB^CVrCVNni z0Ua3m#oDEh6xDzUEHH%%DLDQxBSBdx`Mk73Q{iz+hF8Dbhrfd*a-JZCRn^0z^zJ(3 za#&9OY2NnYvqw-3!9W?kH^_McggfJuR*{z;_}?g0AjeA;Acn%l$(i7Xb5gv9#VC|e zY6g^a_;(X*M<|QyEtC;-r$_@MPa}7D2&EMdpv?e<3yIP{$qbLnV=o@3#0r|LGok!d zvaW4pb3h%HN{X~##i1zi+SjQ9a7xb)tN2VJry40(`#j{8MhVIN^QMO8bP+i!lIdDn zm8}4z5*O6a)&QCb4dvKNDF5S17fvwP zbmT85;gl-=`OK6qxh$5`_@Cy~o|r%Ut10xK)}%4)EGNUG5DSBf8)?plwC}YyORbO! z)h23_K*M6&V~8Fo|DOe!DkKk_RVre(*kCl|nl$Ef4?hx9hV-|RUZHT*hBv$%!jp!`Y5PEXb3fYL?hvop~;Xl)cF13KyupSFCT0{IWhKJFi@Ox&AbOZP~V5`3zD!z zUVCYy23SrCDDWFV_03DGNdG>^X$)zo{Z-V_RQ?f>j|2;0{%UG8%2!uvC*4$FHPt({R-7tfZ19^DW6pCQI7u~J`0M;OF0Dz%)+lL1h0Op&Zy z(vLRWCV*ZD)lOKb+9{Ulg#cG@uqFVd8mf6Q0Pd2>R+FyV`ZP#IkRN<*D6{c8{elLw zFsqH08}6cz7~kbaF85F0z^{he2wZ1-3$b{}IK$%nQxI;5=&xC+08mR$McKDVSO_J1 zlnMLOy;KzU2q3>-i4r3C2TR`>{dW3^^RHh^y3Y@!hKt*R=i;~F4s_j>mf1!Ramrz_ zi3De;mG5E~pmERBFUWBIa;AVf#7j<;16(mTHwW3n1US69kj_ zF26|jUhlI)#4iw}?^KfE3HP(ep%vLYMw2SyUKcV*}^~5CrYiF+1Wh z(ra02X&QbVx-IbOk&zKh_1*@N(7%#2HY7*-L70r2O$VXQ8W zan+y4c^$6lAo4TIMu0CIBB})+tGge11CfhB7M}ziKzC)JuYZ*K%qP#a>F@wG$t8L8 zFhtE)0!S=SHhFf(y6$#+0?hKCf|gf_V}@8ma8%K60S5yRh}ERTVK9%%tUjg`dwkF zInNNpH)!na;wZ0dp2yBy3Cy1Mp`oEALn+x$Iv)nUd_thIe7%qNpyq%SKwdYaC%}!{)m=9BzMH!Vtoi{~f|!ha5ZW0Eo}_ zmn`tBF2i*&v%(JmYjhyW&0F`EeZJO~bbsMJ27;TfZOT4QD1oa~J{Xh~7Z<;oART>D zT>K$%NcuBeonx3g@DCmaLMkjCkSkRa$ROriPYY|SXQC89002=2fJm#WtDB36favU3 z1`cBLU;aRG8;I--@`26rtF{+D{NC*HoE@&qnG-)Imgb~sr_8GtJ#AqV7oPKymcHR( zqeT&X;_X|r5exvl0Xs2nW6yj{U-yzkC!+>sJAez)Ij6Ty}Ep8te%!5G-CU-I(%MfZN_v z)2C)tJp43S?<}%E0?4SoE&G@y_C^{2#u`~MGYpYb&)l8FZrEqcXckTs?JreqjmLWx z+5Zh;-2F>(0G8J@v;RaAeBjVoTDCp3nECEtx^p1GD0?tm?IU(}+!S2*n-8&R&j>5pAV_ z9lzn1cGVA0Z0-l--{8syJ7~nPco-nS%0^z_4e#4e1MV{1=bZS^M=D?ri4!shTNXlF zlc^EiJw1Ml)U0;{AgrNp#gsmH9do$r)}qa-W=55>t>++VEWlG(JVMV%RIDN^POpd) z|DcH{V|JU90yqUk2?Nc6{DNx%`9pvTvudirVoQo^9i`nt_Ws+=UB{%~C+r+~(KrgR z^lZ4zMm67M*fbp^ssPee^O@Gf;$hU-y=Dvh5Aq=?00SZ^fFx+8ZgaoG&$+s~vMy{b z#}alS`J&5?2yz!otg)vJdbps5rr*Bs{UQW8pqMPE61-!r9U+{rCS2J5_f=>T2+J54 z8DV7E-FnRgsy0V}KwX3+WN95!CI{O+5-LorSML3!5~#r7?iAnGtDiKlZ_!LwnYxoO z4qR)3q{lMMO}NfxtDem(x3aP_J$;UEwU zDD7tlT6hAv$cptTMU5(g9wIke0b{(nLp<;e+JGhy-TLhjeyKi^(oFhy(dQ4hut%2T zz_Ey7m=W&Led)dU1^1fHs8!U-MK=->;R3<2ia?_RzDuELH)C~lb=8t2J>dQx2pnVg zUU3KLE!>C7{Z8e*-OVL6>8(*jmer}L2HcIEf`S5^D)GRb0pwaXDHAa8LW%PU4K3J| z>CeZ@Sy-_@sjj0}+PaI^yNlhxQP~FfRe474A@cy3+F_hKAii1#(9Zwu7~P@5x^9qQdZvN2sSWS z@txni|9STpDfQMZETh!2r^k)dR~!Y4L-{oJr!ytC@J}{5z!G2s zpiBj}vZbI{xI}Ph`Lb#fNCi>;l@|ER$fs0!r+V1HK)uNOVqt*kqy$opR=9Hkg$m~R zSII~b9;dkeDZ;o&T&@Z!0%Z=NoG8@#tFWn+gu`370F{Cpj#Q8@p#*_6fTlL`rb6@n zr_%gigYw{C@BfdVVPNE;-}*H{0e5=+ucg(-{3oCJ|MUkfAO}1IqLkzzVFk+65mFUE zuV%?ZUbapq4la5|MmRql`ijoK6mp^&%>!gsX65G#%*@OLfz-(hDzAm@^*c*Z z;)P&)LVDQ@;7|3%6WPR^EI^(N#>6`s@`6-^$Zb<(Hv$6f?%h8?ghCjJo`%K=S8l*$ zPuNAku9y~UybT?<@W2}wIGN3Fv`=Z-*_3(xRpIQrg(#KaJSk?KYD=w0wi-}wp*2bF zJI?+7%xL)Fo8MlKpS>U49`~5IJ1(LoI*iZMD5MI3lOywr>{TS12d>k~HLetoQUV>+ zT{wxr#PS6@6DlkNIarS~Ee|-iXlrT7vz`ntmp@B~6CHnjmkk&W7jY@LhYs{~E${{i zoLTcBGv>s}Q52sW5TR;MG_yKt_{ zOh2E6DD5i#^4TIspBV$Nb`V3aIQbkF7QrWaw9sx-V75^7R_71Ga&M>XtBg95$F@*fZm|lWx`Ww^#_ON1N?XxT4-63{C)zxOGqfV#0yGOAZZtw-WtZ)c!OQ&H#s& zovkf@#bPz9u{hKLiHSf?K8Q;Q;bbm1Rc9Kp1AUqVi;bhBNyVcjR`&s9>M5Ninf(c_ zK>O4Z=#D*yDm(-TyH1P~B)#82o+yWgJLht9bAg@*Di{Rn*Xf=OYNA8H^eaX#TO(}! zas*i(V!#uC@QN3*LqAARv*<{w1EW& ze7(EwgBwRO+X;at5>or% zY2lFx-~Ra_%Izv#&jxeu%iYjU+U+`#szNx{YiJ~9!Md6sF`a#*eLW;AJV!gk_N6KIl)aq*vk~e!~}* zsk;1KU1(}H>>60SHkcD&`tSS!TVE1kw0vQ}oO>w9CbhtLua{mg1Vi0kqR45i2_|<6 zn1)3~%g^}of-f`6qK6Zlo0&u(n4*V~eAZ1b`AYnzs7yAiVdiLN#W?0W-EIRLmf7`a zu&j;E6hzDnb$7!=iddT;l)x8Qx4nbR1PiG!W?(zrhW>7EM-<&)O#)k2{^`@z=?YnI zpQ)RG=R?|83#b^(zON7&qw_%@>0IBDlgW?vw@Had;C#6WrmyQw$6W(a(%7!whAGSS3Z4hqaKXJM`JJ_Ni46u|W?<48rGuxnza( z5dI`&z#P(u{_PLi8Jqs;R8*8GkI1ji8YysL0j1!0gVBACXm+r{8i zs=m2uv%k9)B0mB#I5LZ0$;yQxhZ6RPzX~5e|9-Q36$HJ=p&_nv3yHb*>HknNBo6#7 zrW&TZpgqQ4iQWjNhq@Ki9}yqF(m6@wY{UG%t-J#w?{SE+BvFXV==elg#mOx zuA8*9w2T@(!ZEJGMDCw^2WAfp?W>D=(W)5}Ey*$fM9i5~LIMB>P)TE|H>x%&A-YWD z-E&lJBA8@-P6vA%$==J2SUg`g(Knhbss zGR!ZQ5ccfR!{DN`2%5{+ZlQujLYq*srywsgEOzkKb_hhTg-Vc^lfguUPa&(}?{5LH zUVc2FSH-~dS zHrs+&S@<{#veb~I@PXOqzH5qQLOC7YxBP!JbM>~)pvrLKiN0V8$e|%0HiT@Wb`}1E tIR`i6{Xbt0h#&Faw6gvSMP(gOxMrRx&Almk3k+A3vVy979?ta1zX8ordJg~q diff --git a/dev/assets/yhxwiti.CBNkYhiq.png b/dev/assets/yhxwiti.CBNkYhiq.png deleted file mode 100644 index 5128e884c4e85010e679246c74de29097f695605..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87001 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 tJe DimensionalData.jl - - + + - + - - - + + + @@ -20,7 +20,7 @@ -

Skip to content

Installation

If you want to use this package you need to install it first. You can do it using the following commands:

julia
julia> ] # ']' should be pressed
+    
Skip to content

Installation

If you want to use this package you need to install it first. You can do it using the following commands:

julia
julia> ] # ']' should be pressed
 pkg> add DimensionalData

or

julia
julia> using Pkg
 julia> Pkg.add("DimensionalData")

Additionally, it is recommended to check the version that you have installed with the status command.

julia
julia> ]
 pkg> status DimensionalData

Basics

Start using the package:

julia
using DimensionalData

and create your first DimArray

julia
julia> A = DimArray(rand(4,5), (a=1:4, b=1:5))
╭─────────────────────────╮
@@ -29,36 +29,36 @@
 a Sampled{Int64} 1:4 ForwardOrdered Regular Points,
 b Sampled{Int64} 1:5 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  1         2          3         4         5
- 1    0.541806  0.0282382  0.762794  0.844547  0.919763
- 2    0.300768  0.247683   0.388243  0.95636   0.383632
- 3    0.70597   0.599558   0.803192  0.675435  0.487578
- 4    0.93479   0.624685   0.774731  0.216524  0.102405

or

julia
julia> C = DimArray(rand(Int8, 10), (alpha='a':'j',))
╭─────────────────────────────╮
+  1          2         3          4          5
+ 1    0.0333106  0.758203  0.973154   0.0710221  0.868064
+ 2    0.52849    0.571821  0.920182   0.545156   0.106593
+ 3    0.70366    0.539028  0.0670111  0.404635   0.799977
+ 4    0.68316    0.965008  0.0781957  0.130775   0.570914

or

julia
julia> C = DimArray(rand(Int8, 10), (alpha='a':'j',))
╭─────────────────────────────╮
 10-element DimArray{Int8,1}
 ├─────────────────────────────┴────────────────────────────────────────── dims ┐
 alpha Categorical{Char} 'a':1:'j' ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
- 'a'  112
- 'b'   85
- 'c'  -86
- 'd'  123
- 'e'   95
- 'f'   59
- 'g'  -91
- 'h'   55
- 'i'  -78
- 'j'  -15

or something a little bit more complicated:

julia
julia> data = rand(Int8, 2, 10, 3) .|> abs
2×10×3 Array{Int8, 3}:
+ 'a'  -21
+ 'b'  101
+ 'c'   51
+ 'd'  -35
+ 'e'  106
+ 'f'   88
+ 'g'  -98
+ 'h'   14
+ 'i'  -73
+ 'j'  -54

or something a little bit more complicated:

julia
julia> data = rand(Int8, 2, 10, 3) .|> abs
2×10×3 Array{Int8, 3}:
 [:, :, 1] =
-  65  110   71  108  76  15  120   65  121  126
- 125   78  118  101  11  32   87  108   49  115
+ 46  76  38  32  120  122  29  57   9  23
+ 78  26   6  50   16  125  11  98  39  95
 
 [:, :, 2] =
- 106  84  74  80   9   26  35  74  28  47
-  87   1  42  54  15  107  77  23  89  34
+  50  101  46  48  76  17    1   69  11  112
+ 105   15  50  90   5  70  107  120  86   15
 
 [:, :, 3] =
- 65  66  113  1  123  16  69  104  -128  26
- 25  13   29  1   21  72  24   48    51  88
julia
julia> B = DimArray(data, (channel=[:left, :right], time=1:10, iter=1:3))
╭─────────────────────────╮
+ 38  59   41  47  41   11  117   82   74   61
+ 76  72  112  89  39  109   86  117  117  120
julia
julia> B = DimArray(data, (channel=[:left, :right], time=1:10, iter=1:3))
╭─────────────────────────╮
 2×10×3 DimArray{Int8,3}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 channel Categorical{Symbol} [:left, :right] ForwardOrdered,
@@ -66,10 +66,10 @@
 iter    Sampled{Int64} 1:3 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-        1    2    3    4   5   6    7    8    9   10
-  :left    65  110   71  108  76  15  120   65  121  126
-  :right  125   78  118  101  11  32   87  108   49  115
- + 1 2 3 4 5 6 7 8 9 10 + :left 46 76 38 32 120 122 29 57 9 23 + :right 78 26 6 50 16 125 11 98 39 95
+ \ No newline at end of file diff --git a/dev/broadcasts.html b/dev/broadcasts.html index ca4b50aa2..bc6f6034b 100644 --- a/dev/broadcasts.html +++ b/dev/broadcasts.html @@ -5,14 +5,14 @@ Dimensional broadcasts with @d and broadcast_dims | DimensionalData.jl - - + + - + - - - + + + @@ -20,7 +20,7 @@ -
Skip to content

Dimensional broadcasts with @d and broadcast_dims

Broadcasting over AbstractDimArray works as usual with Base Julia broadcasts, except that dimensions are checked for compatibility with eachother, and that values match. Strict checks can be turned of globally with strict_broadcast!(false). To avoid even dimension name checks, broadcast over parent(dimarray).

The @d macro is a dimension-aware extension to regular dot brodcasting. broadcast_dims and broadcast_dims are analagous to Base julia broadcast.

Because we know the names of the dimensions, there is no ambiguity in which one we mean to broadcast together. This means we can permute and reshape dims so that broadcasts that would fail with a regular Array just work with a DimArray.

As an added bonus, broadcast_dims even works on DimStacks. Currently @d does not work on DimStack.

Example: scaling along the time dimension

Define some dimensions:

julia
using DimensionalData
+    
Skip to content

Dimensional broadcasts with @d and broadcast_dims

Broadcasting over AbstractDimArray works as usual with Base Julia broadcasts, except that dimensions are checked for compatibility with each other, and that values match. Strict checks can be turned off globally with strict_broadcast!(false). To avoid even dimension name checks, broadcast over parent(dimarray).

The @d macro is a dimension-aware extension to regular dot broadcasting. broadcast_dims is analogous to Base Julia's broadcast.

Because we know the names of the dimensions, there is no ambiguity in which ones we mean to broadcast together. This means we can permute and reshape dims so that broadcasts that would fail with a regular Array just work with a DimArray.

As an added bonus, broadcast_dims even works on DimStacks. Currently, @d does not work on DimStack.

Example: scaling along the time dimension

Define some dimensions:

julia
using DimensionalData
 using Dates
 using Statistics
julia
julia> x, y, t = X(1:100), Y(1:25), Ti(DateTime(2000):Month(1):DateTime(2000, 12))
(X  1:100,
 Y  1:25,
@@ -48,16 +48,16 @@
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1          2         323          24          25
-   1    0.792885   0.896315  0.28708       0.818644    0.568131    0.967865
-   2    0.0959455  0.164724  0.491767      0.515061    0.0416986   0.31065
-   3    0.23546    0.652353  0.201734      0.568302    0.875221    0.651784
-   4    0.2344     0.390033  0.108592      0.69635     0.655684    0.564589
-   ⋮                                   ⋱                           ⋮
-  97    0.192183   0.76163   0.924417      0.0502944   0.736214    0.959028
-  98    0.204551   0.725738  0.511086      0.566557    0.268319    0.790283
-  99    0.250752   0.612779  0.974596      0.246796    0.555456    0.27181
- 100    0.295548   0.364488  0.21714   …   0.687223    0.068913    0.453973

A regular broadcast fails:

julia
julia> scaled = data .* month_scalars
ERROR: DimensionMismatch: arrays could not be broadcast to a common size; got a dimension with lengths 100 and 12

But @d knows to broadcast over the Ti dimension:

julia
julia> scaled = @d data .* month_scalars
╭───────────────────────────────╮
+  1          2         323          24         25
+   1    0.624685   0.909533  0.43314        0.0541549   0.721101   0.600306
+   2    0.546357   0.621601  0.960677       0.129382    0.434374   0.438592
+   3    0.407207   0.861652  0.0837074      0.0725917   0.800084   0.749829
+   4    0.67539    0.637399  0.416444       0.853879    0.988957   0.44724
+   ⋮                                    ⋱                          ⋮
+  97    0.474087   0.475786  0.759047       0.704613    0.706165   0.1279
+  98    0.844262   0.668594  0.431398       0.746465    0.919534   0.398776
+  99    0.0471885  0.788358  0.0145691      0.647328    0.517971   0.910412
+ 100    0.0442448  0.702787  0.585658   …   0.68326     0.774131   0.403955

A regular broadcast fails:

julia
julia> scaled = data .* month_scalars
ERROR: DimensionMismatch: arrays could not be broadcast to a common size: a has axes DimensionalData.Dimensions.DimUnitRange(Base.OneTo(100), X{Sampled{Int64, UnitRange{Int64}, ForwardOrdered, Regular{Int64}, Points, NoMetadata}}([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100])) and b has axes DimensionalData.Dimensions.DimUnitRange(Base.OneTo(12), Ti{Sampled{Dates.DateTime, StepRange{Dates.DateTime, Dates.Month}, ForwardOrdered, Regular{Dates.Month}, Points, NoMetadata}}([Dates.DateTime("2000-01-01T00:00:00"), Dates.DateTime("2000-02-01T00:00:00"), Dates.DateTime("2000-03-01T00:00:00"), Dates.DateTime("2000-04-01T00:00:00"), Dates.DateTime("2000-05-01T00:00:00"), Dates.DateTime("2000-06-01T00:00:00"), Dates.DateTime("2000-07-01T00:00:00"), Dates.DateTime("2000-08-01T00:00:00"), Dates.DateTime("2000-09-01T00:00:00"), Dates.DateTime("2000-10-01T00:00:00"), Dates.DateTime("2000-11-01T00:00:00"), Dates.DateTime("2000-12-01T00:00:00")]))

But @d knows to broadcast over the Ti dimension:

julia
julia> scaled = @d data .* month_scalars
╭───────────────────────────────╮
 100×25×12 DimArray{Float64,3}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 X  Sampled{Int64} 1:100 ForwardOrdered Regular Points,
@@ -65,48 +65,48 @@
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1          2         323          24          25
-   1    0.792885   0.896315  0.28708       0.818644    0.568131    0.967865
-   2    0.0959455  0.164724  0.491767      0.515061    0.0416986   0.31065
-   3    0.23546    0.652353  0.201734      0.568302    0.875221    0.651784
-   4    0.2344     0.390033  0.108592      0.69635     0.655684    0.564589
-   ⋮                                   ⋱                           ⋮
-  97    0.192183   0.76163   0.924417      0.0502944   0.736214    0.959028
-  98    0.204551   0.725738  0.511086      0.566557    0.268319    0.790283
-  99    0.250752   0.612779  0.974596      0.246796    0.555456    0.27181
- 100    0.295548   0.364488  0.21714   …   0.687223    0.068913    0.453973

We can see the means of each month are scaled by the broadcast :

julia
julia> mean(eachslice(data; dims=(X, Y)))
╭────────────────────────────────╮
+  1          2         323          24         25
+   1    0.624685   0.909533  0.43314        0.0541549   0.721101   0.600306
+   2    0.546357   0.621601  0.960677       0.129382    0.434374   0.438592
+   3    0.407207   0.861652  0.0837074      0.0725917   0.800084   0.749829
+   4    0.67539    0.637399  0.416444       0.853879    0.988957   0.44724
+   ⋮                                    ⋱                          ⋮
+  97    0.474087   0.475786  0.759047       0.704613    0.706165   0.1279
+  98    0.844262   0.668594  0.431398       0.746465    0.919534   0.398776
+  99    0.0471885  0.788358  0.0145691      0.647328    0.517971   0.910412
+ 100    0.0442448  0.702787  0.585658   …   0.68326     0.774131   0.403955

We can see the means of each month are scaled by the broadcast :

julia
julia> mean(eachslice(data; dims=(X, Y)))
╭────────────────────────────────╮
 12-element DimArray{Float64,1}
 ├────────────────────────────────┴─────────────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
- 2000-01-01T00:00:00  0.496108
- 2000-02-01T00:00:00  0.49795
- 2000-03-01T00:00:00  0.493708
- 2000-04-01T00:00:00  0.492377
- 2000-05-01T00:00:00  0.496201
- 2000-06-01T00:00:00  0.496665
- 2000-07-01T00:00:00  0.489762
- 2000-08-01T00:00:00  0.503719
- 2000-09-01T00:00:00  0.505946
- 2000-10-01T00:00:00  0.499719
- 2000-11-01T00:00:00  0.490968
- 2000-12-01T00:00:00  0.501068
julia
julia> mean(eachslice(scaled; dims=(X, Y)))
╭────────────────────────────────╮
+ 2000-01-01T00:00:00  0.50854
+ 2000-02-01T00:00:00  0.499674
+ 2000-03-01T00:00:00  0.510863
+ 2000-04-01T00:00:00  0.500818
+ 2000-05-01T00:00:00  0.501124
+ 2000-06-01T00:00:00  0.495215
+ 2000-07-01T00:00:00  0.489497
+ 2000-08-01T00:00:00  0.500495
+ 2000-09-01T00:00:00  0.491479
+ 2000-10-01T00:00:00  0.499282
+ 2000-11-01T00:00:00  0.491202
+ 2000-12-01T00:00:00  0.485718
julia
julia> mean(eachslice(scaled; dims=(X, Y)))
╭────────────────────────────────╮
 12-element DimArray{Float64,1}
 ├────────────────────────────────┴─────────────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
- 2000-01-01T00:00:00  0.496108
- 2000-02-01T00:00:00  0.995899
- 2000-03-01T00:00:00  1.48113
- 2000-04-01T00:00:00  1.96951
- 2000-05-01T00:00:00  2.48101
- 2000-06-01T00:00:00  2.97999
- 2000-07-01T00:00:00  3.42833
- 2000-08-01T00:00:00  4.02976
- 2000-09-01T00:00:00  4.55351
- 2000-10-01T00:00:00  4.99719
- 2000-11-01T00:00:00  5.40065
- 2000-12-01T00:00:00  6.01282

You can also use broadcast_dims the same way:

julia
julia> broadcast_dims(*, data, month_scalars)
╭───────────────────────────────╮
+ 2000-01-01T00:00:00  0.50854
+ 2000-02-01T00:00:00  0.999348
+ 2000-03-01T00:00:00  1.53259
+ 2000-04-01T00:00:00  2.00327
+ 2000-05-01T00:00:00  2.50562
+ 2000-06-01T00:00:00  2.97129
+ 2000-07-01T00:00:00  3.42648
+ 2000-08-01T00:00:00  4.00396
+ 2000-09-01T00:00:00  4.42331
+ 2000-10-01T00:00:00  4.99282
+ 2000-11-01T00:00:00  5.40322
+ 2000-12-01T00:00:00  5.82862

You can also use broadcast_dims the same way:

julia
julia> broadcast_dims(*, data, month_scalars)
╭───────────────────────────────╮
 100×25×12 DimArray{Float64,3}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 X  Sampled{Int64} 1:100 ForwardOrdered Regular Points,
@@ -114,16 +114,16 @@
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1          2         323          24          25
-   1    0.792885   0.896315  0.28708       0.818644    0.568131    0.967865
-   2    0.0959455  0.164724  0.491767      0.515061    0.0416986   0.31065
-   3    0.23546    0.652353  0.201734      0.568302    0.875221    0.651784
-   4    0.2344     0.390033  0.108592      0.69635     0.655684    0.564589
-   ⋮                                   ⋱                           ⋮
-  97    0.192183   0.76163   0.924417      0.0502944   0.736214    0.959028
-  98    0.204551   0.725738  0.511086      0.566557    0.268319    0.790283
-  99    0.250752   0.612779  0.974596      0.246796    0.555456    0.27181
- 100    0.295548   0.364488  0.21714   …   0.687223    0.068913    0.453973

And with the @d macro you can set the dimension order and other properties of the output array, by passing a single assignment or a NamedTuple argument to @d after the broadcast:

julia
julia> @d data .* month_scalars dims=(Ti, X, Y)
╭───────────────────────────────╮
+  1          2         323          24         25
+   1    0.624685   0.909533  0.43314        0.0541549   0.721101   0.600306
+   2    0.546357   0.621601  0.960677       0.129382    0.434374   0.438592
+   3    0.407207   0.861652  0.0837074      0.0725917   0.800084   0.749829
+   4    0.67539    0.637399  0.416444       0.853879    0.988957   0.44724
+   ⋮                                    ⋱                          ⋮
+  97    0.474087   0.475786  0.759047       0.704613    0.706165   0.1279
+  98    0.844262   0.668594  0.431398       0.746465    0.919534   0.398776
+  99    0.0471885  0.788358  0.0145691      0.647328    0.517971   0.910412
+ 100    0.0442448  0.702787  0.585658   …   0.68326     0.774131   0.403955

And with the @d macro you can set the dimension order and other properties of the output array, by passing a single assignment or a NamedTuple argument to @d after the broadcast:

julia
julia> @d data .* month_scalars dims=(Ti, X, Y)
╭───────────────────────────────╮
 12×100×25 DimArray{Float64,3}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points,
@@ -131,16 +131,16 @@
 Y  Sampled{Int64} 1:25 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-                   198         99         100
-  2000-01-01T00:00:00  0.792885      0.204551   0.250752    0.295548
-  2000-02-01T00:00:00  1.27802       0.728611   1.04046     1.10447
-  2000-03-01T00:00:00  1.13589       1.54853    0.686287    0.929592
-  2000-04-01T00:00:00  3.49029       1.09764    3.2115      1.38795
- ⋮                               ⋱                          ⋮
-  2000-09-01T00:00:00  1.89618       0.203703   4.47963     2.55114
-  2000-10-01T00:00:00  9.58054   …   5.3793     0.118632    7.12731
-  2000-11-01T00:00:00  0.134208      5.08512    6.19995     2.74204
-  2000-12-01T00:00:00  7.60111      11.5008    10.2026      6.54483

Or

julia
julia> @d data .* month_scalars (dims=(Ti, X, Y), name=:scaled)
╭──────────────────────────────────────╮
+                   198         99          100
+  2000-01-01T00:00:00  0.624685      0.844262   0.0471885    0.0442448
+  2000-02-01T00:00:00  0.547848      1.79785    0.187495     0.441762
+  2000-03-01T00:00:00  2.49232       1.15489    2.82356      0.921936
+  2000-04-01T00:00:00  0.439142      2.61341    1.59542      2.24247
+ ⋮                               ⋱                           ⋮
+  2000-09-01T00:00:00  3.27042       6.61858    3.10246      5.93972
+  2000-10-01T00:00:00  0.12404   …   2.53632    7.83904      6.55713
+  2000-11-01T00:00:00  1.79388       2.5891     2.14203      5.52389
+  2000-12-01T00:00:00  8.84219       6.15004    5.04169      6.10415

Or

julia
julia> @d data .* month_scalars (dims=(Ti, X, Y), name=:scaled)
╭──────────────────────────────────────╮
 12×100×25 DimArray{Float64,3} scaled
 ├──────────────────────────────────────┴───────────────────────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Month(1):Dates.DateTime("2000-12-01T00:00:00") ForwardOrdered Regular Points,
@@ -148,17 +148,17 @@
 Y  Sampled{Int64} 1:25 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-                   198         99         100
-  2000-01-01T00:00:00  0.792885      0.204551   0.250752    0.295548
-  2000-02-01T00:00:00  1.27802       0.728611   1.04046     1.10447
-  2000-03-01T00:00:00  1.13589       1.54853    0.686287    0.929592
-  2000-04-01T00:00:00  3.49029       1.09764    3.2115      1.38795
- ⋮                               ⋱                          ⋮
-  2000-09-01T00:00:00  1.89618       0.203703   4.47963     2.55114
-  2000-10-01T00:00:00  9.58054   …   5.3793     0.118632    7.12731
-  2000-11-01T00:00:00  0.134208      5.08512    6.19995     2.74204
-  2000-12-01T00:00:00  7.60111      11.5008    10.2026      6.54483
- + 198 99 100 + 2000-01-01T00:00:00 0.624685 0.844262 0.0471885 0.0442448 + 2000-02-01T00:00:00 0.547848 1.79785 0.187495 0.441762 + 2000-03-01T00:00:00 2.49232 1.15489 2.82356 0.921936 + 2000-04-01T00:00:00 0.439142 2.61341 1.59542 2.24247 + ⋮ ⋱ ⋮ + 2000-09-01T00:00:00 3.27042 6.61858 3.10246 5.93972 + 2000-10-01T00:00:00 0.12404 … 2.53632 7.83904 6.55713 + 2000-11-01T00:00:00 1.79388 2.5891 2.14203 5.52389 + 2000-12-01T00:00:00 8.84219 6.15004 5.04169 6.10415
+ \ No newline at end of file diff --git a/dev/cuda.html b/dev/cuda.html index 9d091813e..1e1a0d1c6 100644 --- a/dev/cuda.html +++ b/dev/cuda.html @@ -5,14 +5,14 @@ CUDA & GPUs | DimensionalData.jl - - + + - + - - - + + + @@ -20,13 +20,13 @@ -
Skip to content

CUDA & GPUs

Running regular julia code on GPUs is one of the most amazing things about the language. DimensionalData.jl leans into this as much as possible.

julia
using DimensionalData, CUDA
+    
Skip to content

CUDA & GPUs

Running regular julia code on GPUs is one of the most amazing things about the language. DimensionalData.jl leans into this as much as possible.

julia
using DimensionalData, CUDA
 
 # Create a Float32 array to use on the GPU
 A = rand(Float32, X(1.0:1000.0), Y(1.0:2000.0))
 
 # Move the parent data to the GPU with `modify` and the `CuArray` constructor:
-cuA = modify(CuArray, A)

The result of a GPU broadcast is still a DimArray:

julia
julia> cuA2 = cuA .* 2
+cuA = modify(CuArray, A)

The result of a GPU broadcast is still a DimArray:

julia
julia> cuA2 = cuA .* 2
 ╭───────────────────────────────╮
 1000×2000 DimArray{Float32,2} │
 ├───────────────────────────────┴────────────────────────────── dims ┐
@@ -47,8 +47,8 @@
   998.0  1.18035   1.61025    0.352614   1.75847         0.464554      1.90309       1.30923
   999.0  1.40584   1.83056    0.0804518  0.177423        1.20779       1.95217       0.881149
  1000.0  1.41334   0.719974   0.479126   1.92721         0.0649391     0.642908      1.07277

But the data is on the GPU:

julia
julia> typeof(parent(cuA2))
-CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}

GPU Integration goals

DimensionalData.jl has two GPU-related goals:

  1. Work seamlessly with Base julia broadcasts and other operations that already work on GPU.

  2. Work as arguments to custom GPU kernel functions.

This means any AbstractDimArray must be automatically moved to the GPU and its fields converted to GPU friendly forms whenever required, using Adapt.jl).

  • The array data must converts to the correct GPU array backend when Adapt.adapt(dimarray) is called.

  • All DimensionalData.jl objects, except the actual parent array, need to be immutable isbits or convertible to them. This is one reason DimensionalData.jl uses rebuild and a functional style, rather than in-place modification of fields.

  • Symbols need to be moved to the type system Name{:layer_name}() replaces :layer_name

  • Metadata dicts need to be stripped, they are often too difficult to convert, and not needed on GPU.

As an example, DynamicGrids.jl uses AbstractDimArray for auxiliary model data that are passed into KernelAbstractions.jl/ CUDA.jl kernels.

- +CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}

GPU Integration goals

DimensionalData.jl has two GPU-related goals:

  1. Work seamlessly with Base Julia broadcasts and other operations that already work on GPU.

  2. Work as arguments to custom GPU kernel functions.

This means any AbstractDimArray must be automatically moved to the GPU and its fields converted to GPU-friendly forms whenever required, using Adapt.jl.

  • The array data must convert to the correct GPU array backend when Adapt.adapt(dimarray) is called.

  • All DimensionalData.jl objects, except the actual parent array, need to be immutable isbits or convertible to them. This is one reason DimensionalData.jl uses rebuild and a functional style, rather than in-place modification of fields.

  • Symbols need to be moved to the type system, so Name{:layer_name}() replaces :layer_name.

  • Metadata dictionaries need to be stripped, as they are often too difficult to convert and not needed on GPU.

As an example, DynamicGrids.jl uses AbstractDimArray for auxiliary model data that are passed into KernelAbstractions.jl/ CUDA.jl kernels.

+ \ No newline at end of file diff --git a/dev/dimarrays.html b/dev/dimarrays.html index 3630935f7..9e8aebcb4 100644 --- a/dev/dimarrays.html +++ b/dev/dimarrays.html @@ -5,14 +5,14 @@ DimArrays | DimensionalData.jl - - + + - + - - - + + + @@ -20,90 +20,90 @@ -
Skip to content

DimArrays

DimArrays are wrappers for other kinds of AbstractArray that add named dimension lookups.

Here we define a Matrix of Float64, and give it X and Y dimensions

julia
julia> using DimensionalData
+    
Skip to content

DimArrays

DimArrays are wrappers for other kinds of AbstractArray that add named dimension lookups.

Here we define a Matrix of Float64, and give it X and Y dimensions

julia
julia> using DimensionalData
 
 julia> A = rand(5, 10)
5×10 Matrix{Float64}:
- 0.534915   0.4518     0.194465  0.780132  …  0.476495   0.0239356  0.526295
- 0.707692   0.454886   0.588506  0.168291     0.222482   0.493417   0.134246
- 0.0999314  0.0425477  0.44119   0.410463     0.0400372  0.0622255  0.350104
- 0.132894   0.865298   0.778166  0.723438     0.0740736  0.137619   0.202743
- 0.966106   0.854076   0.895608  0.147478     0.815365   0.24737    0.860933
julia
julia> da = DimArray(A, (X, Y))
╭──────────────────────────╮
+ 0.827655   0.0102884  0.688175  0.254555  …  0.628275   0.517329  0.886959
+ 0.223602   0.737979   0.996807  0.124594     0.0959042  0.628507  0.893267
+ 0.0392779  0.792885   0.249616  0.519235     0.0315486  0.113704  0.997572
+ 0.451879   0.846175   0.373575  0.891743     0.700389   0.958811  0.68136
+ 0.689712   0.0927459  0.765773  0.273573     0.688928   0.761347  0.596077
julia
julia> da = DimArray(A, (X, Y))
╭──────────────────────────╮
 5×10 DimArray{Float64,2}
 ├──────────────────────────┴─────────────────────────────── dims ┐
 X, Y
 └────────────────────────────────────────────────────────────────┘
- 0.534915   0.4518     0.194465  0.780132  …  0.476495   0.0239356  0.526295
- 0.707692   0.454886   0.588506  0.168291     0.222482   0.493417   0.134246
- 0.0999314  0.0425477  0.44119   0.410463     0.0400372  0.0622255  0.350104
- 0.132894   0.865298   0.778166  0.723438     0.0740736  0.137619   0.202743
- 0.966106   0.854076   0.895608  0.147478     0.815365   0.24737    0.860933

We can access a value with the same dimension wrappers:

julia
julia> da[Y(1), X(2)]
0.7076921858340348

There are shortcuts for creating DimArray:

julia
julia> A = rand(5, 10)
5×10 Matrix{Float64}:
- 0.764613  0.657441   0.625257   0.587556  …  0.344408  0.0140644  0.0127924
- 0.760205  0.298179   0.545129   0.989571     0.554791  0.0697249  0.949105
- 0.553558  0.500157   0.295319   0.925873     0.386433  0.392848   0.26069
- 0.912065  0.917543   0.0965083  0.997672     0.492141  0.625296   0.391155
- 0.948512  0.0621546  0.167745   0.228964     0.90251   0.710967   0.885914
julia
julia> DimArray(A, (X, Y))
╭──────────────────────────╮
+ 0.827655   0.0102884  0.688175  0.254555  …  0.628275   0.517329  0.886959
+ 0.223602   0.737979   0.996807  0.124594     0.0959042  0.628507  0.893267
+ 0.0392779  0.792885   0.249616  0.519235     0.0315486  0.113704  0.997572
+ 0.451879   0.846175   0.373575  0.891743     0.700389   0.958811  0.68136
+ 0.689712   0.0927459  0.765773  0.273573     0.688928   0.761347  0.596077

We can access a value with the same dimension wrappers:

julia
julia> da[Y(1), X(2)]
0.2236016853688918

There are shortcuts for creating DimArray:

julia
julia> A = rand(5, 10)
5×10 Matrix{Float64}:
+ 0.670688  0.534915   0.111072  0.194465  …  0.121525  0.797168  0.0239356
+ 0.741593  0.707692   0.879899  0.813705     0.601833  0.826098  0.493417
+ 0.119505  0.0999314  0.403111  0.755958     0.289335  0.542251  0.0622255
+ 0.775377  0.217733   0.865298  0.876395     0.108514  0.306932  0.627107
+ 0.576903  0.950338   0.854076  0.511978     0.866334  0.905021  0.0238569
julia
julia> DimArray(A, (X, Y))
╭──────────────────────────╮
 5×10 DimArray{Float64,2}
 ├──────────────────────────┴─────────────────────────────── dims ┐
 X, Y
 └────────────────────────────────────────────────────────────────┘
- 0.764613  0.657441   0.625257   0.587556  …  0.344408  0.0140644  0.0127924
- 0.760205  0.298179   0.545129   0.989571     0.554791  0.0697249  0.949105
- 0.553558  0.500157   0.295319   0.925873     0.386433  0.392848   0.26069
- 0.912065  0.917543   0.0965083  0.997672     0.492141  0.625296   0.391155
- 0.948512  0.0621546  0.167745   0.228964     0.90251   0.710967   0.885914
julia
julia> DimArray(A, (X, Y); name=:DimArray, metadata=Dict())
╭───────────────────────────────────╮
+ 0.670688  0.534915   0.111072  0.194465  …  0.121525  0.797168  0.0239356
+ 0.741593  0.707692   0.879899  0.813705     0.601833  0.826098  0.493417
+ 0.119505  0.0999314  0.403111  0.755958     0.289335  0.542251  0.0622255
+ 0.775377  0.217733   0.865298  0.876395     0.108514  0.306932  0.627107
+ 0.576903  0.950338   0.854076  0.511978     0.866334  0.905021  0.0238569
julia
julia> DimArray(A, (X, Y); name=:DimArray, metadata=Dict())
╭───────────────────────────────────╮
 5×10 DimArray{Float64,2} DimArray
 ├───────────────────────────────────┴────────────────────── dims ┐
 X, Y
 ├────────────────────────────────────────────────────── metadata ┤
   Dict{Any, Any}()
 └────────────────────────────────────────────────────────────────┘
- 0.764613  0.657441   0.625257   0.587556  …  0.344408  0.0140644  0.0127924
- 0.760205  0.298179   0.545129   0.989571     0.554791  0.0697249  0.949105
- 0.553558  0.500157   0.295319   0.925873     0.386433  0.392848   0.26069
- 0.912065  0.917543   0.0965083  0.997672     0.492141  0.625296   0.391155
- 0.948512  0.0621546  0.167745   0.228964     0.90251   0.710967   0.885914

Constructing DimArray with arbitrary dimension names

For arbitrary names, we can use the Dim{:name} dims by using Symbols, and indexing with keywords:

julia
julia> da1 = DimArray(rand(5, 5), (:a, :b))
╭─────────────────────────╮
+ 0.670688  0.534915   0.111072  0.194465  …  0.121525  0.797168  0.0239356
+ 0.741593  0.707692   0.879899  0.813705     0.601833  0.826098  0.493417
+ 0.119505  0.0999314  0.403111  0.755958     0.289335  0.542251  0.0622255
+ 0.775377  0.217733   0.865298  0.876395     0.108514  0.306932  0.627107
+ 0.576903  0.950338   0.854076  0.511978     0.866334  0.905021  0.0238569

Constructing DimArray with arbitrary dimension names

For arbitrary names, we can use the Dim{:name} dims by using Symbols, and indexing with keywords:

julia
julia> da1 = DimArray(rand(5, 5), (:a, :b))
╭─────────────────────────╮
 5×5 DimArray{Float64,2}
 ├─────────────────────────┴──────────────────────────────── dims ┐
 a, b
 └────────────────────────────────────────────────────────────────┘
- 0.88841    0.329515   0.620055  0.20051     0.500642
- 0.284399   0.152765   0.465631  0.00337686  0.885929
- 0.0463176  0.143704   0.965831  0.754468    0.0684698
- 0.257822   0.411529   0.219583  0.6642      0.714286
- 0.706267   0.0450386  0.441735  0.137131    0.350422

and get a value, here another smaller DimArray:

julia
julia> da1[a=3, b=1:3]
╭───────────────────────────────╮
+ 0.601474  0.337576  0.770316  0.21149    0.121375
+ 0.113873  0.511078  0.201362  0.716257   0.253984
+ 0.910981  0.503823  0.488029  0.0130048  0.121186
+ 0.436293  0.789198  0.32806   0.361921   0.830187
+ 0.426888  0.46788   0.724709  0.15163    0.996398

and get a value, here another smaller DimArray:

julia
julia> da1[a=3, b=1:3]
╭───────────────────────────────╮
 3-element DimArray{Float64,1}
 ├───────────────────────────────┴ dims ┐
 b
 └─────────────────────────────────┘
- 0.0463176
- 0.143704
- 0.965831

Dimensional Indexing

When used for indexing, dimension wrappers free us from knowing the order of our objects axes. These are the same:

julia
julia> da[X(2), Y(1)] == da[Y(1), X(2)]
true

We also can use Tuples of dimensions like CartesianIndex, but they don't have to be in order of consecutive axes.

julia
julia> da2 = rand(X(10), Y(7), Z(5))
╭────────────────────────────╮
+ 0.910981
+ 0.503823
+ 0.488029

Dimensional Indexing

When used for indexing, dimension wrappers free us from knowing the order of our objects axes. These are the same:

julia
julia> da[X(2), Y(1)] == da[Y(1), X(2)]
true

We also can use Tuples of dimensions, like CartesianIndex, but they don't have to be in order of consecutive axes.

julia
julia> da2 = rand(X(10), Y(7), Z(5))
╭────────────────────────────╮
 10×7×5 DimArray{Float64,3}
 ├────────────────────────────┴─────────────────────────────────────────── dims ┐
 X, Y, Z
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
- 0.0760848  0.0641884  0.680225  0.683696   0.0205228  0.563623  0.673966
- 0.0992684  0.970459   0.330777  0.241056   0.0196808  0.669021  0.107475
- 0.206406   0.444708   0.11996   0.322115   0.225865   0.802122  0.421692
- 0.94412    0.0192911  0.351413  0.468968   0.269685   0.150126  0.215458
- 0.917457   0.162553   0.184309  0.719495   0.221163   0.4231    0.721331
- 0.916702   0.794163   0.880796  0.839618   0.380161   0.180894  0.375182
- 0.48817    0.498764   0.904961  0.392377   0.625435   0.786147  0.769313
- 0.339888   0.358625   0.290734  0.0778416  0.451425   0.879774  0.605324
- 0.481184   0.828395   0.870276  0.0323182  0.195774   0.467484  0.255916
- 0.758865   0.680352   0.679221  0.920736   0.0375522  0.296639  0.139067
julia
julia> da2[(X(3), Z(5))]
╭───────────────────────────────╮
+ 0.41173   0.0789906  0.655936    0.762722   0.56273    0.0160205  0.640693
+ 0.228294  0.687236   0.345046    0.749573   0.949769   0.783195   0.591606
+ 0.258576  0.89609    0.00337686  0.99118    0.169845   0.159817   0.784693
+ 0.295346  0.768639   0.754468    0.0738813  0.675126   0.968484   0.243035
+ 0.254627  0.411529   0.629352    0.285205   0.18989    0.891663   0.597808
+ 0.435719  0.0450386  0.0531003   0.385452   0.322612   0.667691   0.906601
+ 0.88841   0.571658   0.991676    0.677848   0.697976   0.971252   0.776593
+ 0.284399  0.196524   0.119937    0.493258   0.342919   0.866772   0.0990347
+ 0.192286  0.765808   0.502499    0.404773   0.0623616  0.627002   0.184813
+ 0.762199  0.159233   0.769884    0.74428    0.606279   0.351096   0.268379
julia
julia> da2[(X(3), Z(5))]
╭───────────────────────────────╮
 7-element DimArray{Float64,1}
 ├───────────────────────────────┴ dims ┐
 Y
 └─────────────────────────────────┘
- 0.794017
- 0.865233
- 0.0540645
- 0.0474302
- 0.521021
- 0.836107
- 0.167104

We can index with Vector of Tuple{Vararg(Dimension}} like vectors of CartesianIndex. This will merge the dimensions in the tuples:

julia
julia> inds = [(X(3), Z(5)), (X(7), Z(4)), (X(8), Z(2))]
3-element Vector{Tuple{X{Int64}, Z{Int64}}}:
+ 0.644748
+ 0.493072
+ 0.316833
+ 0.372311
+ 0.313185
+ 0.494267
+ 0.705582

We can index with Vector of Tuple{Vararg(Dimension}} like vectors of CartesianIndex. This will merge the dimensions in the tuples:

julia
julia> inds = [(X(3), Z(5)), (X(7), Z(4)), (X(8), Z(2))]
3-element Vector{Tuple{X{Int64}, Z{Int64}}}:
  (X 3, Z 5)
  (X 7, Z 4)
  (X 8, Z 2)
julia
julia> da2[inds]
╭─────────────────────────╮
@@ -112,66 +112,66 @@
 Y ,
 XZ MergedLookup{Tuple{Int64, Int64}} [(3, 5), (7, 4), (8, 2)]X, Z
 └──────────────────────────────────────────────────────────────────────────────┘
-  (3, 5)     (7, 4)    (8, 2)
- 0.794017   0.690695  0.89862
- 0.865233   0.992316  0.864765
- 0.0540645  0.409622  0.575698
- 0.0474302  0.133195  0.161393
- 0.521021   0.246162  0.337182
- 0.836107   0.365341  0.394703
- 0.167104   0.847018  0.213826

DimIndices can be used like CartesianIndices but again, without the constraint of consecutive dimensions or known order.

julia
julia> da2[DimIndices(dims(da2, (X, Z))), Y(3)]
╭──────────────────────────╮
+  (3, 5)    (7, 4)     (8, 2)
+ 0.644748  0.510196   0.528138
+ 0.493072  0.925624   0.142957
+ 0.316833  0.485321   0.708081
+ 0.372311  0.676945   0.406221
+ 0.313185  0.0379776  0.6778
+ 0.494267  0.287739   0.155826
+ 0.705582  0.996358   0.638336

DimIndices can be used like CartesianIndices but again, without the constraint of consecutive dimensions or known order.

julia
julia> da2[DimIndices(dims(da2, (X, Z))), Y(3)]
╭──────────────────────────╮
 10×5 DimArray{Float64,2}
 ├──────────────────────────┴─────────────────────────────── dims ┐
 X, Z
 └────────────────────────────────────────────────────────────────┘
- 0.680225  0.457891   0.230047   0.634499  0.678022
- 0.330777  0.0275306  0.352138   0.739241  0.353691
- 0.11996   0.904604   0.708321   0.837335  0.0540645
- 0.351413  0.853553   0.934609   0.208365  0.803293
- 0.184309  0.91732    0.615764   0.526688  0.5573
- 0.880796  0.683091   0.761212   0.956031  0.3162
- 0.904961  0.589895   0.945371   0.409622  0.110998
- 0.290734  0.575698   0.497346   0.750906  0.354046
- 0.870276  0.320667   0.0559616  0.341835  0.234458
- 0.679221  0.950645   0.727554   0.306208  0.173513

The Dimension indexing layer sits on top of regular indexing and can not be combined with it! Regular indexing specifies order, so doesn't mix well with our dimensions.

Mixing them will throw an error:

julia
julia> da1[X(3), 4]
ERROR: ArgumentError: invalid index: X{Int64}(3) of type X{Int64}

Begin End indexing

julia
julia> da1[X=Begin+1, Y=End]
Warning: (X, Y) dims were not found in object.
+ 0.655936    0.853835  0.870583   0.0578313  0.971794
+ 0.345046    0.17597   0.638072   0.136127   0.962808
+ 0.00337686  0.378395  0.0314382  0.310753   0.316833
+ 0.754468    0.188864  0.614012   0.883048   0.191049
+ 0.629352    0.190726  0.338669   0.105539   0.925844
+ 0.0531003   0.876115  0.945147   0.873096   0.342887
+ 0.991676    0.702956  0.281077   0.485321   0.798621
+ 0.119937    0.708081  0.0363983  0.247755   0.527261
+ 0.502499    0.641023  0.0104608  0.10233    0.635425
+ 0.769884    0.37821   0.881533   0.535933   0.454033

The Dimension indexing layer sits on top of regular indexing and can not be combined with it! Regular indexing specifies order, so doesn't mix well with our dimensions.

Mixing them will throw an error:

julia
julia> da1[X(3), 4]
ERROR: ArgumentError: invalid index: X{Int64}(3) of type X{Int64}

Begin End indexing

julia
julia> da1[X=Begin+1, Y=End]
Warning: (X, Y) dims were not found in object.
 @ DimensionalData.Dimensions ~/work/DimensionalData.jl/DimensionalData.jl/src/Dimensions/primitives.jl:846
 ╭─────────────────────────╮
 5×5 DimArray{Float64,2}
 ├─────────────────────────┴──────────────────────────────── dims ┐
 a, b
 └────────────────────────────────────────────────────────────────┘
- 0.88841    0.329515   0.620055  0.20051     0.500642
- 0.284399   0.152765   0.465631  0.00337686  0.885929
- 0.0463176  0.143704   0.965831  0.754468    0.0684698
- 0.257822   0.411529   0.219583  0.6642      0.714286
- 0.706267   0.0450386  0.441735  0.137131    0.350422

It also works in ranges, even with basic math:

julia
julia> da1[X=Begin:Begin+1, Y=Begin+1:End-1]
Warning: (X, Y) dims were not found in object.
+ 0.601474  0.337576  0.770316  0.21149    0.121375
+ 0.113873  0.511078  0.201362  0.716257   0.253984
+ 0.910981  0.503823  0.488029  0.0130048  0.121186
+ 0.436293  0.789198  0.32806   0.361921   0.830187
+ 0.426888  0.46788   0.724709  0.15163    0.996398

It also works in ranges, even with basic math:

julia
julia> da1[X=Begin:Begin+1, Y=Begin+1:End-1]
Warning: (X, Y) dims were not found in object.
 @ DimensionalData.Dimensions ~/work/DimensionalData.jl/DimensionalData.jl/src/Dimensions/primitives.jl:846
 ╭─────────────────────────╮
 5×5 DimArray{Float64,2}
 ├─────────────────────────┴──────────────────────────────── dims ┐
 a, b
 └────────────────────────────────────────────────────────────────┘
- 0.88841    0.329515   0.620055  0.20051     0.500642
- 0.284399   0.152765   0.465631  0.00337686  0.885929
- 0.0463176  0.143704   0.965831  0.754468    0.0684698
- 0.257822   0.411529   0.219583  0.6642      0.714286
- 0.706267   0.0450386  0.441735  0.137131    0.350422

In base julia the keywords begin and end can be used to index the first or last element of an array. But this doesn't work when named indexing is used. Instead you can use the types Begin and End.

Indexing

Indexing AbstractDimArrays works with getindex, setindex! and view. The result is still an AbstracDimArray, unless using all single Int or Selectors that resolve to Int inside Dimension.

dims keywords

In many Julia functions like, size or sum, you can specify the dimension along which to perform the operation as an Int. It is also possible to do this using Dimension types with AbstractDimArray:

julia
julia> da5 = rand(X(3), Y(4), Ti(5))
╭───────────────────────────╮
+ 0.601474  0.337576  0.770316  0.21149    0.121375
+ 0.113873  0.511078  0.201362  0.716257   0.253984
+ 0.910981  0.503823  0.488029  0.0130048  0.121186
+ 0.436293  0.789198  0.32806   0.361921   0.830187
+ 0.426888  0.46788   0.724709  0.15163    0.996398

In base julia the keywords begin and end can be used to index the first or last element of an array. But this doesn't work when named indexing is used. Instead you can use the types Begin and End.

Indexing

Indexing AbstractDimArrays works with getindex, setindex! and view. The result is still an AbstracDimArray, unless using all single Int or Selectors that resolve to Int inside Dimension.

dims keywords

In many Julia functions like, size or sum, you can specify the dimension along which to perform the operation as an Int. It is also possible to do this using Dimension types with AbstractDimArray:

julia
julia> da5 = rand(X(3), Y(4), Ti(5))
╭───────────────────────────╮
 3×4×5 DimArray{Float64,3}
 ├───────────────────────────┴──────────────────────────────────────────── dims ┐
 X, Y, Ti
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
- 0.0610019  0.578989  0.760111  0.291577
- 0.980256   0.388907  0.711714  0.827852
- 0.225583   0.395594  0.433955  0.691887
julia
julia> sum(da5; dims=Ti)
╭───────────────────────────╮
+ 0.573147   0.206406  0.916702  0.481184
+ 0.0760848  0.94412   0.48817   0.758865
+ 0.0992684  0.917457  0.811947  0.0641884
julia
julia> sum(da5; dims=Ti)
╭───────────────────────────╮
 3×4×1 DimArray{Float64,3}
 ├───────────────────────────┴──────────────────────────────────────────── dims ┐
 X, Y, Ti
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
- 1.31572  3.28438  1.73011  2.13035
- 2.5962   1.55745  2.5074   2.07151
- 2.31468  1.40687  3.06474  3.2858

Dims keywords

Methods where dims, dim types, or Symbols can be used to indicate the array dimension:

  • size, axes, firstindex, lastindex

  • cat, reverse, dropdims

  • reduce, mapreduce

  • sum, prod, maximum, minimum

  • mean, median, extrema, std, var, cor, cov

  • permutedims, adjoint, transpose, Transpose

  • mapslices, eachslice

Performance

Indexing with Dimensions has no runtime cost. Let's benchmark it:

julia
julia> using BenchmarkTools
+ 2.89248  1.86986  2.12435  1.86194
+ 1.29325  2.76668  2.64923  2.70488
+ 1.11475  3.10914  3.02098  2.35189

Dims keywords

Methods where dims, dim types, or Symbols can be used to indicate the array dimension:

  • size, axes, firstindex, lastindex

  • cat, reverse, dropdims

  • reduce, mapreduce

  • sum, prod, maximum, minimum

  • mean, median, extrema, std, var, cor, cov

  • permutedims, adjoint, transpose, Transpose

  • mapslices, eachslice

Performance

Indexing with Dimensions has no runtime cost. Let's benchmark it:

julia
julia> using BenchmarkTools
 
 julia> da4 = ones(X(3), Y(3))
╭─────────────────────────╮
 3×3 DimArray{Float64,2}
@@ -181,25 +181,25 @@
  1.0  1.0  1.0
  1.0  1.0  1.0
  1.0  1.0  1.0
julia
julia> @benchmark $da4[X(1), Y(2)]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  2.785 ns18.735 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     2.795 ns               GC (median):    0.00%
- Time  (mean ± σ):   2.822 ns ±  0.462 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns19.216 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.106 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.118 ns ±  0.327 ns GC (mean ± σ):  0.00% ± 0.00%
 
-                                            
-
-  2.78 ns        Histogram: frequency by time        2.83 ns <
+                            
+
+  3.1 ns         Histogram: frequency by time        3.12 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.

the same as accessing the parent array directly:

julia
julia> @benchmark parent($da4)[1, 2]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
- Range (minmax):  3.095 ns17.072 ns GC (min … max): 0.00% … 0.00%
- Time  (median):     3.105 ns               GC (median):    0.00%
- Time  (mean ± σ):   3.136 ns ±  0.481 ns GC (mean ± σ):  0.00% ± 0.00%
+ Range (minmax):  3.095 ns27.762 ns GC (min … max): 0.00% … 0.00%
+ Time  (median):     3.106 ns               GC (median):    0.00%
+ Time  (mean ± σ):   3.125 ns ±  0.396 ns GC (mean ± σ):  0.00% ± 0.00%
 
-
-
-  3.1 ns       Histogram: log(frequency) by time     3.14 ns <
+
+
+  3.1 ns       Histogram: log(frequency) by time     3.67 ns <
 
  Memory estimate: 0 bytes, allocs estimate: 0.
- + \ No newline at end of file diff --git a/dev/dimensions.html b/dev/dimensions.html index f614bd45d..019f49c45 100644 --- a/dev/dimensions.html +++ b/dev/dimensions.html @@ -5,14 +5,14 @@ Dimensions | DimensionalData.jl - - + + - + - - - + + + @@ -20,10 +20,10 @@ -
Skip to content

Dimensions

Dimensions are "wrapper types" that can be used to wrap any object to associate it with a named dimension.

X, Y, Z, Ti are predefined as types:

julia
julia> using DimensionalData
+    
Skip to content

Dimensions

Dimensions are "wrapper types" that can be used to wrap any object to associate it with a named dimension.

X, Y, Z, Ti are predefined as types:

julia
julia> using DimensionalData
 
-julia> X(1)
X 1
julia
julia> X(1), Y(2), Z(3)
(X 1, Y 2, Z 3)

You can also make Dim dimensions with any name:

julia
julia> Dim{:a}(1), Dim{:b}(1)
(a 1, b 1)

The wrapped value can be retrieved with val:

julia
julia> val(X(1))
1

DimensionalData.jl uses Dimensions everywhere:

  • Dimension are returned from dims to specify the names of the dimensions of an object

  • they wrap Lookups to associate the lookups with those names

  • to index into these objects, they wrap indices like Int or a Selector

This symmetry means we can ignore how data is organised, and label and access it by name, letting DD work out the details for us.

Dimensions are defined in the Dimensions submodule, some Dimension-specific methods can be brought into scope with:

julia
using DimensionalData.Dimensions
- +julia> X(1)
X 1
julia
julia> X(1), Y(2), Z(3)
(X 1, Y 2, Z 3)

You can also create Dim dimensions with any name:

julia
julia> Dim{:a}(1), Dim{:b}(1)
(a 1, b 1)

The wrapped value can be retrieved with val:

julia
julia> val(X(1))
1

DimensionalData.jl uses Dimensions everywhere:

  • Dimensions are returned from dims to specify the names of the dimensions of an object

  • They can wrap Lookups to associate the lookups with those names

  • To index into these objects, they can wrap indices like Int or a Selector

This symmetry means we can ignore how data is organized, and label and access it by name, letting DD work out the details for us.

Dimensions are defined in the Dimensions submodule, and some Dimension-specific methods can be brought into scope with:

julia
using DimensionalData.Dimensions
+ \ No newline at end of file diff --git a/dev/diskarrays.html b/dev/diskarrays.html index 38744368e..e58fb665a 100644 --- a/dev/diskarrays.html +++ b/dev/diskarrays.html @@ -5,14 +5,14 @@ DiskArrays.jl compatibility | DimensionalData.jl - - + + - + - - - + + + @@ -20,8 +20,8 @@ -
Skip to content

DiskArrays.jl compatibility

DiskArrays.jl enables lazy, chunked application of:

  • broadcast

  • reductions

  • iteration

  • generators

  • zip

It is rarely used directly, but is present in most disk and cloud based spatial data packages in julia, including: ArchGDAL.jl, NetCDF.jl, Zarr.jl, NCDatasets.lj, GRIBDatasets.jl and CommonDataModel.jl

The combination of DiskArrays.jl and DimensionalData.jl is Julias answer to pythons xarray. Rasters.jl and YAXArrays.jl are user-facing tools building on this combination.

They have no direct dependency relationships, with but are intentionally designed to integrate via both adherence to Julia's AbstractArray interface, and by coordination during development of both packages.

- +
Skip to content

DiskArrays.jl compatibility

DiskArrays.jl enables lazy, chunked application of:

  • broadcast

  • reductions

  • iteration

  • generators

  • zip

It is rarely used directly, but is present in most disk and cloud based spatial data packages in julia, including: ArchGDAL.jl, NetCDF.jl, Zarr.jl, NCDatasets.jl, GRIBDatasets.jl and CommonDataModel.jl

The combination of DiskArrays.jl and DimensionalData.jl is Julia's answer to python's xarray. Rasters.jl and YAXArrays.jl are user-facing tools building on this combination.

They have no direct dependency relationships, but are intentionally designed to integrate via both adherence to Julia's AbstractArray interface, and by coordination during development of both packages.

+ \ No newline at end of file diff --git a/dev/extending_dd.html b/dev/extending_dd.html index 24adc0dc7..a95fe3190 100644 --- a/dev/extending_dd.html +++ b/dev/extending_dd.html @@ -5,14 +5,14 @@ Extending DimensionalData | DimensionalData.jl - - + + - + - - - + + + @@ -20,8 +20,8 @@ -
Skip to content

Extending DimensionalData

Nearly everything in DimensionalData.jl is designed to be extensible.

  • AbstractDimArray are easily extended to custom array types. Raster or YAXArray are examples from other packages.

  • AbstractDimStack are easily extended to custom mixed array dataset. RasterStack or ArViZ.Dataset are examples.

  • Lookup can have new types added, e.g. to AbstractSampled or AbstractCategorical. Rasters.Projected is a lookup that knows its coordinate reference system, but otherwise behaves as a regular Sampled lookup.

dims, rebuild and format are the key interface methods in most of these cases.

dims

Objects extending DimensionalData.jl that have dimensions must return a Tuple of constructed Dimensions from dims(obj).

Dimension axes

Dimensions return from dims should hold a Lookup or in some cases just an AbstractArray (like with DimIndices). When attached to multi-dimensional objects, lookups must be the same length as the axis of the array it represents, and eachindex(A, i) and eachindex(dim) must return the same values.

This means that if the array has OffsetArrays.jl axes, the array the dimension wraps must also have OffsetArrays.jl axes.

dims keywords

To any dims keyword argument that usually requires the dimension I, objects should accept any Dimension, Type{<:Dimension}, Symbol, Val{:Symbol}, Val{<:Type{<:Dimension}} or also regular Integer.

This is easier than it sounds, calling DD.dims(objs, dims) will return the matching dimension and DD.dimnum(obj, dims) will return the matching Int for any of these inputs as long as dims(obj) is implemented.

rebuild

Rebuild methods are used to rebuild immutable objects with new field values, in a way that is more flexible and extensible than just using ConstructionBase.jl reconstruction. Developers can choose to ignore some of the fields passed by rebuild.

The function signature is always one of:

julia
rebuild(obj, args...)
-rebuild(obj; kw...)

rebuild has keyword versions automatically generated for all objects using ConstructionBase.jl.

These will work without further work as long as your object has the fields used by DimensionalData.jl objects. For example, AbstractDimArray will receive these keywords in rebuild: data, dims, refdims, name, metadata.

If your AbstractDimArray does not have all these fields, you must implement rebuild(x::YourDimArray; kw...) manually.

An argument method is also defined with the same arguments as the keyword version. For AbstractDimArray it should only be used for updating data and dims, any more that that is confusing.

For Dimension and Selector the single argument versions are easiest to use, as there is only one argument.

format

When constructing an AbstractDimArray or AbstractDimStack DimensionalData.format must be called on the dims tuple and the parent array:

julia
format(dims, array)

This lets DimensionalData detect the lookup properties, fill in missing fields of a Lookup, pass keywords from Dimension to detected Lookup constructors, and accept a wider range of dimension inputs like tuples of Symbol and Type.

Not calling format in the outer constructors of an AbstractDimArray has undefined behaviour.

Interfaces.jl interface testing

DimensionalData defines explicit, testable Interfaces.jl interfaces: DimArrayInterface and DimStackInterface.

This is the implementation definition for DimArray:

julia
julia> using DimensionalData, Interfaces
+    
Skip to content

Extending DimensionalData

Nearly everything in DimensionalData.jl is designed to be extensible.

  • AbstractDimArray is easily extended to custom array types. Raster or YAXArray are examples from other packages.

  • AbstractDimStack is easily extended to custom mixed array datasets. RasterStack or ArViZ.Dataset are examples.

  • Lookup can have new types added, e.g. to AbstractSampled or AbstractCategorical. Rasters.Projected is a lookup that knows its coordinate reference system, but otherwise behaves as a regular Sampled lookup.

dims, rebuild and format are the key interface methods in most of these cases.

dims

Objects extending DimensionalData.jl that have dimensions must return a Tuple of constructed Dimensions from dims(obj).

Dimension axes

Dimensions returned from dims should hold a Lookup or in some cases just an AbstractArray (like with DimIndices). When attached to multi-dimensional objects, lookups must be the same length as the axis of the array it represents, and eachindex(A, i) and eachindex(dim) must return the same values.

This means that if the array has OffsetArrays.jl axes, the array the dimension wraps must also have OffsetArrays.jl axes.

dims keywords

To any dims keyword argument that usually requires the dimension I, objects should accept any Dimension, Type{<:Dimension}, Symbol, Val{:Symbol}, Val{<:Type{<:Dimension}} or also regular Integer.

This is easier than it sounds, calling DD.dims(objs, dims) will return the matching dimension and DD.dimnum(obj, dims) will return the matching Int for any of these inputs as long as dims(obj) is implemented.

rebuild

Rebuild methods are used to rebuild immutable objects with new field values, in a way that is more flexible and extensible than just using ConstructionBase.jl reconstruction. Developers can choose to ignore some of the fields passed by rebuild.

The function signature is always one of:

julia
rebuild(obj, args...)
+rebuild(obj; kw...)

rebuild has keyword versions automatically generated for all objects using ConstructionBase.jl.

These will work without further work as long as your object has the fields used by DimensionalData.jl objects. For example, AbstractDimArray will receive these keywords in rebuild: data, dims, refdims, name, metadata.

If your AbstractDimArray does not have all these fields, you must implement rebuild(x::YourDimArray; kw...) manually.

An argument method is also defined with the same arguments as the keyword version. For AbstractDimArray it should only be used for updating data and dims, any more that that is confusing.

For Dimension and Selector the single argument versions are easiest to use, as there is only one argument.

format

When constructing an AbstractDimArray or AbstractDimStack DimensionalData.format must be called on the dims tuple and the parent array:

julia
format(dims, array)

This lets DimensionalData detect the lookup properties, fill in missing fields of a Lookup, pass keywords from Dimension to detected Lookup constructors, and accept a wider range of dimension inputs like tuples of Symbol and Type.

Not calling format in the outer constructors of an AbstractDimArray has undefined behaviour.

Interfaces.jl interface testing

DimensionalData defines explicit, testable Interfaces.jl interfaces: DimArrayInterface and DimStackInterface.

This is the implementation definition for DimArray:

julia
julia> using DimensionalData, Interfaces
 
 julia> @implements DimensionalData.DimArrayInterface{(:refdims,:name,:metadata)} DimArray [rand(X(10), Y(10)), zeros(Z(10))]

See the DimensionalData.DimArrayInterface docs for options. We can test it with:

julia
julia> Interfaces.test(DimensionalData.DimArrayInterface)

 Testing DimArrayInterface is implemented for DimArray
@@ -50,7 +50,7 @@
 Implementation summary:
   DimArray correctly implements DimensionalData.DimArrayInterface: true
 true
- + \ No newline at end of file diff --git a/dev/get_info.html b/dev/get_info.html index f1e64c5d0..16659b289 100644 --- a/dev/get_info.html +++ b/dev/get_info.html @@ -5,14 +5,14 @@ Getters | DimensionalData.jl - - + + - + - - - + + + @@ -20,7 +20,7 @@ -
Skip to content

Getters

DimensionalData.jl defines consistent methods to retrieve information from objects like DimArray, DimStack, Tuples of Dimension, Dimension and Lookup.

First we will define an example DimArray.

julia
using DimensionalData
+    
Skip to content

Getters

DimensionalData.jl defines consistent methods to retrieve information from objects like DimArray, DimStack, Tuples of Dimension, Dimension, and Lookup.

First, we will define an example DimArray.

julia
using DimensionalData
 using DimensionalData.Lookups
 x, y = X(10:-1:1), Y(100.0:10:200.0)
(↓ X 10:-1:1,
 → Y 100.0:10.0:200.0)
julia
julia> A = rand(x, y)
╭───────────────────────────╮
@@ -29,27 +29,27 @@
 X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
 Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  100.0         110.0180.0       190.0       200.0
- 10      0.664038      0.464482        0.868966    0.530653    0.418968
-  9      0.00832284    0.0980829       0.314535    0.322005    0.674881
-  8      0.639212      0.233778        0.315591    0.190225    0.475569
-  7      0.602315      0.0372362       0.950143    0.062593    0.948976
-  6      0.375166      0.423798   …    0.640311    0.932968    0.98985
-  5      0.153219      0.635963        0.293126    0.68781     0.309301
-  4      0.00508449    0.829714        0.727149    0.585756    0.921145
-  3      0.946824      0.906705        0.899632    0.471877    0.633956
-  2      0.876112      0.831617        0.128932    0.428951    0.243803
-  1      0.749253      0.864128   …    0.715102    0.921012    0.566574

dims retrieves dimensions from any object that has them.

What makes it so useful is you can filter which dimensions you want in what order, using any Dimension, Type{Dimension} or Symbol.

julia
julia> dims(A)
(X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
+  100.0       110.0        120.0190.0       200.0
+ 10      0.616666    0.561953     0.0157247        0.177857    0.856524
+  9      0.660024    0.395523     0.0109523        0.552838    0.0536623
+  8      0.112606    0.548479     0.0545071        0.755722    0.830655
+  7      0.839223    0.0400057    0.702845         0.384116    0.445628
+  6      0.734452    0.65906      0.506965    …    0.654591    0.44097
+  5      0.89757     0.748725     0.00633515       0.178022    0.106904
+  4      0.969026    0.0042232    0.63959          0.423538    0.556096
+  3      0.106472    0.274713     0.589536         0.805743    0.390342
+  2      0.861535    0.167465     0.507581         0.799964    0.292431
+  1      0.245499    0.742732     0.095824    …    0.90203     0.86858

dims retrieves dimensions from any object that has them.

What makes it so useful is that you can filter which dimensions you want, and specify in what order, using any Dimension, Type{Dimension} or Symbol.

julia
julia> dims(A)
(X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
 Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points)
julia
julia> dims(A, Y)
Y Sampled{Float64} ForwardOrdered Regular Points
 wrapping: 100.0:10.0:200.0
julia
julia> dims(A, Y())
Y Sampled{Float64} ForwardOrdered Regular Points
 wrapping: 100.0:10.0:200.0
julia
julia> dims(A, :Y)
Y Sampled{Float64} ForwardOrdered Regular Points
 wrapping: 100.0:10.0:200.0
julia
julia> dims(A, (X,))
(X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points)
julia
julia> dims(A, (Y, X))
(Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points,
 X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points)
julia
julia> dims(A, reverse(dims(A)))
(Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points,
 X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points)
julia
julia> dims(A, isregular)
(X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
-Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points)

Predicates

These always return true or false. With multiple dimensions, fale means !all and true means all.

dims and all other methods listed above can use predicates to filter the returned dimensions.

julia
julia> issampled(A)
true
julia
julia> issampled(dims(A))
true
julia
julia> issampled(A, Y)
true
julia
julia> issampled(lookup(A, Y))
true
julia
julia> dims(A, issampled)
(X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
+Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points)

Predicates

These always return true or false. With multiple dimensions, false means !all and true means all.

dims and all other methods listed above can use predicates to filter the returned dimensions.

julia
julia> issampled(A)
true
julia
julia> issampled(dims(A))
true
julia
julia> issampled(A, Y)
true
julia
julia> issampled(lookup(A, Y))
true
julia
julia> dims(A, issampled)
(X Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
 Y Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points)
julia
julia> otherdims(A, issampled)
()
julia
julia> lookup(A, issampled)
Sampled{Int64} 10:-1:1 ReverseOrdered Regular Points,
 Sampled{Float64} 100.0:10.0:200.0 ForwardOrdered Regular Points
- + \ No newline at end of file diff --git a/dev/groupby.html b/dev/groupby.html index 3bf451a07..d374cc8ea 100644 --- a/dev/groupby.html +++ b/dev/groupby.html @@ -5,14 +5,14 @@ Group By | DimensionalData.jl - - + + - + - - - + + + @@ -20,10 +20,10 @@ -
Skip to content

Group By

DimensionalData.jl provides a groupby function for dimensional grouping. This guide will cover:

  • simple grouping with a function

  • grouping with Bins

  • grouping with another existing AbstractDimArry or Dimension

Grouping functions

Lets look at the kind of functions that can be used to group DateTime. Other types will follow the same principles, but are usually simpler.

First load some packages:

julia
using DimensionalData
+    
Skip to content

Group By

DimensionalData.jl provides a groupby function for dimensional grouping. This guide covers:

  • simple grouping with a function

  • grouping with Bins

  • grouping with another existing AbstractDimArray or Dimension

Grouping functions

Let's look at the kind of functions that can be used to group DateTime. Other types will follow the same principles, but are usually simpler.

First, load some packages:

julia
using DimensionalData
 using Dates
 using Statistics
-const DD = DimensionalData

Now create a demo DateTime range

julia
julia> tempo = range(DateTime(2000), step=Hour(1), length=365*24*2)
Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")

Lets see how some common functions work.

The hour function will transform values to hour of the day - the integers 0:23

julia
julia> hour.(tempo)
17520-element Vector{Int64}:
+const DD = DimensionalData

Now create a demo DateTime range

julia
julia> tempo = range(DateTime(2000), step=Hour(1), length=365*24*2)
Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00")

Let's see how some common functions work.

The hour function will transform values to the hour of the day - the integers 0:23

julia
julia> hour.(tempo)
17520-element Vector{Int64}:
   0
   1
   2
@@ -43,7 +43,7 @@
  20
  21
  22
- 23

Tuple groupings

julia
julia> yearmonth.(tempo)
17520-element Vector{Tuple{Int64, Int64}}:
+ 23

Tuple groupings

julia
julia> yearmonth.(tempo)
17520-element Vector{Tuple{Int64, Int64}}:
  (2000, 1)
  (2000, 1)
  (2000, 1)
@@ -63,23 +63,23 @@
  (2001, 12)
  (2001, 12)
  (2001, 12)
- (2001, 12)

Grouping and reducing

Lets define an array with a time dimension of the times used above:

julia
julia> A = rand(X(1:0.01:2), Ti(tempo))
╭───────────────────────────────╮
+ (2001, 12)

Grouping and reducing

Let's define an array with a time dimension of the times used above:

julia
julia> A = rand(X(1:0.01:2), Ti(tempo))
╭───────────────────────────────╮
 101×17520 DimArray{Float64,2}
 ├───────────────────────────────┴──────────────────────────────────────── dims ┐
 X  Sampled{Float64} 1.0:0.01:2.0 ForwardOrdered Regular Points,
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00") ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
     2000-01-01T00:00:00   2000-01-01T01:00:002001-12-30T23:00:00
- 1.0   0.247032              0.706417                 0.10748
- 1.01  0.749267              0.559878                 0.916216
- 1.02  0.694796              0.981865                 0.842792
- 1.03  0.214909              0.313279                 0.683712
+ 1.0   0.654537              0.418968                 0.677549
+ 1.01  0.664038              0.674881                 0.578183
+ 1.02  0.00832284            0.475569                 0.454715
+ 1.03  0.639212              0.616635                 0.875994
  ⋮                                                 ⋱  ⋮
- 1.96  0.899864              0.819928                 0.313711
- 1.97  0.581748              0.0446036                0.762533
- 1.98  0.645795              0.442542                 0.522989
- 1.99  0.460633              0.346013              …  0.639499
- 2.0   0.0403793             0.561611                 0.736525

Group by month, using the month function:

julia
julia> groups = groupby(A, Ti=>month)
╭───────────────────────────────────────────────────╮
+ 1.96  0.0106725             0.846581                 0.757228
+ 1.97  0.585756              0.485119                 0.299692
+ 1.98  0.471877              0.889153                 0.336768
+ 1.99  0.428951              0.312976              …  0.948798
+ 2.0   0.921012              0.397575                 0.0897302

Group by month, using the month function:

julia
julia> groups = groupby(A, Ti=>month)
╭───────────────────────────────────────────────────╮
 12-element DimGroupByArray{DimArray{Float64,1},1}
 ├───────────────────────────────────────────────────┴──────────────────── dims ┐
 Ti Sampled{Int64} [1, 2, …, 11, 12] ForwardOrdered Irregular Points
@@ -102,14 +102,14 @@
   Dict{Symbol, Any} with 1 entry:
   :groupby => :Ti=>month
 └──────────────────────────────────────────────────────────────────────────────┘
-  1  0.500757
-  2  0.498832
-  3  0.498388
-  4  0.500913
+  1  0.500665
+  2  0.499693
+  3  0.500331
+  4  0.499353
 
- 10  0.500277
- 11  0.498996
- 12  0.500093

Binning

Sometimes we want to further aggregate our groups after running a function, or just bin the raw data directly. We can use the Bins wrapper to do this.

For quick analysis, we can break our groups into N bins.

julia
julia> groupby(A, Ti=>Bins(month, 4))
╭──────────────────────────────────────────────────╮
+ 10  0.499069
+ 11  0.500155
+ 12  0.500136

Binning

Sometimes we want to further aggregate our groups after running a function, or just bin the raw data directly. We can use the Bins wrapper to do this.

For quick analysis, we can break our groups into N bins.

julia
julia> groupby(A, Ti=>Bins(month, 4))
╭──────────────────────────────────────────────────╮
 4-element DimGroupByArray{DimArray{Float64,1},1}
 ├──────────────────────────────────────────────────┴───────────────────── dims ┐
 Ti Sampled{IntervalSets.Interval{:closed, :open, Float64}} [1.0 .. 3.75275 (closed-open), 3.75275 .. 6.5055 (closed-open), 6.5055 .. 9.25825 (closed-open), 9.25825 .. 12.011 (closed-open)] ForwardOrdered Irregular Intervals{Start}
@@ -122,7 +122,7 @@
  1.0 .. 3.75275 (closed-open)     101×4344 DimArray
  3.75275 .. 6.5055 (closed-open)  101×4368 DimArray
  6.5055 .. 9.25825 (closed-open)  101×4416 DimArray
- 9.25825 .. 12.011 (closed-open)  101×4392 DimArray

Doing this requires slightly padding the bin edges, so the lookup of the output is less than ideal.

Select by Dimension

We can also select by Dimensions and any objects with dims methods.

Trivially, grouping by an objects own dimension is similar to eachslice:

julia
julia> groupby(A, dims(A, Ti))
╭──────────────────────────────────────────────────────╮
+ 9.25825 .. 12.011 (closed-open)  101×4392 DimArray

Doing this requires slightly padding the bin edges, so the lookup of the output is less than ideal.

Select by Dimension

We can also select by Dimensions and any objects with dims methods.

Trivially, grouping by an object's own dimension is similar to eachslice:

julia
julia> groupby(A, dims(A, Ti))
╭──────────────────────────────────────────────────────╮
 17520-element DimGroupByArray{DimArray{Float64,1},1}
 ├──────────────────────────────────────────────────────┴───────────────── dims ┐
 Ti Sampled{Dates.DateTime} Dates.DateTime("2000-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2001-12-30T23:00:00") ForwardOrdered Regular Points
@@ -138,7 +138,7 @@
 
  2001-12-30T22:00:00  101×1 DimArray
  2001-12-30T23:00:00  101×1 DimArray

TODO: Apply custom function (i.e. normalization) to grouped output.

- + \ No newline at end of file diff --git a/dev/hashmap.json b/dev/hashmap.json index 60f6dc7ce..1a6d7021f 100644 --- a/dev/hashmap.json +++ b/dev/hashmap.json @@ -1 +1 @@ -{"api_dimensions.md":"SBrxkSyF","api_lookuparrays.md":"4gWyIReH","api_reference.md":"Cbzd03zL","basics.md":"1otrM5SC","broadcasts.md":"CVzEqDHf","cuda.md":"DmbWVZki","dimarrays.md":"DAoE3lud","dimensions.md":"Btc7hsPQ","diskarrays.md":"DNn9Ahrm","extending_dd.md":"DoS75dmN","get_info.md":"B7K6LY7P","groupby.md":"DESSK1W0","index.md":"uhypFJup","integrations.md":"dJo1qUjg","object_modification.md":"-cjSpi5I","plots.md":"kpY9w3i0","selectors.md":"Cu8DY1IK","stacks.md":"SmvHWrk4","tables.md":"t8vBJGld"} +{"api_dimensions.md":"0EpvcW_-","api_lookuparrays.md":"QQHTyv_S","api_reference.md":"CbFETIiO","basics.md":"NNYczrui","broadcasts.md":"Dz88oNfL","cuda.md":"D8Q-T0cP","dimarrays.md":"BoEU5ZVn","dimensions.md":"BukE2hG-","diskarrays.md":"DGsdRCSJ","extending_dd.md":"BXSXpgVw","get_info.md":"oVG65ArA","groupby.md":"BUxX6owS","index.md":"BtPO60nF","integrations.md":"CffVJNNA","object_modification.md":"Bn8irSF4","plots.md":"D4kZ1izt","selectors.md":"BYwWS6hp","stacks.md":"DhVQ6mRN","tables.md":"C58ZkjII"} diff --git a/dev/index.html b/dev/index.html index 6f53a7cab..f793811b7 100644 --- a/dev/index.html +++ b/dev/index.html @@ -5,14 +5,14 @@ DimensionalData.jl - - + + - + - - - + + + @@ -20,8 +20,8 @@ -
Skip to content

DimensionalData.jl

Julia datasets with named dimensions

High performance named indexing for Julia

- +
Skip to content

DimensionalData.jl

Julia datasets with named dimensions

High performance named indexing for Julia

+ \ No newline at end of file diff --git a/dev/integrations.html b/dev/integrations.html index 929599c64..b78789835 100644 --- a/dev/integrations.html +++ b/dev/integrations.html @@ -5,14 +5,14 @@ Integrations | DimensionalData.jl - - + + - + - - - + + + @@ -20,8 +20,8 @@ -
Skip to content

Integrations

Rasters.jl

Rasters.jl extends DD for geospatial data manipulation, providing file load/save for a wide range of raster data sources and common GIS tools like polygon rasterization and masking. Raster types are aware of crs and their missingval (which is often not missing for performance and storage reasons).

Rasters.jl is also the reason DimensionalData.jl exists at all! But it always made sense to separate out spatial indexing from GIS tools and dependencies.

A Raster is a AbstractDimArray, a RasterStack is a AbstractDimStack, and Projected and Mapped are AbstractSample lookups.

YAXArrays.jl

YAXArrays.jl is another spatial data package aimed more at (very) large datasets. It's functionality is slowly converging with Rasters.jl (both wrapping DiskArray.jl/DimensionalData.jl) and we work closely with the developers.

YAXArray is a AbstractDimArray and inherits its behaviours.

ClimateBase.jl

ClimateBase.jl Extends DD with methods for analysis of climate data.

ArviZ.jl

ArviZ.jl Is a Julia package for exploratory analysis of Bayesian models.

An ArviZ.Dataset is an AbstractDimStack!

JuMP.jl

JuMP.jl is a powerful optimization DSL. It defines its own named array types but now accepts any AbstractDimArray too, through a package extension.

CryoGrid.jl

CryoGrid.jl A Julia implementation of the CryoGrid permafrost model.

CryoGridOutput uses DimArray for views into output data.

DynamicGrids.jl

DynamicGrids.jl is a spatial simulation engine, for cellular automata and spatial process models.

All DynamicGrids.jl Outputs are <: AbstractDimArray, and AbstractDimArray are used for auxiliary data to allow temporal synchronisation during simulations. Notably, this all works on GPUs!

AstroImages.jl

AstroImages.jl Provides tools to load and visualise astronomical images. AstroImage is <: AbstractDimArray.

TimeseriesTools.jl

TimeseriesTools.jl Uses DimArray for time-series data.

- +
Skip to content

Integrations

Rasters.jl

Rasters.jl extends DimensionalData for geospatial data manipulation, providing file load/save capabilities for a wide range of raster data sources and common GIS tools like polygon rasterization and masking. Raster types are aware of their crs and their missingval (which is often not missing for performance and storage reasons).

Rasters.jl is also the reason DimensionalData.jl exists at all! But it always made sense to separate out spatial indexing from GIS tools and dependencies.

A Raster is a AbstractDimArray, a RasterStack is a AbstractDimStack, and Projected and Mapped are AbstractSampled lookups.

YAXArrays.jl

YAXArrays.jl is another spatial data package aimed more at (very) large datasets. Its functionality is slowly converging with Rasters.jl (both wrapping DiskArrays.jl/DimensionalData.jl) and we work closely with the developers.

YAXArray is a AbstractDimArray and inherits its behaviours.

ClimateBase.jl

ClimateBase.jl Extends DimensionalData.jl with methods for analysis of climate data.

ArviZ.jl

ArviZ.jl Is a Julia package for exploratory analysis of Bayesian models.

An ArviZ.Dataset is an AbstractDimStack!

JuMP.jl

JuMP.jl is a powerful optimization DSL. It defines its own named array types but now accepts any AbstractDimArray too, through a package extension.

CryoGrid.jl

CryoGrid.jl A Julia implementation of the CryoGrid permafrost model.

CryoGridOutput uses DimArray for views into output data.

DynamicGrids.jl

DynamicGrids.jl is a spatial simulation engine, for cellular automata and spatial process models.

All DynamicGrids.jl Outputs are <: AbstractDimArray, and AbstractDimArray are used for auxiliary data to allow temporal synchronisation during simulations. Notably, this all works on GPUs!

AstroImages.jl

AstroImages.jl Provides tools to load and visualise astronomical images. AstroImage is <: AbstractDimArray.

TimeseriesTools.jl

TimeseriesTools.jl Uses DimArray for time-series data.

+ \ No newline at end of file diff --git a/dev/object_modification.html b/dev/object_modification.html index 0e49023c8..60ca958ba 100644 --- a/dev/object_modification.html +++ b/dev/object_modification.html @@ -3,16 +3,16 @@ - Modifying objects | DimensionalData.jl + Modifying Objects | DimensionalData.jl - - + + - + - - - + + + @@ -20,7 +20,7 @@ -
Skip to content

Modifying objects

DimensionalData.jl objects are all struct rather than mutable struct. The only things you can modify in-place are the values of the contained arrays or metadata Dicts if they exist.

Everything else must be rebuilt and assigned to a variable.

modify

Modify the inner arrays of a AbstractDimArray or AbstractDimStack, with modify. This can be useful to e.g. replace all arrays with CuArray moving the data to the GPU, collect all inner arrays to Array without losing the outer DimArray wrappers, and similar things.

julia
julia> using DimensionalData
+    
Skip to content

Modifying Objects

DimensionalData.jl objects are all struct rather than mutable struct. The only things you can modify in-place are the values of the contained arrays or metadata Dicts if they exist.

Everything else must be rebuilt and assigned to a variable.

modify

Modify the inner arrays of a AbstractDimArray or AbstractDimStack, with modify. This can be useful to e.g. replace all arrays with CuArray moving the data to the GPU, collect all inner arrays to Array without losing the outer DimArray wrappers, and similar things.

julia
julia> using DimensionalData
 
 julia> A = falses(X(3), Y(5))
╭──────────────────────╮
 3×5 DimArray{Bool,2}
@@ -53,28 +53,28 @@
 Y Categorical{Char} 'a':1:'n' ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
    'a'       'b'        'c''l'       'm'       'n'
- 3.0  0.338844  0.461631   0.207882     0.804846  0.69461   0.340557
- 2.0  0.668984  0.803446   0.406397     0.138819  0.21316   0.907202
- 1.0  0.450109  0.0702987  0.28035      0.183103  0.770553  0.352592

mergedims

mergedims is like reshape, but simultaneously merges multiple dimensions into a single combined dimension with a lookup holding Tuples of the values of both dimensions.

rebuild

rebuild is one of the core functions of DimensionalData.jl. Basically everything uses it somewhere. And you can too, with a few caveats.

Warning

rebuild assumes you know what you are doing. You can quite easily set values to things that don't make sense. The constructor may check a few things, like the number of dimensions matches the axes of the array. But not much else.

julia
julia> A1 = rebuild(A; name=:my_array)
╭───────────────────────────────────╮
+ 3.0  0.884218  0.686915   0.208271     0.744517  0.487197  0.86789
+ 2.0  0.903705  0.0915867  0.247032     0.824556  0.298728  0.933212
+ 1.0  0.159092  0.193627   0.317813     0.474755  0.474052  0.364844

mergedims

mergedims is like reshape, but simultaneously merges multiple dimensions into a single combined dimension with a lookup holding Tuples of the values of both dimensions.

rebuild

rebuild is one of the core functions of DimensionalData.jl. Basically everything uses it somewhere. And you can too, with a few caveats.

Warning

rebuild assumes you know what you are doing. You can quite easily set values to things that don't make sense. The constructor may check a few things, like the number of dimensions matches the axes of the array. But not much else.

julia
julia> A1 = rebuild(A; name=:my_array)
╭───────────────────────────────────╮
 3×14 DimArray{Float64,2} my_array
 ├───────────────────────────────────┴──────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:1.0:3.0 ForwardOrdered Regular Points,
 Y Categorical{Char} 'a':1:'n' ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
    'a'       'b'        'c''l'       'm'       'n'
- 1.0  0.450109  0.0702987  0.28035      0.183103  0.770553  0.352592
- 2.0  0.668984  0.803446   0.406397     0.138819  0.21316   0.907202
- 3.0  0.338844  0.461631   0.207882     0.804846  0.69461   0.340557
julia
julia> name(A1)
:my_array

The most common use internally is the arg version on Dimension. This is very useful in dimension-based algorithms as a way to transform a dimension wrapper from one object to another:

julia
julia> d = X(1)
X 1
julia
julia> rebuild(d, 1:10)
X 1:10

rebuild applications are listed here. AbstractDimArray and AbstractDimStack always accept these keywords or arguments, but those in [ ] brackets may be thrown away if not needed. Keywords in ( ) will error if used where they are not accepted.

TypeKeywordsArguments
AbstractDimArraydata, dims, [refdims, name, metadata]as with kw, in order
AbstractDimStackdata, dims, [refdims], layerdims, [metadata, layermetadata]as with kw, in order
Dimensionvalval
Selectorval, (atol)val
Lookupdata, (order, span, sampling, metadata)keywords only

rebuild magic

rebuild with keywords will even work on objects DD doesn't know about!

julia
julia> nt = (a = 1, b = 2)
(a = 1, b = 2)
julia
julia> rebuild(nt, a = 99)
(a = 99, b = 2)

Really, the keyword version is just ConstructionBase.setproperties underneath, but wrapped so objects can customise the DD interface without changing the more generic ConstructionBase.jl behaviours and breaking e.g. Accessors.jl in the process.

set

set gives us a way to set the values of the immutable objects in DD, like Dimension and LookupArray. Unlike rebuild it tries its best to do the right thing. You don't have to specify what field you want to set. Just pass in the object you want to be part of the lookup. Usually, there is no possible ambiguity.

set is still improving. Sometimes it may not do the right thing. If you think this is the case, create a GitHub issue.

julia
julia> set(A, Y => Z)
╭──────────────────────────╮
+ 1.0  0.159092  0.193627   0.317813     0.474755  0.474052  0.364844
+ 2.0  0.903705  0.0915867  0.247032     0.824556  0.298728  0.933212
+ 3.0  0.884218  0.686915   0.208271     0.744517  0.487197  0.86789
julia
julia> name(A1)
:my_array

The most common use internally is the arg version on Dimension. This is very useful in dimension-based algorithms as a way to transform a dimension wrapper from one object to another:

julia
julia> d = X(1)
X 1
julia
julia> rebuild(d, 1:10)
X 1:10

rebuild applications are listed here. AbstractDimArray and AbstractDimStack always accept these keywords or arguments, but those in [ ] brackets may be thrown away if not needed. Keywords in ( ) will error if used where they are not accepted.

TypeKeywordsArguments
AbstractDimArraydata, dims, [refdims, name, metadata]as with kw, in order
AbstractDimStackdata, dims, [refdims], layerdims, [metadata, layermetadata]as with kw, in order
Dimensionvalval
Selectorval, (atol)val
Lookupdata, (order, span, sampling, metadata)keywords only

rebuild magic

rebuild with keywords will even work on objects DD doesn't know about!

julia
julia> nt = (a = 1, b = 2)
(a = 1, b = 2)
julia
julia> rebuild(nt, a = 99)
(a = 99, b = 2)

Really, the keyword version is just ConstructionBase.setproperties underneath, but wrapped so objects can customise the DD interface without changing the more generic ConstructionBase.jl behaviours and breaking e.g. Accessors.jl in the process.

set

set gives us a way to set the values of the immutable objects in DD, like Dimension and LookupArray. Unlike rebuild it tries its best to do the right thing. You don't have to specify what field you want to set. Just pass in the object you want to be part of the lookup. Usually, there is no possible ambiguity.

set is still improving. Sometimes it may not do the right thing. If you think this is the case, create a GitHub issue.

julia
julia> set(A, Y => Z)
╭──────────────────────────╮
 3×14 DimArray{Float64,2}
 ├──────────────────────────┴───────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:1.0:3.0 ForwardOrdered Regular Points,
 Z Categorical{Char} 'a':1:'n' ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
    'a'       'b'        'c''l'       'm'       'n'
- 1.0  0.450109  0.0702987  0.28035      0.183103  0.770553  0.352592
- 2.0  0.668984  0.803446   0.406397     0.138819  0.21316   0.907202
- 3.0  0.338844  0.461631   0.207882     0.804846  0.69461   0.340557
- + 1.0 0.159092 0.193627 0.317813 0.474755 0.474052 0.364844 + 2.0 0.903705 0.0915867 0.247032 0.824556 0.298728 0.933212 + 3.0 0.884218 0.686915 0.208271 0.744517 0.487197 0.86789
+ \ No newline at end of file diff --git a/dev/plots.html b/dev/plots.html index 8f9740b59..4bccf983a 100644 --- a/dev/plots.html +++ b/dev/plots.html @@ -5,14 +5,14 @@ Plots.jl | DimensionalData.jl - - + + - + - - - + + + @@ -20,12 +20,12 @@ -
Skip to content

Plots.jl

Plots.jl and Makie.jl functions mostly work out of the box on AbstractDimArray, although not with the same results - they choose to follow each packages default behaviour as much as possible.

This will plot a line plot with 'a', 'b' and 'c' in the legend, and values 1-10 on the labelled X axis:

Plots.jl support is deprecated, as development is moving to Makie.jl

Makie.jl

Makie.jl functions also mostly work with AbstractDimArray and will permute and reorder axes into the right places, especially if X/Y/Z/Ti dimensions are used.

In Makie a DimMatrix will plot as a heatmap by default, but it will have labels and axes in the right places:

julia
using DimensionalData, CairoMakie
+    
Skip to content

Plots.jl

Plots.jl and Makie.jl functions mostly work out of the box on AbstractDimArray, although not with the same results - they choose to follow each packages default behaviour as much as possible.

This will plot a line plot with 'a', 'b' and 'c' in the legend, and values 1-10 on the labelled X axis:

Plots.jl support is deprecated, as development is moving to Makie.jl

Makie.jl

Makie.jl functions also mostly work with AbstractDimArray and will permute and reorder axes into the right places, especially if X/Y/Z/Ti dimensions are used.

In Makie a DimMatrix will plot as a heatmap by default, but it will have labels and axes in the right places:

julia
using DimensionalData, CairoMakie
 
 A = rand(X(10:10:100), Y([:a, :b, :c]))
-Makie.plot(A; colormap=:inferno)

Other plots also work, here DD ignores the axis order and instead favours the categorical variable for the X axis:

julia
Makie.rainclouds(A)

Test series plots

default colormap

julia
B = rand(X(10:10:100), Y([:a, :b, :c, :d, :e, :f, :g, :h, :i, :j]))
-Makie.series(B)

A different colormap

The colormap is controlled by the color argument, which can take as an input a named colormap, i.e. :plasma or a list of colours.

julia
Makie.series(B; color=:plasma)

julia
Makie.series(A; color=[:red, :blue, :orange])

with markers

julia
Makie.series(A; color=[:red, :blue, :orange], markersize=15)

A lot more is planned for Makie.jl plots in future!

- +Makie.plot(A; colormap=:inferno)

Other plots also work, here DD ignores the axis order and instead favours the categorical variable for the X axis:

julia
Makie.rainclouds(A)

Test series plots

default colormap

julia
B = rand(X(10:10:100), Y([:a, :b, :c, :d, :e, :f, :g, :h, :i, :j]))
+Makie.series(B)

A different colormap

The colormap is controlled by the color argument, which can take as an input a named colormap, i.e. :plasma or a list of colours.

julia
Makie.series(B; color=:plasma)

julia
Makie.series(A; color=[:red, :blue, :orange])

with markers

julia
Makie.series(A; color=[:red, :blue, :orange], markersize=15)

A lot more is planned for Makie.jl plots in future!

+ \ No newline at end of file diff --git a/dev/selectors.html b/dev/selectors.html index 75b26057f..d8c2540e0 100644 --- a/dev/selectors.html +++ b/dev/selectors.html @@ -5,14 +5,14 @@ Selectors | DimensionalData.jl - - + + - + - - - + + + @@ -20,37 +20,37 @@ -
Skip to content

Selectors

As well as choosing dimensions by name, we can also select values in them.

First, we can create DimArray with lookup values as well as dimension names:

julia
using DimensionalData
julia
julia> A = rand(X(1.0:0.2:2.0), Y([:a, :b, :c]))
╭─────────────────────────╮
+    
Skip to content

Selectors

In addition to choosing dimensions by name, we can also select values within them.

First, we can create a DimArray with lookup values as well as dimension names:

julia
using DimensionalData
julia
julia> A = rand(X(1.0:0.2:2.0), Y([:a, :b, :c]))
╭─────────────────────────╮
 6×3 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.2:2.0 ForwardOrdered Regular Points,
 Y Categorical{Symbol} [:a, :b, :c] ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
-   :a        :b         :c
- 1.0  0.772277  0.536911   0.101231
- 1.2  0.711133  0.0653496  0.339858
- 1.4  0.883222  0.748041   0.191494
- 1.6  0.802776  0.621603   0.341976
- 1.8  0.156538  0.768488   0.87255
- 2.0  0.969079  0.869012   0.415714

Then we can use Selector to select values from the array:

At(x) gets the index or indices exactly matching the passed in value/s.

julia
julia> A[X=At(1.2), Y=At(:c)]
0.33985840915074383

Or within a tolerance:

julia
julia> A[X=At(0.99:0.201:1.5; atol=0.05)]
╭─────────────────────────╮
+   :a        :b        :c
+ 1.0  0.782081  0.381692  0.751977
+ 1.2  0.836407  0.992013  0.806006
+ 1.4  0.429267  0.367576  0.376108
+ 1.6  0.127082  0.114532  0.0943594
+ 1.8  0.677743  0.354013  0.910098
+ 2.0  0.822783  0.874735  0.144269

Then we can use the Selector to select values from the array:

The At(x) selector gets the index or indices exactly matching the passed in value(s).

julia
julia> A[X=At(1.2), Y=At(:c)]
0.806005979085237

Or within a tolerance:

julia
julia> A[X=At(0.99:0.201:1.5; atol=0.05)]
╭─────────────────────────╮
 3×3 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} [1.0, 1.2, 1.4] ForwardOrdered Irregular Points,
 Y Categorical{Symbol} [:a, :b, :c] ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
-   :a        :b         :c
- 1.0  0.772277  0.536911   0.101231
- 1.2  0.711133  0.0653496  0.339858
- 1.4  0.883222  0.748041   0.191494

At can also take vectors and ranges:

julia
julia> A[X=At(1.2:0.2:1.5), Y=At([:a, :c])]
╭─────────────────────────╮
+   :a        :b        :c
+ 1.0  0.782081  0.381692  0.751977
+ 1.2  0.836407  0.992013  0.806006
+ 1.4  0.429267  0.367576  0.376108

At can also take vectors and ranges:

julia
julia> A[X=At(1.2:0.2:1.5), Y=At([:a, :c])]
╭─────────────────────────╮
 2×2 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} [1.2, 1.4] ForwardOrdered Irregular Points,
 Y Categorical{Symbol} [:a, :c] ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
    :a        :c
- 1.2  0.711133  0.339858
- 1.4  0.883222  0.191494

Lookups

Selectors find indices in the Lookup of each dimension. Lookups wrap other AbstractArray (often AbstractRange) but add additional traits to facilitate fast lookups or specifying point or interval behaviour. These are usually detected automatically.

julia
using DimensionalData.Lookups

Sampled(x) lookups hold values sampled along an axis. They may be Ordered/Unordered, Intervals/Points, and Regular/Irregular.

Most of these properties are usually detected automatically, but here we create a Sampled lookup manually:

julia
julia> l = Sampled(10.0:10.0:100.0; order=ForwardOrdered(), span=Regular(10.0), sampling=Intervals(Start()))
Sampled{Float64} ForwardOrdered Regular Intervals{Start}
-wrapping: 10.0:10.0:100.0

To specify Irregular Intervals we should include the outer bounds of the lookup, as we cant determine them from the vector.

julia
julia> l = Sampled([13, 8, 5, 3, 2, 1]; order=ForwardOrdered(), span=Irregular(1, 21), sampling=Intervals(Start()))
Sampled{Int64} ForwardOrdered Irregular Intervals{Start}
+ 1.2  0.836407  0.806006
+ 1.4  0.429267  0.376108

Lookups

Selectors find indices in the Lookup of each dimension. Lookups wrap other AbstractArray (often AbstractRange) but add additional traits to facilitate fast lookups or specifying point or interval behaviour. These are usually detected automatically.

julia
using DimensionalData.Lookups

The Sampled(x) lookup holds values sampled along an axis. They may be Ordered/Unordered, Intervals/Points, and Regular/Irregular.

Most of these properties are usually detected automatically, but here we create a Sampled lookup manually:

julia
julia> l = Sampled(10.0:10.0:100.0; order=ForwardOrdered(), span=Regular(10.0), sampling=Intervals(Start()))
Sampled{Float64} ForwardOrdered Regular Intervals{Start}
+wrapping: 10.0:10.0:100.0

To specify Irregular Intervals, we should include the outer bounds of the lookup, as we can't determine them from the vector.

julia
julia> l = Sampled([13, 8, 5, 3, 2, 1]; order=ForwardOrdered(), span=Irregular(1, 21), sampling=Intervals(Start()))
Sampled{Int64} ForwardOrdered Irregular Intervals{Start}
 wrapping: 6-element Vector{Int64}:
  13
   8
@@ -64,82 +64,82 @@
 Y Categorical{Symbol} [:a, :b, :c, :d, :e] ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
    :a        :b        :c        :d        :e
- 10    0.441181  0.12452   0.201129  0.12668   0.647225
- 20    0.621662  0.196478  0.792553  0.575595  0.357367
- 30    0.72217   0.791844  0.883323  0.915251  0.246886
- 40    0.896257  0.758149  0.679453  0.506221  0.667841
- 50    0.301659  0.229418  0.442111  0.680987  0.0429074
- 60    0.973622  0.228248  0.882656  0.396585  0.870348
- 70    0.942925  0.749731  0.683795  0.687921  0.825204

This array has a Sampled lookup with ForwardOrdered Regular Points for X, and a Categorical ForwardOrdered for Y.

Most lookup types and properties are detected automatically like this from the arrays and ranges used.

  • Arrays and ranges of String, Symbol and Char are set to Categorical lookup.

    • order is detected as Unordered, ForwardOrdered or ReverseOrdered
  • Arrays and ranges of Number, DateTime and other things are set to Sampled lookups.

    • order is detected as Unordered, ForwardOrdered or ReverseOrdered.

    • sampling is set to Points() unless the values are IntervalSets.Interval, then Intervals(Center()) is used.

    • span is detected as Regular(step(range)) for AbstractRange and Irregular(nothing, nothing) for other AbstractArray, where nothing, nothing are the unknown outer bounds of the lookup. They are not needed for Points as the outer values are the outer bounds. But they can be specified manually for Intervals

    • Empty dimensions or dimension types are assigned NoLookup() ranges that can't be used with selectors as they hold no values.

DimSelector

We can also index with arrays of selectors DimSelectors. These are like CartesianIndices or DimIndices but holding Selectors At, Near or Contains.

julia
julia> A = rand(X(1.0:0.2:2.0), Y(10:2:20))
╭─────────────────────────╮
+ 10    0.659048  0.883222  0.621603  0.41767   0.48849
+ 20    0.796999  0.872742  0.768488  0.594101  0.956886
+ 30    0.27736   0.530405  0.721125  0.530389  0.00114293
+ 40    0.444305  0.226064  0.806166  0.794725  0.522816
+ 50    0.184738  0.764895  0.496058  0.298029  0.305342
+ 60    0.772277  0.86273   0.973357  0.491103  0.927836
+ 70    0.711133  0.748041  0.925367  0.976465  0.239921

This array has a Sampled lookup with ForwardOrdered Regular Points for X, and a Categorical ForwardOrdered for Y.

Most lookup types and properties are detected automatically like this from the arrays and ranges used.

  • Arrays and ranges of String, Symbol, and Char are set to Categorical lookup.

    • order is detected as Unordered, ForwardOrdered, or ReverseOrdered
  • Arrays and ranges of Number, DateTime, and other things are set to Sampled lookups.

    • order is detected as Unordered, ForwardOrdered, or ReverseOrdered.

    • sampling is set to Points() unless the values are IntervalSets.Interval, then Intervals(Center()) is used.

    • span is detected as Regular(step(range)) for AbstractRange and Irregular(nothing, nothing) for other AbstractArray, where nothing, nothing are the unknown outer bounds of the lookup. They are not needed for Points as the outer values are the outer bounds. But they can be specified manually for Intervals

    • Empty dimensions or dimension types are assigned NoLookup() ranges that can't be used with selectors as they hold no values.

DimSelector

We can also index with arrays of selectors DimSelectors. These are like CartesianIndices or DimIndices, but holding the Selectors At, Near, or Contains.

julia
julia> A = rand(X(1.0:0.2:2.0), Y(10:2:20))
╭─────────────────────────╮
 6×6 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.2:2.0 ForwardOrdered Regular Points,
 Y Sampled{Int64} 10:2:20 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  10          12         14          16         18         20
- 1.0   0.11787     0.664642   0.0831822   0.528009   0.631878   0.990294
- 1.2   0.0905873   0.30391    0.552153    0.229792   0.29205    0.610173
- 1.4   0.495624    0.810377   0.578253    0.574678   0.371583   0.460775
- 1.6   0.263531    0.361536   0.753597    0.568763   0.564657   0.788252
- 1.8   0.388768    0.44818    0.0300922   0.896624   0.952489   0.216905
- 2.0   0.422318    0.499307   0.228081    0.823123   0.10454    0.931705

We can define another array with partly matching indices

julia
julia> B = rand(X(1.0:0.04:2.0), Y(20:-1:10))
╭───────────────────────────╮
+  10          12           14         16         18         20
+ 1.0   0.672504    0.72217      0.196478   0.650675   0.238831   0.396585
+ 1.2   0.71372     0.896257     0.791844   0.97293    0.570603   0.687921
+ 1.4   0.905616    0.00498986   0.758149   0.883323   0.929034   0.880178
+ 1.6   0.0928922   0.307762     0.229418   0.679453   0.21921    0.855976
+ 1.8   0.441181    0.651538     0.75985    0.442111   0.506221   0.0575993
+ 2.0   0.621662    0.314906     0.152068   0.882656   0.680987   0.771237

We can define another array with partly matching indices

julia
julia> B = rand(X(1.0:0.04:2.0), Y(20:-1:10))
╭───────────────────────────╮
 26×11 DimArray{Float64,2}
 ├───────────────────────────┴──────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.04:2.0 ForwardOrdered Regular Points,
 Y Sampled{Int64} 20:-1:10 ReverseOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
    20          19         1812          11         10
- 1.0    0.300304    0.660657   0.677543      0.712342    0.806495   0.727464
- 1.04   0.421525    0.835674   0.458427      0.248873    0.412078   0.455255
- 1.08   0.399781    0.824659   0.392334      0.675459    0.95213    0.91666
- 1.12   0.717006    0.623124   0.482654      0.964964    0.304266   0.313361
+ 1.0    0.0775482   0.473944   0.898833      0.746037    0.594523   0.312277
+ 1.04   0.838572    0.631878   0.429465      0.812342    0.737151   0.5053
+ 1.08   0.166221    0.29205    0.244582      0.363678    0.801242   0.328169
+ 1.12   0.11787     0.371583   0.400001      0.92906     0.337296   0.760043
  ⋮                                       ⋱               ⋮
- 1.84   0.880853    0.578329   0.394576      0.255579    0.750947   0.27206
- 1.88   0.363918    0.533041   0.545522      0.516268    0.531012   0.503183
- 1.92   0.259597    0.358535   0.748884      0.575727    0.227865   0.865713
- 1.96   0.34589     0.94196    0.657054  …   0.728852    0.462859   0.767151
- 2.0    0.0143204   0.985407   0.476387      0.0417586   0.286      0.777391

And we can simply select values from B with selectors from A:

julia
julia> B[DimSelectors(A)]
╭─────────────────────────╮
+ 1.84   0.528009    0.951796   0.188707      0.0411113   0.608263   0.993001
+ 1.88   0.229792    0.565165   0.910836      0.162784    0.410125   0.699118
+ 1.92   0.574678    0.618541   0.187648      0.952744    0.583476   0.460775
+ 1.96   0.89559     0.812106   0.953145  …   0.727405    0.559465   0.788252
+ 2.0    0.595409    0.630782   0.298791      0.391258    0.320737   0.216905

And we can simply select values from B with selectors from A:

julia
julia> B[DimSelectors(A)]
╭─────────────────────────╮
 6×6 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} [1.0, 1.2, …, 1.8, 2.0] ForwardOrdered Irregular Points,
 Y Sampled{Int64} [10, 12, …, 18, 20] ReverseOrdered Irregular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  10         12          14         16          18         20
- 1.0   0.727464   0.712342    0.14203    0.207735    0.677543   0.300304
- 1.2   0.815253   0.642187    0.49973    0.0387029   0.319496   0.887979
- 1.4   0.391307   0.197423    0.166425   0.48124     0.300285   0.0574938
- 1.6   0.49224    0.795274    0.24625    0.735391    0.699976   0.973586
- 1.8   0.539197   0.0661958   0.811917   0.822008    0.848624   0.930699
- 2.0   0.777391   0.0417586   0.873218   0.834418    0.476387   0.0143204

If the lookups aren't aligned we can use Near instead of At, which like doing a nearest neighbor interpolation:

julia
julia> C = rand(X(1.0:0.007:2.0), Y(10.0:0.9:30))
╭────────────────────────────╮
+  10         12         14          16          18          20
+ 1.0   0.312277   0.746037   0.0623229   0.930614    0.898833    0.0775482
+ 1.2   0.825676   0.208304   0.232648    0.856029    0.649595    0.495624
+ 1.4   0.87475    0.403556   0.0990865   0.571126    0.0564029   0.909826
+ 1.6   0.939546   0.097066   0.139173    0.0566306   0.833475    0.0831822
+ 1.8   0.747695   0.721253   0.998253    0.781923    0.554833    0.228081
+ 2.0   0.216905   0.391258   0.719849    0.127621    0.298791    0.595409

If the lookups aren't aligned, we can use Near instead of At, which is like doing a nearest neighbor interpolation:

julia
julia> C = rand(X(1.0:0.007:2.0), Y(10.0:0.9:30))
╭────────────────────────────╮
 143×23 DimArray{Float64,2}
 ├────────────────────────────┴─────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:0.007:1.994 ForwardOrdered Regular Points,
 Y Sampled{Float64} 10.0:0.9:29.8 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-    10.0         10.928.0        28.9        29.8
- 1.0     0.168617     0.417756       0.258764    0.195897    0.747615
- 1.007   0.395053     0.994295       0.770101    0.403836    0.891596
- 1.014   0.144422     0.370454       0.878565    0.753744    0.0149561
- 1.021   0.938771     0.917143       0.679296    0.180397    0.436168
- ⋮                               ⋱
- 1.966   0.454047     0.92977        0.662833    0.160403    0.276742
- 1.973   0.846736     0.0923954  …   0.43915     0.405912    0.245638
- 1.98    0.946655     0.0506805      0.0821229   0.0787968   0.613895
- 1.987   0.00686195   0.266013       0.485952    0.193179    0.0628947
- 1.994   0.84475      0.574619       0.0760101   0.950007    0.662413
julia
julia> C[DimSelectors(A; selectors=Near)]
╭─────────────────────────╮
+    10.0       10.9       11.828.0       28.9       29.8
+ 1.0     0.412631   0.707629   0.640577       0.329029   0.945549   0.505129
+ 1.007   0.300304   0.66424    0.948532       0.565649   0.27236    0.782344
+ 1.014   0.421525   0.564636   0.267693       0.861783   0.53422    0.906871
+ 1.021   0.399781   0.381315   0.970303       0.449093   0.560553   0.565202
+ ⋮                                        ⋱
+ 1.966   0.608086   0.605375   0.336929       0.891637   0.537974   0.509288
+ 1.973   0.500679   0.179953   0.183503   …   0.851044   0.206886   0.824656
+ 1.98    0.673494   0.613381   0.0136364      0.427523   0.397621   0.742451
+ 1.987   0.294489   0.949143   0.520037       0.307031   0.18378    0.531598
+ 1.994   0.725774   0.525431   0.870641       0.919448   0.09814    0.331422
julia
julia> C[DimSelectors(A; selectors=Near)]
╭─────────────────────────╮
 6×6 DimArray{Float64,2}
 ├─────────────────────────┴────────────────────────────────────────────── dims ┐
 X Sampled{Float64} [1.0, 1.203, …, 1.798, 1.994] ForwardOrdered Irregular Points,
 Y Sampled{Float64} [10.0, 11.8, …, 18.1, 19.9] ForwardOrdered Irregular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-    10.0        11.8        13.6        16.3        18.1       19.9
- 1.0     0.168617    0.397386    0.133475    0.0630398   0.247976   0.145293
- 1.203   0.233685    0.243195    0.331147    0.584048    0.717841   0.832538
- 1.399   0.0164892   0.729706    0.0315018   0.899356    0.847872   0.358513
- 1.602   0.0426808   0.61781     0.808889    0.140817    0.188976   0.054083
- 1.798   0.226699    0.0983553   0.661444    0.750622    0.650842   0.986606
- 1.994   0.84475     0.366873    0.734751    0.590953    0.621527   0.23502
- + 10.0 11.8 13.6 16.3 18.1 19.9 + 1.0 0.412631 0.640577 0.505726 0.371838 0.49487 0.0639461 + 1.203 0.824659 0.913321 0.510752 0.29488 0.154653 0.647062 + 1.399 0.366634 0.653364 0.568727 0.925888 0.660823 0.645043 + 1.602 0.0515532 0.324073 0.424831 0.808144 0.838211 0.71953 + 1.798 0.205861 0.414017 0.453507 0.526825 0.180915 0.125626 + 1.994 0.725774 0.870641 0.484227 0.0294193 0.6675 0.712805
+ \ No newline at end of file diff --git a/dev/stacks.html b/dev/stacks.html index c38488a0e..7cc96a180 100644 --- a/dev/stacks.html +++ b/dev/stacks.html @@ -5,14 +5,14 @@ DimStacks | DimensionalData.jl - - + + - + - - - + + + @@ -20,7 +20,7 @@ -
Skip to content

DimStacks

An AbstractDimStack represents a collection of AbstractDimArray layers that share some or all dimensions. For any two layers, a dimension of the same name must have the identical lookup - in fact only one is stored for all layers to enforce this consistency.

julia
julia> using DimensionalData
+    
Skip to content

DimStacks

An AbstractDimStack represents a collection of AbstractDimArray layers that share some or all dimensions. For any two layers, a dimension of the same name must have the identical lookup - in fact, only one is stored for all layers to enforce this consistency.

julia
julia> using DimensionalData
 
 julia> x, y = X(1.0:10.0), Y(5.0:10.0)
(X 1.0:1.0:10.0,
 Y 5.0:1.0:10.0)
julia
julia> st = DimStack((a=rand(x, y), b=rand(x, y), c=rand(y), d=rand(x)))
╭───────────────╮
@@ -33,33 +33,33 @@
   :b eltype: Float64 dims: X, Y size: 10×6
   :c eltype: Float64 dims: Y size: 6
   :d eltype: Float64 dims: X size: 10
-└──────────────────────────────────────────────────────────────────────────────┘

The behaviour of a DimStack is at times like a NamedTuple of DimArray and, others an AbstractArray of NamedTuple.

NamedTuple-like indexing

Layers can be accessed with .name or [:name]

julia
julia> st.a
╭────────────────────────────╮
+└──────────────────────────────────────────────────────────────────────────────┘

The behavior of a DimStack is at times like a NamedTuple of DimArray and, at other times, an AbstractArray of NamedTuple.

NamedTuple-like indexing

Layers can be accessed with .name or [:name]

julia
julia> st.a
╭────────────────────────────╮
 10×6 DimArray{Float64,2} a
 ├────────────────────────────┴─────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:1.0:10.0 ForwardOrdered Regular Points,
 Y Sampled{Float64} 5.0:1.0:10.0 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  5.0       6.0       7.0        8.0        9.0        10.0
-  1.0  0.111155  0.87656   0.0963009  0.257129   0.11311     0.781497
-  2.0  0.386306  0.668226  0.278077   0.52735    0.775634    0.440884
-  3.0  0.348826  0.691687  0.964227   0.76448    0.0852624   0.52036
-  4.0  0.520184  0.484929  0.013144   0.269905   0.204084    0.117737
-  5.0  0.451525  0.247586  0.602631   0.793532   0.842029    0.0683416
-  6.0  0.669966  0.640974  0.0171909  0.749553   0.433769    0.452694
-  7.0  0.969881  0.130252  0.369225   0.518483   0.0141696   0.714084
-  8.0  0.517605  0.93358   0.515445   0.0758114  0.193109    0.150559
-  9.0  0.072176  0.474535  0.778122   0.0768485  0.80023     0.91305
- 10.0  0.854239  0.735973  0.0102776  0.0299112  0.537046    0.938732
julia
julia> st[:c]
╭─────────────────────────────────╮
+  5.0        6.0        7.0        8.0        9.0       10.0
+  1.0  0.105474   0.924846   0.935937   0.956044   0.841169   0.178846
+  2.0  0.606746   0.31628    0.745734   0.912254   0.581458   0.287284
+  3.0  0.0461633  0.0979352  0.497456   0.940199   0.459336   0.477439
+  4.0  0.341785   0.25853    0.788056   0.392071   0.277507   0.048092
+  5.0  0.275784   0.130942   0.0251457  0.0883392  0.257433   0.0878344
+  6.0  0.659836   0.220699   0.249439   0.0571503  0.192702   0.620657
+  7.0  0.168617   0.842552   0.935022   0.544803   0.970824   0.704105
+  8.0  0.395053   0.565883   0.19689    0.569194   0.317199   0.574623
+  9.0  0.790418   0.0329394  0.389598   0.879411   0.780527   0.579492
+ 10.0  0.113361   0.106544   0.8698     0.722335   0.544125   0.562491
julia
julia> st[:c]
╭─────────────────────────────────╮
 6-element DimArray{Float64,1} c
 ├─────────────────────────────────┴────────────────────────────────────── dims ┐
 Y Sampled{Float64} 5.0:1.0:10.0 ForwardOrdered Regular Points
 └──────────────────────────────────────────────────────────────────────────────┘
-  5.0  0.0406084
-  6.0  0.01576
-  7.0  0.104261
-  8.0  0.12714
-  9.0  0.370194
- 10.0  0.48022

Array-like indexing

Indexing with a scalar returns a NamedTuple of values, one for each layer:

julia
julia> st[X=1, Y=4]
(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)

Reducing functions

Base functions like mean, maximum, reverse are applied to all layers of the stack.

julia
using Statistics
julia
julia> maximum(st)
(a = 0.9698812177371097, b = 0.9982064541308482, c = 0.4802202427553709, d = 0.9919365440188083)
julia
julia> maximum(st; dims=Y)
╭───────────────╮
+  5.0  0.150559
+  6.0  0.91305
+  7.0  0.938732
+  8.0  0.498429
+  9.0  0.887397
+ 10.0  0.576224

Array-like indexing

Indexing with a scalar returns a NamedTuple of values, one for each layer:

julia
julia> st[X=1, Y=4]
(a = 0.9560436529181846, b = 0.5154448003579335, c = 0.49842910686075803, d = 0.48240020633837055)

Reducing functions

Base functions like mean, maximum, reverse are applied to all layers of the stack.

julia
using Statistics
julia
julia> maximum(st)
(a = 0.9708243398463525, b = 0.97164033242648, c = 0.938732432349465, d = 0.8030281996030815)
julia
julia> maximum(st; dims=Y)
╭───────────────╮
 10×1 DimStack
 ├───────────────┴──────────────────────────────────────────────────────── dims ┐
 X Sampled{Float64} 1.0:1.0:10.0 ForwardOrdered Regular Points,
@@ -69,7 +69,7 @@
   :b eltype: Float64 dims: X, Y size: 10×1
   :c eltype: Float64 dims: Y size: 1
   :d eltype: Float64 dims: X size: 10
-└──────────────────────────────────────────────────────────────────────────────┘

broadcast_dims broadcasts functions over any mix of AbstractDimStack and AbstractDimArray returning a new AbstractDimStack with layers the size of the largest layer in the broadcast. This will work even if dimension permutation does not match in the objects.

Only matrix layers can be rotated

julia
julia> rotl90(st[(:a, :b)])
╭───────────────╮
+└──────────────────────────────────────────────────────────────────────────────┘

broadcast_dims broadcasts functions over any mix of AbstractDimStack and AbstractDimArray returning a new AbstractDimStack with layers the size of the largest layer in the broadcast. This will work even if dimension permutation does not match in the objects.

Only matrix layers can be rotated

julia
julia> rotl90(st[(:a, :b)])
╭───────────────╮
 6×10 DimStack
 ├───────────────┴──────────────────────────────────────────────────────── dims ┐
 Y Sampled{Float64} 10.0:-1.0:5.0 ReverseOrdered Regular Points,
@@ -85,12 +85,12 @@
 ├────────────────────────────────────────────────────────────────────── layers ┤
   :a eltype: Float64 dims: X, Y size: 10×6
   :b eltype: Float64 dims: X, Y size: 10×6
-└──────────────────────────────────────────────────────────────────────────────┘

Performance

Indexing stack is fast - indexing a single value return a NamedTuple from all layers is usually measures in nanoseconds, and no slower than manually indexing into each parent array directly.

There are some compilation overheads to this though, and stacks with very many layers can take a long time to compile.

julia
julia> using BenchmarkTools
+└──────────────────────────────────────────────────────────────────────────────┘

Performance

Indexing a stack is fast - indexing a single value and returning a NamedTuple from all layers is usually measured in nanoseconds, and no slower than manually indexing into each parent array directly.

There are some compilation overheads to this though, and stacks with very many layers can take a long time to compile.

julia
julia> using BenchmarkTools
 
-julia> @btime $st[X=1, Y=4]
  4.028 ns (0 allocations: 0 bytes)
-(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
julia
julia> @btime $st[1, 4]
  4.028 ns (0 allocations: 0 bytes)
-(a = 0.2571287355813575, b = 0.925267535912165, c = 0.12713970284423626, d = 0.3258728635315493)
- +julia> @btime $st[X=1, Y=4]
  4.067 ns (0 allocations: 0 bytes)
+(a = 0.9560436529181846, b = 0.5154448003579335, c = 0.49842910686075803, d = 0.48240020633837055)
julia
julia> @btime $st[1, 4]
  4.038 ns (0 allocations: 0 bytes)
+(a = 0.9560436529181846, b = 0.5154448003579335, c = 0.49842910686075803, d = 0.48240020633837055)
+ \ No newline at end of file diff --git a/dev/tables.html b/dev/tables.html index dbc8cbeab..274f14d35 100644 --- a/dev/tables.html +++ b/dev/tables.html @@ -5,14 +5,14 @@ Tables and DataFrames | DimensionalData.jl - - + + - + - - - + + + @@ -20,11 +20,11 @@ -
Skip to content

Tables and DataFrames

Tables.jl provides an ecosystem-wide interface to tabular data in Julia, giving interoperability with DataFrames.jl, CSV.jl and hundreds of other packages that implement the standard.

DimensionalData.jl implements the Tables.jl interface for AbstractDimArray and AbstractDimStack. DimStack layers are unrolled so they are all the same size, and dimensions loop to match the length of the largest layer.

Columns are given the name or the array or the stack layer key. Dimension columns use the Symbol version (the result of DD.name(dimension)).

Looping of dimensions and stack layers is done lazily, and does not allocate unless collected.

Example

julia
using DimensionalData
+    
Skip to content

Tables and DataFrames

Tables.jl provides an ecosystem-wide interface to tabular data in Julia, ensuring interoperability with DataFrames.jl, CSV.jl, and hundreds of other packages that implement the standard.

DimensionalData.jl implements the Tables.jl interface for AbstractDimArray and AbstractDimStack. DimStack layers are unrolled so they are all the same size, and dimensions loop to match the length of the largest layer.

Columns are given the name of the array or stack layer, and the result of DD.name(dimension) for Dimension columns.

Looping of dimensions and stack layers is done lazily, and does not allocate unless collected.

Example

julia
using DimensionalData
 using Dates
 using DataFrames

Define some dimensions:

julia
julia> x, y, c = X(1:10), Y(1:10), Dim{:category}('a':'z')
(X        1:10,
 Y        1:10,
-category 'a':1:'z')
julia
julia> A = rand(x, y, c; name=:data)
╭───────────────────────────────────╮
+category 'a':1:'z')
julia
julia> A = rand(x, y, c; name=:data)
╭───────────────────────────────────╮
 10×10×26 DimArray{Float64,3} data
 ├───────────────────────────────────┴──────────────────────────────────── dims ┐
 X        Sampled{Int64} 1:10 ForwardOrdered Regular Points,
@@ -32,59 +32,59 @@
 category Categorical{Char} 'a':1:'z' ForwardOrdered
 └──────────────────────────────────────────────────────────────────────────────┘
 [:, :, 1]
-  1         2         38          9         10
-  1    0.921958  0.128827  0.517175       0.947312   0.743407   0.0120967
-  2    0.449491  0.176024  0.914911       0.674061   0.291555   0.266342
-  3    0.581131  0.436605  0.694066       0.0325131  0.645678   0.620473
-  4    0.194849  0.580091  0.176766       0.888721   0.890574   0.985377
-  ⋮                                    ⋱                        ⋮
-  7    0.191934  0.359421  0.51621        0.828161   0.516313   0.74172
-  8    0.450701  0.341133  0.00110588     0.190482   0.245671   0.819605
-  9    0.336376  0.636476  0.45655        0.16484    0.294486   0.457841
- 10    0.963657  0.353968  0.199484    …  0.104763   0.887294   0.670607

Converting to DataFrame

Arrays will have columns for each dimension, and only one data column

julia
julia> DataFrame(A)
2600×4 DataFrame
+  1          2         38         9         10
+  1    0.846254   0.684303  0.939201     0.61378   0.231047   0.0950183
+  2    0.782777   0.224351  0.240351     0.319803  0.554735   0.99531
+  3    0.807522   0.767136  0.390515     0.207789  0.204906   0.605097
+  4    0.960754   0.73427   0.71403      0.317665  0.685225   0.66882
+  ⋮                                   ⋱                       ⋮
+  7    0.685603   0.444969  0.899242     0.374729  0.778193   0.556711
+  8    0.0987646  0.628875  0.901156     0.571628  0.652397   0.057459
+  9    0.596036   0.110489  0.215681     0.998548  0.918952   0.806689
+ 10    0.603358   0.245564  0.431383  …  0.258165  0.233468   0.99726

Converting to DataFrame

Arrays will have columns for each dimension, and only one data column

julia
julia> DataFrame(A)
2600×4 DataFrame
   Row │ X      Y      category  data
  Int64  Int64  Char      Float64
-──────┼──────────────────────────────────
-    1 │     1      1  a         0.921958
-    2 │     2      1  a         0.449491
-    3 │     3      1  a         0.581131
-    4 │     4      1  a         0.194849
-    5 │     5      1  a         0.364097
-    6 │     6      1  a         0.022593
-    7 │     7      1  a         0.191934
-    8 │     8      1  a         0.450701
-  ⋮   │   ⋮      ⋮       ⋮         ⋮
- 2594 │     4     10  z         0.236866
- 2595 │     5     10  z         0.894053
- 2596 │     6     10  z         0.350024
- 2597 │     7     10  z         0.417756
- 2598 │     8     10  z         0.125477
- 2599 │     9     10  z         0.599789
- 2600 │    10     10  z         0.363373
-                        2585 rows omitted

Converting to CSV

We can also write arrays and stacks directly to CSV.jl, or any other data type supporting the Tables.jl interface.

julia
using CSV
+──────┼───────────────────────────────────
+    1 │     1      1  a         0.846254
+    2 │     2      1  a         0.782777
+    3 │     3      1  a         0.807522
+    4 │     4      1  a         0.960754
+    5 │     5      1  a         0.0965086
+    6 │     6      1  a         0.889194
+    7 │     7      1  a         0.685603
+    8 │     8      1  a         0.0987646
+  ⋮   │   ⋮      ⋮       ⋮          ⋮
+ 2594 │     4     10  z         0.404604
+ 2595 │     5     10  z         0.0769145
+ 2596 │     6     10  z         0.292495
+ 2597 │     7     10  z         0.227142
+ 2598 │     8     10  z         0.635786
+ 2599 │     9     10  z         0.210417
+ 2600 │    10     10  z         0.849817
+                         2585 rows omitted

Converting to CSV

We can also write arrays and stacks directly to CSV.jl, or any other data type supporting the Tables.jl interface.

julia
using CSV
 CSV.write("dimstack.csv", st)
 readlines("dimstack.csv")
2601-element Vector{String}:
  "X,Y,category,data1,data2"
- "1,1,a,0.5501481631111826,0.9447511416331498"
- "2,1,a,0.09300753748828394,0.15945803739833375"
- "3,1,a,0.48952511607945026,0.6146564273146751"
- "4,1,a,0.7938317326707394,0.9770663775826343"
- "5,1,a,0.0019198597596568057,0.798655984630017"
- "6,1,a,0.8612776980335002,0.6730273352488979"
- "7,1,a,0.20758428874582302,0.7683418213117802"
- "8,1,a,0.023646798570656102,0.012300334322905893"
- "9,1,a,0.11925244363082943,0.4278264986513013"
+ "1,1,a,0.4473266106898912,0.55560637324799"
+ "2,1,a,0.9655293490481315,0.10276733254788795"
+ "3,1,a,0.48748811097285394,0.22237128922242078"
+ "4,1,a,0.2674330482715843,0.5501481631111826"
+ "5,1,a,0.5992407552660244,0.09300753748828394"
+ "6,1,a,0.19219227965820063,0.48952511607945026"
+ "7,1,a,0.6072910004472037,0.7938317326707394"
+ "8,1,a,0.9219584479428687,0.0019198597596568057"
+ "9,1,a,0.9217489713778885,0.44833963865079907"
 
- "2,10,z,0.8146121812750928,0.3434655288098666"
- "3,10,z,0.38167574879167476,0.24524306337289326"
- "4,10,z,0.8719143923648308,0.1985699519321249"
- "5,10,z,0.5040228055200978,0.694278906020718"
- "6,10,z,0.35100608350331053,0.20636222545147498"
- "7,10,z,0.8560905731682101,0.8428656510212863"
- "8,10,z,0.04599641808658339,0.6150940338022266"
- "9,10,z,0.005163666306917225,0.768924169642427"
- "10,10,z,0.8288995877624121,0.8136963000324107"
- + "2,10,z,0.39189449474581917,0.42429962356614626" + "3,10,z,0.21066413424755615,0.836907965319872" + "4,10,z,0.10723267004015569,0.9630127530566065" + "5,10,z,0.9341886269251364,0.8219403925584018" + "6,10,z,0.29448593792551514,0.36851882799081104" + "7,10,z,0.6163310918833074,0.23350386812772128" + "8,10,z,0.020158765333216477,0.7959265671836858" + "9,10,z,0.3343926384599254,0.3777991041100621" + "10,10,z,0.4858762080349691,0.2276004407628871"
+ \ No newline at end of file

Modifying objects