Pkgdown Style Improvements and crossValidate with 1D Assay Robustness
... | ... |
@@ -3,8 +3,8 @@ Type: Package |
3 | 3 |
Title: A framework for cross-validated classification problems, with |
4 | 4 |
applications to differential variability and differential |
5 | 5 |
distribution testing |
6 |
-Version: 3.3.12 |
|
7 |
-Date: 2023-02-10 |
|
6 |
+Version: 3.3.13 |
|
7 |
+Date: 2023-02-13 |
|
8 | 8 |
Authors@R: |
9 | 9 |
c( |
10 | 10 |
person(given = "Dario", family = "Strbenac", email = "dario.strbenac@sydney.edu.au", role = c("aut", "cre")), |
... | ... |
@@ -473,9 +473,7 @@ setClassUnion("SelectParamsOrNULL", c("SelectParams", "NULL")) |
473 | 473 |
#' @docType class |
474 | 474 |
#' @section Constructor: |
475 | 475 |
#' \describe{ |
476 |
-#' \item |
|
477 |
-#' {\preformatted{SelectParams(featureRanking, characteristics = DataFrame(), minPresence = 1, intermediate = character(0),subsetToSelections = TRUE, tuneParams = list(nFeatures = seq(10, 100, 10), performanceType = "Balanced Accuracy"), ...)}} |
|
478 |
-#' {Creates a \code{SelectParams} object which stores the function(s) which will do the selection and parameters that the function will use.\cr |
|
476 |
+#' \item{\preformatted{SelectParams(featureRanking, characteristics = DataFrame(), minPresence = 1, intermediate = character(0),subsetToSelections = TRUE, tuneParams = list(nFeatures = seq(10, 100, 10), performanceType = "Balanced Accuracy"), ...)}}{Creates a \code{SelectParams} object which stores the function(s) which will do the selection and parameters that the function will use.\cr |
|
479 | 477 |
#' \describe{ |
480 | 478 |
#' \item{\code{featureRanking}}{A character keyword referring to a registered feature ranking function. See \code{\link{available}} for valid keywords.} |
481 | 479 |
#' \item{\code{characteristics}}{A \code{\link{DataFrame}} describing the characteristics of feature selection to be done. First column must be named \code{"charateristic"} and second column must be named \code{"value"}. If using wrapper functions for feature selection in this package, the feature selection name will automatically be generated and therefore it is not necessary to specify it.} |
... | ... |
@@ -163,7 +163,6 @@ setMethod("crossValidate", "DataFrame", |
163 | 163 |
# 3) Multi assays individually |
164 | 164 |
|
165 | 165 |
# We should probably transition this to use grid instead. |
166 |
- |
|
167 | 166 |
resClassifier <- |
168 | 167 |
sapply(assayIDs, function(assayIndex) { |
169 | 168 |
# Loop over assays |
... | ... |
@@ -212,7 +211,7 @@ setMethod("crossValidate", "DataFrame", |
212 | 211 |
if(!is.list(assayCombinations) && assayCombinations[1] == "all") assayCombinations <- do.call("c", sapply(seq_along(assayIDs), function(nChoose) combn(assayIDs, nChoose, simplify = FALSE))) |
213 | 212 |
|
214 | 213 |
result <- sapply(assayCombinations, function(assayIndex){ |
215 |
- CV(measurements = measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayIndex], |
|
214 |
+ CV(measurements = measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayIndex, drop = FALSE], |
|
216 | 215 |
outcome = outcome, assayIDs = assayIndex, |
217 | 216 |
nFeatures = nFeatures[assayIndex], |
218 | 217 |
selectionMethod = selectionMethod[assayIndex], |
... | ... |
@@ -246,7 +245,7 @@ setMethod("crossValidate", "DataFrame", |
246 | 245 |
} |
247 | 246 |
|
248 | 247 |
result <- sapply(assayCombinations, function(assayIndex){ |
249 |
- CV(measurements = measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayIndex], |
|
248 |
+ CV(measurements = measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayIndex, drop = FALSE], |
|
250 | 249 |
outcome = outcome, assayIDs = assayIndex, |
251 | 250 |
nFeatures = nFeatures[assayIndex], |
252 | 251 |
selectionMethod = selectionMethod[assayIndex], |
... | ... |
@@ -281,7 +280,7 @@ setMethod("crossValidate", "DataFrame", |
281 | 280 |
|
282 | 281 |
|
283 | 282 |
result <- sapply(assayCombinations, function(assayIndex){ |
284 |
- CV(measurements = measurements[, S4Vectors::mcols(measurements)$assay %in% assayIndex], |
|
283 |
+ CV(measurements = measurements[, S4Vectors::mcols(measurements)$assay %in% assayIndex, drop = FALSE], |
|
285 | 284 |
outcome = outcome, assayIDs = assayIndex, |
286 | 285 |
nFeatures = nFeatures[assayIndex], |
287 | 286 |
selectionMethod = selectionMethod[assayIndex], |
... | ... |
@@ -563,7 +562,7 @@ generateCrossValParams <- function(nRepeats, nFolds, nCores, selectionOptimisati |
563 | 562 |
} |
564 | 563 |
|
565 | 564 |
|
566 |
-# Returns a |
|
565 |
+# Returns a single parameter set. |
|
567 | 566 |
generateModellingParams <- function(assayIDs, |
568 | 567 |
measurements, |
569 | 568 |
nFeatures, |
... | ... |
@@ -722,7 +721,7 @@ generateMultiviewParams <- function(assayIDs, |
722 | 721 |
if(length(classifier) > 1) classifier <- classifier[[1]] |
723 | 722 |
|
724 | 723 |
# Split measurements up by assay. |
725 |
- assayTrain <- sapply(assayIDs, function(assayID) if(assayID == 1) measurements else measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayID], simplify = FALSE) |
|
724 |
+ assayTrain <- sapply(assayIDs, function(assayID) if(assayID == 1) measurements else measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayID, drop = FALSE], simplify = FALSE) |
|
726 | 725 |
|
727 | 726 |
# Generate params for each assay. This could be extended to have different selectionMethods for each type |
728 | 727 |
paramsAssays <- mapply(generateModellingParams, |
... | ... |
@@ -764,7 +763,7 @@ generateMultiviewParams <- function(assayIDs, |
764 | 763 |
if(multiViewMethod == "prevalidation"){ |
765 | 764 |
|
766 | 765 |
# Split measurements up by assay. |
767 |
- assayTrain <- sapply(assayIDs, function(assayID) measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayID], simplify = FALSE) |
|
766 |
+ assayTrain <- sapply(assayIDs, function(assayID) measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayID, drop = FALSE], simplify = FALSE) |
|
768 | 767 |
|
769 | 768 |
# Generate params for each assay. This could be extended to have different selectionMethods for each type |
770 | 769 |
paramsAssays <- mapply(generateModellingParams, |
... | ... |
@@ -794,7 +793,7 @@ generateMultiviewParams <- function(assayIDs, |
794 | 793 |
if(multiViewMethod == "PCA"){ |
795 | 794 |
|
796 | 795 |
# Split measurements up by assay. |
797 |
- assayTrain <- sapply(assayIDs, function(assayID) measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayID], simplify = FALSE) |
|
796 |
+ assayTrain <- sapply(assayIDs, function(assayID) measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayID, drop = FALSE], simplify = FALSE) |
|
798 | 797 |
|
799 | 798 |
# Generate params for each assay. This could be extended to have different selectionMethods for each type |
800 | 799 |
paramsClinical <- list(clinical = generateModellingParams( |
... | ... |
@@ -1039,7 +1038,7 @@ train.DataFrame <- function(x, outcomeTrain, selectionMethod = "auto", nFeatures |
1039 | 1038 |
|
1040 | 1039 |
### Merging or binding to combine data |
1041 | 1040 |
if(multiViewMethod == "merge"){ |
1042 |
- measurementsUse <- measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayIDs] |
|
1041 |
+ measurementsUse <- measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayIDs, drop = FALSE] |
|
1043 | 1042 |
model <- .doTrain(measurementsUse, outcomeTrain, NULL, NULL, crossValParams, modellingParams, verbose = 0)[["model"]] |
1044 | 1043 |
class(model) <- c("trainedByClassifyR", class(model)) |
1045 | 1044 |
} |
... | ... |
@@ -1048,7 +1047,7 @@ train.DataFrame <- function(x, outcomeTrain, selectionMethod = "auto", nFeatures |
1048 | 1047 |
### Prevalidation to combine data |
1049 | 1048 |
if(multiViewMethod == "prevalidation"){ |
1050 | 1049 |
# Split measurements up by assay. |
1051 |
- assayTrain <- sapply(assayIDs, function(assayID) measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayID], simplify = FALSE) |
|
1050 |
+ assayTrain <- sapply(assayIDs, function(assayID) measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayID, drop = FALSE], simplify = FALSE) |
|
1052 | 1051 |
|
1053 | 1052 |
# Generate params for each assay. This could be extended to have different selectionMethods for each type |
1054 | 1053 |
paramsAssays <- mapply(generateModellingParams, |
... | ... |
@@ -1071,10 +1070,10 @@ train.DataFrame <- function(x, outcomeTrain, selectionMethod = "auto", nFeatures |
1071 | 1070 |
|
1072 | 1071 |
### Principal Components Analysis to combine data |
1073 | 1072 |
if(multiViewMethod == "PCA"){ |
1074 |
- measurementsUse <- measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayIDs] |
|
1073 |
+ measurementsUse <- measurements[, S4Vectors::mcols(measurements)[["assay"]] %in% assayIDs, drop = FALSE] |
|
1075 | 1074 |
paramsClinical <- list(clinical = generateModellingParams( |
1076 | 1075 |
assayIDs = "clinical", |
1077 |
- measurements = measurements[, S4Vectors::mcols(measurements)[["assay"]] == "clinical"], |
|
1076 |
+ measurements = measurements[, S4Vectors::mcols(measurements)[["assay"]] == "clinical", drop = FALSE], |
|
1078 | 1077 |
classifier = classifier["clinical"], |
1079 | 1078 |
multiViewMethod = "none")) |
1080 | 1079 |
|
... | ... |
@@ -6,11 +6,12 @@ differentMeansRanking <- function(measurementsTrain, classesTrain, verbose = 3) |
6 | 6 |
|
7 | 7 |
pValues <- NULL |
8 | 8 |
categorical <- sapply(measurementsTrain, class) %in% c("character", "factor") |
9 |
- if(any(categorical)){ |
|
9 |
+ if(any(categorical)) { |
|
10 | 10 |
pValues[categorical] <- sapply(which(categorical), function(featureIndex){ |
11 |
- pval <- 1 |
|
12 |
- if(length(unique(measurementsTrain[, featureIndex])>1)) pval <- chisq.test(measurementsTrain[, featureIndex], classesTrain)$p.value |
|
13 |
- pval |
|
11 |
+ pval <- 1 |
|
12 |
+ if(length(unique(measurementsTrain[, featureIndex])) > 1) |
|
13 |
+ pval <- chisq.test(measurementsTrain[, featureIndex], classesTrain)$p.value |
|
14 |
+ pval |
|
14 | 15 |
}) |
15 | 16 |
} |
16 | 17 |
|
... | ... |
@@ -6,12 +6,12 @@ |
6 | 6 |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
7 | 7 |
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
8 | 8 |
<meta name="description" content="ClassifyR"> |
9 |
-<title>An Introduction to **ClassifyR** • ClassifyR</title> |
|
9 |
+<title>Getting Started with ClassifyR • ClassifyR</title> |
|
10 | 10 |
<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
11 | 11 |
<link href="../deps/bootstrap-5.1.3/bootstrap.min.css" rel="stylesheet"> |
12 | 12 |
<script src="../deps/bootstrap-5.1.3/bootstrap.bundle.min.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"> |
13 | 13 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"> |
14 |
-<!-- bootstrap-toc --><script src="https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.1/dist/bootstrap-toc.min.js"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- search --><script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js" integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js" integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous"></script><!-- pkgdown --><script src="../pkgdown.js"></script><meta property="og:title" content="An Introduction to **ClassifyR**"> |
|
14 |
+<!-- bootstrap-toc --><script src="https://cdn.jsdelivr.net/gh/afeld/bootstrap-toc@v1.0.1/dist/bootstrap-toc.min.js" integrity="sha256-4veVQbu7//Lk5TSmc7YV48MxtMy98e26cf5MrgZYnwo=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- search --><script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js" integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js" integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous"></script><!-- pkgdown --><script src="../pkgdown.js"></script><meta property="og:title" content="Getting Started with ClassifyR"> |
|
15 | 15 |
<meta property="og:description" content="ClassifyR"> |
16 | 16 |
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> |
17 | 17 |
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> |
... | ... |
@@ -22,11 +22,11 @@ |
22 | 22 |
<a href="#main" class="visually-hidden-focusable">Skip to contents</a> |
23 | 23 |
|
24 | 24 |
|
25 |
- <nav class="navbar fixed-top navbar-dark navbar-expand-lg bg-dark"><div class="container"> |
|
25 |
+ <nav class="navbar fixed-top navbar-light navbar-expand-lg bg-light"><div class="container"> |
|
26 | 26 |
|
27 | 27 |
<a class="navbar-brand me-2" href="../index.html">ClassifyR</a> |
28 | 28 |
|
29 |
- <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.3.2</small> |
|
29 |
+ <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.3.13</small> |
|
30 | 30 |
|
31 | 31 |
|
32 | 32 |
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation"> |
... | ... |
@@ -41,8 +41,16 @@ |
41 | 41 |
<li class="nav-item"> |
42 | 42 |
<a class="nav-link" href="../reference/index.html">Reference</a> |
43 | 43 |
</li> |
44 |
-<li class="nav-item"> |
|
45 |
- <a class="nav-link" href="../articles/index.html">Articles</a> |
|
44 |
+<li class="nav-item dropdown"> |
|
45 |
+ <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false" aria-haspopup="true" id="dropdown-articles">Articles</a> |
|
46 |
+ <div class="dropdown-menu" aria-labelledby="dropdown-articles"> |
|
47 |
+ <a class="dropdown-item" href="../articles/DevelopersGuide.html">**ClassifyR** Developer's Guide</a> |
|
48 |
+ <a class="dropdown-item" href="../articles/incorporateNew.html">Creating a Wrapper for New Functionality and Registering It</a> |
|
49 |
+ <a class="dropdown-item" href="../articles/introduction.html">Introduction to the Concepts of ClassifyR</a> |
|
50 |
+ <a class="dropdown-item" href="../articles/multiViewMethods.html">Multi-view Methods for Modelling of Multiple Data Views</a> |
|
51 |
+ <a class="dropdown-item" href="../articles/performanceEvaluation.html">Performance Evaluation of Fitted Models</a> |
|
52 |
+ <a class="dropdown-item" href="../articles/presets.html">Parameter Tuning Presets for crossValidate and Their Customisation</a> |
|
53 |
+ </div> |
|
46 | 54 |
</li> |
47 | 55 |
</ul> |
48 | 56 |
<form class="form-inline my-2 my-lg-0" role="search"> |
... | ... |
@@ -61,7 +69,7 @@ |
61 | 69 |
|
62 | 70 |
<div class="row"> |
63 | 71 |
<main id="main" class="col-md-9"><div class="page-header"> |
64 |
- <img src="" class="logo" alt=""><h1>An Introduction to ClassifyR</h1> |
|
72 |
+ <img src="" class="logo" alt=""><h1>Getting Started with ClassifyR</h1> |
|
65 | 73 |
<h4 data-toc-skip class="author">Dario Strbenac, |
66 | 74 |
Ellis Patrick, Graham Mann, Jean Yang, John Ormerod <br> The University |
67 | 75 |
of Sydney, Australia.</h4> |
... | ... |
@@ -125,7 +133,7 @@ Brush-based Classifier of Asthma Identified by Machine Learning Analysis |
125 | 133 |
of Nasal RNA Sequence Data</a>.</p> |
126 | 134 |
<p>Load the package.</p> |
127 | 135 |
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r"> |
128 |
-<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://sydneybiox.github.io/ClassifyR/">ClassifyR</a></span><span class="op">)</span></span></code></pre></div> |
|
136 |
+<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://sydneybiox.github.io/ClassifyR/" class="external-link">ClassifyR</a></span><span class="op">)</span></span></code></pre></div> |
|
129 | 137 |
<p>A glimpse at the RNA measurements and sample classes.</p> |
130 | 138 |
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r"> |
131 | 139 |
<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/utils/data.html" class="external-link">data</a></span><span class="op">(</span><span class="va">asthma</span><span class="op">)</span> <span class="co"># Contains measurements and classes variables.</span></span> |
... | ... |
@@ -260,8 +268,8 @@ of <em>measurements</em>.</p> |
260 | 268 |
using <em>mcols</em>. In the column metadata, each feature must have an |
261 | 269 |
<em>assay</em> and a <em>feature</em> name.</p> |
262 | 270 |
<div class="sourceCode" id="cb10"><pre class="downlit sourceCode r"> |
263 |
-<code class="sourceCode R"><span><span class="va">measurementsDF</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/pkg/S4Vectors/man/DataFrame-class.html" class="external-link">DataFrame</a></span><span class="op">(</span><span class="va">measurements</span><span class="op">)</span></span> |
|
264 |
-<span><span class="fu"><a href="https://rdrr.io/pkg/S4Vectors/man/Vector-class.html" class="external-link">mcols</a></span><span class="op">(</span><span class="va">measurementsDF</span><span class="op">)</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span></span> |
|
271 |
+<code class="sourceCode R"><span><span class="va">measurementsDF</span> <span class="op"><-</span> <span class="fu">DataFrame</span><span class="op">(</span><span class="va">measurements</span><span class="op">)</span></span> |
|
272 |
+<span><span class="fu">mcols</span><span class="op">(</span><span class="va">measurementsDF</span><span class="op">)</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span></span> |
|
265 | 273 |
<span> assay <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/rep.html" class="external-link">rep</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"assay_1"</span>, <span class="st">"assay_2"</span><span class="op">)</span>, times <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">10</span>, <span class="fl">1990</span><span class="op">)</span><span class="op">)</span>,</span> |
266 | 274 |
<span> feature <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/colnames.html" class="external-link">colnames</a></span><span class="op">(</span><span class="va">measurementsDF</span><span class="op">)</span></span> |
267 | 275 |
<span><span class="op">)</span></span> |
... | ... |
@@ -700,7 +708,7 @@ because some classifiers or feature selection functions will have some |
700 | 708 |
element of randomisation. One example that works on all operating |
701 | 709 |
systems, but is best-suited to Windows is:</p> |
702 | 710 |
<div class="sourceCode" id="cb18"><pre class="downlit sourceCode r"> |
703 |
-<code class="sourceCode R"><span><span class="va">CVparams</span> <span class="op"><-</span> <span class="fu"><a href="../reference/CrossValParams-class.html">CrossValParams</a></span><span class="op">(</span>parallelParams <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/pkg/BiocParallel/man/SnowParam-class.html" class="external-link">SnowParam</a></span><span class="op">(</span><span class="fl">16</span>, RNGseed <span class="op">=</span> <span class="fl">123</span><span class="op">)</span><span class="op">)</span></span> |
|
711 |
+<code class="sourceCode R"><span><span class="va">CVparams</span> <span class="op"><-</span> <span class="fu"><a href="../reference/CrossValParams-class.html">CrossValParams</a></span><span class="op">(</span>parallelParams <span class="op">=</span> <span class="fu">SnowParam</span><span class="op">(</span><span class="fl">16</span>, RNGseed <span class="op">=</span> <span class="fl">123</span><span class="op">)</span><span class="op">)</span></span> |
|
704 | 712 |
<span><span class="va">CVparams</span></span></code></pre></div> |
705 | 713 |
<p>For the actual operations to do to the data to build a model of it, |
706 | 714 |
each of the stages should be specified by an object of class |
... | ... |
@@ -782,12 +790,12 @@ samples can be displayed visually by <em>plotFeatureClasses</em>.</p> |
782 | 790 |
<span><span class="co">## Please report the issue to the authors.</span></span></code></pre> |
783 | 791 |
<p><img src="ClassifyR_files/figure-html/unnamed-chunk-11-1.png" width="768"></p> |
784 | 792 |
<pre><code><span><span class="co">## allFeaturesText</span></span> |
785 |
-<span><span class="co">## ARHGAP39 C10orf95 C19orf51 C6orf108 C6orf154 C6orf27 </span></span> |
|
786 |
-<span><span class="co">## 60 96 48 8 12 8 </span></span> |
|
793 |
+<span><span class="co">## ANKK1 ANKMY1 ARHGAP39 B9D1 B9D2 C10orf95 </span></span> |
|
794 |
+<span><span class="co">## 4 8 72 4 4 100 </span></span> |
|
787 | 795 |
<span><span class="co">## allFeaturesText</span></span> |
788 |
-<span><span class="co">## SSBP4 ZDHHC1 C10orf95 CROCC TMEM190 CTXN1 </span></span> |
|
789 |
-<span><span class="co">## 100 100 96 96 76 72</span></span></code></pre> |
|
790 |
-<p>The means of the abundance levels of SSBP4 are substantially |
|
796 |
+<span><span class="co">## C10orf95 SSBP4 ZDHHC1 CROCC CTXN1 NAT14 </span></span> |
|
797 |
+<span><span class="co">## 100 100 100 96 88 76</span></span></code></pre> |
|
798 |
+<p>The means of the abundance levels of C10orf95 are substantially |
|
791 | 799 |
different between the people with and without asthma. |
792 | 800 |
<em>plotFeatureClasses</em> can also plot categorical data, such as may |
793 | 801 |
be found in a clinical data table, as a bar chart.</p> |
... | ... |
@@ -815,7 +823,7 @@ performance metrics which may be calculated.</p> |
815 | 823 |
<code class="sourceCode R"><span><span class="fu"><a href="../reference/ClassifyResult-class.html">performance</a></span><span class="op">(</span><span class="va">DMresults</span><span class="op">)</span></span></code></pre></div> |
816 | 824 |
<pre><code><span><span class="co">## $`Balanced Accuracy`</span></span> |
817 | 825 |
<span><span class="co">## 1 2 3 4 5 </span></span> |
818 |
-<span><span class="co">## 0.8047410 0.7997312 0.7926442 0.8047410 0.7931329</span></span></code></pre> |
|
826 |
+<span><span class="co">## 0.8128055 0.8042522 0.8002199 0.7810362 0.7810362</span></span></code></pre> |
|
819 | 827 |
<p>The error rate is about 20%. If only a vector of predictions and a |
820 | 828 |
vector of actual classes is available, such as from an old study which |
821 | 829 |
did not use <strong>ClassifyR</strong> for cross-validation, then |
... | ... |
@@ -850,16 +858,13 @@ change in location or in scale between classes.</p> |
850 | 858 |
distance between class densities but it can instead use the horizontal |
851 | 859 |
distance to the nearest non-zero density cross-over point to confidently |
852 | 860 |
classify samples in the tails of the densities.</p> |
853 |
-<p>Now, the classification error for each sample is also calculated for |
|
854 |
-both the differential means and differential distribution classifiers |
|
855 |
-and both <em>ClassifyResult</em> objects generated so far are plotted |
|
856 |
-with <em>samplesMetricMap</em>.</p> |
|
861 |
+<p>The per-sample classification accuracy is automatically calculated |
|
862 |
+for both the differential means and differential distribution |
|
863 |
+classifiers and plotted with <em>samplesMetricMap</em>.</p> |
|
857 | 864 |
<div class="sourceCode" id="cb31"><pre class="downlit sourceCode r"> |
858 |
-<code class="sourceCode R"><span><span class="va">DMresults</span> <span class="op"><-</span> <span class="fu"><a href="../reference/calcPerformance.html">calcCVperformance</a></span><span class="op">(</span><span class="va">DMresults</span>, <span class="st">"Sample Error"</span><span class="op">)</span></span> |
|
859 |
-<span><span class="va">DDresults</span> <span class="op"><-</span> <span class="fu"><a href="../reference/calcPerformance.html">calcCVperformance</a></span><span class="op">(</span><span class="va">DDresults</span>, <span class="st">"Sample Error"</span><span class="op">)</span></span> |
|
860 |
-<span><span class="va">resultsList</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span>Abundance <span class="op">=</span> <span class="va">DMresults</span>, Distribution <span class="op">=</span> <span class="va">DDresults</span><span class="op">)</span></span> |
|
861 |
-<span><span class="fu"><a href="../reference/samplesMetricMap.html">samplesMetricMap</a></span><span class="op">(</span><span class="va">resultsList</span>, metric <span class="op">=</span> <span class="st">"Sample Error"</span>, xAxisLabel <span class="op">=</span> <span class="st">"Sample"</span>,</span> |
|
862 |
-<span> showXtickLabels <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></code></pre></div> |
|
865 |
+<code class="sourceCode R"><span><span class="va">resultsList</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span>Abundance <span class="op">=</span> <span class="va">DMresults</span>, Distribution <span class="op">=</span> <span class="va">DDresults</span><span class="op">)</span></span> |
|
866 |
+<span><span class="fu"><a href="../reference/samplesMetricMap.html">samplesMetricMap</a></span><span class="op">(</span><span class="va">resultsList</span>, showXtickLabels <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></code></pre></div> |
|
867 |
+<pre><code><span><span class="co">## Warning in .local(results, ...): Sample Accuracy not found in all elements of results. Calculating it now.</span></span></code></pre> |
|
863 | 868 |
<pre><code><span><span class="co">## Warning: Removed 2 rows containing missing values (`geom_tile()`).</span></span></code></pre> |
864 | 869 |
<p><img src="ClassifyR_files/figure-html/unnamed-chunk-14-1.png" width="960"></p> |
865 | 870 |
<pre><code><span><span class="co">## TableGrob (2 x 1) "arrange": 2 grobs</span></span> |
... | ... |
@@ -877,7 +882,7 @@ plots, but violin plots could also be made. The default performance |
877 | 882 |
metric to plot is balanced accuracy. If it’s not already calculated for |
878 | 883 |
all classifications, as in this case for DD, it will be done |
879 | 884 |
automatically.</p> |
880 |
-<div class="sourceCode" id="cb34"><pre class="downlit sourceCode r"> |
|
885 |
+<div class="sourceCode" id="cb35"><pre class="downlit sourceCode r"> |
|
881 | 886 |
<code class="sourceCode R"><span><span class="fu"><a href="../reference/performancePlot.html">performancePlot</a></span><span class="op">(</span><span class="va">resultsList</span><span class="op">)</span></span></code></pre></div> |
882 | 887 |
<pre><code><span><span class="co">## Warning in .local(results, ...): Balanced Accuracy not found in all elements of results. Calculating it now.</span></span></code></pre> |
883 | 888 |
<p><img src="ClassifyR_files/figure-html/unnamed-chunk-15-1.png" width="700"></p> |
... | ... |
@@ -889,7 +894,7 @@ can be compared within and between classifiers by the plotting functions |
889 | 894 |
visually representing how consistent the feature rankings of the top 100 |
890 | 895 |
different features were for the differential distribution classifier for |
891 | 896 |
all 5 folds in the 5 cross-validations.</p> |
892 |
-<div class="sourceCode" id="cb36"><pre class="downlit sourceCode r"> |
|
897 |
+<div class="sourceCode" id="cb37"><pre class="downlit sourceCode r"> |
|
893 | 898 |
<code class="sourceCode R"><span><span class="fu"><a href="../reference/rankingPlot.html">rankingPlot</a></span><span class="op">(</span><span class="va">DDresults</span>, topRanked <span class="op">=</span> <span class="fl">1</span><span class="op">:</span><span class="fl">100</span>, xLabelPositions <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">1</span>, <span class="fu"><a href="https://rdrr.io/r/base/seq.html" class="external-link">seq</a></span><span class="op">(</span><span class="fl">10</span>, <span class="fl">100</span>, <span class="fl">10</span><span class="op">)</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> |
894 | 899 |
<p><img src="ClassifyR_files/figure-html/unnamed-chunk-16-1.png" width="700"></p> |
895 | 900 |
<p>The top-ranked features are fairly similar between all pairs of the |
... | ... |
@@ -923,7 +928,7 @@ and one line is drawn per classification. Alternatively, setting |
923 | 928 |
separately, average them and also calculate and draw confidence |
924 | 929 |
intervals. The default interval is a 95% interval and is customisable by |
925 | 930 |
setting <em>interval</em>.</p> |
926 |
-<div class="sourceCode" id="cb37"><pre class="downlit sourceCode r"> |
|
931 |
+<div class="sourceCode" id="cb38"><pre class="downlit sourceCode r"> |
|
927 | 932 |
<code class="sourceCode R"><span><span class="fu"><a href="../reference/ROCplot.html">ROCplot</a></span><span class="op">(</span><span class="va">resultsList</span>, fontSizes <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">24</span>, <span class="fl">12</span>, <span class="fl">12</span>, <span class="fl">12</span>, <span class="fl">12</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> |
928 | 933 |
<p><img src="ClassifyR_files/figure-html/unnamed-chunk-17-1.png" width="576"></p> |
929 | 934 |
<p>This ROC plot shows the classifiability of the asthma data set is |
... | ... |
@@ -986,7 +991,7 @@ the tuning variables, except for one which is named |
986 | 991 |
for picking the parameter values. Any of the non-sample-specific |
987 | 992 |
performance metrics which <em>calcCVperformance</em> calculates can be |
988 | 993 |
optimised.</p> |
989 |
-<div class="sourceCode" id="cb38"><pre class="downlit sourceCode r"> |
|
994 |
+<div class="sourceCode" id="cb39"><pre class="downlit sourceCode r"> |
|
990 | 995 |
<code class="sourceCode R"><span><span class="va">tuneList</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span>cost <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">0.01</span>, <span class="fl">0.1</span>, <span class="fl">1</span>, <span class="fl">10</span><span class="op">)</span><span class="op">)</span></span> |
991 | 996 |
<span><span class="va">SVMparams</span> <span class="op"><-</span> <span class="fu"><a href="../reference/ModellingParams-class.html">ModellingParams</a></span><span class="op">(</span>trainParams <span class="op">=</span> <span class="fu"><a href="../reference/TrainParams-class.html">TrainParams</a></span><span class="op">(</span><span class="st">"SVM"</span>, kernel <span class="op">=</span> <span class="st">"linear"</span>, tuneParams <span class="op">=</span> <span class="va">tuneList</span><span class="op">)</span>,</span> |
992 | 997 |
<span> predictParams <span class="op">=</span> <span class="fu"><a href="../reference/PredictParams-class.html">PredictParams</a></span><span class="op">(</span><span class="st">"SVM"</span><span class="op">)</span><span class="op">)</span></span> |
... | ... |
@@ -995,49 +1000,49 @@ optimised.</p> |
995 | 1000 |
parameters and their associated performance metric, are stored for every |
996 | 1001 |
validation, and can be accessed with the <em>tunedParameters</em> |
997 | 1002 |
function.</p> |
998 |
-<div class="sourceCode" id="cb39"><pre class="downlit sourceCode r"> |
|
1003 |
+<div class="sourceCode" id="cb40"><pre class="downlit sourceCode r"> |
|
999 | 1004 |
<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/base/length.html" class="external-link">length</a></span><span class="op">(</span><span class="fu"><a href="../reference/ClassifyResult-class.html">tunedParameters</a></span><span class="op">(</span><span class="va">SVMresults</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> |
1000 | 1005 |
<pre><code><span><span class="co">## [1] 25</span></span></code></pre> |
1001 |
-<div class="sourceCode" id="cb41"><pre class="downlit sourceCode r"> |
|
1006 |
+<div class="sourceCode" id="cb42"><pre class="downlit sourceCode r"> |
|
1002 | 1007 |
<code class="sourceCode R"><span><span class="fu"><a href="../reference/ClassifyResult-class.html">tunedParameters</a></span><span class="op">(</span><span class="va">SVMresults</span><span class="op">)</span><span class="op">[</span><span class="fl">1</span><span class="op">:</span><span class="fl">5</span><span class="op">]</span></span></code></pre></div> |
1003 | 1008 |
<pre><code><span><span class="co">## [[1]]</span></span> |
1004 | 1009 |
<span><span class="co">## [[1]]$tuneCombinations</span></span> |
1005 | 1010 |
<span><span class="co">## topN cost Balanced Accuracy</span></span> |
1006 |
-<span><span class="co">## 1 10 0.01 0.7746331</span></span> |
|
1007 |
-<span><span class="co">## 2 20 0.01 0.7847341</span></span> |
|
1008 |
-<span><span class="co">## 3 30 0.01 0.7746331</span></span> |
|
1009 |
-<span><span class="co">## 4 40 0.01 0.8167524</span></span> |
|
1010 |
-<span><span class="co">## 5 50 0.01 0.8022680</span></span> |
|
1011 |
-<span><span class="co">## 6 60 0.01 0.8457214</span></span> |
|
1012 |
-<span><span class="co">## 7 70 0.01 0.8551553</span></span> |
|
1013 |
-<span><span class="co">## 8 80 0.01 0.8551553</span></span> |
|
1014 |
-<span><span class="co">## 9 90 0.01 0.8645893</span></span> |
|
1015 |
-<span><span class="co">## 10 100 0.01 0.8885077</span></span> |
|
1016 |
-<span><span class="co">## 11 10 0.10 0.8218029</span></span> |
|
1017 |
-<span><span class="co">## 12 20 0.10 0.8608729</span></span> |
|
1018 |
-<span><span class="co">## 13 30 0.10 0.8797408</span></span> |
|
1019 |
-<span><span class="co">## 14 40 0.10 0.9043263</span></span> |
|
1020 |
-<span><span class="co">## 15 50 0.10 0.9238613</span></span> |
|
1021 |
-<span><span class="co">## 16 60 0.10 0.9282447</span></span> |
|
1022 |
-<span><span class="co">## 17 70 0.10 0.9231942</span></span> |
|
1023 |
-<span><span class="co">## 18 80 0.10 0.9282447</span></span> |
|
1024 |
-<span><span class="co">## 19 90 0.10 0.9137602</span></span> |
|
1025 |
-<span><span class="co">## 20 100 0.10 0.9622642</span></span> |
|
1026 |
-<span><span class="co">## 21 10 1.00 0.8709739</span></span> |
|
1027 |
-<span><span class="co">## 22 20 1.00 0.8659234</span></span> |
|
1028 |
-<span><span class="co">## 23 30 1.00 0.8716409</span></span> |
|
1029 |
-<span><span class="co">## 24 40 1.00 0.8861254</span></span> |
|
1030 |
-<span><span class="co">## 25 50 1.00 0.9383457</span></span> |
|
1031 |
-<span><span class="co">## 26 60 1.00 0.9289118</span></span> |
|
1032 |
-<span><span class="co">## 27 70 1.00 0.9615971</span></span> |
|
1033 |
-<span><span class="co">## 28 80 1.00 0.9666476</span></span> |
|
1034 |
-<span><span class="co">## 29 90 1.00 0.9760816</span></span> |
|
1011 |
+<span><span class="co">## 1 10 0.01 0.8022680</span></span> |
|
1012 |
+<span><span class="co">## 2 20 0.01 0.8022680</span></span> |
|
1013 |
+<span><span class="co">## 3 30 0.01 0.8211359</span></span> |
|
1014 |
+<span><span class="co">## 4 40 0.01 0.8356204</span></span> |
|
1015 |
+<span><span class="co">## 5 50 0.01 0.8312369</span></span> |
|
1016 |
+<span><span class="co">## 6 60 0.01 0.8645893</span></span> |
|
1017 |
+<span><span class="co">## 7 70 0.01 0.8972746</span></span> |
|
1018 |
+<span><span class="co">## 8 80 0.01 0.8928912</span></span> |
|
1019 |
+<span><span class="co">## 9 90 0.01 0.8885077</span></span> |
|
1020 |
+<span><span class="co">## 10 100 0.01 0.8834572</span></span> |
|
1021 |
+<span><span class="co">## 11 10 0.10 0.8494378</span></span> |
|
1022 |
+<span><span class="co">## 12 20 0.10 0.8494378</span></span> |
|
1023 |
+<span><span class="co">## 13 30 0.10 0.8400038</span></span> |
|
1024 |
+<span><span class="co">## 14 40 0.10 0.9181437</span></span> |
|
1025 |
+<span><span class="co">## 15 50 0.10 0.9231942</span></span> |
|
1026 |
+<span><span class="co">## 16 60 0.10 0.9093768</span></span> |
|
1027 |
+<span><span class="co">## 17 70 0.10 0.9477797</span></span> |
|
1028 |
+<span><span class="co">## 18 80 0.10 0.9383457</span></span> |
|
1029 |
+<span><span class="co">## 19 90 0.10 0.9477797</span></span> |
|
1030 |
+<span><span class="co">## 20 100 0.10 0.9572136</span></span> |
|
1031 |
+<span><span class="co">## 21 10 1.00 0.8369545</span></span> |
|
1032 |
+<span><span class="co">## 22 20 1.00 0.8558224</span></span> |
|
1033 |
+<span><span class="co">## 23 30 1.00 0.8854584</span></span> |
|
1034 |
+<span><span class="co">## 24 40 1.00 0.9376787</span></span> |
|
1035 |
+<span><span class="co">## 25 50 1.00 0.9471126</span></span> |
|
1036 |
+<span><span class="co">## 26 60 1.00 0.9471126</span></span> |
|
1037 |
+<span><span class="co">## 27 70 1.00 0.9716981</span></span> |
|
1038 |
+<span><span class="co">## 28 80 1.00 0.9905660</span></span> |
|
1039 |
+<span><span class="co">## 29 90 1.00 0.9905660</span></span> |
|
1035 | 1040 |
<span><span class="co">## 30 100 1.00 1.0000000</span></span> |
1036 |
-<span><span class="co">## 31 10 10.00 0.8652563</span></span> |
|
1037 |
-<span><span class="co">## 32 20 10.00 0.8672575</span></span> |
|
1038 |
-<span><span class="co">## 33 30 10.00 0.8955594</span></span> |
|
1039 |
-<span><span class="co">## 34 40 10.00 0.9477797</span></span> |
|
1040 |
-<span><span class="co">## 35 50 10.00 0.9949495</span></span> |
|
1041 |
+<span><span class="co">## 31 10 10.00 0.8746903</span></span> |
|
1042 |
+<span><span class="co">## 32 20 10.00 0.8652563</span></span> |
|
1043 |
+<span><span class="co">## 33 30 10.00 0.9006099</span></span> |
|
1044 |
+<span><span class="co">## 34 40 10.00 0.9855155</span></span> |
|
1045 |
+<span><span class="co">## 35 50 10.00 1.0000000</span></span> |
|
1041 | 1046 |
<span><span class="co">## 36 60 10.00 1.0000000</span></span> |
1042 | 1047 |
<span><span class="co">## 37 70 10.00 1.0000000</span></span> |
1043 | 1048 |
<span><span class="co">## 38 80 10.00 1.0000000</span></span> |
... | ... |
@@ -1051,138 +1056,138 @@ function.</p> |
1051 | 1056 |
<span><span class="co">## [[2]]</span></span> |
1052 | 1057 |
<span><span class="co">## [[2]]$tuneCombinations</span></span> |
1053 | 1058 |
<span><span class="co">## topN cost Balanced Accuracy</span></span> |
1054 |
-<span><span class="co">## 1 10 0.01 0.8218029</span></span> |
|
1055 |
-<span><span class="co">## 2 20 0.01 0.8029350</span></span> |
|
1056 |
-<span><span class="co">## 3 30 0.01 0.8180865</span></span> |
|
1057 |
-<span><span class="co">## 4 40 0.01 0.8180865</span></span> |
|
1058 |
-<span><span class="co">## 5 50 0.01 0.8268534</span></span> |
|
1059 |
-<span><span class="co">## 6 60 0.01 0.8268534</span></span> |
|
1060 |
-<span><span class="co">## 7 70 0.01 0.8268534</span></span> |
|
1061 |
-<span><span class="co">## 8 80 0.01 0.8312369</span></span> |
|
1062 |
-<span><span class="co">## 9 90 0.01 0.8652563</span></span> |
|
1059 |
+<span><span class="co">## 1 10 0.01 0.8073185</span></span> |
|
1060 |
+<span><span class="co">## 2 20 0.01 0.7972175</span></span> |
|
1061 |
+<span><span class="co">## 3 30 0.01 0.8167524</span></span> |
|
1062 |
+<span><span class="co">## 4 40 0.01 0.8066514</span></span> |
|
1063 |
+<span><span class="co">## 5 50 0.01 0.8167524</span></span> |
|
1064 |
+<span><span class="co">## 6 60 0.01 0.8312369</span></span> |
|
1065 |
+<span><span class="co">## 7 70 0.01 0.8645893</span></span> |
|
1066 |
+<span><span class="co">## 8 80 0.01 0.8696398</span></span> |
|
1067 |
+<span><span class="co">## 9 90 0.01 0.8979417</span></span> |
|
1063 | 1068 |
<span><span class="co">## 10 100 0.01 0.8746903</span></span> |
1064 |
-<span><span class="co">## 11 10 0.10 0.8073185</span></span> |
|
1065 |
-<span><span class="co">## 12 20 0.10 0.8180865</span></span> |
|
1066 |
-<span><span class="co">## 13 30 0.10 0.8942253</span></span> |
|
1067 |
-<span><span class="co">## 14 40 0.10 0.8891748</span></span> |
|
1068 |
-<span><span class="co">## 15 50 0.10 0.9420621</span></span> |
|
1069 |
-<span><span class="co">## 16 60 0.10 0.9420621</span></span> |
|
1070 |
-<span><span class="co">## 17 70 0.10 0.9420621</span></span> |
|
1071 |
-<span><span class="co">## 18 80 0.10 0.9420621</span></span> |
|
1072 |
-<span><span class="co">## 19 90 0.10 0.9420621</span></span> |
|
1073 |
-<span><span class="co">## 20 100 0.10 0.9420621</span></span> |
|
1074 |
-<span><span class="co">## 21 10 1.00 0.7985516</span></span> |
|
1075 |
-<span><span class="co">## 22 20 1.00 0.8804079</span></span> |
|
1076 |
-<span><span class="co">## 23 30 1.00 0.9087097</span></span> |
|
1077 |
-<span><span class="co">## 24 40 1.00 0.9326282</span></span> |
|
1078 |
-<span><span class="co">## 25 50 1.00 0.9710311</span></span> |
|
1069 |
+<span><span class="co">## 11 10 0.10 0.7928340</span></span> |
|
1070 |
+<span><span class="co">## 12 20 0.10 0.8790738</span></span> |
|
1071 |
+<span><span class="co">## 13 30 0.10 0.8986087</span></span> |
|
1072 |
+<span><span class="co">## 14 40 0.10 0.8602058</span></span> |
|
1073 |
+<span><span class="co">## 15 50 0.10 0.9043263</span></span> |
|
1074 |
+<span><span class="co">## 16 60 0.10 0.9043263</span></span> |
|
1075 |
+<span><span class="co">## 17 70 0.10 0.9225272</span></span> |
|
1076 |
+<span><span class="co">## 18 80 0.10 0.9231942</span></span> |
|
1077 |
+<span><span class="co">## 19 90 0.10 0.9326282</span></span> |
|
1078 |
+<span><span class="co">## 20 100 0.10 0.9521631</span></span> |
|
1079 |
+<span><span class="co">## 21 10 1.00 0.8174195</span></span> |
|
1080 |
+<span><span class="co">## 22 20 1.00 0.8992758</span></span> |
|
1081 |
+<span><span class="co">## 23 30 1.00 0.9043263</span></span> |
|
1082 |
+<span><span class="co">## 24 40 1.00 0.9188107</span></span> |
|
1083 |
+<span><span class="co">## 25 50 1.00 0.9521631</span></span> |
|
1079 | 1084 |
<span><span class="co">## 26 60 1.00 0.9521631</span></span> |
1080 |
-<span><span class="co">## 27 70 1.00 0.9760816</span></span> |
|
1081 |
-<span><span class="co">## 28 80 1.00 0.9855155</span></span> |
|
1082 |
-<span><span class="co">## 29 90 1.00 0.9760816</span></span> |
|
1083 |
-<span><span class="co">## 30 100 1.00 0.9760816</span></span> |
|
1084 |
-<span><span class="co">## 31 10 10.00 0.8275205</span></span> |
|
1085 |
-<span><span class="co">## 32 20 10.00 0.8986087</span></span> |
|
1086 |
-<span><span class="co">## 33 30 10.00 0.9477797</span></span> |
|
1087 |
-<span><span class="co">## 34 40 10.00 0.9565466</span></span> |
|
1088 |
-<span><span class="co">## 35 50 10.00 0.9760816</span></span> |
|
1089 |
-<span><span class="co">## 36 60 10.00 0.9905660</span></span> |
|
1085 |
+<span><span class="co">## 27 70 1.00 0.9716981</span></span> |
|
1086 |
+<span><span class="co">## 28 80 1.00 0.9811321</span></span> |
|
1087 |
+<span><span class="co">## 29 90 1.00 1.0000000</span></span> |
|
1088 |
+<span><span class="co">## 30 100 1.00 1.0000000</span></span> |
|
1089 |
+<span><span class="co">## 31 10 10.00 0.7796836</span></span> |
|
1090 |
+<span><span class="co">## 32 20 10.00 0.8999428</span></span> |
|
1091 |
+<span><span class="co">## 33 30 10.00 0.9188107</span></span> |
|
1092 |
+<span><span class="co">## 34 40 10.00 0.9703640</span></span> |
|
1093 |
+<span><span class="co">## 35 50 10.00 0.9949495</span></span> |
|
1094 |
+<span><span class="co">## 36 60 10.00 1.0000000</span></span> |
|
1090 | 1095 |
<span><span class="co">## 37 70 10.00 1.0000000</span></span> |
1091 | 1096 |
<span><span class="co">## 38 80 10.00 1.0000000</span></span> |
1092 | 1097 |
<span><span class="co">## 39 90 10.00 1.0000000</span></span> |
1093 | 1098 |
<span><span class="co">## 40 100 10.00 1.0000000</span></span> |
1094 | 1099 |
<span><span class="co">## </span></span> |
1095 | 1100 |
<span><span class="co">## [[2]]$bestIndex</span></span> |
1096 |
-<span><span class="co">## [1] 37</span></span> |
|
1101 |
+<span><span class="co">## [1] 29</span></span> |
|
1097 | 1102 |
<span><span class="co">## </span></span> |
1098 | 1103 |
<span><span class="co">## </span></span> |
1099 | 1104 |
<span><span class="co">## [[3]]</span></span> |
1100 | 1105 |
<span><span class="co">## [[3]]$tuneCombinations</span></span> |
1101 | 1106 |
<span><span class="co">## topN cost Balanced Accuracy</span></span> |
1102 |
-<span><span class="co">## 1 10 0.01 0.8218029</span></span> |
|
1103 |
-<span><span class="co">## 2 20 0.01 0.8167524</span></span> |
|
1104 |
-<span><span class="co">## 3 30 0.01 0.8211359</span></span> |
|
1105 |
-<span><span class="co">## 4 40 0.01 0.8022680</span></span> |
|
1106 |
-<span><span class="co">## 5 50 0.01 0.8117019</span></span> |
|
1107 |
-<span><span class="co">## 6 60 0.01 0.8268534</span></span> |
|
1108 |
-<span><span class="co">## 7 70 0.01 0.8362874</span></span> |
|
1109 |
-<span><span class="co">## 8 80 0.01 0.8218029</span></span> |
|
1110 |
-<span><span class="co">## 9 90 0.01 0.8413379</span></span> |
|
1111 |
-<span><span class="co">## 10 100 0.01 0.8507719</span></span> |
|
1112 |
-<span><span class="co">## 11 10 0.10 0.7978845</span></span> |
|
1113 |
-<span><span class="co">## 12 20 0.10 0.8501048</span></span> |
|
1114 |
-<span><span class="co">## 13 30 0.10 0.8841243</span></span> |
|
1115 |
-<span><span class="co">## 14 40 0.10 0.8746903</span></span> |
|
1116 |
-<span><span class="co">## 15 50 0.10 0.8928912</span></span> |
|
1117 |
-<span><span class="co">## 16 60 0.10 0.9269106</span></span> |
|
1118 |
-<span><span class="co">## 17 70 0.10 0.9225272</span></span> |
|
1119 |
-<span><span class="co">## 18 80 0.10 0.9231942</span></span> |
|
1120 |
-<span><span class="co">## 19 90 0.10 0.9521631</span></span> |
|
1121 |
-<span><span class="co">## 20 100 0.10 0.9427292</span></span> |
|
1122 |
-<span><span class="co">## 21 10 1.00 0.8224700</span></span> |
|
1123 |
-<span><span class="co">## 22 20 1.00 0.8659234</span></span> |
|
1124 |
-<span><span class="co">## 23 30 1.00 0.8948923</span></span> |
|
1125 |
-<span><span class="co">## 24 40 1.00 0.9275777</span></span> |
|
1126 |
-<span><span class="co">## 25 50 1.00 0.9514961</span></span> |
|
1127 |
-<span><span class="co">## 26 60 1.00 0.9565466</span></span> |
|
1128 |
-<span><span class="co">## 27 70 1.00 0.9716981</span></span> |
|
1129 |
-<span><span class="co">## 28 80 1.00 0.9811321</span></span> |
|
1130 |
-<span><span class="co">## 29 90 1.00 0.9949495</span></span> |
|
1131 |
-<span><span class="co">## 30 100 1.00 1.0000000</span></span> |
|
1132 |
-<span><span class="co">## 31 10 10.00 0.8281875</span></span> |
|
1133 |
-<span><span class="co">## 32 20 10.00 0.8760244</span></span> |
|
1134 |
-<span><span class="co">## 33 30 10.00 0.9471126</span></span> |
|
1135 |
-<span><span class="co">## 34 40 10.00 0.9615971</span></span> |
|
1136 |
-<span><span class="co">## 35 50 10.00 0.9905660</span></span> |
|
1137 |
-<span><span class="co">## 36 60 10.00 1.0000000</span></span> |
|
1107 |
+<span><span class="co">## 1 10 0.01 0.8123690</span></span> |
|
1108 |
+<span><span class="co">## 2 20 0.01 0.8123690</span></span> |
|
1109 |
+<span><span class="co">## 3 30 0.01 0.8073185</span></span> |
|
1110 |
+<span><span class="co">## 4 40 0.01 0.8218029</span></span> |
|
1111 |
+<span><span class="co">## 5 50 0.01 0.8362874</span></span> |
|
1112 |
+<span><span class="co">## 6 60 0.01 0.8362874</span></span> |
|
1113 |
+<span><span class="co">## 7 70 0.01 0.8413379</span></span> |
|
1114 |
+<span><span class="co">## 8 80 0.01 0.8507719</span></span> |
|
1115 |
+<span><span class="co">## 9 90 0.01 0.8696398</span></span> |
|
1116 |
+<span><span class="co">## 10 100 0.01 0.8935582</span></span> |
|
1117 |
+<span><span class="co">## 11 10 0.10 0.8369545</span></span> |
|
1118 |
+<span><span class="co">## 12 20 0.10 0.8746903</span></span> |
|
1119 |
+<span><span class="co">## 13 30 0.10 0.8652563</span></span> |
|
1120 |
+<span><span class="co">## 14 40 0.10 0.8514389</span></span> |
|
1121 |
+<span><span class="co">## 15 50 0.10 0.8891748</span></span> |
|
1122 |
+<span><span class="co">## 16 60 0.10 0.9137602</span></span> |
|
1123 |
+<span><span class="co">## 17 70 0.10 0.9275777</span></span> |
|
1124 |
+<span><span class="co">## 18 80 0.10 0.9188107</span></span> |
|
1125 |
+<span><span class="co">## 19 90 0.10 0.9275777</span></span> |
|
1126 |
+<span><span class="co">## 20 100 0.10 0.9144273</span></span> |
|
1127 |
+<span><span class="co">## 21 10 1.00 0.8564894</span></span> |
|
1128 |
+<span><span class="co">## 22 20 1.00 0.8942253</span></span> |
|
1129 |
+<span><span class="co">## 23 30 1.00 0.9093768</span></span> |
|
1130 |
+<span><span class="co">## 24 40 1.00 0.9093768</span></span> |
|
1131 |
+<span><span class="co">## 25 50 1.00 0.9289118</span></span> |
|
1132 |
+<span><span class="co">## 26 60 1.00 0.9289118</span></span> |
|
1133 |
+<span><span class="co">## 27 70 1.00 0.9572136</span></span> |
|
1134 |
+<span><span class="co">## 28 80 1.00 0.9622642</span></span> |
|
1135 |
+<span><span class="co">## 29 90 1.00 0.9811321</span></span> |
|
1136 |
+<span><span class="co">## 30 100 1.00 0.9905660</span></span> |
|
1137 |
+<span><span class="co">## 31 10 10.00 0.8854584</span></span> |
|
1138 |
+<span><span class="co">## 32 20 10.00 0.9181437</span></span> |
|
1139 |
+<span><span class="co">## 33 30 10.00 0.9332952</span></span> |
|
1140 |
+<span><span class="co">## 34 40 10.00 0.9332952</span></span> |
|
1141 |
+<span><span class="co">## 35 50 10.00 0.9716981</span></span> |
|
1142 |
+<span><span class="co">## 36 60 10.00 0.9716981</span></span> |
|
1138 | 1143 |
<span><span class="co">## 37 70 10.00 1.0000000</span></span> |
1139 | 1144 |
<span><span class="co">## 38 80 10.00 1.0000000</span></span> |
1140 | 1145 |
<span><span class="co">## 39 90 10.00 1.0000000</span></span> |
1141 | 1146 |
<span><span class="co">## 40 100 10.00 1.0000000</span></span> |
1142 | 1147 |
<span><span class="co">## </span></span> |
1143 | 1148 |
<span><span class="co">## [[3]]$bestIndex</span></span> |
1144 |
-<span><span class="co">## [1] 30</span></span> |
|
1149 |
+<span><span class="co">## [1] 37</span></span> |
|
1145 | 1150 |
<span><span class="co">## </span></span> |
1146 | 1151 |
<span><span class="co">## </span></span> |
1147 | 1152 |
<span><span class="co">## [[4]]</span></span> |
1148 | 1153 |
<span><span class="co">## [[4]]$tuneCombinations</span></span> |
1149 | 1154 |
<span><span class="co">## topN cost Balanced Accuracy</span></span> |
1150 |
-<span><span class="co">## 1 10 0.01 0.7594816</span></span> |
|
1151 |
-<span><span class="co">## 2 20 0.01 0.8174195</span></span> |
|
1152 |
-<span><span class="co">## 3 30 0.01 0.8268534</span></span> |
|
1153 |
-<span><span class="co">## 4 40 0.01 0.8362874</span></span> |
|
1154 |
-<span><span class="co">## 5 50 0.01 0.8457214</span></span> |
|
1155 |
-<span><span class="co">## 6 60 0.01 0.8457214</span></span> |
|
1156 |
-<span><span class="co">## 7 70 0.01 0.8595388</span></span> |
|
1157 |
-<span><span class="co">## 8 80 0.01 0.8784067</span></span> |
|
1158 |
-<span><span class="co">## 9 90 0.01 0.8784067</span></span> |
|
1159 |
-<span><span class="co">## 10 100 0.01 0.8689727</span></span> |
|
1160 |
-<span><span class="co">## 11 10 0.10 0.7638651</span></span> |
|
1161 |
-<span><span class="co">## 12 20 0.10 0.8602058</span></span> |
|
1162 |
-<span><span class="co">## 13 30 0.10 0.8797408</span></span> |
|
1163 |
-<span><span class="co">## 14 40 0.10 0.8948923</span></span> |
|
1164 |
-<span><span class="co">## 15 50 0.10 0.8992758</span></span> |
|
1165 |
-<span><span class="co">## 16 60 0.10 0.9043263</span></span> |
|
1166 |
-<span><span class="co">## 17 70 0.10 0.9043263</span></span> |
|
1167 |
-<span><span class="co">## 18 80 0.10 0.9326282</span></span> |
|
1168 |
-<span><span class="co">## 19 90 0.10 0.9376787</span></span> |
|
1169 |
-<span><span class="co">## 20 100 0.10 0.9615971</span></span> |
|
1170 |
-<span><span class="co">## 21 10 1.00 0.7796836</span></span> |
|
1171 |
-<span><span class="co">## 22 20 1.00 0.8898418</span></span> |
|
1172 |
-<span><span class="co">## 23 30 1.00 0.8797408</span></span> |
|
1173 |
-<span><span class="co">## 24 40 1.00 0.9093768</span></span> |
|
1174 |
-<span><span class="co">## 25 50 1.00 0.9332952</span></span> |
|
1175 |
-<span><span class="co">## 26 60 1.00 0.9427292</span></span> |
|
1176 |
-<span><span class="co">## 27 70 1.00 0.9572136</span></span> |
|
1177 |
-<span><span class="co">## 28 80 1.00 0.9572136</span></span> |
|
1178 |
-<span><span class="co">## 29 90 1.00 0.9760816</span></span> |
|
1155 |
+<span><span class="co">## 1 10 0.01 0.7847341</span></span> |
|
1156 |
+<span><span class="co">## 2 20 0.01 0.8218029</span></span> |
|
1157 |
+<span><span class="co">## 3 30 0.01 0.8224700</span></span> |
|
1158 |
+<span><span class="co">## 4 40 0.01 0.8753573</span></span> |
|
1159 |
+<span><span class="co">## 5 50 0.01 0.8703068</span></span> |
|
1160 |
+<span><span class="co">## 6 60 0.01 0.8703068</span></span> |
|
1161 |
+<span><span class="co">## 7 70 0.01 0.8703068</span></span> |
|
1162 |
+<span><span class="co">## 8 80 0.01 0.8804079</span></span> |
|
1163 |
+<span><span class="co">## 9 90 0.01 0.8905089</span></span> |
|
1164 |
+<span><span class="co">## 10 100 0.01 0.8992758</span></span> |
|
1165 |
+<span><span class="co">## 11 10 0.10 0.8180865</span></span> |
|
1166 |
+<span><span class="co">## 12 20 0.10 0.8753573</span></span> |
|
1167 |
+<span><span class="co">## 13 30 0.10 0.8716409</span></span> |
|
1168 |
+<span><span class="co">## 14 40 0.10 0.9332952</span></span> |
|
1169 |
+<span><span class="co">## 15 50 0.10 0.9521631</span></span> |
|
1170 |
+<span><span class="co">## 16 60 0.10 0.9565466</span></span> |
|
1171 |
+<span><span class="co">## 17 70 0.10 0.9427292</span></span> |
|
1172 |
+<span><span class="co">## 18 80 0.10 0.9427292</span></span> |
|
1173 |
+<span><span class="co">## 19 90 0.10 0.9572136</span></span> |
|
1174 |
+<span><span class="co">## 20 100 0.10 0.9666476</span></span> |
|
1175 |
+<span><span class="co">## 21 10 1.00 0.8376215</span></span> |
|
1176 |
+<span><span class="co">## 22 20 1.00 0.8766914</span></span> |
|
1177 |
+<span><span class="co">## 23 30 1.00 0.8672575</span></span> |
|
1178 |
+<span><span class="co">## 24 40 1.00 0.9760816</span></span> |
|
1179 |
+<span><span class="co">## 25 50 1.00 0.9760816</span></span> |
|
1180 |
+<span><span class="co">## 26 60 1.00 0.9855155</span></span> |
|
1181 |
+<span><span class="co">## 27 70 1.00 0.9855155</span></span> |
|
1182 |
+<span><span class="co">## 28 80 1.00 0.9949495</span></span> |
|
1183 |
+<span><span class="co">## 29 90 1.00 0.9949495</span></span> |
|
1179 | 1184 |
<span><span class="co">## 30 100 1.00 1.0000000</span></span> |
1180 |
-<span><span class="co">## 31 10 10.00 0.8268534</span></span> |
|
1181 |
-<span><span class="co">## 32 20 10.00 0.8615399</span></span> |
|
1182 |
-<span><span class="co">## 33 30 10.00 0.9043263</span></span> |
|
1183 |
-<span><span class="co">## 34 40 10.00 0.9477797</span></span> |
|
1184 |
-<span><span class="co">## 35 50 10.00 0.9804650</span></span> |
|
1185 |
-<span><span class="co">## 36 60 10.00 0.9949495</span></span> |
|
1185 |
+<span><span class="co">## 31 10 10.00 0.8558224</span></span> |
|
1186 |
+<span><span class="co">## 32 20 10.00 0.8810749</span></span> |
|
1187 |
+<span><span class="co">## 33 30 10.00 0.9006099</span></span> |
|
1188 |
+<span><span class="co">## 34 40 10.00 0.9949495</span></span> |
|
1189 |
+<span><span class="co">## 35 50 10.00 1.0000000</span></span> |
|
1190 |
+<span><span class="co">## 36 60 10.00 1.0000000</span></span> |
|
1186 | 1191 |
<span><span class="co">## 37 70 10.00 1.0000000</span></span> |
1187 | 1192 |
<span><span class="co">## 38 80 10.00 1.0000000</span></span> |
1188 | 1193 |
<span><span class="co">## 39 90 10.00 1.0000000</span></span> |
... | ... |
@@ -1195,41 +1200,41 @@ function.</p> |
1195 | 1200 |
<span><span class="co">## [[5]]</span></span> |
1196 | 1201 |
<span><span class="co">## [[5]]$tuneCombinations</span></span> |
1197 | 1202 |
<span><span class="co">## topN cost Balanced Accuracy</span></span> |
1198 |
-<span><span class="co">## 1 10 0.01 0.8050000</span></span> |
|
1199 |
-<span><span class="co">## 2 20 0.01 0.8053846</span></span> |
|
1200 |
-<span><span class="co">## 3 30 0.01 0.8246154</span></span> |
|
1201 |
-<span><span class="co">## 4 40 0.01 0.8780769</span></span> |
|
1202 |
-<span><span class="co">## 5 50 0.01 0.8876923</span></span> |
|
1203 |
-<span><span class="co">## 6 60 0.01 0.8984615</span></span> |
|
1204 |
-<span><span class="co">## 7 70 0.01 0.9223077</span></span> |
|
1205 |
-<span><span class="co">## 8 80 0.01 0.9223077</span></span> |
|
1206 |
-<span><span class="co">## 9 90 0.01 0.9273077</span></span> |
|
1207 |
-<span><span class="co">## 10 100 0.01 0.9273077</span></span> |
|
1208 |
-<span><span class="co">## 11 10 0.10 0.8392308</span></span> |
|
1209 |
-<span><span class="co">## 12 20 0.10 0.8584615</span></span> |
|
1210 |
-<span><span class="co">## 13 30 0.10 0.9080769</span></span> |
|
1211 |
-<span><span class="co">## 14 40 0.10 0.9369231</span></span> |
|
1212 |
-<span><span class="co">## 15 50 0.10 0.9373077</span></span> |
|
1213 |
-<span><span class="co">## 16 60 0.10 0.9515385</span></span> |
|
1214 |
-<span><span class="co">## 17 70 0.10 0.9565385</span></span> |
|
1215 |
-<span><span class="co">## 18 80 0.10 0.9369231</span></span> |
|
1216 |
-<span><span class="co">## 19 90 0.10 0.9469231</span></span> |
|
1217 |
-<span><span class="co">## 20 100 0.10 0.9515385</span></span> |
|
1218 |
-<span><span class="co">## 21 10 1.00 0.8207692</span></span> |
|
1219 |
-<span><span class="co">## 22 20 1.00 0.8592308</span></span> |
|
1220 |
-<span><span class="co">## 23 30 1.00 0.9419231</span></span> |
|
1221 |
-<span><span class="co">## 24 40 1.00 0.9757692</span></span> |
|
1222 |
-<span><span class="co">## 25 50 1.00 0.9853846</span></span> |
|
1223 |
-<span><span class="co">## 26 60 1.00 0.9807692</span></span> |
|
1224 |
-<span><span class="co">## 27 70 1.00 0.9903846</span></span> |
|
1225 |
-<span><span class="co">## 28 80 1.00 1.0000000</span></span> |
|
1226 |
-<span><span class="co">## 29 90 1.00 1.0000000</span></span> |
|
1203 |
+<span><span class="co">## 1 10 0.01 0.8057692</span></span> |
|
1204 |
+<span><span class="co">## 2 20 0.01 0.7861538</span></span> |
|
1205 |
+<span><span class="co">## 3 30 0.01 0.7861538</span></span> |
|
1206 |
+<span><span class="co">## 4 40 0.01 0.8342308</span></span> |
|
1207 |
+<span><span class="co">## 5 50 0.01 0.8534615</span></span> |
|
1208 |
+<span><span class="co">## 6 60 0.01 0.8442308</span></span> |
|
1209 |
+<span><span class="co">## 7 70 0.01 0.8442308</span></span> |
|
1210 |
+<span><span class="co">## 8 80 0.01 0.8876923</span></span> |
|
1211 |
+<span><span class="co">## 9 90 0.01 0.8926923</span></span> |
|
1212 |
+<span><span class="co">## 10 100 0.01 0.9123077</span></span> |
|
1213 |
+<span><span class="co">## 11 10 0.10 0.8780769</span></span> |
|
1214 |
+<span><span class="co">## 12 20 0.10 0.8976923</span></span> |
|
1215 |
+<span><span class="co">## 13 30 0.10 0.8876923</span></span> |
|
1216 |
+<span><span class="co">## 14 40 0.10 0.9073077</span></span> |
|
1217 |
+<span><span class="co">## 15 50 0.10 0.9126923</span></span> |
|
1218 |
+<span><span class="co">## 16 60 0.10 0.9273077</span></span> |
|
1219 |
+<span><span class="co">## 17 70 0.10 0.9273077</span></span> |
|
1220 |
+<span><span class="co">## 18 80 0.10 0.9226923</span></span> |
|
1221 |
+<span><span class="co">## 19 90 0.10 0.9130769</span></span> |
|
1222 |
+<span><span class="co">## 20 100 0.10 0.9323077</span></span> |
|
1223 |
+<span><span class="co">## 21 10 1.00 0.8784615</span></span> |
|
1224 |
+<span><span class="co">## 22 20 1.00 0.9026923</span></span> |
|
1225 |
+<span><span class="co">## 23 30 1.00 0.8984615</span></span> |
|
1226 |
+<span><span class="co">## 24 40 1.00 0.9176923</span></span> |
|
1227 |
+<span><span class="co">## 25 50 1.00 0.9465385</span></span> |
|
1228 |
+<span><span class="co">## 26 60 1.00 0.9176923</span></span> |
|
1229 |
+<span><span class="co">## 27 70 1.00 0.9515385</span></span> |
|
1230 |
+<span><span class="co">## 28 80 1.00 0.9853846</span></span> |
|
1231 |
+<span><span class="co">## 29 90 1.00 0.9853846</span></span> |
|
1227 | 1232 |
<span><span class="co">## 30 100 1.00 1.0000000</span></span> |
1228 |
-<span><span class="co">## 31 10 10.00 0.7826923</span></span> |
|
1229 |
-<span><span class="co">## 32 20 10.00 0.8980769</span></span> |
|
1230 |
-<span><span class="co">## 33 30 10.00 0.9565385</span></span> |
|
1231 |
-<span><span class="co">## 34 40 10.00 1.0000000</span></span> |
|
1232 |
-<span><span class="co">## 35 50 10.00 1.0000000</span></span> |
|
1233 |
+<span><span class="co">## 31 10 10.00 0.8784615</span></span> |
|
1234 |
+<span><span class="co">## 32 20 10.00 0.9076923</span></span> |
|
1235 |
+<span><span class="co">## 33 30 10.00 0.9030769</span></span> |
|
1236 |
+<span><span class="co">## 34 40 10.00 0.8457692</span></span> |
|
1237 |
+<span><span class="co">## 35 50 10.00 0.9853846</span></span> |
|
1233 | 1238 |
<span><span class="co">## 36 60 10.00 1.0000000</span></span> |
1234 | 1239 |
<span><span class="co">## 37 70 10.00 1.0000000</span></span> |
1235 | 1240 |
<span><span class="co">## 38 80 10.00 1.0000000</span></span> |
... | ... |
@@ -1237,7 +1242,7 @@ function.</p> |
1237 | 1242 |
<span><span class="co">## 40 100 10.00 1.0000000</span></span> |
1238 | 1243 |
<span><span class="co">## </span></span> |
1239 | 1244 |
<span><span class="co">## [[5]]$bestIndex</span></span> |
1240 |
-<span><span class="co">## [1] 28</span></span></code></pre> |
|
1245 |
+<span><span class="co">## [1] 30</span></span></code></pre> |
|
1241 | 1246 |
<p>The cost value of 1 or 10 appears to often be chosen.</p> |
1242 | 1247 |
</div> |
1243 | 1248 |
</div> |
... | ... |
@@ -1275,7 +1280,7 @@ Research</em>, 44(13):e119</p> |
1275 | 1280 |
|
1276 | 1281 |
<div class="pkgdown-footer-right"> |
1277 | 1282 |
<p></p> |
1278 |
-<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> |
|
1283 |
+<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> |
|
1279 | 1284 |
</div> |
1280 | 1285 |
|
1281 | 1286 |
</footer> |
... | ... |
@@ -1,68 +1,51 @@ |
1 | 1 |
<!DOCTYPE html> |
2 |
-<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Articles • ClassifyR</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="Articles"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> |
|
2 |
+<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Articles • ClassifyR</title><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.2.2/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.2.2/bootstrap.bundle.min.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- bootstrap-toc --><script src="https://cdn.jsdelivr.net/gh/afeld/bootstrap-toc@v1.0.1/dist/bootstrap-toc.min.js" integrity="sha256-4veVQbu7//Lk5TSmc7YV48MxtMy98e26cf5MrgZYnwo=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- search --><script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js" integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js" integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><meta property="og:title" content="Articles"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> |
|
3 | 3 |
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> |
4 | 4 |
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
5 |
-<![endif]--></head><body data-spy="scroll" data-target="#toc"> |
|
5 |
+<![endif]--></head><body> |
|
6 |
+ <a href="#main" class="visually-hidden-focusable">Skip to contents</a> |
|
6 | 7 |
|
7 | 8 |
|
8 |
- <div class="container template-article-index"> |
|
9 |
- <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> |
|
10 |
- <div class="container"> |
|
11 |
- <div class="navbar-header"> |
|
12 |
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> |
|
13 |
- <span class="sr-only">Toggle navigation</span> |
|
14 |
- <span class="icon-bar"></span> |
|
15 |
- <span class="icon-bar"></span> |
|
16 |
- <span class="icon-bar"></span> |
|
17 |
- </button> |
|
18 |
- <span class="navbar-brand"> |
|
19 |
- <a class="navbar-link" href="../index.html">ClassifyR</a> |
|
20 |
- <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">3.3.11</span> |
|
21 |
- </span> |
|
22 |
- </div> |
|
9 |
+ <nav class="navbar fixed-top navbar-light navbar-expand-lg bg-light"><div class="container"> |
|
10 |
+ |
|
11 |
+ <a class="navbar-brand me-2" href="../index.html">ClassifyR</a> |
|
23 | 12 |
|
24 |
- <div id="navbar" class="navbar-collapse collapse"> |
|
25 |
- <ul class="nav navbar-nav"><li> |
|
26 |
- <a href="../articles/ClassifyR.html">Get started</a> |
|
13 |
+ <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.3.13</small> |
|
14 |
+ |
|
15 |
+ |
|
16 |
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation"> |
|
17 |
+ <span class="navbar-toggler-icon"></span> |
|
18 |
+ </button> |
|
19 |
+ |
|
20 |
+ <div id="navbar" class="collapse navbar-collapse ms-3"> |
|
21 |
+ <ul class="navbar-nav me-auto"><li class="nav-item"> |
|
22 |
+ <a class="nav-link" href="../articles/ClassifyR.html">Get started</a> |
|
23 |
+</li> |
|
24 |
+<li class="nav-item"> |
|
25 |
+ <a class="nav-link" href="../reference/index.html">Reference</a> |
|
27 | 26 |
</li> |
28 |
-<li> |
|
29 |
- <a href="../reference/index.html">Reference</a> |
|
27 |
+<li class="nav-item dropdown"> |
|
28 |
+ <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false" aria-haspopup="true" id="dropdown-articles">Articles</a> |
|
29 |
+ <div class="dropdown-menu" aria-labelledby="dropdown-articles"> |
|
30 |
+ <a class="dropdown-item" href="../articles/DevelopersGuide.html">**ClassifyR** Developer's Guide</a> |
|
31 |
+ <a class="dropdown-item" href="../articles/incorporateNew.html">Creating a Wrapper for New Functionality and Registering It</a> |
|
32 |
+ <a class="dropdown-item" href="../articles/introduction.html">Introduction to the Concepts of ClassifyR</a> |
|
33 |
+ <a class="dropdown-item" href="../articles/multiViewMethods.html">Multi-view Methods for Modelling of Multiple Data Views</a> |
|
34 |
+ <a class="dropdown-item" href="../articles/performanceEvaluation.html">Performance Evaluation of Fitted Models</a> |
|
35 |
+ <a class="dropdown-item" href="../articles/presets.html">Parameter Tuning Presets for crossValidate and Their Customisation</a> |
|
36 |
+ </div> |
|
30 | 37 |
</li> |
31 |
-<li class="dropdown"> |
|
32 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> |
|
33 |
- Articles |
|
34 |
- |
|
35 |
- <span class="caret"></span> |
|
36 |
- </a> |
|
37 |
- <ul class="dropdown-menu" role="menu"><li> |
|
38 |
- <a href="../articles/DevelopersGuide.html">**ClassifyR** Developer's Guide</a> |
|
39 |
- </li> |
|
40 |
- <li> |
|
41 |
- <a href="../articles/incorporateNew.html">Creating a Wrapper for New Functionality and Registering It</a> |
|
42 |
- </li> |
|
43 |
- <li> |
|
44 |
- <a href="../articles/introduction.html">Introduction to the Concepts of ClassifyR</a> |
|
45 |
- </li> |
|
46 |
- <li> |
|
47 |
- <a href="../articles/multiViewMethods.html">Multi-view Methods for Modelling of Multiple Data Views</a> |
|
48 |
- </li> |
|
49 |
- <li> |
|
50 |
- <a href="../articles/performanceEvaluation.html">Performance Evaluation of Fitted Models</a> |
|
51 |
- </li> |
|
52 |
- <li> |
|
53 |
- <a href="../articles/presets.html">Parameter Tuning Presets for crossValidate and Their Customisation</a> |
|
54 |
- </li> |
|
55 |
- </ul></li> |
|
56 |
- </ul><ul class="nav navbar-nav navbar-right"></ul></div><!--/.nav-collapse --> |
|
57 |
- </div><!--/.container --> |
|
58 |
-</div><!--/.navbar --> |
|
59 |
- |
|
60 |
- |
|
61 |
- |
|
62 |
- </header><div class="row"> |
|
63 |
- <div class="col-md-9 contents"> |
|
64 |
- <div class="page-header"> |
|
65 |
- <h1>Articles</h1> |
|
38 |
+ </ul><form class="form-inline my-2 my-lg-0" role="search"> |
|
39 |
+ <input type="search" class="form-control me-sm-2" aria-label="Toggle navigation" name="search-input" data-search-index="../search.json" id="search-input" placeholder="Search for" autocomplete="off"></form> |
|
40 |
+ |
|
41 |
+ <ul class="navbar-nav"></ul></div> |
|
42 |
+ |
|
43 |
+ |
|
44 |
+ </div> |
|
45 |
+</nav><div class="container template-article-index"> |
|
46 |
+<div class="row"> |
|
47 |
+ <main id="main" class="col-md-9"><div class="page-header"> |
|
48 |
+ <img src="" class="logo" alt=""><h1>Articles</h1> |
|
66 | 49 |
</div> |
67 | 50 |
|
68 | 51 |
<div class="section "> |
... | ... |
@@ -84,23 +67,21 @@ |
84 | 67 |
</dd><dt><a href="presets.html">Parameter Tuning Presets for crossValidate and Their Customisation</a></dt> |
85 | 68 |
<dd> |
86 | 69 |
</dd></dl></div> |
87 |
- </div> |
|
88 |
-</div> |
|
70 |
+ </main></div> |
|
89 | 71 |
|
90 | 72 |
|
91 |
- <footer><div class="copyright"> |
|
73 |
+ <footer><div class="pkgdown-footer-left"> |
|
92 | 74 |
<p></p><p>Developed by Dario Strbenac, Ellis Patrick, Sourish Iyengar, Harry Robertson, Andy Tran, John Ormerod, Graham Mann, Jean Yang.</p> |
93 | 75 |
</div> |
94 | 76 |
|
95 |
-<div class="pkgdown"> |
|
77 |
+<div class="pkgdown-footer-right"> |
|
96 | 78 |
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> |
97 | 79 |
</div> |
98 | 80 |
|
99 |
- </footer></div> |
|
81 |
+ </footer></div> |
|
100 | 82 |
|
101 | 83 |
|
102 | 84 |
|
103 |
- |
|
104 | 85 |
|
105 | 86 |
|
106 | 87 |
</body></html> |
... | ... |
@@ -4,97 +4,79 @@ |
4 | 4 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
5 | 5 |
<meta charset="utf-8"> |
6 | 6 |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
7 |
-<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
7 |
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
|
8 |
+<meta name="description" content="ClassifyR"> |
|
8 | 9 |
<title>Parameter Tuning Presets for crossValidate and Their Customisation • ClassifyR</title> |
9 |
-<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"> |
|
10 |
-<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"> |
|
11 |
-<script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"> |
|
10 |
+<script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
|
11 |
+<link href="../deps/bootstrap-5.2.2/bootstrap.min.css" rel="stylesheet"> |
|
12 |
+<script src="../deps/bootstrap-5.2.2/bootstrap.bundle.min.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"> |
|
12 | 13 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"> |
13 |
-<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"> |
|
14 |
-<script src="../pkgdown.js"></script><meta property="og:title" content="Parameter Tuning Presets for crossValidate and Their Customisation"> |
|
14 |
+<!-- bootstrap-toc --><script src="https://cdn.jsdelivr.net/gh/afeld/bootstrap-toc@v1.0.1/dist/bootstrap-toc.min.js" integrity="sha256-4veVQbu7//Lk5TSmc7YV48MxtMy98e26cf5MrgZYnwo=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- search --><script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js" integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js" integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg==" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"> |
|
15 |
+<meta property="og:title" content="Parameter Tuning Presets for crossValidate and Their Customisation"> |
|
15 | 16 |
<meta property="og:description" content="ClassifyR"> |
16 | 17 |
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> |
17 | 18 |
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> |
18 | 19 |
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
19 | 20 |
<![endif]--> |
20 | 21 |
</head> |
21 |
-<body data-spy="scroll" data-target="#toc"> |
|
22 |
+<body> |
|
23 |
+ <a href="#main" class="visually-hidden-focusable">Skip to contents</a> |
|
22 | 24 |
|
23 | 25 |
|
24 |
- <div class="container template-article"> |
|
25 |
- <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> |
|
26 |
- <div class="container"> |
|
27 |
- <div class="navbar-header"> |
|
28 |
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> |
|
29 |
- <span class="sr-only">Toggle navigation</span> |
|
30 |
- <span class="icon-bar"></span> |
|
31 |
- <span class="icon-bar"></span> |
|
32 |
- <span class="icon-bar"></span> |
|
33 |
- </button> |
|
34 |
- <span class="navbar-brand"> |
|
35 |
- <a class="navbar-link" href="../index.html">ClassifyR</a> |
|
36 |
- <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">3.3.12</span> |
|
37 |
- </span> |
|
38 |
- </div> |
|
26 |
+ <nav class="navbar fixed-top navbar-light navbar-expand-lg bg-light"><div class="container"> |
|
27 |
+ |
|
28 |
+ <a class="navbar-brand me-2" href="../index.html">ClassifyR</a> |
|
29 |
+ |
|
30 |
+ <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.3.13</small> |
|
39 | 31 |
|
40 |
- <div id="navbar" class="navbar-collapse collapse"> |
|
41 |
- <ul class="nav navbar-nav"> |
|
42 |
-<li> |
|
43 |
- <a href="../articles/ClassifyR.html">Get started</a> |
|
32 |
+ |
|
33 |
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation"> |
|
34 |
+ <span class="navbar-toggler-icon"></span> |
|
35 |
+ </button> |
|
36 |
+ |
|
37 |
+ <div id="navbar" class="collapse navbar-collapse ms-3"> |
|
38 |
+ <ul class="navbar-nav me-auto"> |
|
39 |
+<li class="nav-item"> |
|
40 |
+ <a class="nav-link" href="../articles/ClassifyR.html">Get started</a> |
|
44 | 41 |
</li> |
45 |
-<li> |
|
46 |
- <a href="../reference/index.html">Reference</a> |
|
42 |
+<li class="nav-item"> |
|
43 |
+ <a class="nav-link" href="../reference/index.html">Reference</a> |
|
47 | 44 |
</li> |
48 |
-<li class="dropdown"> |
|
49 |
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> |
|
50 |
- Articles |
|
51 |
- |
|
52 |
- <span class="caret"></span> |
|
53 |
- </a> |
|
54 |
- <ul class="dropdown-menu" role="menu"> |
|
55 |
-<li> |
|
56 |
- <a href="../articles/DevelopersGuide.html">**ClassifyR** Developer's Guide</a> |
|
57 |
- </li> |
|
58 |
- <li> |
|
59 |
- <a href="../articles/incorporateNew.html">Creating a Wrapper for New Functionality and Registering It</a> |
|
60 |
- </li> |
|
61 |
- <li> |
|
62 |
- <a href="../articles/introduction.html">Introduction to the Concepts of ClassifyR</a> |
|
63 |
- </li> |
|
64 |
- <li> |
|
65 |
- <a href="../articles/multiViewMethods.html">Multi-view Methods for Modelling of Multiple Data Views</a> |
|
66 |
- </li> |
|
67 |
- <li> |
|
68 |
- <a href="../articles/performanceEvaluation.html">Performance Evaluation of Fitted Models</a> |
|
69 |
- </li> |
|
70 |
- <li> |
|
71 |
- <a href="../articles/presets.html">Parameter Tuning Presets for crossValidate and Their Customisation</a> |
|
72 |
- </li> |
|
73 |
- </ul> |
|
45 |
+<li class="active nav-item dropdown"> |
|
46 |
+ <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false" aria-haspopup="true" id="dropdown-articles">Articles</a> |
|
47 |
+ <div class="dropdown-menu" aria-labelledby="dropdown-articles"> |
|
48 |
+ <a class="dropdown-item" href="../articles/DevelopersGuide.html">**ClassifyR** Developer's Guide</a> |
|
49 |
+ <a class="dropdown-item" href="../articles/incorporateNew.html">Creating a Wrapper for New Functionality and Registering It</a> |
|
50 |
+ <a class="dropdown-item" href="../articles/introduction.html">Introduction to the Concepts of ClassifyR</a> |
|
51 |
+ <a class="dropdown-item" href="../articles/multiViewMethods.html">Multi-view Methods for Modelling of Multiple Data Views</a> |
|
52 |
+ <a class="dropdown-item" href="../articles/performanceEvaluation.html">Performance Evaluation of Fitted Models</a> |
|
53 |
+ <a class="dropdown-item" href="../articles/presets.html">Parameter Tuning Presets for crossValidate and Their Customisation</a> |
|
54 |
+ </div> |
|
74 | 55 |
</li> |
75 | 56 |
</ul> |
76 |
-<ul class="nav navbar-nav navbar-right"></ul> |
|
57 |
+<form class="form-inline my-2 my-lg-0" role="search"> |
|
58 |
+ <input type="search" class="form-control me-sm-2" aria-label="Toggle navigation" name="search-input" data-search-index="../search.json" id="search-input" placeholder="Search for" autocomplete="off"> |
|
59 |
+</form> |
|
60 |
+ |
|
61 |
+ <ul class="navbar-nav"></ul> |
|
77 | 62 |
</div> |
78 |
-<!--/.nav-collapse --> |
|
63 |
+ |
|
64 |
+ |
|
79 | 65 |
</div> |
80 |
-<!--/.container --> |
|
81 |
-</div> |
|
82 |
-<!--/.navbar --> |
|
66 |
+</nav><div class="container template-article"> |
|
67 |
+ |
|
68 |
+ |
|
83 | 69 |
|
84 |
- |
|
85 | 70 |
|
86 |
- </header><div class="row"> |
|
87 |
- <div class="col-md-9 contents"> |
|
88 |
- <div class="page-header toc-ignore"> |
|
89 |
- <h1 data-toc-skip>Parameter Tuning Presets for crossValidate and |
|
90 |
-Their Customisation</h1> |
|
71 |
+<div class="row"> |
|
72 |
+ <main id="main" class="col-md-9"><div class="page-header"> |
|
73 |
+ <img src="" class="logo" alt=""><h1>Parameter Tuning Presets for crossValidate and Their Customisation</h1> |
|
91 | 74 |
<h4 data-toc-skip class="author">Dario Strbenac |
92 | 75 |
<br> The University of Sydney, Australia.</h4> |
93 | 76 |
|
94 | 77 |
|
95 | 78 |
|
96 |
- <div class="hidden name"><code>presets.Rmd</code></div> |
|
97 |
- |
|
79 |
+ <div class="d-none name"><code>presets.Rmd</code></div> |
|
98 | 80 |
</div> |
99 | 81 |
|
100 | 82 |
|
... | ... |
@@ -202,32 +184,26 @@ distance between densities for a feature to have a vote for a particular |
202 | 184 |
class. The default of 0 means that every feature votes for the class |
203 | 185 |
which has the highest density at that point, regardless how close the |
204 | 186 |
density of any other class is to it.</p> |
205 |
- </div> |
|
206 |
- |
|
207 |
- <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar"> |
|
208 |
- |
|
209 |
- </div> |
|
210 |
- |
|
187 |
+ </main> |
|
211 | 188 |
</div> |
212 | 189 |
|
213 | 190 |
|
214 | 191 |
|
215 |
- <footer><div class="copyright"> |
|
192 |
+ <footer><div class="pkgdown-footer-left"> |
|
216 | 193 |
<p></p> |
217 | 194 |
<p>Developed by Dario Strbenac, Ellis Patrick, Sourish Iyengar, Harry Robertson, Andy Tran, John Ormerod, Graham Mann, Jean Yang.</p> |
218 | 195 |
</div> |
219 | 196 |
|
220 |
-<div class="pkgdown"> |
|
197 |
+<div class="pkgdown-footer-right"> |
|
221 | 198 |
<p></p> |
222 | 199 |
<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> |
223 | 200 |
</div> |
224 | 201 |
|
225 |
- </footer> |
|
202 |
+ </footer> |
|
226 | 203 |
</div> |
227 | 204 |
|
228 | 205 |
|
229 | 206 |
|
230 |
- |
|
231 | 207 |
|
232 | 208 |
|
233 | 209 |
</body> |
... | ... |
@@ -1,9 +1,10 @@ |
1 | 1 |
body .main-container {max-width: 1600px;} |
2 | 2 |
p {padding: 20px;} |
3 |
-.table {border: 2px solid #e64626;} |
|
3 |
+table {border: 2px solid #e64626 !important;} |
|
4 |
+.table {border: 2px solid #e64626 !important;} |
|
4 | 5 |
.table>thead>tr>th |
5 | 6 |
{ |
6 |
- border-bottom: 2px solid #e64626; |
|
7 |
- border-right: 1px solid black; |
|
7 |
+ border-bottom: 2px solid #e64626 !important; |
|
8 |
+ border-right: 1px solid black !important; |
|
8 | 9 |
} |
9 |
-.table>tbody>tr>td {border-right: 1px solid black;} |
|
10 | 10 |
\ No newline at end of file |
11 |
+.table>tbody>tr>td {border-right: 1px solid black !important;} |
|
11 | 12 |
\ No newline at end of file |
12 | 13 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,7 @@ |
1 |
+/*! |
|
2 |
+ * Bootstrap v5.2.2 (https://getbootstrap.com/) |
|
3 |
+ * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) |
|
4 |
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
|
5 |
+ */ |
|
6 |
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},m=t=>{"function"==typeof t&&t()},_=(e,i,n=!0)=>{if(!n)return void m(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),m(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=N(t);return C.has(o)||(o=t),[n,s,o]}function D(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return j(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return j(n,{delegateTarget:t}),i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function S(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t,e,i,n){const s=e[i]||{};for(const o of Object.keys(s))if(o.includes(n)){const n=s[o];S(t,e,i,n.callable,n.delegationSelector)}}function N(t){return t=t.replace(y,""),T[t]||t}const P={on(t,e,i,n){D(t,e,i,n,!1)},one(t,e,i,n){D(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))I(t,l,i,e.slice(1));for(const i of Object.keys(c)){const n=i.replace(w,"");if(!a||e.includes(n)){const e=c[i];S(t,l,r,e.callable,e.delegationSelector)}}}else{if(!Object.keys(c).length)return;S(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=j(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function j(t,e){for(const[i,n]of Object.entries(e||{}))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};function $(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function W(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${W(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${W(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=$(t.dataset[n])}return e},getDataAttribute:(t,e)=>$(t.getAttribute(`data-bs-${W(e)}`))};class F{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const n of Object.keys(e)){const s=e[n],r=t[n],a=o(r)?"element":null==(i=r)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}var i}}class z extends F{constructor(t,e){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(e),H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.2.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;P.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class R extends z{static get NAME(){return"alert"}close(){if(P.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),P.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=R.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}q(R,"close"),g(R);const V='[data-bs-toggle="button"]';class K extends z{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}P.on(document,"click.bs.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()})),g(K);const Q={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))}},X={endCallback:null,leftCallback:null,rightCallback:null},Y={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class U extends F{constructor(t,e){super(),this._element=t,t&&U.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return X}static get DefaultType(){return Y}static get NAME(){return"swipe"}dispose(){P.off(this._element,".bs.swipe")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),m(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&m(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),P.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),P.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),P.on(this._element,"touchend.bs.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const G="next",J="prev",Z="left",tt="right",et="slid.bs.carousel",it="carousel",nt="active",st={ArrowLeft:tt,ArrowRight:Z},ot={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},rt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class at extends z{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=Q.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===it&&this.cycle()}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"carousel"}next(){this._slide(G)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(J)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,et,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,et,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?G:J;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),P.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&U.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of Q.find(".carousel-item img",this._element))P.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(Z)),rightCallback:()=>this._slide(this._directionToOrder(tt)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new U(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=st[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=Q.findOne(".active",this._indicatorsElement);e.classList.remove(nt),e.removeAttribute("aria-current");const i=Q.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(nt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===G,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r("slide.bs.carousel").defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(nt),i.classList.remove(nt,c,l),this._isSliding=!1,r(et)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return Q.findOne(".active.carousel-item",this._element)}_getItems(){return Q.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===Z?J:G:t===Z?G:J}_orderToDirection(t){return p()?t===J?Z:tt:t===J?tt:Z}static jQueryInterface(t){return this.each((function(){const e=at.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=n(this);if(!e||!e.classList.contains(it))return;t.preventDefault();const i=at.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),P.on(window,"load.bs.carousel.data-api",(()=>{const t=Q.find('[data-bs-ride="carousel"]');for(const e of t)at.getOrCreateInstance(e)})),g(at);const lt="show",ct="collapse",ht="collapsing",dt='[data-bs-toggle="collapse"]',ut={parent:null,toggle:!0},ft={parent:"(null|element)",toggle:"boolean"};class pt extends z{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const n=Q.find(dt);for(const t of n){const e=i(t),n=Q.find(e).filter((t=>t===this._element));null!==e&&n.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return ut}static get DefaultType(){return ft}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>pt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[e]="",P.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);for(const t of this._triggerArray){const e=n(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),P.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(dt);for(const e of t){const t=n(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=Q.find(":scope .collapse .collapse",this._config.parent);return Q.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}P.on(document,"click.bs.collapse.data-api",dt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this),n=Q.find(e);for(const t of n)pt.getOrCreateInstance(t,{toggle:!1}).toggle()})),g(pt);var gt="top",mt="bottom",_t="right",bt="left",vt="auto",yt=[gt,mt,_t,bt],wt="start",At="end",Et="clippingParents",Tt="viewport",Ct="popper",Ot="reference",xt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+At])}),[]),kt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+At])}),[]),Lt="beforeRead",Dt="read",St="afterRead",It="beforeMain",Nt="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",$t=[Lt,Dt,St,It,Nt,Pt,jt,Mt,Ht];function Wt(t){return t?(t.nodeName||"").toLowerCase():null}function Bt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Ft(t){return t instanceof Bt(t).Element||t instanceof Element}function zt(t){return t instanceof Bt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Bt(t).ShadowRoot||t instanceof ShadowRoot)}const Rt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];zt(s)&&Wt(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});zt(n)&&Wt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Vt(t){return t.split("-")[0]}var Kt=Math.max,Qt=Math.min,Xt=Math.round;function Yt(){var t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ut(){return!/^((?!chrome|android).)*safari/i.test(Yt())}function Gt(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&zt(t)&&(s=t.offsetWidth>0&&Xt(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Xt(n.height)/t.offsetHeight||1);var r=(Ft(t)?Bt(t):window).visualViewport,a=!Ut()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Jt(t){var e=Gt(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Zt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function te(t){return Bt(t).getComputedStyle(t)}function ee(t){return["table","td","th"].indexOf(Wt(t))>=0}function ie(t){return((Ft(t)?t.ownerDocument:t.document)||window.document).documentElement}function ne(t){return"html"===Wt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||ie(t)}function se(t){return zt(t)&&"fixed"!==te(t).position?t.offsetParent:null}function oe(t){for(var e=Bt(t),i=se(t);i&&ee(i)&&"static"===te(i).position;)i=se(i);return i&&("html"===Wt(i)||"body"===Wt(i)&&"static"===te(i).position)?e:i||function(t){var e=/firefox/i.test(Yt());if(/Trident/i.test(Yt())&&zt(t)&&"fixed"===te(t).position)return null;var i=ne(t);for(qt(i)&&(i=i.host);zt(i)&&["html","body"].indexOf(Wt(i))<0;){var n=te(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function re(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function ae(t,e,i){return Kt(t,Qt(e,i))}function le(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ce(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const he={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=Vt(i.placement),l=re(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return le("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ce(t,yt))}(s.padding,i),d=Jt(o),u="y"===l?gt:bt,f="y"===l?mt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],g=r[l]-i.rects.reference[l],m=oe(o),_=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,b=p/2-g/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=ae(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Zt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function de(t){return t.split("-")[1]}var ue={top:"auto",right:"auto",bottom:"auto",left:"auto"};function fe(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,g=void 0===p?0:p,m="function"==typeof h?h({x:f,y:g}):{x:f,y:g};f=m.x,g=m.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=bt,y=gt,w=window;if(c){var A=oe(i),E="clientHeight",T="clientWidth";A===Bt(i)&&"static"!==te(A=ie(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===gt||(s===bt||s===_t)&&o===At)&&(y=mt,g-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,g*=l?1:-1),s!==bt&&(s!==gt&&s!==mt||o!==At)||(v=_t,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&ue),x=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:Xt(e*n)/n||0,y:Xt(i*n)/n||0}}({x:f,y:g}):{x:f,y:g};return f=x.x,g=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+g+"px)":"translate3d("+f+"px, "+g+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?g+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const pe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:Vt(e.placement),variation:de(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,fe(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,fe(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ge={passive:!0};const me={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=Bt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ge)})),a&&l.addEventListener("resize",i.update,ge),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ge)})),a&&l.removeEventListener("resize",i.update,ge)}},data:{}};var _e={left:"right",right:"left",bottom:"top",top:"bottom"};function be(t){return t.replace(/left|right|bottom|top/g,(function(t){return _e[t]}))}var ve={start:"end",end:"start"};function ye(t){return t.replace(/start|end/g,(function(t){return ve[t]}))}function we(t){var e=Bt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ae(t){return Gt(ie(t)).left+we(t).scrollLeft}function Ee(t){var e=te(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Te(t){return["html","body","#document"].indexOf(Wt(t))>=0?t.ownerDocument.body:zt(t)&&Ee(t)?t:Te(ne(t))}function Ce(t,e){var i;void 0===e&&(e=[]);var n=Te(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Bt(n),r=s?[o].concat(o.visualViewport||[],Ee(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ce(ne(r)))}function Oe(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function xe(t,e,i){return e===Tt?Oe(function(t,e){var i=Bt(t),n=ie(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ut();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ae(t),y:l}}(t,i)):Ft(e)?function(t,e){var i=Gt(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Oe(function(t){var e,i=ie(t),n=we(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ae(t),l=-n.scrollTop;return"rtl"===te(s||i).direction&&(a+=Kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ie(t)))}function ke(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Vt(s):null,r=s?de(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case gt:e={x:a,y:i.y-n.height};break;case mt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?re(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case At:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Et:a,c=i.rootBoundary,h=void 0===c?Tt:c,d=i.elementContext,u=void 0===d?Ct:d,f=i.altBoundary,p=void 0!==f&&f,g=i.padding,m=void 0===g?0:g,_=le("number"!=typeof m?m:ce(m,yt)),b=u===Ct?Ot:Ct,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Ce(ne(t)),i=["absolute","fixed"].indexOf(te(t).position)>=0&&zt(t)?oe(t):t;return Ft(i)?e.filter((function(t){return Ft(t)&&Zt(t,i)&&"body"!==Wt(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=xe(t,i,n);return e.top=Kt(s.top,e.top),e.right=Qt(s.right,e.right),e.bottom=Qt(s.bottom,e.bottom),e.left=Kt(s.left,e.left),e}),xe(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Ft(y)?y:y.contextElement||ie(t.elements.popper),l,h,r),A=Gt(t.elements.reference),E=ke({reference:A,element:v,strategy:"absolute",placement:s}),T=Oe(Object.assign({},v,E)),C=u===Ct?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Ct&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[_t,mt].indexOf(t)>=0?1:-1,i=[gt,mt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function De(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?kt:l,h=de(n),d=h?a?xt:xt.filter((function(t){return de(t)===h})):yt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=Le(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Vt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Se={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,g=i.allowedAutoPlacements,m=e.options.placement,_=Vt(m),b=l||(_!==m&&p?function(t){if(Vt(t)===vt)return[];var e=be(t);return[ye(t),e,ye(e)]}(m):[be(m)]),v=[m].concat(b).reduce((function(t,i){return t.concat(Vt(i)===vt?De(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:g}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C<v.length;C++){var O=v[C],x=Vt(O),k=de(O)===wt,L=[gt,mt].indexOf(x)>=0,D=L?"width":"height",S=Le(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=L?k?_t:bt:k?mt:gt;y[D]>w[D]&&(I=be(I));var N=be(I),P=[];if(o&&P.push(S[x]<=0),a&&P.push(S[I]<=0,S[N]<=0),P.every((function(t){return t}))){T=O,E=!1;break}A.set(O,P)}if(E)for(var j=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ie(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Ne(t){return[gt,_t,mt,bt].some((function(e){return t[e]>=0}))}const Pe={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Le(e,{elementContext:"reference"}),a=Le(e,{altBoundary:!0}),l=Ie(r,n),c=Ie(a,s,o),h=Ne(l),d=Ne(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},je={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=kt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Vt(t),s=[bt,gt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[bt,_t].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Me={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ke({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},He={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,g=void 0===p?0:p,m=Le(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Vt(e.placement),b=de(e.placement),v=!b,y=re(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,D="y"===y?gt:bt,S="y"===y?mt:_t,I="y"===y?"height":"width",N=A[y],P=N+m[D],j=N-m[S],M=f?-T[I]/2:0,H=b===wt?E[I]:T[I],$=b===wt?-T[I]:-E[I],W=e.elements.arrow,B=f&&W?Jt(W):{width:0,height:0},F=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=F[D],q=F[S],R=ae(0,E[I],B[I]),V=v?E[I]/2-M-R-z-O.mainAxis:H-R-z-O.mainAxis,K=v?-E[I]/2+M+R+q+O.mainAxis:$+R+q+O.mainAxis,Q=e.elements.arrow&&oe(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=N+K-Y,G=ae(f?Qt(P,N+V-Y-X):P,N,f?Kt(j,U):j);A[y]=G,k[y]=G-N}if(a){var J,Z="x"===y?gt:bt,tt="x"===y?mt:_t,et=A[w],it="y"===w?"height":"width",nt=et+m[Z],st=et-m[tt],ot=-1!==[gt,bt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=ae(t,e,i);return n>i?i:n}(at,et,lt):ae(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function $e(t,e,i){void 0===i&&(i=!1);var n,s,o=zt(e),r=zt(e)&&function(t){var e=t.getBoundingClientRect(),i=Xt(e.width)/t.offsetWidth||1,n=Xt(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ie(e),l=Gt(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Wt(e)||Ee(a))&&(c=(n=e)!==Bt(n)&&zt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:we(n)),zt(e)?((h=Gt(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ae(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function We(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Fe(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function ze(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?Be:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},Be,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){var s="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,s),a.scrollParents={reference:Ft(t)?Ce(t):t.contextElement?Ce(t.contextElement):[],popper:Ce(e)};var r,c,u=function(t){var e=We(t);return $t.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((r=[].concat(n,a.options.modifiers),c=r.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers=u.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(Fe(e,i)){a.rects={reference:$e(e,oe(i),"fixed"===a.options.strategy),popper:Jt(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!Fe(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var qe=ze(),Re=ze({defaultModifiers:[me,Me,pe,Rt]}),Ve=ze({defaultModifiers:[me,Me,pe,Rt,je,Se,He,he,Pe]});const Ke=Object.freeze(Object.defineProperty({__proto__:null,popperGenerator:ze,detectOverflow:Le,createPopperBase:qe,createPopper:Ve,createPopperLite:Re,top:gt,bottom:mt,right:_t,left:bt,auto:vt,basePlacements:yt,start:wt,end:At,clippingParents:Et,viewport:Tt,popper:Ct,reference:Ot,variationPlacements:xt,placements:kt,beforeRead:Lt,read:Dt,afterRead:St,beforeMain:It,main:Nt,afterMain:Pt,beforeWrite:jt,write:Mt,afterWrite:Ht,modifierPhases:$t,applyStyles:Rt,arrow:he,computeStyles:pe,eventListeners:me,flip:Se,hide:Pe,offset:je,popperOffsets:Me,preventOverflow:He},Symbol.toStringTag,{value:"Module"})),Qe="dropdown",Xe="ArrowUp",Ye="ArrowDown",Ue="click.bs.dropdown.data-api",Ge="keydown.bs.dropdown.data-api",Je="show",Ze='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',ti=`${Ze}.show`,ei=".dropdown-menu",ii=p()?"top-end":"top-start",ni=p()?"top-start":"top-end",si=p()?"bottom-end":"bottom-start",oi=p()?"bottom-start":"bottom-end",ri=p()?"left-start":"right-start",ai=p()?"right-start":"left-start",li={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ci={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class hi extends z{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=Q.next(this._element,ei)[0]||Q.prev(this._element,ei)[0]||Q.findOne(ei,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return Qe}toggle(){return this._isShown()?this.hide():this.show()}show(){if(l(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!P.trigger(this._element,"show.bs.dropdown",t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),P.trigger(this._element,"shown.bs.dropdown",t)}}hide(){if(l(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!P.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),B.removeDataAttribute(this._menu,"popper"),P.trigger(this._element,"hidden.bs.dropdown",t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Qe.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===Ke)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:o(this._config.reference)?t=r(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=Ve(t,this._menu,e)}_isShown(){return this._menu.classList.contains(Je)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=Q.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=Q.find(ti);for(const i of e){const e=hi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Xe,Ye].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ze)?this:Q.prev(this,Ze)[0]||Q.next(this,Ze)[0]||Q.findOne(Ze,t.delegateTarget.parentNode),o=hi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ge,Ze,hi.dataApiKeydownHandler),P.on(document,Ge,ei,hi.dataApiKeydownHandler),P.on(document,Ue,hi.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",hi.clearMenus),P.on(document,Ue,Ze,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ui=".sticky-top",fi="padding-right",pi="margin-right";class gi{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,fi,(e=>e+t)),this._setElementAttributes(di,fi,(e=>e+t)),this._setElementAttributes(ui,pi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,fi),this._resetElementAttributes(di,fi),this._resetElementAttributes(ui,pi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of Q.find(t,this._element))e(i)}}const mi="show",_i="mousedown.bs.backdrop",bi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},vi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class yi extends F{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return bi}static get DefaultType(){return vi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void m(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(mi),this._emulateAnimation((()=>{m(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(mi),this._emulateAnimation((()=>{this.dispose(),m(t)}))):m(t)}dispose(){this._isAppended&&(P.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),P.on(t,_i,(()=>{m(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const wi=".bs.focustrap",Ai="backward",Ei={autofocus:!0,trapElement:null},Ti={autofocus:"boolean",trapElement:"element"};class Ci extends F{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ei}static get DefaultType(){return Ti}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,wi),P.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),P.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,wi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=Q.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Ai?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ai:"forward")}}const Oi="hidden.bs.modal",xi="show.bs.modal",ki="modal-open",Li="show",Di="modal-static",Si={backdrop:!0,focus:!0,keyboard:!0},Ii={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ni extends z{constructor(t,e){super(t,e),this._dialog=Q.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new gi,this._addEventListeners()}static get Default(){return Si}static get DefaultType(){return Ii}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(ki),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Li),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])P.off(t,".bs.modal");this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new yi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ci({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=Q.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(Li),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.modal",(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),P.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),P.on(this._element,"mousedown.dismiss.bs.modal",(t=>{P.one(this._element,"click.dismiss.bs.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(ki),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,Oi)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Di)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Di),this._queueCallback((()=>{this._element.classList.remove(Di),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,xi,(t=>{t.defaultPrevented||P.one(e,Oi,(()=>{a(this)&&this.focus()}))}));const i=Q.findOne(".modal.show");i&&Ni.getInstance(i).hide(),Ni.getOrCreateInstance(e).toggle(this)})),q(Ni),g(Ni);const Pi="show",ji="showing",Mi="hiding",Hi=".offcanvas.show",$i="hidePrevented.bs.offcanvas",Wi="hidden.bs.offcanvas",Bi={backdrop:!0,keyboard:!0,scroll:!1},Fi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class zi extends z{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Bi}static get DefaultType(){return Fi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new gi).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ji),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Pi),this._element.classList.remove(ji),P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Mi),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Pi,Mi),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new gi).reset(),P.trigger(this._element,Wi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new yi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,$i)}:null})}_initializeFocusTrap(){return new Ci({trapElement:this._element})}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,$i))}))}static jQueryInterface(t){return this.each((function(){const e=zi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;P.one(e,Wi,(()=>{a(this)&&this.focus()}));const i=Q.findOne(Hi);i&&i!==e&&zi.getInstance(i).hide(),zi.getOrCreateInstance(e).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of Q.find(Hi))zi.getOrCreateInstance(t).show()})),P.on(window,"resize.bs.offcanvas",(()=>{for(const t of Q.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&zi.getOrCreateInstance(t).hide()})),q(zi),g(zi);const qi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Ri=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Vi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ki=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!qi.has(i)||Boolean(Ri.test(t.nodeValue)||Vi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Qi={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Xi={allowList:Qi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Yi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ui={entry:"(string|element|function|null)",selector:"(string|element)"};class Gi extends F{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Ui)}_setContent(t,e,i){const n=Q.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Ki(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return"function"==typeof t?t(this):t}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ji=new Set(["sanitize","allowList","sanitizeFn"]),Zi="fade",tn="show",en=".modal",nn="hide.bs.modal",sn="hover",on="focus",rn={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},an={allowList:Qi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},ln={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cn extends z{constructor(t,e){if(void 0===Ke)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return an}static get DefaultType(){return ln}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(en),nn,this._hideModalHandler),this.tip&&this.tip.remove(),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this.tip&&(this.tip.remove(),this.tip=null);const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper?this._popper.update():this._popper=this._createPopper(i),i.classList.add(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._queueCallback((()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented)return;const t=this._getTipElement();if(t.classList.remove(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||t.remove(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")),this._disposePopper())}),this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Zi,tn),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Zi),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Gi({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Zi)}_isShown(){return this.tip&&this.tip.classList.contains(tn)}_createPopper(t){const e="function"==typeof this._config.placement?this._config.placement.call(this,t,this._element):this._config.placement,i=rn[e.toUpperCase()];return Ve(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===sn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===sn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?on:sn]=!0,e._enter()})),P.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?on:sn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(en),nn,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ji.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=cn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(cn);const hn={...cn.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},dn={...cn.DefaultType,content:"(null|string|element|function)"};class un extends cn{static get Default(){return hn}static get DefaultType(){return dn}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn="click.bs.scrollspy",pn="active",gn="[href]",mn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},_n={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class bn extends z{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return mn}static get DefaultType(){return _n}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,fn),P.on(this._config.target,fn,gn,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=Q.find(gn,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=Q.findOne(e.hash,this._element);a(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(pn),this._activateParents(t),P.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))Q.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(pn);else for(const e of Q.parents(t,".nav, .list-group"))for(const t of Q.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(pn)}_clearActiveClass(t){t.classList.remove(pn);const e=Q.find("[href].active",t);for(const t of e)t.classList.remove(pn)}static jQueryInterface(t){return this.each((function(){const e=bn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of Q.find('[data-bs-spy="scroll"]'))bn.getOrCreateInstance(t)})),g(bn);const vn="ArrowLeft",yn="ArrowRight",wn="ArrowUp",An="ArrowDown",En="active",Tn="fade",Cn="show",On='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',xn=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${On}`;class kn extends z{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,"keydown.bs.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?P.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;P.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(En),this._activate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add(Cn)}),t,t.classList.contains(Tn)))}_deactivate(t,e){t&&(t.classList.remove(En),t.blur(),this._deactivate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove(Cn)}),t,t.classList.contains(Tn)))}_keydown(t){if(![vn,yn,wn,An].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[yn,An].includes(t.key),i=b(this._getChildren().filter((t=>!l(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),kn.getOrCreateInstance(i).show())}_getChildren(){return Q.find(xn,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=n(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=Q.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",En),n(".dropdown-menu",Cn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(En)}_getInnerElement(t){return t.matches(xn)?t:Q.findOne(xn,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=kn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab",On,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||kn.getOrCreateInstance(this).show()})),P.on(window,"load.bs.tab",(()=>{for(const t of Q.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))kn.getOrCreateInstance(t)})),g(kn);const Ln="hide",Dn="show",Sn="showing",In={animation:"boolean",autohide:"boolean",delay:"number"},Nn={animation:!0,autohide:!0,delay:5e3};class Pn extends z{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Nn}static get DefaultType(){return In}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Ln),d(this._element),this._element.classList.add(Dn,Sn),this._queueCallback((()=>{this._element.classList.remove(Sn),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(Sn),this._queueCallback((()=>{this._element.classList.add(Ln),this._element.classList.remove(Sn,Dn),P.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Dn),super.dispose()}isShown(){return this._element.classList.contains(Dn)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),P.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Pn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return q(Pn),g(Pn),{Alert:R,Button:K,Carousel:at,Collapse:pt,Dropdown:hi,Modal:Ni,Offcanvas:zi,Popover:un,ScrollSpy:bn,Tab:kn,Toast:Pn,Tooltip:cn}})); |
|
7 |
+//# sourceMappingURL=bootstrap.bundle.min.js.map |
|
0 | 8 |
\ No newline at end of file |
1 | 9 |
new file mode 100644 |
... | ... |
@@ -0,0 +1 @@ |
1 |
+{"version":3,"names":["TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttribute","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","triggerTransitionEnd","dispatchEvent","Event","isElement","object","jquery","nodeType","getElement","length","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","window","jQuery","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","has","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","call","this","handlers","previousFunction","replace","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","keys","on","one","inNamespace","isNamespace","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","key","value","entries","_unused","defineProperty","configurable","get","elementMap","Map","Data","set","instance","instanceMap","size","console","error","Array","from","remove","delete","normalizeData","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","Config","Default","DefaultType","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","prototype","match","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","static","getInstance","VERSION","enableDismissTrigger","component","method","clickEvent","tagName","getOrCreateInstance","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLID","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","eventName","_orderToDirection","isCycling","directionalClassName","orderClassName","_isAnimated","SELECTOR_ACTIVE","clearInterval","carousel","slideIndex","carousels","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","selectorElements","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","nodeName","getWindow","node","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","applyStyles$1","enabled","phase","_ref","state","elements","forEach","styles","assign","effect","_ref2","initialStyles","position","options","strategy","margin","arrow","hasOwnProperty","attribute","requires","getBasePlacement","round","getUAString","uaData","userAgentData","brands","item","brand","version","userAgent","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","height","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","getLayoutRect","rootNode","isSameNode","host","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","axis","len","padding","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","offset","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","computeStyles$1","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","eventListeners","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","update","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","html","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","boundary","_options$rootBoundary","rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getClippingRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","sort","a","b","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","hide$1","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","offset$1","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets$1","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","modifiers","visited","result","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","arguments","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","merged","orderModifiers","current","existing","m","_ref3$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","resolve","then","destroy","onFirstUpdate","createPopper","computeStyles","applyStyles","flip","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","autoClose","display","popperConfig","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","focus","_completeHide","Popper","referenceElement","_getPopperConfig","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","_selectMenuItem","openToggles","context","composedPath","isMenuTarget","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","dataApiKeydownHandler","clearMenus","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","innerWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","sel","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","EVENT_HIDDEN","EVENT_SHOW","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","EVENT_HIDE_PREVENTED","Offcanvas","blur","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","DefaultAllowlist","area","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","allowList","content","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","click","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","Popover","_getContent","EVENT_CLICK","SELECTOR_TARGET_LINKS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","scrollTo","behavior","IntersectionObserver","_observerCallback","targetElement","id","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","_activateParents","listGroup","activeNodes","spy","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","SELECTOR_INNER_ELEM","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","open","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/data.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/selector-engine.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.2): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(object)\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getElementFromSelector,\n getjQuery,\n getNextActiveElement,\n getSelectorFromElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n |