From bf58169d00459d65f635e558433e92c65172f3da Mon Sep 17 00:00:00 2001 From: nehill197 Date: Tue, 14 Jan 2025 00:47:32 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20poissonc?= =?UTF-8?q?onsulting/extras@72bf9a6eb38718b9676084f34270b55830442538=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev/.nojekyll | 1 + dev/CODE_OF_CONDUCT.html | 126 + dev/CONTRIBUTING.html | 89 + dev/ISSUE_TEMPLATE.html | 65 + dev/LICENSE-text.html | 61 + dev/LICENSE.html | 65 + dev/SUPPORT.html | 71 + dev/apple-touch-icon-120x120.png | Bin 0 -> 10940 bytes dev/apple-touch-icon-152x152.png | Bin 0 -> 15339 bytes dev/apple-touch-icon-180x180.png | Bin 0 -> 19570 bytes dev/apple-touch-icon-60x60.png | Bin 0 -> 4526 bytes dev/apple-touch-icon-76x76.png | Bin 0 -> 6028 bytes dev/apple-touch-icon.png | Bin 0 -> 19570 bytes .../beta-binomial-deviance-residuals.html | 267 + .../figure-html/unnamed-chunk-3-1.png | Bin 0 -> 107068 bytes .../figure-html/unnamed-chunk-4-1.png | Bin 0 -> 57806 bytes .../figure-html/unnamed-chunk-5-1.png | Bin 0 -> 89189 bytes dev/articles/deviance-residuals.html | 152 + dev/articles/index.html | 65 + dev/authors.html | 101 + dev/deps/KaTex-0.16.10/katex.min.css | 1 + dev/deps/KaTex-0.16.10/katex.min.js | 1 + dev/deps/Playfair_Display-0.4.9/font.css | 36 + ...j3ij__anPXJzDwcbmjWBN2PKdFvXDTbtPY_Q.woff2 | Bin 0 -> 11512 bytes ...b_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2 | Bin 0 -> 21904 bytes ...j3ij__anPXJzDwcbmjWBN2PKdFvXDYbtPY_Q.woff2 | Bin 0 -> 5476 bytes ...j3ij__anPXJzDwcbmjWBN2PKdFvXDZbtPY_Q.woff2 | Bin 0 -> 12104 bytes dev/deps/Roboto_Condensed-0.4.9/font.css | 63 + ...EETS9weq8-_d6T_POl0fRJeyWyosBA5XxxKA.woff2 | Bin 0 -> 13688 bytes ...EETS9weq8-_d6T_POl0fRJeyWyosBB5XxxKA.woff2 | Bin 0 -> 7984 bytes ...EETS9weq8-_d6T_POl0fRJeyWyosBC5XxxKA.woff2 | Bin 0 -> 3656 bytes ...EETS9weq8-_d6T_POl0fRJeyWyosBD5XxxKA.woff2 | Bin 0 -> 16960 bytes ...EETS9weq8-_d6T_POl0fRJeyWyosBK5XxxKA.woff2 | Bin 0 -> 11764 bytes ...EETS9weq8-_d6T_POl0fRJeyWyosBN5XxxKA.woff2 | Bin 0 -> 9584 bytes ...zbjEETS9weq8-_d6T_POl0fRJeyWyosBO5Xw.woff2 | Bin 0 -> 20824 bytes ...F-BfR8bXMIhJHg45mwgGEFl0_3vq_QOW4Ep0.woff2 | Bin 0 -> 7392 bytes ...F-BfR8bXMIhJHg45mwgGEFl0_3vq_R-W4Ep0.woff2 | Bin 0 -> 6020 bytes ...lVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4.woff2 | Bin 0 -> 12764 bytes ...F-BfR8bXMIhJHg45mwgGEFl0_3vq_S-W4Ep0.woff2 | Bin 0 -> 4688 bytes ...F-BfR8bXMIhJHg45mwgGEFl0_3vq_SeW4Ep0.woff2 | Bin 0 -> 13696 bytes ...F-BfR8bXMIhJHg45mwgGEFl0_3vq_SuW4Ep0.woff2 | Bin 0 -> 9556 bytes dev/deps/Roboto_Mono-0.4.9/font.css | 54 + .../bootstrap-5.3.1/bootstrap.bundle.min.js | 7 + .../bootstrap.bundle.min.js.map | 1 + dev/deps/bootstrap-5.3.1/bootstrap.min.css | 5 + .../bootstrap-toc-1.0.1/bootstrap-toc.min.js | 5 + dev/deps/clipboard.js-2.0.11/clipboard.min.js | 7 + dev/deps/data-deps.txt | 18 + dev/deps/font-awesome-6.5.2/css/all.css | 8028 ++++++++++++ dev/deps/font-awesome-6.5.2/css/all.min.css | 9 + dev/deps/font-awesome-6.5.2/css/v4-shims.css | 2194 ++++ .../font-awesome-6.5.2/css/v4-shims.min.css | 6 + .../webfonts/fa-brands-400.ttf | Bin 0 -> 209128 bytes .../webfonts/fa-brands-400.woff2 | Bin 0 -> 117852 bytes .../webfonts/fa-regular-400.ttf | Bin 0 -> 67860 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 25392 bytes .../webfonts/fa-solid-900.ttf | Bin 0 -> 420332 bytes .../webfonts/fa-solid-900.woff2 | Bin 0 -> 156400 bytes .../webfonts/fa-v4compatibility.ttf | Bin 0 -> 10832 bytes .../webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4792 bytes dev/deps/headroom-0.11.0/headroom.min.js | 7 + .../headroom-0.11.0/jQuery.headroom.min.js | 7 + dev/deps/jquery-3.6.0/jquery-3.6.0.js | 10881 ++++++++++++++++ dev/deps/jquery-3.6.0/jquery-3.6.0.min.js | 2 + dev/deps/jquery-3.6.0/jquery-3.6.0.min.map | 1 + .../search-1.0.0/autocomplete.jquery.min.js | 7 + dev/deps/search-1.0.0/fuse.min.js | 9 + dev/deps/search-1.0.0/mark.min.js | 7 + dev/favicon-16x16.png | Bin 0 -> 1245 bytes dev/favicon-32x32.png | Bin 0 -> 2203 bytes dev/favicon.ico | Bin 0 -> 15086 bytes dev/index.html | 279 + dev/katex-auto.js | 14 + dev/lightswitch.js | 85 + dev/link.svg | 12 + dev/logo.png | Bin 0 -> 28295 bytes dev/news/index.html | 222 + dev/pkgdown.js | 162 + dev/pkgdown.yml | 10 + dev/reference/args.html | 8 + dev/reference/arguments.html | 8 + dev/reference/as_list.default.html | 8 + dev/reference/as_list.html | 112 + dev/reference/as_list_unnamed.default.html | 8 + dev/reference/as_list_unnamed.html | 114 + dev/reference/bern.html | 126 + dev/reference/chk_index.html | 106 + dev/reference/chk_indices.html | 106 + dev/reference/chk_pars.html | 113 + dev/reference/dev_bern.html | 112 + dev/reference/dev_beta_binom.html | 146 + dev/reference/dev_binom.html | 116 + dev/reference/dev_gamma.html | 115 + dev/reference/dev_gamma_pois.html | 116 + dev/reference/dev_gamma_pois_zi.html | 106 + dev/reference/dev_lnorm.html | 116 + dev/reference/dev_neg_binom.html | 116 + dev/reference/dev_norm.html | 115 + dev/reference/dev_pois.html | 111 + dev/reference/dev_pois_zi.html | 116 + dev/reference/dev_skewnorm.html | 123 + dev/reference/dev_student.html | 120 + dev/reference/exp10.html | 108 + dev/reference/exp2.html | 108 + dev/reference/extras-package.html | 83 + dev/reference/extras.html | 8 + dev/reference/fabs.html | 114 + dev/reference/figures/lifecycle-archived.svg | 1 + dev/reference/figures/lifecycle-defunct.svg | 1 + .../figures/lifecycle-deprecated.svg | 21 + .../figures/lifecycle-experimental.svg | 21 + dev/reference/figures/lifecycle-maturing.svg | 1 + .../figures/lifecycle-questioning.svg | 1 + dev/reference/figures/lifecycle-retired.svg | 1 + .../figures/lifecycle-soft-deprecated.svg | 1 + dev/reference/figures/lifecycle-stable.svg | 29 + .../figures/lifecycle-superseded.svg | 21 + dev/reference/figures/logo.png | Bin 0 -> 28295 bytes dev/reference/fill_all.character.html | 8 + dev/reference/fill_all.html | 156 + dev/reference/fill_all.integer.html | 8 + dev/reference/fill_all.logical.html | 8 + dev/reference/fill_all.numeric.html | 8 + dev/reference/fill_na.character.html | 8 + dev/reference/fill_na.html | 146 + dev/reference/fill_na.integer.html | 8 + dev/reference/fill_na.logical.html | 8 + dev/reference/fill_na.numeric.html | 8 + dev/reference/ilog.html | 112 + dev/reference/ilog10.html | 112 + dev/reference/ilog2.html | 112 + dev/reference/ilogit.html | 111 + dev/reference/index.html | 1013 ++ dev/reference/inv_logit.html | 111 + dev/reference/inv_odds.html | 97 + dev/reference/invlogit.html | 111 + dev/reference/kurtosis.html | 107 + dev/reference/log-set.html | 117 + dev/reference/log10-set.html | 117 + dev/reference/log2-set.html | 117 + dev/reference/log_lik_bern.html | 108 + dev/reference/log_lik_beta_binom.html | 145 + dev/reference/log_lik_binom.html | 112 + dev/reference/log_lik_gamma.html | 111 + dev/reference/log_lik_gamma_pois.html | 112 + dev/reference/log_lik_gamma_pois_zi.html | 117 + dev/reference/log_lik_lnorm.html | 112 + dev/reference/log_lik_neg_binom.html | 112 + dev/reference/log_lik_norm.html | 111 + dev/reference/log_lik_pois.html | 107 + dev/reference/log_lik_pois_zi.html | 112 + dev/reference/log_lik_skewnorm.html | 119 + dev/reference/log_lik_student.html | 116 + dev/reference/log_odds-set.html | 103 + dev/reference/log_odds.html | 97 + dev/reference/log_odds_ratio.html | 101 + dev/reference/log_odds_ratio2.html | 94 + dev/reference/logit-set.html | 118 + dev/reference/logit.html | 111 + dev/reference/lower.html | 117 + dev/reference/numericise.Date.html | 8 + dev/reference/numericise.POSIXct.html | 8 + dev/reference/numericise.array.html | 8 + dev/reference/numericise.data.frame.html | 8 + dev/reference/numericise.double.html | 8 + dev/reference/numericise.factor.html | 8 + dev/reference/numericise.hms.html | 8 + dev/reference/numericise.html | 194 + dev/reference/numericise.integer.html | 8 + dev/reference/numericise.logical.html | 8 + dev/reference/numericise.matrix.html | 8 + dev/reference/numericize.html | 8 + dev/reference/odds-set.html | 103 + dev/reference/odds.html | 97 + dev/reference/odds_ratio.html | 101 + dev/reference/odds_ratio2.html | 94 + dev/reference/par_pattern.html | 79 + dev/reference/parameters.html | 8 + dev/reference/params.html | 203 + dev/reference/pbern.html | 8 + dev/reference/pextreme.html | 99 + dev/reference/phi.html | 111 + dev/reference/pow.html | 115 + dev/reference/proportional_change.html | 98 + dev/reference/proportional_change2.html | 94 + dev/reference/proportional_difference.html | 98 + dev/reference/proportional_difference2.html | 94 + dev/reference/pskewnorm.html | 8 + dev/reference/pvalue.html | 126 + dev/reference/pzeros.html | 107 + dev/reference/qbern.html | 8 + dev/reference/qskewnorm.html | 8 + dev/reference/ran_bern.html | 109 + dev/reference/ran_beta_binom.html | 142 + dev/reference/ran_binom.html | 113 + dev/reference/ran_gamma.html | 113 + dev/reference/ran_gamma_pois.html | 113 + dev/reference/ran_gamma_pois_zi.html | 118 + dev/reference/ran_lnorm.html | 114 + dev/reference/ran_neg_binom.html | 113 + dev/reference/ran_norm.html | 113 + dev/reference/ran_pois.html | 108 + dev/reference/ran_pois_zi.html | 113 + dev/reference/ran_skewnorm.html | 123 + dev/reference/ran_student.html | 118 + dev/reference/rbern.html | 8 + dev/reference/res_bern.html | 117 + dev/reference/res_beta_binom.html | 157 + dev/reference/res_binom.html | 121 + dev/reference/res_gamma.html | 120 + dev/reference/res_gamma_pois.html | 121 + dev/reference/res_gamma_pois_zi.html | 132 + dev/reference/res_lnorm.html | 121 + dev/reference/res_neg_binom.html | 121 + dev/reference/res_norm.html | 120 + dev/reference/res_pois.html | 116 + dev/reference/res_pois_zi.html | 120 + dev/reference/res_skewnorm.html | 124 + dev/reference/res_student.html | 125 + dev/reference/rskewnorm.html | 8 + dev/reference/sens_beta.html | 140 + dev/reference/sens_exp.html | 121 + dev/reference/sens_gamma.html | 125 + dev/reference/sens_gamma_pois.html | 122 + dev/reference/sens_gamma_pois_zi.html | 127 + dev/reference/sens_lnorm.html | 135 + dev/reference/sens_neg_binom.html | 122 + dev/reference/sens_norm.html | 125 + dev/reference/sens_pois.html | 121 + dev/reference/sens_skewnorm.html | 135 + dev/reference/sens_student.html | 145 + dev/reference/sextreme.html | 107 + dev/reference/skewness.html | 107 + dev/reference/skewnorm.html | 137 + dev/reference/step.html | 107 + dev/reference/svalue.html | 125 + dev/reference/upper.html | 117 + dev/reference/variance.html | 107 + dev/reference/vld_index.html | 8 + dev/reference/vld_indices.html | 8 + dev/reference/vld_pars.html | 8 + dev/reference/xtr_mean.html | 107 + dev/reference/xtr_median.html | 107 + dev/reference/xtr_sd.html | 107 + dev/reference/zeros.html | 107 + dev/reference/zscore.html | 110 + dev/search.json | 1 + dev/sitemap.xml | 137 + 248 files changed, 38804 insertions(+) create mode 100644 dev/.nojekyll create mode 100644 dev/CODE_OF_CONDUCT.html create mode 100644 dev/CONTRIBUTING.html create mode 100644 dev/ISSUE_TEMPLATE.html create mode 100644 dev/LICENSE-text.html create mode 100644 dev/LICENSE.html create mode 100644 dev/SUPPORT.html create mode 100644 dev/apple-touch-icon-120x120.png create mode 100644 dev/apple-touch-icon-152x152.png create mode 100644 dev/apple-touch-icon-180x180.png create mode 100644 dev/apple-touch-icon-60x60.png create mode 100644 dev/apple-touch-icon-76x76.png create mode 100644 dev/apple-touch-icon.png create mode 100644 dev/articles/beta-binomial-deviance-residuals.html create mode 100644 dev/articles/beta-binomial-deviance-residuals_files/figure-html/unnamed-chunk-3-1.png create mode 100644 dev/articles/beta-binomial-deviance-residuals_files/figure-html/unnamed-chunk-4-1.png create mode 100644 dev/articles/beta-binomial-deviance-residuals_files/figure-html/unnamed-chunk-5-1.png create mode 100644 dev/articles/deviance-residuals.html create mode 100644 dev/articles/index.html create mode 100644 dev/authors.html create mode 100644 dev/deps/KaTex-0.16.10/katex.min.css create mode 100644 dev/deps/KaTex-0.16.10/katex.min.js create mode 100644 dev/deps/Playfair_Display-0.4.9/font.css create mode 100644 dev/deps/Playfair_Display-0.4.9/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDTbtPY_Q.woff2 create mode 100644 dev/deps/Playfair_Display-0.4.9/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2 create mode 100644 dev/deps/Playfair_Display-0.4.9/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDYbtPY_Q.woff2 create mode 100644 dev/deps/Playfair_Display-0.4.9/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDZbtPY_Q.woff2 create mode 100644 dev/deps/Roboto_Condensed-0.4.9/font.css create mode 100644 dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBA5XxxKA.woff2 create mode 100644 dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBB5XxxKA.woff2 create mode 100644 dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBC5XxxKA.woff2 create mode 100644 dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBD5XxxKA.woff2 create mode 100644 dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBK5XxxKA.woff2 create mode 100644 dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBN5XxxKA.woff2 create mode 100644 dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBO5Xw.woff2 create mode 100644 dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_QOW4Ep0.woff2 create mode 100644 dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_R-W4Ep0.woff2 create mode 100644 dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4.woff2 create mode 100644 dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_S-W4Ep0.woff2 create mode 100644 dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SeW4Ep0.woff2 create mode 100644 dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SuW4Ep0.woff2 create mode 100644 dev/deps/Roboto_Mono-0.4.9/font.css create mode 100644 dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js create mode 100644 dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map create mode 100644 dev/deps/bootstrap-5.3.1/bootstrap.min.css create mode 100644 dev/deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js create mode 100644 dev/deps/clipboard.js-2.0.11/clipboard.min.js create mode 100644 dev/deps/data-deps.txt create mode 100644 dev/deps/font-awesome-6.5.2/css/all.css create mode 100644 dev/deps/font-awesome-6.5.2/css/all.min.css create mode 100644 dev/deps/font-awesome-6.5.2/css/v4-shims.css create mode 100644 dev/deps/font-awesome-6.5.2/css/v4-shims.min.css create mode 100644 dev/deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf create mode 100644 dev/deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 create mode 100644 dev/deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf create mode 100644 dev/deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 create mode 100644 dev/deps/font-awesome-6.5.2/webfonts/fa-solid-900.ttf create mode 100644 dev/deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 create mode 100644 dev/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.ttf create mode 100644 dev/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.woff2 create mode 100644 dev/deps/headroom-0.11.0/headroom.min.js create mode 100644 dev/deps/headroom-0.11.0/jQuery.headroom.min.js create mode 100644 dev/deps/jquery-3.6.0/jquery-3.6.0.js create mode 100644 dev/deps/jquery-3.6.0/jquery-3.6.0.min.js create mode 100644 dev/deps/jquery-3.6.0/jquery-3.6.0.min.map create mode 100644 dev/deps/search-1.0.0/autocomplete.jquery.min.js create mode 100644 dev/deps/search-1.0.0/fuse.min.js create mode 100644 dev/deps/search-1.0.0/mark.min.js create mode 100644 dev/favicon-16x16.png create mode 100644 dev/favicon-32x32.png create mode 100644 dev/favicon.ico create mode 100644 dev/index.html create mode 100644 dev/katex-auto.js create mode 100644 dev/lightswitch.js create mode 100644 dev/link.svg create mode 100644 dev/logo.png create mode 100644 dev/news/index.html create mode 100644 dev/pkgdown.js create mode 100644 dev/pkgdown.yml create mode 100644 dev/reference/args.html create mode 100644 dev/reference/arguments.html create mode 100644 dev/reference/as_list.default.html create mode 100644 dev/reference/as_list.html create mode 100644 dev/reference/as_list_unnamed.default.html create mode 100644 dev/reference/as_list_unnamed.html create mode 100644 dev/reference/bern.html create mode 100644 dev/reference/chk_index.html create mode 100644 dev/reference/chk_indices.html create mode 100644 dev/reference/chk_pars.html create mode 100644 dev/reference/dev_bern.html create mode 100644 dev/reference/dev_beta_binom.html create mode 100644 dev/reference/dev_binom.html create mode 100644 dev/reference/dev_gamma.html create mode 100644 dev/reference/dev_gamma_pois.html create mode 100644 dev/reference/dev_gamma_pois_zi.html create mode 100644 dev/reference/dev_lnorm.html create mode 100644 dev/reference/dev_neg_binom.html create mode 100644 dev/reference/dev_norm.html create mode 100644 dev/reference/dev_pois.html create mode 100644 dev/reference/dev_pois_zi.html create mode 100644 dev/reference/dev_skewnorm.html create mode 100644 dev/reference/dev_student.html create mode 100644 dev/reference/exp10.html create mode 100644 dev/reference/exp2.html create mode 100644 dev/reference/extras-package.html create mode 100644 dev/reference/extras.html create mode 100644 dev/reference/fabs.html create mode 100644 dev/reference/figures/lifecycle-archived.svg create mode 100644 dev/reference/figures/lifecycle-defunct.svg create mode 100644 dev/reference/figures/lifecycle-deprecated.svg create mode 100644 dev/reference/figures/lifecycle-experimental.svg create mode 100644 dev/reference/figures/lifecycle-maturing.svg create mode 100644 dev/reference/figures/lifecycle-questioning.svg create mode 100644 dev/reference/figures/lifecycle-retired.svg create mode 100644 dev/reference/figures/lifecycle-soft-deprecated.svg create mode 100644 dev/reference/figures/lifecycle-stable.svg create mode 100644 dev/reference/figures/lifecycle-superseded.svg create mode 100644 dev/reference/figures/logo.png create mode 100644 dev/reference/fill_all.character.html create mode 100644 dev/reference/fill_all.html create mode 100644 dev/reference/fill_all.integer.html create mode 100644 dev/reference/fill_all.logical.html create mode 100644 dev/reference/fill_all.numeric.html create mode 100644 dev/reference/fill_na.character.html create mode 100644 dev/reference/fill_na.html create mode 100644 dev/reference/fill_na.integer.html create mode 100644 dev/reference/fill_na.logical.html create mode 100644 dev/reference/fill_na.numeric.html create mode 100644 dev/reference/ilog.html create mode 100644 dev/reference/ilog10.html create mode 100644 dev/reference/ilog2.html create mode 100644 dev/reference/ilogit.html create mode 100644 dev/reference/index.html create mode 100644 dev/reference/inv_logit.html create mode 100644 dev/reference/inv_odds.html create mode 100644 dev/reference/invlogit.html create mode 100644 dev/reference/kurtosis.html create mode 100644 dev/reference/log-set.html create mode 100644 dev/reference/log10-set.html create mode 100644 dev/reference/log2-set.html create mode 100644 dev/reference/log_lik_bern.html create mode 100644 dev/reference/log_lik_beta_binom.html create mode 100644 dev/reference/log_lik_binom.html create mode 100644 dev/reference/log_lik_gamma.html create mode 100644 dev/reference/log_lik_gamma_pois.html create mode 100644 dev/reference/log_lik_gamma_pois_zi.html create mode 100644 dev/reference/log_lik_lnorm.html create mode 100644 dev/reference/log_lik_neg_binom.html create mode 100644 dev/reference/log_lik_norm.html create mode 100644 dev/reference/log_lik_pois.html create mode 100644 dev/reference/log_lik_pois_zi.html create mode 100644 dev/reference/log_lik_skewnorm.html create mode 100644 dev/reference/log_lik_student.html create mode 100644 dev/reference/log_odds-set.html create mode 100644 dev/reference/log_odds.html create mode 100644 dev/reference/log_odds_ratio.html create mode 100644 dev/reference/log_odds_ratio2.html create mode 100644 dev/reference/logit-set.html create mode 100644 dev/reference/logit.html create mode 100644 dev/reference/lower.html create mode 100644 dev/reference/numericise.Date.html create mode 100644 dev/reference/numericise.POSIXct.html create mode 100644 dev/reference/numericise.array.html create mode 100644 dev/reference/numericise.data.frame.html create mode 100644 dev/reference/numericise.double.html create mode 100644 dev/reference/numericise.factor.html create mode 100644 dev/reference/numericise.hms.html create mode 100644 dev/reference/numericise.html create mode 100644 dev/reference/numericise.integer.html create mode 100644 dev/reference/numericise.logical.html create mode 100644 dev/reference/numericise.matrix.html create mode 100644 dev/reference/numericize.html create mode 100644 dev/reference/odds-set.html create mode 100644 dev/reference/odds.html create mode 100644 dev/reference/odds_ratio.html create mode 100644 dev/reference/odds_ratio2.html create mode 100644 dev/reference/par_pattern.html create mode 100644 dev/reference/parameters.html create mode 100644 dev/reference/params.html create mode 100644 dev/reference/pbern.html create mode 100644 dev/reference/pextreme.html create mode 100644 dev/reference/phi.html create mode 100644 dev/reference/pow.html create mode 100644 dev/reference/proportional_change.html create mode 100644 dev/reference/proportional_change2.html create mode 100644 dev/reference/proportional_difference.html create mode 100644 dev/reference/proportional_difference2.html create mode 100644 dev/reference/pskewnorm.html create mode 100644 dev/reference/pvalue.html create mode 100644 dev/reference/pzeros.html create mode 100644 dev/reference/qbern.html create mode 100644 dev/reference/qskewnorm.html create mode 100644 dev/reference/ran_bern.html create mode 100644 dev/reference/ran_beta_binom.html create mode 100644 dev/reference/ran_binom.html create mode 100644 dev/reference/ran_gamma.html create mode 100644 dev/reference/ran_gamma_pois.html create mode 100644 dev/reference/ran_gamma_pois_zi.html create mode 100644 dev/reference/ran_lnorm.html create mode 100644 dev/reference/ran_neg_binom.html create mode 100644 dev/reference/ran_norm.html create mode 100644 dev/reference/ran_pois.html create mode 100644 dev/reference/ran_pois_zi.html create mode 100644 dev/reference/ran_skewnorm.html create mode 100644 dev/reference/ran_student.html create mode 100644 dev/reference/rbern.html create mode 100644 dev/reference/res_bern.html create mode 100644 dev/reference/res_beta_binom.html create mode 100644 dev/reference/res_binom.html create mode 100644 dev/reference/res_gamma.html create mode 100644 dev/reference/res_gamma_pois.html create mode 100644 dev/reference/res_gamma_pois_zi.html create mode 100644 dev/reference/res_lnorm.html create mode 100644 dev/reference/res_neg_binom.html create mode 100644 dev/reference/res_norm.html create mode 100644 dev/reference/res_pois.html create mode 100644 dev/reference/res_pois_zi.html create mode 100644 dev/reference/res_skewnorm.html create mode 100644 dev/reference/res_student.html create mode 100644 dev/reference/rskewnorm.html create mode 100644 dev/reference/sens_beta.html create mode 100644 dev/reference/sens_exp.html create mode 100644 dev/reference/sens_gamma.html create mode 100644 dev/reference/sens_gamma_pois.html create mode 100644 dev/reference/sens_gamma_pois_zi.html create mode 100644 dev/reference/sens_lnorm.html create mode 100644 dev/reference/sens_neg_binom.html create mode 100644 dev/reference/sens_norm.html create mode 100644 dev/reference/sens_pois.html create mode 100644 dev/reference/sens_skewnorm.html create mode 100644 dev/reference/sens_student.html create mode 100644 dev/reference/sextreme.html create mode 100644 dev/reference/skewness.html create mode 100644 dev/reference/skewnorm.html create mode 100644 dev/reference/step.html create mode 100644 dev/reference/svalue.html create mode 100644 dev/reference/upper.html create mode 100644 dev/reference/variance.html create mode 100644 dev/reference/vld_index.html create mode 100644 dev/reference/vld_indices.html create mode 100644 dev/reference/vld_pars.html create mode 100644 dev/reference/xtr_mean.html create mode 100644 dev/reference/xtr_median.html create mode 100644 dev/reference/xtr_sd.html create mode 100644 dev/reference/zeros.html create mode 100644 dev/reference/zscore.html create mode 100644 dev/search.json create mode 100644 dev/sitemap.xml diff --git a/dev/.nojekyll b/dev/.nojekyll new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/dev/.nojekyll @@ -0,0 +1 @@ + diff --git a/dev/CODE_OF_CONDUCT.html b/dev/CODE_OF_CONDUCT.html new file mode 100644 index 00000000..b978b169 --- /dev/null +++ b/dev/CODE_OF_CONDUCT.html @@ -0,0 +1,126 @@ + +Contributor Covenant Code of Conduct • extras + Skip to contents + + +
+
+
+ +
+ +
+

Our Pledge

+

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

+

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

+
+
+

Our Standards

+

Examples of behavior that contributes to a positive environment for our community include:

+
  • Demonstrating empathy and kindness toward other people
  • +
  • Being respectful of differing opinions, viewpoints, and experiences
  • +
  • Giving and gracefully accepting constructive feedback
  • +
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • +
  • Focusing on what is best not just for us as individuals, but for the overall community
  • +

Examples of unacceptable behavior include:

+
  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • +
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • +
  • Public or private harassment
  • +
  • Publishing others’ private information, such as a physical or email address, without their explicit permission
  • +
  • Other conduct which could reasonably be considered inappropriate in a professional setting
  • +
+
+

Enforcement Responsibilities

+

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

+

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

+
+
+

Scope

+

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

+
+
+

Enforcement

+

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at . All complaints will be reviewed and investigated promptly and fairly.

+

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

+
+
+

Enforcement Guidelines

+

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

+
+

1. Correction

+

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

+

Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

+
+
+

2. Warning

+

Community Impact: A violation through a single incident or series of actions.

+

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

+
+
+

3. Temporary Ban

+

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

+

Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

+
+
+

4. Permanent Ban

+

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

+

Consequence: A permanent ban from any sort of public interaction within the community.

+
+
+
+

Attribution

+

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

+

Community Impact Guidelines were inspired by [Mozilla’s code of conduct enforcement ladder][https://github.com/mozilla/inclusion].

+

For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

+
+
+ +
+ + +
+ + + + + + + diff --git a/dev/CONTRIBUTING.html b/dev/CONTRIBUTING.html new file mode 100644 index 00000000..89a534a6 --- /dev/null +++ b/dev/CONTRIBUTING.html @@ -0,0 +1,89 @@ + +Contributing to extras • extras + Skip to contents + + +
+
+
+ +
+ +

This outlines how to propose a change to extras.

+
+

Fixing typos

+

You can fix typos, spelling mistakes, or grammatical errors in the documentation directly using the GitHub web interface, as long as the changes are made in the source file. This generally means you’ll need to edit roxygen2 comments in an .R, not a .Rd file. You can find the .R file that generates the .Rd by reading the comment in the first line.

+
+
+

Bigger changes

+

If you want to make a bigger change, it’s a good idea to first file an issue and make sure someone from the team agrees that it’s needed. If you’ve found a bug, please file an issue that illustrates the bug with a minimal reprex (this will also help you write a unit test, if needed).

+
+

Pull request process

+
  • Fork the package and clone onto your computer. If you haven’t done this before, we recommend using usethis::create_from_github("", fork = TRUE).

  • +
  • Install all development dependences with devtools::install_dev_deps(), and then make sure the package passes R CMD check by running devtools::check(). If R CMD check doesn’t pass cleanly, it’s a good idea to ask for help before continuing.

  • +
  • Create a Git branch for your pull request (PR). We recommend using usethis::pr_init("brief-description-of-change").

  • +
  • Make your changes, commit to git, and then create a PR by running usethis::pr_push(), and following the prompts in your browser. The title of your PR should briefly describe the change. The body of your PR should contain Fixes #issue-number.

  • +
  • Begin commit or merge messages with - to indicate user facing changes that should be included in NEWS.md. We will use fledge to automatically generate the NEWS.md file.

  • +
+
+

Code style

+
  • New code should follow the tidyverse style guide. You can use the styler package to apply these styles, but please don’t restyle code that has nothing to do with your PR.

  • +
  • We use roxygen2, with Markdown syntax, for documentation.

  • +
  • We use testthat for unit tests. Contributions with test cases included are easier to accept.

  • +
+
+
+

Code of Conduct

+

Please note that the extras project is released with a Contributor Code of Conduct. By contributing to this project you agree to abide by its terms.

+
+
+ +
+ + +
+ + + + + + + diff --git a/dev/ISSUE_TEMPLATE.html b/dev/ISSUE_TEMPLATE.html new file mode 100644 index 00000000..df78f9ea --- /dev/null +++ b/dev/ISSUE_TEMPLATE.html @@ -0,0 +1,65 @@ + +NA • extras + Skip to contents + + +
+
+
+ + +

Please briefly describe your problem and what output you expect. If you have a question, please don’t use this form. Instead, ask on https://stackoverflow.com/.

+

Please include a minimal reproducible example (AKA a reprex). If you’ve never heard of a reprex before, start by reading https://www.tidyverse.org/help/#reprex.

+

Brief description of the problem

+
+# insert reprex here
+ + +
+ + +
+ + + + + + + diff --git a/dev/LICENSE-text.html b/dev/LICENSE-text.html new file mode 100644 index 00000000..aa6a85db --- /dev/null +++ b/dev/LICENSE-text.html @@ -0,0 +1,61 @@ + +License • extras + Skip to contents + + +
+
+
+ +
YEAR: 2020
+COPYRIGHT HOLDER: Poisson Consulting
+
+ +
+ + +
+ + + + + + + diff --git a/dev/LICENSE.html b/dev/LICENSE.html new file mode 100644 index 00000000..7843928f --- /dev/null +++ b/dev/LICENSE.html @@ -0,0 +1,65 @@ + +MIT License • extras + Skip to contents + + +
+
+
+ +
+ +

Copyright (c) 2020 Poisson Consulting

+

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+
+ +
+ + +
+ + + + + + + diff --git a/dev/SUPPORT.html b/dev/SUPPORT.html new file mode 100644 index 00000000..40a470aa --- /dev/null +++ b/dev/SUPPORT.html @@ -0,0 +1,71 @@ + +Getting help with extras • extras + Skip to contents + + +
+
+
+ +
+ +

Thanks for using extras! Before filing an issue, there are a few places to explore and pieces to put together to make the process as smooth as possible.

+
+

Make sure its new

+

Before opening a new issue, be sure to search issues and pull requests to make sure the bug hasn’t been reported and/or already fixed in the development version. By default, the search will be pre-populated with is:issue is:open. You can edit the qualifiers (e.g. is:pr, is:closed) as needed. For example, you’d simply remove is:open to search all issues in the repo, open or closed.

+
+
+

Make a reprex

+

Start by making a minimal reproducible example using the reprex package. If you haven’t heard of or used reprex before, you’re in for a treat! Seriously, reprex will make all of your R-question-asking endeavors easier (which is a pretty insane ROI for the five to ten minutes it’ll take you to learn what it’s all about). For additional reprex pointers, check out the Get help! section of the tidyverse site.

+
+
+ +
+ + +
+ + + + + + + diff --git a/dev/apple-touch-icon-120x120.png b/dev/apple-touch-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..90f6853af20aaf2d829b4fa23d077076374145b0 GIT binary patch literal 10940 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 literal 0 HcmV?d00001 diff --git a/dev/apple-touch-icon-152x152.png b/dev/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..88cbd6b569942cea9c3105fe1840b6bd60d92e19 GIT binary patch literal 15339 zcmZ`=WmH>Tlnov{xJxLsxVsbFHAoA^i#rrA9<*5TQrw|vad#_T+#4uXin~p|`8Pji z5qOYrU$X8!XP>=~L~Cg%;$l%^0RRA8WhFTs#5Lo;Zy-A2CwU(|7;!8Jw$ey;(5;BWxo9`RK0J^42Gw&x;(}{kd&Ank8;+10I?uWSx!dJXXUulJH>d>_swnl&8|Ufg@=&4 z?aqK2cQ7L`i9gJCe0IdrzfscRvjpD;%~Ym{&D1h{`I|{(rbI(doy}j9&m5yaICSe7 zlNp#ka1+rdDKV5P>={E%?gsr&p3f>M*QLYc_7%KP9>2-f%XED5>aXcKX*X>{HT~^z z_U7f5hrUJUUNKLDM;@n>6cE_JQZUo*M zY~BU4))Vsz6chD)k=(mM(Nb5xEhitySkD`&fNS!*8(I%=R5|6y&^87X-}KkpB? z!2I5Qo$j+2aq`4O-UH9^Mleyl-Vp-t+Tg8VET?%|yjEoqgt}5PbDnPU%G}b>!A{ z&Qjq^0A5MwtZRc=vVs3ydFMkG$Q(pLA5U4$1sM(#<0-*HS z@Hg_ASMLj1z1(;kE1iM$y}pvcN1>sgf%s1Ejm6i#kz@lBoZso3uq>hpar8dt?%l{H zmpO}UjKv(UJGDM*Ob&hoOaO|oqvZi0m9Up#5qrbu_of2-{JOXcGmgT8M2UK-+wUYZ zN8~$jd*TAjmhsqEk>KKn11yZ#QAz>Ov{?e#C#{klCTP-zi+aRE!bh9VRZ*(5f#b@< zPU1yeA>7{Q8k?J7Eos*zLgaT&2@-#O97{nK0>Pk63#<7kdCZUsR^ZpyzmvH8N{|4| zQ1+b|rW96E<0+KfXj{}!!o$M~erE0aWQMs#9c_4nqKlEByEEey-O`Vi4OMp&*M6eE zQ}2ZVy1GhjW`pM>Hay@KP2gk9@GU8TK+SDltwI(;KTfD-q9{(Nz)lFO7|DZ@jEY1a z-7%+(jgZ8a848N$sy{rfJOII=AYw15B-LyR8Ls*#jv|)QbV2zyDot;4y8OL5(`_}} z`U(Hub=rV-4G!lHiPZ?nOMyVG z2KvkyEeOcl(2bJ2rqh|igQv*ZS9|5Uq5{fMr!H)orhrIHwM^0RFt1%R*M`x9y(5*hhaz|#MgXU11c=A1O{%i# zpq>#-D3}zb020JyjzRWA;`z|`s~ZmKxe!lb6LcRW#44UGTItxAQvounu-419>lyhq ziefp+q+oDcOG-%QRAt0emGAPcY zE)#o(K0J?)K(&ClB>xpbEWKkEH^0~Hl{>gyznJ+V6%uS`l~j z*UoheT*}t}nG@Najm#n%1VQ?s9|@~gS7D!<2CFturCG=2TZl2Iv1Kq5n=ensl};Sy zX0py{L(?R2560Na%g+2%#eY!=klf^4#mddpg9Il0xNf25GK7DnB)aLwR|tjYzoym8 zvz3p{(g0|$D7qK-I*5=DBW6oq%XmWN`KclNgpehE&hg2%x4-^2=nO*g4HfeBV8?A_ z%8E$AK%{6L(rtryf^kdMNp(Z3 z^#Utq(uJl}_7kK<8+@dtA#$NnG%>9&gcSw!)Vv_STS36hV=o<@? z;`Dxcdig{V`%aCRtqXy%SkSb8UzpB|_AXXUa+$a}I#BW`f0o}h6qpm$DUriULUcq+ z2iic5Q@^wOKN|0-hVZk!BMrz^m-LpA3)WS6gQNb;Z(rs@Uh#Mx({y`QXWbGbT- z{B39RPJJys@cQB9iG!Py*d$eyQN{U+d{Y_I*AU45J9|6>OwXZA+*Sg%$cj?z=fk}tEC>4m5k8YR$SUIXzeGji)1vTig|uSJ)xoMxgTUXuyrW`f2(nH4eW~55g%}#C{OlRWwsB43GaR&;` z<`%&ZtFrz4<>kCDBx?7*k_9Ygk}Gj=7w|ba3MsEKU-OECr53<72lNBN`?^{!*o^QyufN%y>BrusM z2aBhPyf~o@J2k9?rQzSl3{@Z?o2Mlw!MH9eI)I=F9_l9Plmh{T1Hyv|607n@6?F;V zgBj&rPX1NxU<+c7MY8U*>3cs-JHm@lv!IIw?GZxx>V4asDas*_)K%kL2_!QyvI3Og zXo}<)MwR^X!y+Wp3!8~%m$THKi$FbgsyhqJ2pzQeBModZw7vAvyY>q9&xaMB)6+Y- zFx;#4vix|VLABwlfU~7zwj&9ek*mj3O6^aV8<>6_QdFr-ZS(G(Z^Uyqha(Iz=|#V+ zhRjOSC_rBSo&iE&Nb+ei2YpQXxV;^aX#w2r#AxIED2rC)shi$A&&E+<0~$^Cb8=Oq z>h2ZyCx4p7AailkWir0Tj$@vetxR)A(?#v(yI)R<&-;=7JuUR3QO<9xyB)<{BpAYd z!m%AmAw?e;NWp+&om4}aPifWfO?+&+EQV@z2O(Xco!q;>9`LWe>S-GLS&wPeV^Y{h zW231~XS24|eL=_1US63~UhAJMy7lrUw6Y59}JZd=v!Bi2;d2iWMUvl8< zkO+Jt;A`}N`;K$?R@)|opIy;7RIiFxk5~T{5eaV>eRl@O*C@2%*9;u`$`;?eezt@M zag~Bwq=GDl9@$lZo*cjvxjt|>E=s-l!F`(@J?hqjq)J+Z#k{tI80RfcsX8E$`3e_G zn`nI>l0W9c*ta59x%wpxHFUG#Q<5-WM*m^_Kz4$^Msqp5xhpK>q%&^s`ti->=UvQV z#`k3{R2++&2YgNAHUVLvIo#Xw*dkUe1~39MfJup%P;F;nWv^loq~}VUc$|b-g@kx~ zS2gk*Fhs4qaO|?EK*>c>{pzYD!&e%Z_S{HA^}2J`qqW4terL0@f<}svYisk<3C;Yk z6ah#SOcse=M|2N%O)23*f@y5k7B z=$%_fx8-wZG;jhonAR-28R&*77OS)02D23o_hH1*U6d|I4Xr@2rOp4R9a5ni$AdSH zmrQ+8%=?#RUZY1o{;g>NV`1gFVqN03J8!{>Q8%;Kb<_O!>t8lDL=DeFFOPjl%!H|L zR6gpCo-e4Ti0d35)lvuR&qe6MVJYaFV~OT!uU|%Wp5QRP5NsX}QEoasa^1Pm*XQyn z9M}lQY7+>ylOqZTX&MygN9A{^2j|Mmu9U`770RX^`I~;-y`M08ml<@i-mG0Oo&|Iu zfTrp5aMCtPyeNYQSOMn2*)pd75_wojMU;FW0_G8Cr8A!^ zKqn0V>Y>aQ)3Y^NEN_L%Y7@&3;RRvF@Vp)lVCgy`p*)0pSLZMy`#@q^H ztw8Kvp+939?YsA@G*d6~)xSFyKzvi5cgKrMu3q@ao`M3^FWL?_A8lTay^63&MJf9# zSe0?J7}h6SZmp+mypi@n!ID>Z$`;DRb%`)Nc4TFNyo$pP+!LRi1jqbfPeHn(Uuu}k zBlY37BXX9!A+94h7U37K&e69zR({ZswL%D5EimJcWPm*V=`z8=KFM-0brXq1tfTIz zj6)3h@#6-zp9`KboBro%m6XFIH6yARZFSaAs!!L?Jib;1)QvPjg^V+AFi#Vw?%ct0 zEpKI{$|Zw)v?=)nsvJKTHoU^rAilJcXz9vuxfTQT*x)P&5ELG;v#(+bZX=t1VONfl z@3&Q90tx=HQSq4guHEFggH=rbcgJ_`(Ppm@DOk=FNQ?M?*^6|A)L@v(b%te{PauDG>Ju`#m>m`ZsUqZ z+~8v(@F@MN)wHD&0(|V<3<_SbiW26WBPWZULpzcL4{)L`<9*MLRgQ)}&_ICvMv!;1 zduja`kTqN;9gb;2 zB^8hZEtL9iLo?|s#xu%px1O`_@2kz;prQs_6o*1uA0u`udfljrRd(rbt0%h0{;uGJ zgAy5I678gQq2yUGNO_z^E6%tZ*I3D}F(|zOeP~cNE>?hKc$1JfWnEh~Q0iTMJ0DtX z;EYWWxc9w;D;}!St?^^^)GZ1mN*&Ng_OXxvV5O1-JTjamma*|C9Dnya3id&grh->~ zErloJ)#+g;N~13bdC{v9D)rC$2@i~F3`D2^tYR!Z`AjnBG}X@}W#u0+5l{}R?&U`= zNJR*{#dhYdQSx;5A+q+AXRJMoi@L7Mg}Jb0sU2iX)5}a#rP}&qBx#i3P2_1cU}hTY z+gApL2DL>jF_YJf`agz}VkotCRc%sP3FUt!<}0C+{z>Ss*Q-PJM(wUY6V8d%DGv4F z$MK?VefOd7?(b61_xus<3|PEHd1yd+T#R+^#ni)8$xiM8$?&_A+p0{$$Knj!P^hT} zfmN!8B@P*KNl6~d2Qyz)>Z5f2JPryNYfv3o4oF&;xvwp}zQ4!kX`XS9dN)RbLcGfu zmB|jd3Eo#vGjje|gO(xMkvD5nqoC`#6Vq!qS0Cmq)7V+1;?NgZk~l6-|Ncv%zz6&N zze*P4=L(+ua%N>%MQmF56>5oCEF)UqXima zt?n8;J~Uu*qN=2M4bD2Sis$BAh@1w{B{NREYChV1<;s9@u%FB*0}OGjcAY+wLmz!T$Ih7H656tftLfixOmLSC_0sTz}KLQL11ErPi}f=mb$HQm`6kRv|0H z{nhaYEe9;2MybU{`h7ZrBF^?41B1o!fSwL8c`+)ct^xz2Y}$Udi`wy%@u}T%MFZL- z8ujp3wTM~a zk>$ZLI7tO>&_tdTsWQ^*#3s3jF_TU-pCQ*K;QO;d3eVOY*UX*w#ztDa2yMtS_{phxYfV2V1u*0uJnWzlDWS*fg zoobPD19cUiPrl`gLJWVHdXZU53OK4|N@Otq8VASbS@?76F=}BKJP0-BOL1YM17IpM z)X*fX$~>!&xX%}ySUkrJGe(gB@(UOHgy#+>a=?H(#W5ysn~qbGi0a8VN2eW=wHr^t z-b#a!wVz$JzUti265E(E+jw;J7e`7| zZ572ey$?{R2IZ}XPa6>fkmBxVWY5Gwb;b?q7iJmWA~QFgT(!McQk`F)=4^19B)lo` zbz=;+TmJp%i~fpvkz)qPVS=p^;5dJ;tXCf7PQ#_2=BjF2h+FFuUa8rGts0OU(-KbQC7 zwv-vy)7VU8aJ?f{$({4?;snbW^U|N|>$YslM~FG<>{nH^W!gM>Mv+N& zF(!5$+c{BRg$MJ+>$HZ}+et?&bfuVKqs8z?SiRa)M$eWSOl2dD*;O(5@`4JeTnQF3 z?wsFI7!Kt>w}E`Ns(h=)FE=UFN5pU{OQM>3$Wr~ul5u{#ax7IEI@MU{Ex82)lYI(5s@B*M?f-qFeQui)?fpEJ9zkIEf*0H)bM2 zO&3=%Msk2F-cn9*KjTOR5_G;~eOy;l?f84{1j*J$PsKUnbu#4T`bgbZBs)$>{c-e! z>e51xJiRP3MwHNg#cD%HwN^Gx_*8n`1gZ0ghx_OUVF~+uDTn?u5i28@oNOW^MSWFI z6YJ^I#VG8mcD$tI-0DKUEGEX55!EhdO+w^d%Qo;sE42g#)!qwL828! zeL+uk%C@keu#MO1H03C3+GkHreEB30Z=A1J?7zm}Fouj{x62}@Z1QS)gR?g^s^#E) zq?#W7SBchW?!`F6bz8nyUp|C`xF@xlQ}ad$ne(|lk73|tTv_f__`b%fu()BL?FJe= zy$hbCgQd<#Kh8@0F3btK)h0-OaiqXMBwT;T00dHgIirGE38D7B9-TMsv)!KELFPW* zpfO4VM=)p!&@@3|P6k`P2-!#GHOXWzcOFQW8Q@wu#GkxP`LC;*k5s(ZF`>|Zt#7;c zoGjVlH7eP!%0x!YiVrYtj|@6N8+L0%E_q8$@FYk{1d@@{;o9G@lH^&Kc^zER;)ZoH;3i& zfw^}|gYYPM$YOxV{MAq>Lk8R}ZpS2>vOJILC~xOy1ir(4J2S$#G3yH;P=S2~V9s8j zm!nTLpYM70VMy-hvtLR>efTOdP7x%C zql7J;HQ^A7iDXFI?>Z^(GNfR-AhVIRn)5zAY)hIRsRI2o-)$HE=1orke%DFwjri?P z6a?N`Rc@;cOGs1=Z256Aw)(-u~$yEA>pP1bqTCez!b}jjNT0&iD=t{d{b=lKhV zG)EFGBDw9t-N1RNdB(3>1+3dXS9=$3vsScUKPf#YzN3A0hMX<~sDI zqdpLN#BgC=GyNg~B|B%#2895BPaAaa0Bg8I>XIr1HF}5Z=u2iV6^f{>!MDrzbJZ zF-=R*Fydp8c&~|kGmGOB5;Vl&Jz1A4qn)T|oF zsil36Twpd_A|GnhPN9H3XLoGkz`0YJ2jxt8_A&y~ zBO^e(plgcjz)K#DZ=w;#oEY-j)6>(zUPp`O4-z+K>-SgO>O>Dx89P`W-nX87pKOgi=vqv3$M@%zSuTW@SY#^|Gw$b1+DjG`>4sXG_qu;f@`!i9O{1m;Aru`*cOM*%OaJ8+;@>V%0EG zG&i#Ajwr$%{WJ==K6tYgS7^-o>dR%t!| znGtSXYq5(Zel=fXF^nRH@SzRg2Pg4|upsH;m7`Q1nB{Q%_Etz3IUU{b`f4+LwfjQM z*2zi6)RgXd8$+t+IpGG8JaMJHeYg&&#gKX$)tp{jjQswt`S*YSX}G?OIptC3vMCwx z(!SaM9Qcr5L5Z+b=hkDvN4l52?%{`%&d8IX8-Ij(PJ7YZtod`%uCx+KUYsRJ-4ks1 z9yxh>d&3cSx72#HO%-kiF;0JHj0x!HuJt_7Dbiv24@R2T-7rx1mbzV}?*05{mX@O4 zxwPZHYjTojBt(?LV?yyaUjUt*owv3p@2fUzX^$3a`oDRvN7T*mblmn$0U#Cj!XxAy zsVcP`RP@q=_1xn8;cBnLidEBp|2tlFJMED{>@y^JXX~}VD(px&FNNWY27GDe6}LJH zn|@Ufk*0VE;#T`@ct&Z{n~RZw50VPr-rmwV?_35KoK``a14w{2XS0(?f7j|t?1!7< z{;WoaT64I9WBV>CF&3I_8~WQKTPKJ9NfUhd#>2m`qqcoXZ@mA^dug9pK|!JC!@*$> zc7sSYx`8G)5-~g3U2<5NuVm}-iVcZcS!W@NrsNfI(|SE_GNZa6FONEk`h+?#^3~GQ zpRfDJ2j!I8JU^P6AUU(GBGh<=b>)~ab9z(eJcPsb%gQ3oCt8UgS>+%FjTpf%5q`06 z_yedIPc4H8WJfifu>MH=!t!#0Gauw~JuE6ACy1h=7;~{!GXj79QwbVyy8;x8fOPnNIVg%G{RiyI*f+=`smVTkm@h6S% zxm6!gqhnwY#17Jrt0bNoQ4MX zZU92zSE3PUi>K-~*{@7Lx;ZmO!k;KEKa;&C zqO3t*EMmB@#u$F!B_D@QOT8aBj7Loq95l0aznYz{j4b0=W0D4jl-OyNCb|rjmUhTO zp|&e`Fb3WC==4gm{|=4^Gv`VPGzZRhbTxZza8RC}$Z0A2dU^nD?d{ritcDFGMBl%E z-#bKhnCFFKRcP{RO=ZZPpVPBqx}rnhz>HP`w#Ux?(V5ZKGg3Y9zq1a^v)D2o-KTBuXBD9UF(J;4OnR7;Nkrq zIP39pyKR`7UY!fu_($tmZ4$O{{V`kE4Y}Bz!qU?6v~&%8@F2;%%+9*Yi%6%dI$*D? ztX5Kq7uVh}=p-FDc%e~)0Mt{%N=KEy=RZ35;-b}QlEkKXhDjx{`nah zp&BYIK)>XY!sxY__)xPOCt=b3Xd{wvPJ+iPkvKI(_Ln8U;Z-yusn0Km%Y0spEk`rl zdpgbS-inzm5=eOmK?(;U7>Kajqww3TuQR{a!u4eP`5#o08LJFi3BNWw4n@O;vx0Vp4x>L~o#~-MrkjCq$TR-3mI&Yw|D&Jmy(R8~!O|qXs8mc zywIeN*jOMyVqL=Lr1NIFs|>|qv3l@)mu>3-$6xXml&ZqCZ>ilt0(AX->(+60f8=vn zr&#AU_xgvorMk-P0n^JXPaHi&zK(DK#V|Bo1l60*?IPrcGX$xC5 z%q8eih&z#Gg({7o`ZJ|{GrTTlDuN+A3NT%w!l%ddRy~V^1D_r>hEXQzAkNGGz>`uc z;M%C;dBtI=-J1&?1HFe_w$588A_nK@gAuX7A|QY| zQ;qUL@|j%9|DUgCu2`geEa~=v=_gA3nzY{{U6;NH##Vil!$YV^oPa55dp}G7qRcI050(x@yQ&K zFa!XL-_4iS9wjOMXXV|2e_YPa6zTH2yXkWFdMiZzC8h>@Q83OH{;iW!lLO-d7UhG2 zq=trvXO@?vU4;W?vL51I8GLkg=1&N-QE)r`3q%y14698Wn}+vw6FTsm@bdEH8tv?Ps>uP(SfCravp2hx0h?T?a0D{DI9?#BD7@4-mYL$ z6z+Hm{@CWc*(zEId7N*!0y%_F9ML+O zsl^0{iXspH-C$XHC#gWnnVg~bF)YgGuo`O0+*>^&`B+HzFJkvzu3#W4;zyHbZ`X5KXqG zP*+zstoJ;KD^&)ZisK_B(yRV{1g!S$E4dyz*g5sakg!d!EWliaaa33kt~0Y9==>I* zxH6Tm1x!*x-L1eSjzwUTCj4jS+=%*49+l{S@`8j-pFUG9REsj35(6EC6#V6{YmiJn>?-~N9h+mZMQ;DynM%6YfvWKm?|+e!9rNN}tHA6b*j7i^Xt# zIMlx%3;72uwn_#4CRnvh@RdA41z|`>l#xiOf1&~{ko*t|uQOMErQbM6z{5X6nE4~( z1N9b(RW0w(mhhz2k|Gqk-zM40(`fUkYCNfdiBvA=R~cAx@_=BRk{2?V5zhN_YuIsU z@(qo9CW{epVUW0OZuP-E|Ee3S@Lova$1xuP^{)%Rc68uOK;+HF8)JSlO1;bnwLDu9 zVZN09x($AGK6zpeuEbj5&E&lMhD2tT!{DA%ymV!UZK9DR@D$KoHRi7!~Qs?htR@ zKa0+8AH`6_wrEUy#Z(f8$hGa}OPTb{dDDd4DoGWb%w z$Ebp@pvKgh-`RUiISv=9mbOV&5jr(diLpgje&+>y&mRrwv!wQLA4+!4!!LhuQKw_^Qexn9z9 zS5CRDV7K;!ZWOZ2a;cfzF;}teom&s9DBwH}g&8PTjZS4vj6OY^cA^cnR*#;m$QO8H zZ@DGZi3yXj0A_zh&&M6rmgF%J^i?#WE^sO5gFiq@c2o;Yz~P|NR_PM6?Hy^-QuKQA zu{5oElV3km4|K4z36tlbcdqP3oh5ANV&6xn&rA{htpvdt->-77Odc0=i6m?q>=OVTdXA??xVJ!`RoJK!YR>oLJL zn7goqa7fn~ay^sSsm(UB1yZPvyfZh=EusIOJ^nB4f{9>e_ZIlmlLT^Q$g^l zZd^0G`-#cE}#msKT{p2Fk2Z-wJK9nBCV&Bk&C@hT;B4EAB zS<_73fjX9wL92%TuVbR?n18lhrdC!Vcptj(s%hZ3q$7v$j)9Ee?ad?#_uL zZ%^l!pBhq|KepwT8~kIq&eNV;2@~0Dpz8?4>Fx+5dHy}9IjYoE1@p3Ig8xP|+9tSi z3i9=SLBt9$^dgr4VphgWDx^^R$qglqe|VZ$D4)GYf1?32*A3B)(x!MWJd-PPVu)n@ zW*^r-Un&*=Nw!7s0s>v=Ms#Fj`l@cyD@k~&>2g@^a+}V4f{8Jk)>Yjf@ zoh|;>VxKeL{?Kw0N@u@u8@9RO;at#{)ztlqmbaiIZc%2qoYvDOugvZo$3VOAfr-Nw z9O4#lJSr2^7Bv?ZLSS0fG9SCEoCpzMa%R@HsN|Jk)4u;C`!k?ifIw91N9W&W+P705 z>HZB)PN>$5x74&RVBUWre4MY$Wm!)C<}UtGar8Wg5af*=!UO?!HYxR90O(&o*&LCU zBD$ZW5p`^^dh0emayE7f4SqinQ}*BS-#$U;t@S9mXB345DIkNik-X~BT>jyoxvDAu z7NEX6i*$y2=Dc>h_uq}yKkj8V$1{)!jGX1frE#rt5EhF$O$CLz)saXyfFPYqY4p=j z%+EYTM`XpdZ4%K#8Awm)m$~zgM({f<4P1>aLsLq`Z;t6Ea_oS-aBialBlRS_NYCA3 zM2Gf94i0{mon{)JeC%dpbs^_P*+cbX`X0V?8p}84w=>DdjpMveF;lm5l0--0(!{|5 zl0WrL)KoyT#6L>=mTG?xu)TvvMevuMKb}wpiMR&B0+wZ_Y-tt!XZLCF|5lYBuR0`u zBV+)|$Rrhe5Xc4!6tQvb$9M`7EOv>^(3j^)A|oKt)F zNEXEa%p?}e?;`dj(F_C&bw5O6ykeDY+`&L z#1iwMCEra!eQOuJ3VCpxVPwPRzU)Jvr ziA@q*HWbum_D02TFzSUR$iuzInuP9t{_@pb)cn5WQgZ0dk{13>n2Z3h(|21Uhgnbpi`OIn zMx$JHpv0h$XlY9y#X>FZ4_F>555df)_*uYZBG>gB^}UaA%HtcxXnh>0Wd7JCt}Jvz zIlS>{>O?~9?02`n-+MaOKc?0<#30CN`=&41%c{^nR)n0E{IsX^vivXUktf#|f0WQS z5xXwNBfn6EKhzBF&O{Xv6L!`Skrd5~=z^*H!2&BQpEt?EL?ULz^BX$fr<~mWtAz)T z7%M{33k@TpV_7 z3fB!I5*A1t9FeoM%3Bwhoyo}! z&#j6bb&{liMw73l{B$JM9g`oL0R2oUz|UlLc&;#c)-t>#D+zaK0VN%VIJ{NiE|yuc zv(v>nA}g&e5`oDX<~BIK9YTApB8WaGPkpRj=)f3Ru={>%DoeZw7@eHVKI2hR(m{o7 z$HmllUs|E&apU56p^3LsYY9*G<9Z^olp(Bw{WnITM2KQjZ(QFg40MJY2TWYt(a;-m zqQ;d^Eeh(E5T8ZGHzF*_Bn6_15PCfRi`#CTT0e{t;@Yi1D(nl2k(H_-`Bxr%T0$mT zrXqv1{Tx`?nY--IB~@vKF26mM8zmP??`pfs8y!;tQvP21rR#3-FxeXFzV3&x8oTPL z)o_rvwo1_aUI5izfjlr@<2z+8ju;CeWdZtvKK!eC9mwk3vj^D;r>aNOT%8L(QPhGuRPNK1OX&(+iYT-mHu zFOiIM1XfQ*}-A{fn}@DTYI z;gzpLS|vW(sh-Dtm|(S%B6iiw6joKPl7b;BTy40c?%K%iIG+FgzX(gqKmupx(D_pv zDKUV2nr)Moa;jrcYW}F^66XWc;!QeA(c5FZ(+A9Rl&S)dA*j zL2zoOaalyLRP-C35!09M$~xw59hqM;Z{%Fou`U-XVrdtU_rpYv?1zaCwV1v9j=m$< z$W&iTM6KNB`t%8yEXTBHO(Va$u3y%Ya4+c(lEwgLF8s(>;D@Fq#_Su;=O6|JaBVds z^4ZSiuPOGBoAxXb`Uk;mC-L?YInWPXD++(yyMrL&(4=~V+1QkwV`s6RtkyElKb(hn zYy>?nJYl~ld5dmK&7>?Q)b#Jktdyic$1j`ToZx{%TFV>E5Mr=ZRzvH@aR)<# z>1?1mf|4AOVqhQ@`w>MClPkO)6W&OdS#-rKY~@u+Gf34UYgNi%pV1l6x;~0|tj`}k zS!*phzHB0y*rm^RH%I@&MJ6QPYkym5fd9(bUMZb5Y1^@N&h3eY-sh){#a9pmgmdYD zQicH*Q#`>_<)~`r>wyyvKn&<)Q{u$1$LMRNN`!r5vQj~G^D25m{SXb5el~WxmkqFt zq|tN}@mk;QR_bbW#O&9G$V#kJrOwjRDEIX@N=3O>EV&nA?CBEw_kTZu2i^kmGh?)v znUoZ8Jd671!_9=>LE6mJSB%J*UbKH7#;koG@oYxGiMj0ZL*-2sg(?|qfUhbtB0;C` z&3M$wh?s=K?JfD8@TmnO{s`X7p_)3?HvA5QZ_poj3WWcjv~Q+&dR?GSSiS;tg*o#Z zryfMH&vn8|I+n==-aDwmFy4#!OuqXC>g|3?6+4u;I*R|AY$otHlW@&oQ8D0^IT>!4 z!?A+k+U=p&7zJqabANm-&@v7+QIIi9l{_K3JN*c{w+s?^54AcdVw`gyydH2lS7GI+b>#KK%0@2mheUKdLonKZNoBeRyNO&kLJlintRO%;s=9YxPM6 zhy_fNd2kl&8NCjdvolKC53U}g8z&5W5A5=OD$slGMa*Oiuit_NY zadV4ub8BQ{PyL?-PA*n>RD>J$+rR>Fr!S zEdc4xlRw%C;^ytTzevJ(L j9H1V+7!Ov;Q{e<0k`Z{GLj+P0Zvjx2*O04*n1%iiDIM2D literal 0 HcmV?d00001 diff --git a/dev/apple-touch-icon-180x180.png b/dev/apple-touch-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..58dd0517bec6828eae1d14705fdb3700b4580551 GIT binary patch literal 19570 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 z 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 literal 0 HcmV?d00001 diff --git a/dev/apple-touch-icon-60x60.png b/dev/apple-touch-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..35c6c0a6f86d9ec19261995aef90670e86ead732 GIT binary patch literal 4526 zcmV;f5mD}mP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Rj2o@9|3u?HAO8@{6Pf0{URA}DSnt55Q@lXH3-Q7hu?a9BBM=~2`+HAMZ@t?&zy9$+10y8#WMSjqUw7WS_uSv-{Fd`O zzk3)yA^F#5w?hU)-gRd&uzMAmX?{a{`u3%>k00rb(Vt&8_Y={BUG5kB%YVNQRhA&j zQaGKrZsUR;Ai}i(m?}&Abya>mBiV$Xcqg5+^H?!tfdf7#sgpM1-7aVla`!&~O@#>q3@T zN|og;K99P-Zd!2XKr(0jaOILu2l!_jb|dK3q~1h!w&n8g5Yas(sE$bzf_^W`q7elB zK1fn=Q6q#vDwD%NB7syU2T_Rc9$l4RGBo9>vaqi$YdYegI~Gk!@1kS)={FA-tYJB2 zX9iODn~wXU5aP!~sPlRZ)K!*aW=$2s!9dZl03b;c!a+Y~)l{RdsvJI#0WPR2XSoli za@I>d@$`d2h)N>DYkxXX^!O9D@FOqmC@933H)A?qcDeXlBHTzs9$iyM;?&T!NzMFN zVp=w0LrKJwDOk1*Nn(~NOFIlzSvM{0-FmV&nf~RPn=TnLMFIbG!)|yqMTw{K3oM7< zFNp3WqEbbc5f1uM7LCB?^-TDs#R?H2o6BP$kwh|;hRZo*NlNOf{JKY1)|ZF9EtbQb z?|psY#{>TN7j`1-)mhI_W;z$Nnuxy51ADO6O#++?fmAw+ z{&)hJTn;3NWLfIcRQb86-*{&JjMDc0p)9TbQgd;@4?nj9y~!*hJ|jv*cep}4AOtN0 znCdk<v>c2?e35O7Ti_j^RueoC|~kK4_|1^cargA~Br8U?PdUWdQ(JWa*%x%1@RA zJ-`3K?TZGEb;Z$CTQWW{5#izIcS4aRPdabkAc)oqK{peTKjhOfuWlMh@q$C1l>2fa z(9=JNf%p&v5hB3=>Z-~o1q}ds)573T5{YCAw&OrzEU#d7!}nZ& zfvzK0|FLlo3{91~22)o#T&y8McXOgLkEWopCW>WERj4fuV&9nzI^!lL6Rz=O3a7h! zA%qzDt*WdPRb{1wQ+b&C*SWW*Jcrppj`3M{lAu*gnG#rFS z*Cz$c7(>A4h1bxLOlL3lFU{NTeGV7b>}u<|6QEP)?jHdbL;&CeFjJNoyMA5` zZfLGS*mt2KC4Lo#Dk1NPqN7GQ}n%$nvw*sF|d zWzGd`XZ(c37=z=wa2)r_1qOhCp7plU>T%~Nsf$cb#tfU;5!?f)y8yEm;A_iuZ z7-JS8dCP+1@=K0GM9AjND<4>q85%2nC=Y6*T$_kS+B6dZ&SZ0N+{^3MQ_`mO=`ucF z>qpe5T#%eh%SJkz#YEOG#u)OZg={W=au3*DQ(1;1~e?39zbb8gK1ibCx!94Lx>L*7ZMYZ;=6E{fPLq~BobM-keC^R$Loit8OY_*$Y#@U9s4ZO_^$4{0w47c zfH9yX9GbEg@RR@xBAkwy*wH?WSjHW-3dxFsKrjN2$A^4Ai+nB%$0=+U#sXoi(4Fk+ z8vqxCX_3&RzGO@}aNZU;(vwANX9j7LkGte5s)m57!RrgawoI7$94y-ecb$Uk5?!!n z7iw&dkNO5+Sr*DmqtLaF_hn;Jzy!c@1iBIyKIqP%GhxBy1jg8e@{=SfFg$+fh7X*( za2yM^Wx;VQxUK`vIf%qa{JJhj?_dI{Y!1_+5rhMNsHy^Xk+2{(evX_Ja4P5G#6TWh zLl$h8P!ZHVMz=x-;0HhuLO=)s&RuZV1s5&^=Yox$OwQ{$w7Wr;y9 zri(XKlQ2P1#?h^4;7lfi|Jkqs-5+&BH*_#2K~+_(xb;@dX_zzW{?-EraPZ(k+;!Jo z@CO2)&?Jp5#kXlS4V9Huc>Arl5R1hzzj;31`QtYH=GVVMHk*ZIS;%BEXA=*hqoV@{ z_U(sR_~?aPE{A+R563BFX4iF*&17KPHr%u2BzHM7=``%K&)Aj)^XxOZTn>&i`Ic_c z7S=Qkixw|JS$P@C%BG>IX&yqMFk*v)*s*;(TK6A-LcD6)dB zTee`^TW=#0i69UR;LepR@#@A`(AU=oUDGhXxf$0ky%rn)ZzB@%I8;r=*H)~+(IZE( zbH@(U*4CnbpdZtxPshD$*1+rYO^t;K02kwQ8371E*s*;(9$&W(;Yb8uTX8G?>#3&^ zjzqBXuDh`151aA+d+(v4VGi2c+c7+x#A~m-itg@i1Vce|oa{iy$qxMQ%P&J!Rb(<5 zbatM>bI(4DJuNM``&+9(MEK3GevO&4X5z$&6Ub(>Sh#2rHof*bdU|@s)Q<}qv*k1j zm;ta|fnCSCak4iFmyh0?G8E2Y-1NmS;vfI{pYXF^{2YxSxy@5D4N# zdpoLYYN4ts6h%Q}Qxk04#^z0%;W!Tbejl3V%|q*f{n)#AFI?Bf;X{W}QBi?e_4TN) zug9rVr=Y4DqR}WC8t0<9`6@6;x~N;bT;ODH61$Fd!*)5?SzXUhVHdbGV~9zNZR3J& z{oqW@*A+`+!K`vzGq(a|A#b7baU2}^;0R)|7`nT=kvB~QLm^bx)S$Yi2Cc0J;PrVC zkH@ii$zmM;@Iwp^450NuD-It%gk{T@K~pun@y1phJ$e+`To&KFdllZ;x)rBSox=R) zW*k0z2nSnRap=%t%$zv`>2wdXFUIlKcvg=xDLX9iPJN8d1nAVdQO zxMSn}_uhry?}yjxMMXsgDyymx3^f+fB!ysy&nA4>ecA$>jeoy zAQ*t_x`;#~&{VbHF@mAxcrP~ZJ%ta>#9%ot*A)4X-%x)Z_8GtU$*M>DzyHvkc=?&f zM!fR^`RRt;@aPIlr1CQ@hp!fb{#p>tRAhp@3fA@mek>e5yDIYU!^`=zU=pXeG$iErM}I4T@R$@d<66G6WQAxHt(0wTJf z3tB0NqF!Ca{JIh>Z>mOZX#mnER)FB_WDvSyY3y$6!3Sqz$XX6$i6u2fem&^b9nYFZ%qr+HT!<8e8^vz^kb~F2v1Ti0_KCXR{)H1B+&tV@X3LN`jute(;(A zBvN_oY45|{_C5?{OfbeQO_6qbG<99nuWyZ|&D5g$GJIp{oH56lke-jexC=vR6Cs~o zmbab1a9nYpAi7FoOs*{PV_9PrJ~v|;e8%Jsr(8<1rh~($2eG@Y2i@@u1d-4bxlPyP zr-NSo#lOFEanI(x9k^{t{UygL$}o?-uoKaMA$7;nv$>$Z;ezfFL^YZsv)PqlTsN;8 z^_5|0id@XFV~Xu^oa{|v=do_I_ax!C9EvRUYKr_~z@t5V&D@H%oN>BXZqMXxYe7RLZd+K~$@xi#-rKFG@mfmAj8qa-n@wls)kja6u#UJ8#se%YS4Tpa0)VOLuZ zItNn_f`lSVCv;VQCgjtfzje{9&OImk=-Xdzo}gxz3HY4++q2u@)m15(HRo|bYeeB- zTcx4OXsC{2c~cc;R)nF-7gn<_7dX{Fj2%b2alAVL)8SAgX~0nB-+OfBiMh2UhtoOB z{m#u-O^KdUx|(chIgR&^bwX2Q-QnVT+vRIrF1|uQAn4KX`B`OHI=2!Pk-{#gZzzjD zeb|eGrv@>cvmi?>rz`R{LsK3Ldi8hvhBEmd{n<5$hKlQJe`3JrWOrLP{^7Up;l`_K z!6-ipkEZ-`c4c^1&T^f5zw)`uuFL-e zPr2q!+v`ao0000bbVXQnWMOn=I%9HWVRU5xGB7eUEigDOGBQ*$Fgi0bIx#UTFfckW zFdU>LXaE2JC3HntbYx+4WjbwdWNBu305UK#G%YYVEiy7xGB7$bGCDCaD=;uRFfeWT zoYVjS09SfcSaechcOY6Cgx@G{a;ABePT>%h=S&#LUDT#0SfONT5nC0O}VJbn-$ql>h($ M07*qoM6N<$f*X@eKL7v# literal 0 HcmV?d00001 diff --git a/dev/apple-touch-icon-76x76.png b/dev/apple-touch-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..18b6ebc1fbfd0e1b9274ce955ba6a52691bf29c1 GIT binary patch literal 6028 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 literal 0 HcmV?d00001 diff --git a/dev/apple-touch-icon.png b/dev/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..988bc3bd3e46afc4a2919e12b71a2f9f0472ec56 GIT binary patch literal 19570 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 z004NL + + + + + + +Beta-binomial Deviance Residuals • extras + + + + + + + + + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Beta-binomial distribution +

+

The beta-binomial distribution is useful when we wish to incorporate +additional variation into the probability parameter of the binomial +distribution, p. It accomplishes this +by drawing p from a beta distribution. +The parameters of the beta-binomial are the number of trials, n, and the shape parameters of the beta +distribution, \alpha and \beta.

+

The likelihood of the beta-binomial can be described as follows: +P(x | n, \alpha, \beta) = \frac{\Gamma(n + +1)}{\Gamma(x + 1)\Gamma(n - x + 1)} +\frac{\Gamma(x + \alpha) \Gamma(n - x + \beta)}{\Gamma(n + \alpha + +\beta)} +\frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha) \Gamma(\beta)}, +where x is a natural number ≤ n, \alpha +and \beta are >0, and where \Gamma() represents the gamma function.

+

The log-likelihood is:
\log(P(x | n, \alpha, \beta)) = \log(\Gamma(n ++ 1)) - \log(\Gamma(x + 1)) - \log(\Gamma(n - x + 1)) + + \log(\Gamma(x + \alpha)) + \\ \log(\Gamma(n - x + \beta)) - +\log(\Gamma(n + \alpha + \beta)) + + \log(\Gamma(\alpha + \beta)) - \log(\Gamma(\alpha)) - +\log(\Gamma(\beta)).

+

The expected value of the beta-binomial distribution is n \cdot \frac{\alpha}{\alpha + \beta}. This +is the same as the expected value of the binomial distribution (n \cdot p), with the p replaced by the expected value of the beta +distribution, \frac{\alpha}{\alpha + +\beta}.

+

A parameterization frequently used for the beta-binomial distribution +uses this expected probability (p) as a +parameter, with a dispersion parameter (\theta) that specifies the variance in the +probability. Our particular parameterization of \theta is slightly unconventional, but has +useful properties when modelling. When \theta += 0, the beta-binomial reverts to the binomial distribution. When +\theta = 1 and p = 0.5, the parameters of the beta +distribution become \alpha = 1 and +\beta = 1, which correspond to a +uniform distribution for the beta-binomial probability parameter.

+

The relationships between p and +\theta and \alpha and \beta are defined as follows:
p = \frac{\alpha}{\alpha + \beta} +\theta = \frac{2}{\alpha + \beta}

+

\alpha = 2\cdot\frac{p}{\theta} +\beta = 2\cdot\frac{1 - p}{\theta}

+
+
+

Deviance: +

+

Recall that the likelihood of a model is the probability of the data +set given the model (P(\text{data}|\text{model})). The +deviance of a model, D, is +defined by: D(\text{model},\text{data}) = +2(\log(P(\text{data}|\text{saturated model})) - +\log(P(\text{data}|\text{fitted model}))), where the saturated +model is the model that perfectly fits the data.

+

The saturated model usually uses the value of x in place of the mean parameter, thereby +fitting through the data points. For example, calculating the saturated +log-likelihood of the normal distribution involves using the x value(s) in place of the mean parameter +\mu in the log-likelihood. Recall from +above that the expected value of the binomial distribution is n \cdot p. Since n is fixed in the binomial distribution, +p = \frac{x}{n} is used to calculate +the saturated log-likelihood.

+

In the case of the beta-binomial distribution, there is some +confusion about what should be used as the saturated model. One +suggested approach is to use the saturated log-likelihood of the +binomial distribution, as described above, effectively setting the \theta dispersion term to 0. A second +suggested approach is to use the same method as described for the +binomial distribution (i.e., replacing p with \frac{x}{n}), and holding the \theta value constant. Both of these +approaches have issues.

+

The problem with the first approach is that likelihood profile of the +beta-binomial becomes increasingly dispersed relative to the binomial as +\theta increases (Fig. 1). +Consequently, increasing \theta +increases the deviance even if the expected value of the fitted model is +the same as the saturated binomial model.

+
+Fig. 1: Beta-binomial likelihood profile for $x = 1$ and $n = 5$, for different values of $\theta$. $\theta = 0$ corresponds to the binomial case.

+Fig. 1: Beta-binomial likelihood profile for x += 1 and n = 5, for different +values of \theta. \theta = 0 corresponds to the binomial case. +

+
+

The problem with the second approach is that for some combinations of +p and \theta, the resultant deviance values are +negative. This is an issue for two reasons. Firstly, it is nonsensical +because by definition the saturated model should be the best possible +fit to the data. Secondly, it is computationally problematic, because +calculating deviance residuals, as we will do in the next section, +involves taking the square root of the deviance.

+

Here is an example of a case where the deviance is negative. Using +x = 1, n = +5, p = 0.3, and \theta = 0.5, we calculate the saturated +log-likelihood:

+

\alpha_{sat} = \frac{2 +(\frac{x}{n})}{\theta} = \frac{2(0.3)}{0.5} = 0.8 \beta_{sat} = \frac{2 (1 - \frac{x}{n})}{\theta} = +\frac{2 (1 - 0.3)}{0.5} = 3.2

+

\log(P(x|n, p_{sat}, \theta_{sat}) = +-1.355106,

+

the fitted log-likelihood:

+

\alpha_{fit} = \frac{2 (p)}{\theta} = +\frac{2(0.3)}{0.5} = 1.2 \beta_{fit} = +\frac{2 (1 - p)}{\theta} = \frac{2 (1 - 0.3}{0.5} = 2.8

+

\log(P(x|n, p_{fit}, \theta_{fit})) = +-1.32999,

+

and finally, the deviance:

+\begin{aligned} +D(n, p, \theta, x) &= 2(\log(P(x|n, p_{sat}, \theta_{sat})) - +\log(P(x|n, p_{fit}, \theta_{fit}))) \\ +&= 2(-1.355106 - -1.32999) \\ +&= -0.050232. +\end{aligned} +

In summary, the deviance is negative because the likelihood at the +expected value, p = \frac{x}{n} is less +than the likelihood of the observed value (Fig. 2).

+

The solution to the problem appears to be to choose the value of +p that maximizes the likelihood. +However, the beta-binomial distribution has closed-form solutions only +for certain values of \alpha and \beta. Thus, we must generally search for the +value of p that maximizes the +likelihood for each data point in order to calculate the saturated +log-likelihood. We will refer to the optimized p value for the i^{th} data point as p_i^*, and generally as p^*. We use p^* to calculate the saturated log-likelihood +that produces deviances that are (a) strictly positive, and (b) relative +to the value of \theta. The value of +p_i^* for the example case with x = 1, n = +5, and \theta = 0.5 is shown in +Figure 2.

+
+Fig. 2: Beta-binomial likelihood profile for $x = 1$, $n = 5$, and $\theta = 0.5$. The dashed vertical line shows the likelihood at the expected value of the beta-binomial distribution ($n \cdot p$) where $p = \frac{x}{n} = \frac{1}{5} = 0.2$. As you can see, this is not the $p$ for which the likelihood is maximized. The solid vertical line shows the likelihood at its maximum point. In this case, $p^* = 0.26$.

+Fig. 2: Beta-binomial likelihood profile for x += 1, n = 5, and \theta = 0.5. The dashed vertical line shows +the likelihood at the expected value of the beta-binomial distribution +(n \cdot p) where p = \frac{x}{n} = \frac{1}{5} = 0.2. As you +can see, this is not the p for which +the likelihood is maximized. The solid vertical line shows the +likelihood at its maximum point. In this case, p^* = 0.26. +

+
+
+
+

Deviance residuals +

+

The unit deviance, d_i refers to the +deviance for the i^{th} data point, +x_i:
d_i = 2(\log(P(x_i|n, p_i^*, \theta)) - +\log(P(x_i|n, p, \theta))). The deviance residual is the +signed squared root of the unit deviance,
r_i = \text{sign}(x_i - (n p_i^*)) +\sqrt{d_i}. The following plot shows histograms of deviance +residuals for 10,000 randomly generated data points with n = 50 and various values of p and \theta.

+
+Fig. 4: Histograms of deviance residuals for 10,000 beta-binomial data points simulated with $n = 50$, $p = \{0.3, 0.5, 0.9 \}$, and $\theta = \{0.0, 0.1, 0.5, 1.0 \}$. The percentages within each panel (i.e., each combination of $p$ and $\theta$) sum to 100%.

+Fig. 4: Histograms of deviance residuals for 10,000 beta-binomial data +points simulated with n = 50, p = \{0.3, 0.5, 0.9 \}, and \theta = \{0.0, 0.1, 0.5, 1.0 \}. The +percentages within each panel (i.e., each combination of p and \theta) sum to 100%. +

+
+

Recall that \theta = 0 refers to the +binomial case. When p = 0.5 and \theta > 0, deviance residuals close to 0 +become less common; as \theta +increases, the distribution of deviance residuals becomes less +continuous (Fig. 4). When p deviates +from 0.5 and \theta > 0, the distribution of the +deviance residuals becomes increasingly skewed and discontinuous (Fig. +4).

+

Due to the skewed and discontinuous nature of the distribution of the +deviance residuals, the goodness of fit of a beta-binomial model cannot +be assessed from the deviance residuals alone but must be evaluated +using posterior predictive checking.

+
+
+
+ + + + +
+ + + + + + + diff --git a/dev/articles/beta-binomial-deviance-residuals_files/figure-html/unnamed-chunk-3-1.png b/dev/articles/beta-binomial-deviance-residuals_files/figure-html/unnamed-chunk-3-1.png new file mode 100644 index 0000000000000000000000000000000000000000..4640ee0421ac9250fd5b8a00db25d37fe6660f4e GIT binary patch literal 107068 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�`R>y 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 DOM3oV literal 0 HcmV?d00001 diff --git a/dev/articles/beta-binomial-deviance-residuals_files/figure-html/unnamed-chunk-4-1.png b/dev/articles/beta-binomial-deviance-residuals_files/figure-html/unnamed-chunk-4-1.png new file mode 100644 index 0000000000000000000000000000000000000000..258cfe05a902ba0c64c51b457ee3633be1c190c7 GIT binary patch literal 57806 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 literal 0 HcmV?d00001 diff --git a/dev/articles/beta-binomial-deviance-residuals_files/figure-html/unnamed-chunk-5-1.png b/dev/articles/beta-binomial-deviance-residuals_files/figure-html/unnamed-chunk-5-1.png new file mode 100644 index 0000000000000000000000000000000000000000..fac6acdc2fcfe8bb7fc1280ad717ede4d09edb50 GIT binary patch literal 89189 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%0A|R*NpC1UJv_$K~f1K>LMU< z)or_JS%4OK?bs9xPOM(!n~oN&{(Ym`UWL&O;ZIj^aTUv?6U5V|47*mvI{@b4&)L!= z>!>H6EjbIL@Y=AA@iI_g9^Eo|;jQahF@toTl$2!wcIoXQ_5GzU-c%kNmE|sJVQF1B zan=|~3u!#Z;hv)#-Hl?m;k(5OF;GQt0!U*Tv+D51&nLV;kBrz=)#W`n@}^x+YN$Tc zd^I+zC9gQSf^q#+OkxJoiqaiUvfmCw?VzW%xzCJ+abZBTl^`QKjP zimGdT^ppJiT;-mgo?`?4Pdg+B!)`JdaZo9CW4A{1*2Ub(@nw#vB=8h6a+dlf8Z@Az zAd@Pay6Xr1EBeO3F?wIzze|XX99uJJHaXLqiFF|2jFR7Q;ZIwoLJP*b1PV?pEUE@# z_})E= z`5cxo42nCDu3Ksgu&Gt6H8$x^yTCOz>4-JI};&3%sK;yCPUK&lN12ZhYa=^*ERb*7iY<0{{WAXcg*=B`eIImsLFu7<(ckzXN>MCd?b6cHYQh5)qY>W$$VUgxM!-xD7MOkK(i1;DMMO$# zl0*T6n%RSGk){y%x7eY!1L!I8jar2L5ezIPY$q~xH_wBxA24vkzbev3cOS9cp~6v{ zG>-tMO24wTw$_7V8JWrful;$}tqL%fVN@Ew7z4v1Jn(UQyK%v%NS=hArbx5$o3Q}0 z$-Y_}_Cya{XV@&9TF57{Ho+nLdn8qGYHqehOJl57ZzM z9g_e)rO;mS(r70M!1y?vFg0%*u=J4zQBq=Kf4wl)UjwNzv1BV4&eo60c|szreK{i0 zLg2WsMd^Ne+M zdF>QQdPgUV$$zw9dcgL(Cu}FVK=4*?D$as;BHq;k_t(6c>R4ru6J-?@RLUyA(pQ>B z)o=W=V4~T@zeFNc@rQixKVRt=lL3Y?ifu?85R!a2Z5((s4sSb~06xjW zt0(tIDYW#>?1CzF4oBu;52ui?iCmw8{=1X{_q%WZk;tum5BB!(yXT~&!Cu!(Y?3EO z`e6Or4ZCS`=f%Zp0G@hatq?LY>sw-MU$Pu;_PJt5Hk)k)?08pGQbK|`$y~7iioDd% zz&#)Wb2#k%zSFmX{b+OW6Dr7mc=r1(EG#^pp6#hskw5pIXGf&~Dtb(e>4D?hN7*i- zw1M&S8oL>Y!7bsyv#W{S*$Kksqd|kVTaBf4Uvdu*PCscuNsrSXn6`QkZYbB8%-duc zV7CHo_}av$!8P@QB=rP1HHwXz%xKmv@R$yXh)BhT4}e#lxbMJ4Iu!&3VmtZT%`Ez& zdn0TIc^mU1#i-PSI6*zM(SZ~rx!iyv0BT1uG&69Q8_*sQZ_(d`p-+p5-5fkvNIy^R z-22qd&XXj>BT6)YMXRT)8#glI6zyo}z9^NKMq(oAd+V8)q&M6)utG-Hi!=!_hmsAgE+|Dxsg m9~bQSRsV}l-v9rvon9=kSFuHdx#tc!Bbtilo^++77yk>?alTIg literal 0 HcmV?d00001 diff --git a/dev/articles/deviance-residuals.html b/dev/articles/deviance-residuals.html new file mode 100644 index 00000000..a78fb2c1 --- /dev/null +++ b/dev/articles/deviance-residuals.html @@ -0,0 +1,152 @@ + + + + + + + +Deviance Residuals • extras + + + + + + + + + + + + + + + + + + + Skip to contents + + +

+ + + + +
+
+ + + +

Recall that the likelihood of a model is the probability of the data +set given the model (P(D|\theta)).

+

The deviance of a model is defined by

+

D(\theta,D) = 2(\log(P(D|\theta_s)) - +\log(P(D|\theta)))

+

where \theta_s is the saturated +model which is so named because it perfectly fits the data.

+

In the case of normally distributed errors the likelihood for a +single prediction (\mu_i) and data +point (y_i) is given by

+

P(y_i|\mu_i) = \frac{1}{\sigma\sqrt{2\pi}} +\exp\bigg(-\frac{1}{2}\bigg(\frac{y_i - +\mu_i}{\sigma}\bigg)^2\bigg) and the log-likelihood by

+

\log(P(y_i|\mu_i)) = -\log(\sigma) - +\frac{1}{2}\big(\log(2\pi)\big) -\frac{1}{2}\bigg(\frac{y_i - +\mu_i}{\sigma}\bigg)^2

+

The log-likelihood for the saturated model, which is when \mu_i = y_i, is therefore simply

+

\log(P(y_i|\mu_{s_i})) = -\log(\sigma) - +\frac{1}{2}\big(\log(2\pi)\big)

+

It follows that the unit deviance is

+

d_i = 2(\log(P(y_i|\mu_{s_i})) +- \log(P(y_i|\mu_i)))

+

d_i = 2\bigg(\frac{1}{2}\bigg(\frac{y_i - +\mu_i}{\sigma}\bigg)^2\bigg)

+

d_i = \bigg(\frac{y_i - +\mu_i}{\sigma}\bigg)^2

+

As the deviance residual is the signed squared root of the +unit deviance,

+

r_i = \text{sign}(y_i - \mu_i) +\sqrt{d_i} in the case of normally distributed errors we arrive +at r_i = \frac{y_i - \mu_i}{\sigma} +which is the Pearson residual.

+

To confirm this consider a normal distribution with a \hat{\mu} = 2 and \sigma = 0.5 and a value of 1.

+
+library(extras)
+#> 
+#> Attaching package: 'extras'
+#> The following object is masked from 'package:stats':
+#> 
+#>     step
+mu <- 2
+sigma <- 0.5
+y <- 1
+
+(y - mu) / sigma
+#> [1] -2
+dev_norm(y, mu, sigma, res = TRUE)
+#> [1] -2
+sign(y - mu) * sqrt(dev_norm(y, mu, sigma))
+#> [1] -2
+sign(y - mu) * sqrt(2 * (log(dnorm(y, y, sigma)) - log(dnorm(y, mu, sigma))))
+#> [1] -2
+
+
+ + + + +
+ + + + + + + diff --git a/dev/articles/index.html b/dev/articles/index.html new file mode 100644 index 00000000..eb2bd5a3 --- /dev/null +++ b/dev/articles/index.html @@ -0,0 +1,65 @@ + +Articles • extras + Skip to contents + + +
+
+
+ + +
+ + +
+ + + + + + + diff --git a/dev/authors.html b/dev/authors.html new file mode 100644 index 00000000..a73b66c1 --- /dev/null +++ b/dev/authors.html @@ -0,0 +1,101 @@ + +Authors and Citation • extras + Skip to contents + + +
+
+
+ +
+

Authors

+ +
+ +
+

Citation

+

Source: DESCRIPTION

+ +

Hill N, Thorley J (2025). +extras: Helper Functions for Bayesian Analyses. +R package version 0.8.0.9000, +https://github.com/poissonconsulting/extras, https://poissonconsulting.github.io/extras/. +

+
@Manual{,
+  title = {extras: Helper Functions for Bayesian Analyses},
+  author = {Nicole Hill and Joe Thorley},
+  year = {2025},
+  note = {R package version 0.8.0.9000,
+    https://github.com/poissonconsulting/extras},
+  url = {https://poissonconsulting.github.io/extras/},
+}
+
+ +
+ + +
+ + + + + + + diff --git a/dev/deps/KaTex-0.16.10/katex.min.css b/dev/deps/KaTex-0.16.10/katex.min.css new file mode 100644 index 00000000..b5337aae --- /dev/null +++ b/dev/deps/KaTex-0.16.10/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.10"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/dev/deps/KaTex-0.16.10/katex.min.js b/dev/deps/KaTex-0.16.10/katex.min.js new file mode 100644 index 00000000..e701cfde --- /dev/null +++ b/dev/deps/KaTex-0.16.10/katex.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return Yn}});class r{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,a;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),a=o+15":">","<":"<",'"':""","'":"'"},i=/[&><"']/g;const a=function(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?a(e.body[0]):e:"font"===e.type?a(e.body):e};var l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(i,(e=>s[e]))},hyphenate:function(e){return e.replace(o,"-$1").toLowerCase()},getBaseElem:a,isCharacterBox:function(e){const t=a(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){const t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"}};const h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;const t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class m{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(const t in h)if(h.hasOwnProperty(t)){const r=h[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:c(r)}}reportNonstrict(e,t,r){let o=this.strict;if("function"==typeof o&&(o=o(e,t,r)),o&&"ignore"!==o){if(!0===o||"error"===o)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===o?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+o+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r){let n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n)&&(!0===n||"error"===n||("warn"===n?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))}isTrusted(e){if(e.url&&!e.protocol){const t=l.protocolFromUrl(e.url);if(null==t)return!1;e.protocol=t}const t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)}}class p{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return u[d[this.id]]}sub(){return u[g[this.id]]}fracNum(){return u[f[this.id]]}fracDen(){return u[b[this.id]]}cramp(){return u[y[this.id]]}text(){return u[x[this.id]]}isTight(){return this.size>=2}}const u=[new p(0,0,!1),new p(1,0,!0),new p(2,1,!1),new p(3,1,!0),new p(4,2,!1),new p(5,2,!0),new p(6,3,!1),new p(7,3,!0)],d=[4,5,4,5,6,7,6,7],g=[5,5,5,5,7,7,7,7],f=[2,3,4,5,6,7,6,7],b=[3,3,5,5,7,7,7,7],y=[1,1,3,3,5,5,7,7],x=[0,1,2,3,2,3,2,3];var w={DISPLAY:u[0],TEXT:u[2],SCRIPT:u[4],SCRIPTSCRIPT:u[6]};const v=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];const k=[];function S(e){for(let t=0;t=k[t]&&e<=k[t+1])return!0;return!1}v.forEach((e=>e.blocks.forEach((e=>k.push(...e)))));const M=80,z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"};class A{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createDocumentFragment();for(let t=0;te.toText())).join("")}}var T={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}};const B={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},C={"\xc5":"A","\xd0":"D","\xde":"o","\xe5":"a","\xf0":"d","\xfe":"o","\u0410":"A","\u0411":"B","\u0412":"B","\u0413":"F","\u0414":"A","\u0415":"E","\u0416":"K","\u0417":"3","\u0418":"N","\u0419":"N","\u041a":"K","\u041b":"N","\u041c":"M","\u041d":"H","\u041e":"O","\u041f":"N","\u0420":"P","\u0421":"C","\u0422":"T","\u0423":"y","\u0424":"O","\u0425":"X","\u0426":"U","\u0427":"h","\u0428":"W","\u0429":"W","\u042a":"B","\u042b":"X","\u042c":"B","\u042d":"3","\u042e":"X","\u042f":"R","\u0430":"a","\u0431":"b","\u0432":"a","\u0433":"r","\u0434":"y","\u0435":"e","\u0436":"m","\u0437":"e","\u0438":"n","\u0439":"n","\u043a":"n","\u043b":"n","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"n","\u0440":"p","\u0441":"c","\u0442":"o","\u0443":"y","\u0444":"b","\u0445":"x","\u0446":"n","\u0447":"n","\u0448":"w","\u0449":"w","\u044a":"a","\u044b":"m","\u044c":"a","\u044d":"e","\u044e":"m","\u044f":"r"};function N(e,t,r){if(!T[t])throw new Error("Font metrics not found for font: "+t+".");let n=e.charCodeAt(0),o=T[t][n];if(!o&&e[0]in C&&(n=C[e[0]].charCodeAt(0),o=T[t][n]),o||"text"!==r||S(n)&&(o=T[t][77]),o)return{depth:o[0],height:o[1],italic:o[2],skew:o[3],width:o[4]}}const q={};const I=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],R=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],H=function(e,t){return t.size<2?e:I[e-1][t.size-1]};class O{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||O.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=R[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){const t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(const r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new O(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:H(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:R[e-1]})}havingBaseStyle(e){e=e||this.style.text();const t=H(O.BASESIZE,e);return this.size===t&&this.textSize===O.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){let e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==O.BASESIZE?["sizing","reset-size"+this.size,"size"+O.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){let t;if(t=e>=5?0:e>=3?1:2,!q[t]){const e=q[t]={cssEmPerMu:B.quad[t]/18};for(const r in B)B.hasOwnProperty(r)&&(e[r]=B[r][t])}return q[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}O.BASESIZE=6;var E=O;const L={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},D={ex:!0,em:!0,mu:!0},V=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in D||"ex"===e},P=function(e,t){let r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{let o;if(o=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=o.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=o.fontMetrics().quad}o!==t&&(r*=o.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},F=function(e){return+e.toFixed(4)+"em"},G=function(e){return e.filter((e=>e)).join(" ")},U=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");const e=t.getColor();e&&(this.style.color=e)}},Y=function(e){const t=document.createElement(e);t.className=G(this.classes);for(const e in this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);for(const e in this.attributes)this.attributes.hasOwnProperty(e)&&t.setAttribute(e,this.attributes[e]);for(let e=0;e",t};class W{constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,e,r,n),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l.contains(this.classes,e)}toNode(){return Y.call(this,"span")}toMarkup(){return X.call(this,"span")}}class _{constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l.contains(this.classes,e)}toNode(){return Y.call(this,"a")}toMarkup(){return X.call(this,"a")}}class j{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(const t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){let e=''+l.escape(this.alt)+'=n[0]&&e<=n[1])return r.name}}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=$[this.text])}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createTextNode(this.text);let t=null;this.italic>0&&(t=document.createElement("span"),t.style.marginRight=F(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=G(this.classes));for(const e in this.style)this.style.hasOwnProperty(e)&&(t=t||document.createElement("span"),t.style[e]=this.style[e]);return t?(t.appendChild(e),t):e}toMarkup(){let e=!1,t="0&&(r+="margin-right:"+this.italic+"em;");for(const e in this.style)this.style.hasOwnProperty(e)&&(r+=l.hyphenate(e)+":"+this.style[e]+";");r&&(e=!0,t+=' style="'+l.escape(r)+'"');const n=l.escape(this.text);return e?(t+=">",t+=n,t+="",t):n}}class K{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(let t=0;t':''}}class Q{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","line");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e}toMarkup(){let e="","\\gt",!0),se(ie,le,ye,"\u2208","\\in",!0),se(ie,le,ye,"\ue020","\\@not"),se(ie,le,ye,"\u2282","\\subset",!0),se(ie,le,ye,"\u2283","\\supset",!0),se(ie,le,ye,"\u2286","\\subseteq",!0),se(ie,le,ye,"\u2287","\\supseteq",!0),se(ie,he,ye,"\u2288","\\nsubseteq",!0),se(ie,he,ye,"\u2289","\\nsupseteq",!0),se(ie,le,ye,"\u22a8","\\models"),se(ie,le,ye,"\u2190","\\leftarrow",!0),se(ie,le,ye,"\u2264","\\le"),se(ie,le,ye,"\u2264","\\leq",!0),se(ie,le,ye,"<","\\lt",!0),se(ie,le,ye,"\u2192","\\rightarrow",!0),se(ie,le,ye,"\u2192","\\to"),se(ie,he,ye,"\u2271","\\ngeq",!0),se(ie,he,ye,"\u2270","\\nleq",!0),se(ie,le,xe,"\xa0","\\ "),se(ie,le,xe,"\xa0","\\space"),se(ie,le,xe,"\xa0","\\nobreakspace"),se(ae,le,xe,"\xa0","\\ "),se(ae,le,xe,"\xa0"," "),se(ae,le,xe,"\xa0","\\space"),se(ae,le,xe,"\xa0","\\nobreakspace"),se(ie,le,xe,null,"\\nobreak"),se(ie,le,xe,null,"\\allowbreak"),se(ie,le,be,",",","),se(ie,le,be,";",";"),se(ie,he,me,"\u22bc","\\barwedge",!0),se(ie,he,me,"\u22bb","\\veebar",!0),se(ie,le,me,"\u2299","\\odot",!0),se(ie,le,me,"\u2295","\\oplus",!0),se(ie,le,me,"\u2297","\\otimes",!0),se(ie,le,we,"\u2202","\\partial",!0),se(ie,le,me,"\u2298","\\oslash",!0),se(ie,he,me,"\u229a","\\circledcirc",!0),se(ie,he,me,"\u22a1","\\boxdot",!0),se(ie,le,me,"\u25b3","\\bigtriangleup"),se(ie,le,me,"\u25bd","\\bigtriangledown"),se(ie,le,me,"\u2020","\\dagger"),se(ie,le,me,"\u22c4","\\diamond"),se(ie,le,me,"\u22c6","\\star"),se(ie,le,me,"\u25c3","\\triangleleft"),se(ie,le,me,"\u25b9","\\triangleright"),se(ie,le,fe,"{","\\{"),se(ae,le,we,"{","\\{"),se(ae,le,we,"{","\\textbraceleft"),se(ie,le,pe,"}","\\}"),se(ae,le,we,"}","\\}"),se(ae,le,we,"}","\\textbraceright"),se(ie,le,fe,"{","\\lbrace"),se(ie,le,pe,"}","\\rbrace"),se(ie,le,fe,"[","\\lbrack",!0),se(ae,le,we,"[","\\lbrack",!0),se(ie,le,pe,"]","\\rbrack",!0),se(ae,le,we,"]","\\rbrack",!0),se(ie,le,fe,"(","\\lparen",!0),se(ie,le,pe,")","\\rparen",!0),se(ae,le,we,"<","\\textless",!0),se(ae,le,we,">","\\textgreater",!0),se(ie,le,fe,"\u230a","\\lfloor",!0),se(ie,le,pe,"\u230b","\\rfloor",!0),se(ie,le,fe,"\u2308","\\lceil",!0),se(ie,le,pe,"\u2309","\\rceil",!0),se(ie,le,we,"\\","\\backslash"),se(ie,le,we,"\u2223","|"),se(ie,le,we,"\u2223","\\vert"),se(ae,le,we,"|","\\textbar",!0),se(ie,le,we,"\u2225","\\|"),se(ie,le,we,"\u2225","\\Vert"),se(ae,le,we,"\u2225","\\textbardbl"),se(ae,le,we,"~","\\textasciitilde"),se(ae,le,we,"\\","\\textbackslash"),se(ae,le,we,"^","\\textasciicircum"),se(ie,le,ye,"\u2191","\\uparrow",!0),se(ie,le,ye,"\u21d1","\\Uparrow",!0),se(ie,le,ye,"\u2193","\\downarrow",!0),se(ie,le,ye,"\u21d3","\\Downarrow",!0),se(ie,le,ye,"\u2195","\\updownarrow",!0),se(ie,le,ye,"\u21d5","\\Updownarrow",!0),se(ie,le,ge,"\u2210","\\coprod"),se(ie,le,ge,"\u22c1","\\bigvee"),se(ie,le,ge,"\u22c0","\\bigwedge"),se(ie,le,ge,"\u2a04","\\biguplus"),se(ie,le,ge,"\u22c2","\\bigcap"),se(ie,le,ge,"\u22c3","\\bigcup"),se(ie,le,ge,"\u222b","\\int"),se(ie,le,ge,"\u222b","\\intop"),se(ie,le,ge,"\u222c","\\iint"),se(ie,le,ge,"\u222d","\\iiint"),se(ie,le,ge,"\u220f","\\prod"),se(ie,le,ge,"\u2211","\\sum"),se(ie,le,ge,"\u2a02","\\bigotimes"),se(ie,le,ge,"\u2a01","\\bigoplus"),se(ie,le,ge,"\u2a00","\\bigodot"),se(ie,le,ge,"\u222e","\\oint"),se(ie,le,ge,"\u222f","\\oiint"),se(ie,le,ge,"\u2230","\\oiiint"),se(ie,le,ge,"\u2a06","\\bigsqcup"),se(ie,le,ge,"\u222b","\\smallint"),se(ae,le,ue,"\u2026","\\textellipsis"),se(ie,le,ue,"\u2026","\\mathellipsis"),se(ae,le,ue,"\u2026","\\ldots",!0),se(ie,le,ue,"\u2026","\\ldots",!0),se(ie,le,ue,"\u22ef","\\@cdots",!0),se(ie,le,ue,"\u22f1","\\ddots",!0),se(ie,le,we,"\u22ee","\\varvdots"),se(ie,le,ce,"\u02ca","\\acute"),se(ie,le,ce,"\u02cb","\\grave"),se(ie,le,ce,"\xa8","\\ddot"),se(ie,le,ce,"~","\\tilde"),se(ie,le,ce,"\u02c9","\\bar"),se(ie,le,ce,"\u02d8","\\breve"),se(ie,le,ce,"\u02c7","\\check"),se(ie,le,ce,"^","\\hat"),se(ie,le,ce,"\u20d7","\\vec"),se(ie,le,ce,"\u02d9","\\dot"),se(ie,le,ce,"\u02da","\\mathring"),se(ie,le,de,"\ue131","\\@imath"),se(ie,le,de,"\ue237","\\@jmath"),se(ie,le,we,"\u0131","\u0131"),se(ie,le,we,"\u0237","\u0237"),se(ae,le,we,"\u0131","\\i",!0),se(ae,le,we,"\u0237","\\j",!0),se(ae,le,we,"\xdf","\\ss",!0),se(ae,le,we,"\xe6","\\ae",!0),se(ae,le,we,"\u0153","\\oe",!0),se(ae,le,we,"\xf8","\\o",!0),se(ae,le,we,"\xc6","\\AE",!0),se(ae,le,we,"\u0152","\\OE",!0),se(ae,le,we,"\xd8","\\O",!0),se(ae,le,ce,"\u02ca","\\'"),se(ae,le,ce,"\u02cb","\\`"),se(ae,le,ce,"\u02c6","\\^"),se(ae,le,ce,"\u02dc","\\~"),se(ae,le,ce,"\u02c9","\\="),se(ae,le,ce,"\u02d8","\\u"),se(ae,le,ce,"\u02d9","\\."),se(ae,le,ce,"\xb8","\\c"),se(ae,le,ce,"\u02da","\\r"),se(ae,le,ce,"\u02c7","\\v"),se(ae,le,ce,"\xa8",'\\"'),se(ae,le,ce,"\u02dd","\\H"),se(ae,le,ce,"\u25ef","\\textcircled");const ve={"--":!0,"---":!0,"``":!0,"''":!0};se(ae,le,we,"\u2013","--",!0),se(ae,le,we,"\u2013","\\textendash"),se(ae,le,we,"\u2014","---",!0),se(ae,le,we,"\u2014","\\textemdash"),se(ae,le,we,"\u2018","`",!0),se(ae,le,we,"\u2018","\\textquoteleft"),se(ae,le,we,"\u2019","'",!0),se(ae,le,we,"\u2019","\\textquoteright"),se(ae,le,we,"\u201c","``",!0),se(ae,le,we,"\u201c","\\textquotedblleft"),se(ae,le,we,"\u201d","''",!0),se(ae,le,we,"\u201d","\\textquotedblright"),se(ie,le,we,"\xb0","\\degree",!0),se(ae,le,we,"\xb0","\\degree"),se(ae,le,we,"\xb0","\\textdegree",!0),se(ie,le,we,"\xa3","\\pounds"),se(ie,le,we,"\xa3","\\mathsterling",!0),se(ae,le,we,"\xa3","\\pounds"),se(ae,le,we,"\xa3","\\textsterling",!0),se(ie,he,we,"\u2720","\\maltese"),se(ae,he,we,"\u2720","\\maltese");const ke='0123456789/@."';for(let e=0;e{if(G(e.classes)!==G(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){const t=e.classes[0];if("mbin"===t||"mord"===t)return!1}for(const r in e.style)if(e.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;for(const r in t.style)if(t.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;return!0},Ie=function(e){let t=0,r=0,n=0;for(let o=0;ot&&(t=s.height),s.depth>r&&(r=s.depth),s.maxFontSize>n&&(n=s.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Re=function(e,t,r,n){const o=new W(e,t,r,n);return Ie(o),o},He=(e,t,r,n)=>new W(e,t,r,n),Oe=function(e){const t=new A(e);return Ie(t),t},Ee=function(e,t,r){let n,o="";switch(e){case"amsrm":o="AMS";break;case"textrm":o="Main";break;case"textsf":o="SansSerif";break;case"texttt":o="Typewriter";break;default:o=e}return n="textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular",o+"-"+n},Le={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},De={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]};var Ve={fontMap:Le,makeSymbol:Ne,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Ce(e,"Main-Bold",t).metrics?Ne(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===oe[t][e].font?Ne(e,"Main-Regular",t,r,n):Ne(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:Re,makeSvgSpan:He,makeLineSpan:function(e,t,r){const n=Re([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=F(n.height),n.maxFontSize=1,n},makeAnchor:function(e,t,r,n){const o=new _(e,t,r,n);return Ie(o),o},makeFragment:Oe,wrapFragment:function(e,t){return e instanceof A?Re([],[e],t):e},makeVList:function(e,t){const{children:r,depth:n}=function(e){if("individualShift"===e.positionType){const t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth;let o=n;for(let e=1;e0)return Ne(s,h,o,t,i.concat(c));if(l){let e,n;if("boldsymbol"===l){const t=function(e,t,r,n,o){return"textord"!==o&&Ce(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(s,o,0,0,r);e=t.fontName,n=[t.fontClass]}else a?(e=Le[l].fontName,n=[l]):(e=Ee(l,t.fontWeight,t.fontShape),n=[l,t.fontWeight,t.fontShape]);if(Ce(s,e,o).metrics)return Ne(s,e,o,t,i.concat(n));if(ve.hasOwnProperty(s)&&"Typewriter"===e.slice(0,10)){const r=[];for(let a=0;a{const r=Re(["mspace"],[],t),n=P(e,t);return r.style.marginRight=F(n),r},staticSvg:function(e,t){const[r,n,o]=De[e],s=new J(r),i=new K([s],{width:F(n),height:F(o),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+1e3*o,preserveAspectRatio:"xMinYMin"}),a=He(["overlay"],[i],t);return a.height=o,a.style.height=F(o),a.style.width=F(n),a},svgData:De,tryCombineChars:e=>{for(let t=0;t{const r=t.classes[0],n=e.classes[0];"mbin"===r&&l.contains(et,n)?t.classes[0]="mord":"mbin"===n&&l.contains(Qe,r)&&(e.classes[0]="mord")}),{node:i},a,h),ot(o,((e,t)=>{const r=at(t),n=at(e),o=r&&n?e.hasClass("mtight")?Ye[r][n]:Ue[r][n]:null;if(o)return Ve.makeGlue(o,s)}),{node:i},a,h),o},ot=function(e,t,r,n,o){n&&e.push(n);let s=0;for(;sr=>{e.splice(t+1,0,r),s++})(s)}n&&e.pop()},st=function(e){return e instanceof A||e instanceof _||e instanceof W&&e.hasClass("enclosing")?e:null},it=function(e,t){const r=st(e);if(r){const e=r.children;if(e.length){if("right"===t)return it(e[e.length-1],"right");if("left"===t)return it(e[0],"left")}}return e},at=function(e,t){return e?(t&&(e=it(e,t)),rt[e.classes[0]]||null):null},lt=function(e,t){const r=["nulldelimiter"].concat(e.baseSizingClasses());return Je(t.concat(r))},ht=function(e,t,r){if(!e)return Je();if(We[e.type]){let n=We[e.type](e,t);if(r&&t.size!==r.size){n=Je(t.sizingClasses(r),[n],t);const e=t.sizeMultiplier/r.sizeMultiplier;n.height*=e,n.depth*=e}return n}throw new n("Got group of unknown type: '"+e.type+"'")};function ct(e,t){const r=Je(["base"],e,t),n=Je(["strut"]);return n.style.height=F(r.height+r.depth),r.depth&&(n.style.verticalAlign=F(-r.depth)),r.children.unshift(n),r}function mt(e,t){let r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);const n=nt(e,t,"root");let o;2===n.length&&n[1].hasClass("tag")&&(o=n.pop());const s=[];let i,a=[];for(let e=0;e0&&(s.push(ct(a,t)),a=[]),s.push(n[e]));a.length>0&&s.push(ct(a,t)),r?(i=ct(nt(r,t,!0)),i.classes=["tag"],s.push(i)):o&&s.push(o);const l=Je(["katex-html"],s);if(l.setAttribute("aria-hidden","true"),i){const e=i.children[0];e.style.height=F(l.height+l.depth),l.depth&&(e.style.verticalAlign=F(-l.depth))}return l}function pt(e){return new A(e)}class ut{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){const e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=G(this.classes));for(let t=0;t0&&(e+=' class ="'+l.escape(G(this.classes))+'"'),e+=">";for(let t=0;t",e}toText(){return this.children.map((e=>e.toText())).join("")}}class dt{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return l.escape(this.toText())}toText(){return this.text}}var gt={MathNode:ut,TextNode:dt,SpaceNode:class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}toNode(){if(this.character)return document.createTextNode(this.character);{const e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",F(this.width)),e}}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},newDocumentFragment:pt};const ft=function(e,t,r){return!oe[t][e]||!oe[t][e].replace||55349===e.charCodeAt(0)||ve.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=oe[t][e].replace),new gt.TextNode(e)},bt=function(e){return 1===e.length?e[0]:new gt.MathNode("mrow",e)},yt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";const r=t.font;if(!r||"mathnormal"===r)return null;const n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";let o=e.text;if(l.contains(["\\imath","\\jmath"],o))return null;oe[n][o]&&oe[n][o].replace&&(o=oe[n][o].replace);return N(o,Ve.fontMap[r].fontName,n)?Ve.fontMap[r].variant:null},xt=function(e,t,r){if(1===e.length){const n=vt(e[0],t);return r&&n instanceof ut&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}const n=[];let o;for(let r=0;r0&&(e.text=e.text.slice(0,1)+"\u0338"+e.text.slice(1),n.pop())}}}n.push(s),o=s}return n},wt=function(e,t,r){return bt(xt(e,t,r))},vt=function(e,t){if(!e)return new gt.MathNode("mrow");if(_e[e.type]){return _e[e.type](e,t)}throw new n("Got group of unknown type: '"+e.type+"'")};function kt(e,t,r,n,o){const s=xt(e,r);let i;i=1===s.length&&s[0]instanceof ut&&l.contains(["mrow","mtable"],s[0].type)?s[0]:new gt.MathNode("mrow",s);const a=new gt.MathNode("annotation",[new gt.TextNode(t)]);a.setAttribute("encoding","application/x-tex");const h=new gt.MathNode("semantics",[i,a]),c=new gt.MathNode("math",[h]);c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&c.setAttribute("display","block");const m=o?"katex":"katex-mathml";return Ve.makeSpan([m],[c])}const St=function(e){return new E({style:e.displayMode?w.DISPLAY:w.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Mt=function(e,t){if(t.displayMode){const r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ve.makeSpan(r,[e])}return e},zt=function(e,t,r){const n=St(r);let o;if("mathml"===r.output)return kt(e,t,n,r.displayMode,!0);if("html"===r.output){const t=mt(e,n);o=Ve.makeSpan(["katex"],[t])}else{const s=kt(e,t,n,r.displayMode,!1),i=mt(e,n);o=Ve.makeSpan(["katex"],[s,i])}return Mt(o,r)};const At={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Tt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]};var Bt=function(e,t,r,n,o){let s;const i=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(s=Ve.makeSpan(["stretchy",t],[],o),"fbox"===t){const e=o.color&&o.getColor();e&&(s.style.borderColor=e)}}else{const e=[];/^[bx]cancel$/.test(t)&&e.push(new Q({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&e.push(new Q({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));const r=new K(e,{width:"100%",height:F(i)});s=Ve.makeSvgSpan([],[r],o)}return s.height=i,s.style.height=F(i),s},Ct=function(e){const t=new gt.MathNode("mo",[new gt.TextNode(At[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Nt=function(e,t){const{span:r,minWidth:n,height:o}=function(){let r=4e5;const n=e.label.slice(1);if(l.contains(["widehat","widecheck","widetilde","utilde"],n)){const s="ordgroup"===(o=e.base).type?o.body.length:1;let i,a,l;if(s>5)"widehat"===n||"widecheck"===n?(i=420,r=2364,l=.42,a=n+"4"):(i=312,r=2340,l=.34,a="tilde4");else{const e=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][e],i=[0,239,300,360,420][e],l=[0,.24,.3,.3,.36,.42][e],a=n+e):(r=[0,600,1033,2339,2340][e],i=[0,260,286,306,312][e],l=[0,.26,.286,.3,.306,.34][e],a="tilde"+e)}const h=new J(a),c=new K([h],{width:"100%",height:F(l),viewBox:"0 0 "+r+" "+i,preserveAspectRatio:"none"});return{span:Ve.makeSvgSpan([],[c],t),minWidth:0,height:l}}{const e=[],o=Tt[n],[s,i,a]=o,l=a/1e3,h=s.length;let c,m;if(1===h){c=["hide-tail"],m=[o[3]]}else if(2===h)c=["halfarrow-left","halfarrow-right"],m=["xMinYMin","xMaxYMin"];else{if(3!==h)throw new Error("Correct katexImagesData or update code here to support\n "+h+" children.");c=["brace-left","brace-center","brace-right"],m=["xMinYMin","xMidYMin","xMaxYMin"]}for(let n=0;n0&&(r.style.minWidth=F(n)),r};function qt(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function It(e){const t=Rt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Rt(e){return e&&("atom"===e.type||re.hasOwnProperty(e.type))?e:null}const Ht=(e,t)=>{let r,n,o;e&&"supsub"===e.type?(n=qt(e.base,"accent"),r=n.base,e.base=r,o=function(e){if(e instanceof W)return e;throw new Error("Expected span but got "+String(e)+".")}(ht(e,t)),e.base=n):(n=qt(e,"accent"),r=n.base);const s=ht(r,t.havingCrampedStyle());let i=0;if(n.isShifty&&l.isCharacterBox(r)){const e=l.getBaseElem(r);i=ee(ht(e,t.havingCrampedStyle())).skew}const a="\\c"===n.label;let h,c=a?s.height+s.depth:Math.min(s.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Nt(n,t),h=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:i>0?{width:"calc(100% - "+F(2*i)+")",marginLeft:F(2*i)}:void 0}]},t);else{let e,r;"\\vec"===n.label?(e=Ve.staticSvg("vec",t),r=Ve.svgData.vec[1]):(e=Ve.makeOrd({mode:n.mode,text:n.label},t,"textord"),e=ee(e),e.italic=0,r=e.width,a&&(c+=e.depth)),h=Ve.makeSpan(["accent-body"],[e]);const o="\\textcircled"===n.label;o&&(h.classes.push("accent-full"),c=s.height);let l=i;o||(l-=r/2),h.style.left=F(l),"\\textcircled"===n.label&&(h.style.top=".2em"),h=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-c},{type:"elem",elem:h}]},t)}const m=Ve.makeSpan(["mord","accent"],[h],t);return o?(o.children[0]=m,o.height=Math.max(m.height,o.height),o.classes[0]="mord",o):m},Ot=(e,t)=>{const r=e.isStretchy?Ct(e.label):new gt.MathNode("mo",[ft(e.label,e.mode)]),n=new gt.MathNode("mover",[vt(e.base,t),r]);return n.setAttribute("accent","true"),n},Et=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((e=>"\\"+e)).join("|"));je({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{const r=Ze(t[0]),n=!Et.test(e.funcName),o=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:o,base:r}},htmlBuilder:Ht,mathmlBuilder:Ot}),je({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{const r=t[0];let n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Ht,mathmlBuilder:Ot}),je({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:o}},htmlBuilder:(e,t)=>{const r=ht(e.base,t),n=Nt(e,t),o="\\utilde"===e.label?.12:0,s=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:o},{type:"elem",elem:r}]},t);return Ve.makeSpan(["mord","accentunder"],[s],t)},mathmlBuilder:(e,t)=>{const r=Ct(e.label),n=new gt.MathNode("munder",[vt(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});const Lt=e=>{const t=new gt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};je({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n,funcName:o}=e;return{type:"xArrow",mode:n.mode,label:o,body:t[0],below:r[0]}},htmlBuilder(e,t){const r=t.style;let n=t.havingStyle(r.sup());const o=Ve.wrapFragment(ht(e.body,n,t),t),s="\\x"===e.label.slice(0,2)?"x":"cd";let i;o.classes.push(s+"-arrow-pad"),e.below&&(n=t.havingStyle(r.sub()),i=Ve.wrapFragment(ht(e.below,n,t),t),i.classes.push(s+"-arrow-pad"));const a=Nt(e,t),l=-t.fontMetrics().axisHeight+.5*a.height;let h,c=-t.fontMetrics().axisHeight-.5*a.height-.111;if((o.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=o.depth),i){const e=-t.fontMetrics().axisHeight+i.height+.5*a.height+.111;h=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:a,shift:l},{type:"elem",elem:i,shift:e}]},t)}else h=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:a,shift:l}]},t);return h.children[0].children[0].children[1].classes.push("svg-align"),Ve.makeSpan(["mrel","x-arrow"],[h],t)},mathmlBuilder(e,t){const r=Ct(e.label);let n;if(r.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){const o=Lt(vt(e.body,t));if(e.below){const s=Lt(vt(e.below,t));n=new gt.MathNode("munderover",[r,s,o])}else n=new gt.MathNode("mover",[r,o])}else if(e.below){const o=Lt(vt(e.below,t));n=new gt.MathNode("munder",[r,o])}else n=Lt(),n=new gt.MathNode("mover",[r,n]);return n}});const Dt=Ve.makeSpan;function Vt(e,t){const r=nt(e.body,t,!0);return Dt([e.mclass],r,t)}function Pt(e,t){let r;const n=xt(e.body,t);return"minner"===e.mclass?r=new gt.MathNode("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0],r.type="mi"):r=new gt.MathNode("mi",n):(e.isCharacterBox?(r=n[0],r.type="mo"):r=new gt.MathNode("mo",n),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}je({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:Ke(o),isCharacterBox:l.isCharacterBox(o)}},htmlBuilder:Vt,mathmlBuilder:Pt});const Ft=e=>{const t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};je({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){let{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:Ft(t[0]),body:Ke(t[1]),isCharacterBox:l.isCharacterBox(t[1])}}}),je({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){let{parser:r,funcName:n}=e;const o=t[1],s=t[0];let i;i="\\stackrel"!==n?Ft(o):"mrel";const a={type:"op",mode:o.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:Ke(o)},h={type:"supsub",mode:s.mode,base:a,sup:"\\underset"===n?null:s,sub:"\\underset"===n?s:null};return{type:"mclass",mode:r.mode,mclass:i,body:[h],isCharacterBox:l.isCharacterBox(h)}},htmlBuilder:Vt,mathmlBuilder:Pt}),je({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:Ft(t[0]),body:Ke(t[0])}},htmlBuilder(e,t){const r=nt(e.body,t,!0),n=Ve.makeSpan([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(e,t){const r=xt(e.body,t),n=new gt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});const Gt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Ut=e=>"textord"===e.type&&"@"===e.text;function Yt(e,t,r){const n=Gt[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{const e={type:"atom",text:n,mode:"math",family:"rel"},o={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[e],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{const e={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[e],[])}default:return{type:"textord",text:" ",mode:"math"}}}je({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder(e,t){const r=t.havingStyle(t.style.sup()),n=Ve.wrapFragment(ht(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=F(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(e,t){let r=new gt.MathNode("mrow",[vt(e.label,t)]);return r=new gt.MathNode("mpadded",[r]),r.setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new gt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),je({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){let{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){const r=Ve.wrapFragment(ht(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(e,t){return new gt.MathNode("mrow",[vt(e.fragment,t)])}}),je({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;const o=qt(t[0],"ordgroup").body;let s="";for(let e=0;e=1114111)throw new n("\\@char with invalid code point "+s);return a<=65535?i=String.fromCharCode(a):(a-=65536,i=String.fromCharCode(55296+(a>>10),56320+(1023&a))),{type:"textord",mode:r.mode,text:i}}});const Xt=(e,t)=>{const r=nt(e.body,t.withColor(e.color),!1);return Ve.makeFragment(r)},Wt=(e,t)=>{const r=xt(e.body,t.withColor(e.color)),n=new gt.MathNode("mstyle",r);return n.setAttribute("mathcolor",e.color),n};je({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){let{parser:r}=e;const n=qt(t[0],"color-token").color,o=t[1];return{type:"color",mode:r.mode,color:n,body:Ke(o)}},htmlBuilder:Xt,mathmlBuilder:Wt}),je({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){let{parser:r,breakOnTokenText:n}=e;const o=qt(t[0],"color-token").color;r.gullet.macros.set("\\current@color",o);const s=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:o,body:s}},htmlBuilder:Xt,mathmlBuilder:Wt}),je({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){let{parser:n}=e;const o="["===n.gullet.future().text?n.parseSizeGroup(!0):null,s=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:s,size:o&&qt(o,"size").value}},htmlBuilder(e,t){const r=Ve.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=F(P(e.size,t)))),r},mathmlBuilder(e,t){const r=new gt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",F(P(e.size,t)))),r}});const _t={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},jt=e=>{const t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},$t=(e,t,r,n)=>{let o=e.gullet.macros.get(r.text);null==o&&(r.noexpand=!0,o={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,o,n)};je({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t,funcName:r}=e;t.consumeSpaces();const o=t.fetch();if(_t[o.text])return"\\global"!==r&&"\\\\globallong"!==r||(o.text=_t[o.text]),qt(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",o)}}),je({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e,o=t.gullet.popToken();const s=o.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new n("Expected a control sequence",o);let i,a=0;const l=[[]];for(;"{"!==t.gullet.future().text;)if(o=t.gullet.popToken(),"#"===o.text){if("{"===t.gullet.future().text){i=t.gullet.future(),l[a].push("{");break}if(o=t.gullet.popToken(),!/^[1-9]$/.test(o.text))throw new n('Invalid argument number "'+o.text+'"');if(parseInt(o.text)!==a+1)throw new n('Argument number "'+o.text+'" out of order');a++,l.push([])}else{if("EOF"===o.text)throw new n("Expected a macro definition");l[a].push(o.text)}let{tokens:h}=t.gullet.consumeArg();return i&&h.unshift(i),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h),h.reverse()),t.gullet.macros.set(s,{tokens:h,numArgs:a,delimiters:l},r===_t[r]),{type:"internal",mode:t.mode}}}),je({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=jt(t.gullet.popToken());t.gullet.consumeSpaces();const o=(e=>{let t=e.gullet.popToken();return"="===t.text&&(t=e.gullet.popToken()," "===t.text&&(t=e.gullet.popToken())),t})(t);return $t(t,n,o,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),je({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=jt(t.gullet.popToken()),o=t.gullet.popToken(),s=t.gullet.popToken();return $t(t,n,s,"\\\\globalfuture"===r),t.gullet.pushToken(s),t.gullet.pushToken(o),{type:"internal",mode:t.mode}}});const Zt=function(e,t,r){const n=N(oe.math[e]&&oe.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},Kt=function(e,t,r,n){const o=r.havingBaseStyle(t),s=Ve.makeSpan(n.concat(o.sizingClasses(r)),[e],r),i=o.sizeMultiplier/r.sizeMultiplier;return s.height*=i,s.depth*=i,s.maxFontSize=o.sizeMultiplier,s},Jt=function(e,t,r){const n=t.havingBaseStyle(r),o=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=F(o),e.height-=o,e.depth+=o},Qt=function(e,t,r,n,o,s){const i=function(e,t,r,n){return Ve.makeSymbol(e,"Size"+t+"-Regular",r,n)}(e,t,o,n),a=Kt(Ve.makeSpan(["delimsizing","size"+t],[i],n),w.TEXT,n,s);return r&&Jt(a,n,w.TEXT),a},er=function(e,t,r){let n;n="Size1-Regular"===t?"delim-size1":"delim-size4";return{type:"elem",elem:Ve.makeSpan(["delimsizinginner",n],[Ve.makeSpan([],[Ve.makeSymbol(e,t,r)])])}},tr=function(e,t,r){const n=T["Size4-Regular"][e.charCodeAt(0)]?T["Size4-Regular"][e.charCodeAt(0)][4]:T["Size1-Regular"][e.charCodeAt(0)][4],o=new J("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),s=new K([o],{width:F(n),height:F(t),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),i=Ve.makeSvgSpan([],[s],r);return i.height=t,i.style.height=F(t),i.style.width=F(n),{type:"elem",elem:i}},rr={type:"kern",size:-.008},nr=["|","\\lvert","\\rvert","\\vert"],or=["\\|","\\lVert","\\rVert","\\Vert"],sr=function(e,t,r,n,o,s){let i,a,h,c,m="",p=0;i=h=c=e,a=null;let u="Size1-Regular";"\\uparrow"===e?h=c="\u23d0":"\\Uparrow"===e?h=c="\u2016":"\\downarrow"===e?i=h="\u23d0":"\\Downarrow"===e?i=h="\u2016":"\\updownarrow"===e?(i="\\uparrow",h="\u23d0",c="\\downarrow"):"\\Updownarrow"===e?(i="\\Uparrow",h="\u2016",c="\\Downarrow"):l.contains(nr,e)?(h="\u2223",m="vert",p=333):l.contains(or,e)?(h="\u2225",m="doublevert",p=556):"["===e||"\\lbrack"===e?(i="\u23a1",h="\u23a2",c="\u23a3",u="Size4-Regular",m="lbrack",p=667):"]"===e||"\\rbrack"===e?(i="\u23a4",h="\u23a5",c="\u23a6",u="Size4-Regular",m="rbrack",p=667):"\\lfloor"===e||"\u230a"===e?(h=i="\u23a2",c="\u23a3",u="Size4-Regular",m="lfloor",p=667):"\\lceil"===e||"\u2308"===e?(i="\u23a1",h=c="\u23a2",u="Size4-Regular",m="lceil",p=667):"\\rfloor"===e||"\u230b"===e?(h=i="\u23a5",c="\u23a6",u="Size4-Regular",m="rfloor",p=667):"\\rceil"===e||"\u2309"===e?(i="\u23a4",h=c="\u23a5",u="Size4-Regular",m="rceil",p=667):"("===e||"\\lparen"===e?(i="\u239b",h="\u239c",c="\u239d",u="Size4-Regular",m="lparen",p=875):")"===e||"\\rparen"===e?(i="\u239e",h="\u239f",c="\u23a0",u="Size4-Regular",m="rparen",p=875):"\\{"===e||"\\lbrace"===e?(i="\u23a7",a="\u23a8",c="\u23a9",h="\u23aa",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(i="\u23ab",a="\u23ac",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(i="\u23a7",c="\u23a9",h="\u23aa",u="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(i="\u23ab",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(i="\u23a7",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(i="\u23ab",c="\u23a9",h="\u23aa",u="Size4-Regular");const d=Zt(i,u,o),g=d.height+d.depth,f=Zt(h,u,o),b=f.height+f.depth,y=Zt(c,u,o),x=y.height+y.depth;let v=0,k=1;if(null!==a){const e=Zt(a,u,o);v=e.height+e.depth,k=2}const S=g+x+v,M=S+Math.max(0,Math.ceil((t-S)/(k*b)))*k*b;let z=n.fontMetrics().axisHeight;r&&(z*=n.sizeMultiplier);const A=M/2-z,T=[];if(m.length>0){const e=M-g-x,t=Math.round(1e3*M),r=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(m,Math.round(1e3*e)),o=new J(m,r),s=(p/1e3).toFixed(3)+"em",i=(t/1e3).toFixed(3)+"em",a=new K([o],{width:s,height:i,viewBox:"0 0 "+p+" "+t}),l=Ve.makeSvgSpan([],[a],n);l.height=t/1e3,l.style.width=s,l.style.height=i,T.push({type:"elem",elem:l})}else{if(T.push(er(c,u,o)),T.push(rr),null===a){const e=M-g-x+.016;T.push(tr(h,e,n))}else{const e=(M-g-x-v)/2+.016;T.push(tr(h,e,n)),T.push(rr),T.push(er(a,u,o)),T.push(rr),T.push(tr(h,e,n))}T.push(rr),T.push(er(i,u,o))}const B=n.havingBaseStyle(w.TEXT),C=Ve.makeVList({positionType:"bottom",positionData:A,children:T},B);return Kt(Ve.makeSpan(["delimsizing","mult"],[C],B),w.TEXT,n,s)},ir=.08,ar=function(e,t,r,n,o){const s=function(e,t,r){t*=1e3;let n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,M);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+t+"H400000v"+(40+e)+"H742z"}(t,M,r)}return n}(e,n,r),i=new J(e,s),a=new K([i],{width:"400em",height:F(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Ve.makeSvgSpan(["hide-tail"],[a],o)},lr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"],hr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"],cr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],mr=[0,1.2,1.8,2.4,3],pr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],ur=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"stack"}],dr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],gr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},fr=function(e,t,r,n){for(let o=Math.min(2,3-n.style.size);ot)return r[o]}return r[r.length-1]},br=function(e,t,r,n,o,s){let i;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),i=l.contains(cr,e)?pr:l.contains(lr,e)?dr:ur;const a=fr(e,t,i,n);return"small"===a.type?function(e,t,r,n,o,s){const i=Ve.makeSymbol(e,"Main-Regular",o,n),a=Kt(i,t,n,s);return r&&Jt(a,n,t),a}(e,a.style,r,n,o,s):"large"===a.type?Qt(e,a.size,r,n,o,s):sr(e,t,r,n,o,s)};var yr={sqrtImage:function(e,t){const r=t.havingBaseSizing(),n=fr("\\surd",e*r.sizeMultiplier,dr,r);let o=r.sizeMultiplier;const s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness);let i,a,l=0,h=0,c=0;return"small"===n.type?(c=1e3+1e3*s+80,e<1?o=1:e<1.4&&(o=.7),l=(1+s+ir)/o,h=(1+s)/o,i=ar("sqrtMain",l,c,s,t),i.style.minWidth="0.853em",a=.833/o):"large"===n.type?(c=1080*mr[n.size],h=(mr[n.size]+s)/o,l=(mr[n.size]+s+ir)/o,i=ar("sqrtSize"+n.size,l,c,s,t),i.style.minWidth="1.02em",a=1/o):(l=e+s+ir,h=e+s,c=Math.floor(1e3*e+s)+80,i=ar("sqrtTall",l,c,s,t),i.style.minWidth="0.742em",a=1.056),i.height=h,i.style.height=F(l),{span:i,advanceWidth:a,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,o,s){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),l.contains(lr,e)||l.contains(cr,e))return Qt(e,t,!1,r,o,s);if(l.contains(hr,e))return sr(e,mr[t],!1,r,o,s);throw new n("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:mr,customSizedDelim:br,leftRightDelim:function(e,t,r,n,o,s){const i=n.fontMetrics().axisHeight*n.sizeMultiplier,a=5/n.fontMetrics().ptPerEm,l=Math.max(t-i,r+i),h=Math.max(l/500*901,2*l-a);return br(e,h,!0,n,o,s)}};const xr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},wr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function vr(e,t){const r=Rt(e);if(r&&l.contains(wr,r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function kr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}je({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{const r=vr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:xr[e.funcName].size,mclass:xr[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?Ve.makeSpan([e.mclass]):yr.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{const t=[];"."!==e.delim&&t.push(ft(e.delim,e.mode));const r=new gt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");const n=F(yr.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),je({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:vr(t[0],e).text,color:r}}}),je({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=vr(t[0],e),n=e.parser;++n.leftrightDepth;const o=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);const s=qt(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:o,left:r.text,right:s.delim,rightColor:s.color}},htmlBuilder:(e,t)=>{kr(e);const r=nt(e.body,t,!0,["mopen","mclose"]);let n,o,s=0,i=0,a=!1;for(let e=0;e{kr(e);const r=xt(e.body,t);if("."!==e.left){const t=new gt.MathNode("mo",[ft(e.left,e.mode)]);t.setAttribute("fence","true"),r.unshift(t)}if("."!==e.right){const t=new gt.MathNode("mo",[ft(e.right,e.mode)]);t.setAttribute("fence","true"),e.rightColor&&t.setAttribute("mathcolor",e.rightColor),r.push(t)}return bt(r)}}),je({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=vr(t[0],e);if(!e.parser.leftrightDepth)throw new n("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{let r;if("."===e.delim)r=lt(t,[]);else{r=yr.sizedDelim(e.delim,1,t,e.mode,[]);const n={delim:e.delim,options:t};r.isMiddle=n}return r},mathmlBuilder:(e,t)=>{const r="\\vert"===e.delim||"|"===e.delim?ft("|","text"):ft(e.delim,e.mode),n=new gt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});const Sr=(e,t)=>{const r=Ve.wrapFragment(ht(e.body,t),t),n=e.label.slice(1);let o,s=t.sizeMultiplier,i=0;const a=l.isCharacterBox(e.body);if("sout"===n)o=Ve.makeSpan(["stretchy","sout"]),o.height=t.fontMetrics().defaultRuleThickness/s,i=-.5*t.fontMetrics().xHeight;else if("phase"===n){const e=P({number:.6,unit:"pt"},t),n=P({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;const a=r.height+r.depth+e+n;r.style.paddingLeft=F(a/2+e);const l=Math.floor(1e3*a*s),c="M400000 "+(h=l)+" H0 L"+h/2+" 0 l65 45 L145 "+(h-80)+" H400000z",m=new K([new J("phase",c)],{width:"400em",height:F(l/1e3),viewBox:"0 0 400000 "+l,preserveAspectRatio:"xMinYMin slice"});o=Ve.makeSvgSpan(["hide-tail"],[m],t),o.style.height=F(a),i=r.depth+e+n}else{/cancel/.test(n)?a||r.classes.push("cancel-pad"):"angl"===n?r.classes.push("anglpad"):r.classes.push("boxpad");let s=0,l=0,h=0;/box/.test(n)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),s=t.fontMetrics().fboxsep+("colorbox"===n?0:h),l=s):"angl"===n?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s=4*h,l=Math.max(0,.25-r.depth)):(s=a?.2:0,l=s),o=Bt(r,n,s,l,t),/fbox|boxed|fcolorbox/.test(n)?(o.style.borderStyle="solid",o.style.borderWidth=F(h)):"angl"===n&&.049!==h&&(o.style.borderTopWidth=F(h),o.style.borderRightWidth=F(h)),i=r.depth+l,e.backgroundColor&&(o.style.backgroundColor=e.backgroundColor,e.borderColor&&(o.style.borderColor=e.borderColor))}var h;let c;if(e.backgroundColor)c=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:i},{type:"elem",elem:r,shift:0}]},t);else{const e=/cancel|phase/.test(n)?["svg-align"]:[];c=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:o,shift:i,wrapperClasses:e}]},t)}return/cancel/.test(n)&&(c.height=r.height,c.depth=r.depth),/cancel/.test(n)&&!a?Ve.makeSpan(["mord","cancel-lap"],[c],t):Ve.makeSpan(["mord"],[c],t)},Mr=(e,t)=>{let r=0;const n=new gt.MathNode(e.label.indexOf("colorbox")>-1?"mpadded":"menclose",[vt(e.body,t)]);switch(e.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){const r=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+r+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};je({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=qt(t[0],"color-token").color,i=t[1];return{type:"enclose",mode:n.mode,label:o,backgroundColor:s,body:i}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=qt(t[0],"color-token").color,i=qt(t[1],"color-token").color,a=t[2];return{type:"enclose",mode:n.mode,label:o,backgroundColor:i,borderColor:s,body:a}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),je({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"enclose",mode:r.mode,label:n,body:o}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});const zr={};function Ar(e){let{type:t,names:r,props:n,handler:o,htmlBuilder:s,mathmlBuilder:i}=e;const a={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:o};for(let e=0;e{if(!e.parser.settings.displayMode)throw new n("{"+e.envName+"} can be used only in display mode.")};function Rr(e){if(-1===e.indexOf("ed"))return-1===e.indexOf("*")}function Hr(e,t,r){let{hskipBeforeAndAfter:o,addJot:s,cols:i,arraystretch:a,colSeparationType:l,autoTag:h,singleRow:c,emptySingleRow:m,maxNumCols:p,leqno:u}=t;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!a){const t=e.gullet.expandMacroAsText("\\arraystretch");if(null==t)a=1;else if(a=parseFloat(t),!a||a<0)throw new n("Invalid \\arraystretch: "+t)}e.gullet.beginGroup();let d=[];const g=[d],f=[],b=[],y=null!=h?[]:void 0;function x(){h&&e.gullet.macros.set("\\@eqnsw","1",!0)}function w(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new Nr("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(Boolean(h)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(x(),b.push(qr(e));;){let t=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),t={type:"ordgroup",mode:e.mode,body:t},r&&(t={type:"styling",mode:e.mode,style:r,body:[t]}),d.push(t);const o=e.fetch().text;if("&"===o){if(p&&d.length===p){if(c||l)throw new n("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===o){w(),1===d.length&&"styling"===t.type&&0===t.body[0].body.length&&(g.length>1||!m)&&g.pop(),b.length0&&(x+=.25),c.push({pos:x,isDashed:e[t]})}for(v(i[0]),r=0;r0&&(p+=y,le)))for(r=0;r=a)continue;(o>0||e.hskipBeforeAndAfter)&&(i=l.deflt(c.pregap,u),0!==i&&(z=Ve.makeSpan(["arraycolsep"],[]),z.style.width=F(i),M.push(z)));let d=[];for(r=0;r0){const e=Ve.makeLineSpan("hline",t,m),r=Ve.makeLineSpan("hdashline",t,m),n=[{type:"elem",elem:h,shift:0}];for(;c.length>0;){const t=c.pop(),o=t.pos-k;t.isDashed?n.push({type:"elem",elem:r,shift:o}):n.push({type:"elem",elem:e,shift:o})}h=Ve.makeVList({positionType:"individualShift",children:n},t)}if(0===T.length)return Ve.makeSpan(["mord"],[h],t);{let e=Ve.makeVList({positionType:"individualShift",children:T},t);return e=Ve.makeSpan(["tag"],[e],t),Ve.makeFragment([h,e])}},Lr={c:"center ",l:"left ",r:"right "},Dr=function(e,t){const r=[],n=new gt.MathNode("mtd",[],["mtr-glue"]),o=new gt.MathNode("mtd",[],["mml-eqn-num"]);for(let s=0;s0){const t=e.cols;let r="",n=!1,o=0,i=t.length;"separator"===t[0].type&&(a+="top ",o=1),"separator"===t[t.length-1].type&&(a+="bottom ",i-=1);for(let e=o;e0?"left ":"",a+=c[c.length-1].length>0?"right ":"";for(let e=1;e-1?"alignat":"align",s="split"===e.envName,i=Hr(e.parser,{cols:r,addJot:!0,autoTag:s?void 0:Rr(e.envName),emptySingleRow:!0,colSeparationType:o,maxNumCols:s?2:void 0,leqno:e.parser.settings.leqno},"display");let a,l=0;const h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){let e="";for(let r=0;r0&&c&&(n=1),r[e]={type:"align",align:t,pregap:n,postgap:0}}return i.colSeparationType=c?"align":"alignat",i};Ar({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){const r=(Rt(t[0])?[t[0]]:qt(t[0],"ordgroup").body).map((function(e){const t=It(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new n("Unknown column alignment: "+t,e)})),o={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Hr(e.parser,o,Or(e.envName))},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){const t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")];let r="c";const o={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){const t=e.parser;if(t.consumeSpaces(),"["===t.fetch().text){if(t.consume(),t.consumeSpaces(),r=t.fetch().text,-1==="lcr".indexOf(r))throw new n("Expected l or c or r",t.nextToken);t.consume(),t.consumeSpaces(),t.expect("]"),t.consume(),o.cols=[{type:"align",align:r}]}}const s=Hr(e.parser,o,Or(e.envName)),i=Math.max(0,...s.body.map((e=>e.length)));return s.cols=new Array(i).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){const t=Hr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){const r=(Rt(t[0])?[t[0]]:qt(t[0],"ordgroup").body).map((function(e){const t=It(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)}));if(r.length>1)throw new n("{subarray} can contain only one column");let o={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if(o=Hr(e.parser,o,"script"),o.body.length>0&&o.body[0].length>1)throw new n("{subarray} can contain only one column");return o},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){const t=Hr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},Or(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Vr,htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){l.contains(["gather","gather*"],e.envName)&&Ir(e);const t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Rr(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Hr(e.parser,t,"display")},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Vr,htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Ir(e);const t={autoTag:Rr(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Hr(e.parser,t,"display")},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["CD"],props:{numArgs:0},handler(e){return Ir(e),function(e){const t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();const r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}let r=[];const o=[r];for(let a=0;a-1);else{if(!("<>AV".indexOf(o)>-1))throw new n('Expected one of "<>AV=|." after @',l[t]);for(let e=0;e<2;e++){let r=!0;for(let h=t+1;h{const r=e.font,n=t.withFont(r);return ht(e.body,n)},Gr=(e,t)=>{const r=e.font,n=t.withFont(r);return vt(e.body,n)},Ur={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};je({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=Ze(t[0]);let s=n;return s in Ur&&(s=Ur[s]),{type:"font",mode:r.mode,font:s.slice(1),body:o}},htmlBuilder:Fr,mathmlBuilder:Gr}),je({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{let{parser:r}=e;const n=t[0],o=l.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Ft(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:o}}}),je({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n,breakOnTokenText:o}=e;const{mode:s}=r,i=r.parseExpression(!0,o);return{type:"font",mode:s,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:i}}},htmlBuilder:Fr,mathmlBuilder:Gr});const Yr=(e,t)=>{let r=t;return"display"===e?r=r.id>=w.SCRIPT.id?r.text():w.DISPLAY:"text"===e&&r.size===w.DISPLAY.size?r=w.TEXT:"script"===e?r=w.SCRIPT:"scriptscript"===e&&(r=w.SCRIPTSCRIPT),r},Xr=(e,t)=>{const r=Yr(e.size,t.style),n=r.fracNum(),o=r.fracDen();let s;s=t.havingStyle(n);const i=ht(e.numer,s,t);if(e.continued){const e=8.5/t.fontMetrics().ptPerEm,r=3.5/t.fontMetrics().ptPerEm;i.height=i.height0?3*c:7*c,u=t.fontMetrics().denom1):(h>0?(m=t.fontMetrics().num2,p=c):(m=t.fontMetrics().num3,p=3*c),u=t.fontMetrics().denom2),l){const e=t.fontMetrics().axisHeight;m-i.depth-(e+.5*h){let r=new gt.MathNode("mfrac",[vt(e.numer,t),vt(e.denom,t)]);if(e.hasBarLine){if(e.barSize){const n=P(e.barSize,t);r.setAttribute("linethickness",F(n))}}else r.setAttribute("linethickness","0px");const n=Yr(e.size,t.style);if(n.size!==t.style.size){r=new gt.MathNode("mstyle",[r]);const e=n.size===w.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",e),r.setAttribute("scriptlevel","0")}if(null!=e.leftDelim||null!=e.rightDelim){const t=[];if(null!=e.leftDelim){const r=new gt.MathNode("mo",[new gt.TextNode(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}if(t.push(r),null!=e.rightDelim){const r=new gt.MathNode("mo",[new gt.TextNode(e.rightDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}return bt(t)}return r};je({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];let i,a=null,l=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":i=!0;break;case"\\\\atopfrac":i=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":i=!1,a="(",l=")";break;case"\\\\bracefrac":i=!1,a="\\{",l="\\}";break;case"\\\\brackfrac":i=!1,a="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text"}return{type:"genfrac",mode:r.mode,continued:!1,numer:o,denom:s,hasBarLine:i,leftDelim:a,rightDelim:l,size:h,barSize:null}},htmlBuilder:Xr,mathmlBuilder:Wr}),je({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:o,denom:s,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),je({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){let t,{parser:r,funcName:n,token:o}=e;switch(n){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:o}}});const _r=["display","text","script","scriptscript"],jr=function(e){let t=null;return e.length>0&&(t=e,t="."===t?null:t),t};je({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){let{parser:r}=e;const n=t[4],o=t[5],s=Ze(t[0]),i="atom"===s.type&&"open"===s.family?jr(s.text):null,a=Ze(t[1]),l="atom"===a.type&&"close"===a.family?jr(a.text):null,h=qt(t[2],"size");let c,m=null;h.isBlank?c=!0:(m=h.value,c=m.number>0);let p="auto",u=t[3];if("ordgroup"===u.type){if(u.body.length>0){const e=qt(u.body[0],"textord");p=_r[Number(e.text)]}}else u=qt(u,"textord"),p=_r[Number(u.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:o,continued:!1,hasBarLine:c,barSize:m,leftDelim:i,rightDelim:l,size:p}},htmlBuilder:Xr,mathmlBuilder:Wr}),je({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){let{parser:r,funcName:n,token:o}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:qt(t[0],"size").value,token:o}}}),je({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(qt(t[1],"infix").size),i=t[2],a=s.number>0;return{type:"genfrac",mode:r.mode,numer:o,denom:i,continued:!1,hasBarLine:a,barSize:s,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Xr,mathmlBuilder:Wr});const $r=(e,t)=>{const r=t.style;let n,o;"supsub"===e.type?(n=e.sup?ht(e.sup,t.havingStyle(r.sup()),t):ht(e.sub,t.havingStyle(r.sub()),t),o=qt(e.base,"horizBrace")):o=qt(e,"horizBrace");const s=ht(o.base,t.havingBaseStyle(w.DISPLAY)),i=Nt(o,t);let a;if(o.isOver?(a=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:i}]},t),a.children[0].children[0].children[1].classes.push("svg-align")):(a=Ve.makeVList({positionType:"bottom",positionData:s.depth+.1+i.height,children:[{type:"elem",elem:i},{type:"kern",size:.1},{type:"elem",elem:s}]},t),a.children[0].children[0].children[0].classes.push("svg-align")),n){const e=Ve.makeSpan(["mord",o.isOver?"mover":"munder"],[a],t);a=o.isOver?Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:.2},{type:"elem",elem:n}]},t):Ve.makeVList({positionType:"bottom",positionData:e.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:e}]},t)}return Ve.makeSpan(["mord",o.isOver?"mover":"munder"],[a],t)};je({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:$r,mathmlBuilder:(e,t)=>{const r=Ct(e.label);return new gt.MathNode(e.isOver?"mover":"munder",[vt(e.base,t),r])}}),je({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[1],o=qt(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:o})?{type:"href",mode:r.mode,href:o,body:Ke(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{const r=nt(e.body,t,!1);return Ve.makeAnchor(e.href,[],r,t)},mathmlBuilder:(e,t)=>{let r=wt(e.body,t);return r instanceof ut||(r=new ut("mrow",[r])),r.setAttribute("href",e.href),r}}),je({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=qt(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");const o=[];for(let e=0;e{let{parser:r,funcName:o,token:s}=e;const i=qt(t[0],"raw").string,a=t[1];let l;r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");const h={};switch(o){case"\\htmlClass":h.class=i,l={command:"\\htmlClass",class:i};break;case"\\htmlId":h.id=i,l={command:"\\htmlId",id:i};break;case"\\htmlStyle":h.style=i,l={command:"\\htmlStyle",style:i};break;case"\\htmlData":{const e=i.split(",");for(let t=0;t{const r=nt(e.body,t,!1),n=["enclosing"];e.attributes.class&&n.push(...e.attributes.class.trim().split(/\s+/));const o=Ve.makeSpan(n,r,t);for(const t in e.attributes)"class"!==t&&e.attributes.hasOwnProperty(t)&&o.setAttribute(t,e.attributes[t]);return o},mathmlBuilder:(e,t)=>wt(e.body,t)}),je({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:Ke(t[0]),mathml:Ke(t[1])}},htmlBuilder:(e,t)=>{const r=nt(e.html,t,!1);return Ve.makeFragment(r)},mathmlBuilder:(e,t)=>wt(e.mathml,t)});const Zr=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};{const t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new n("Invalid size: '"+e+"' in \\includegraphics");const r={number:+(t[1]+t[2]),unit:t[3]};if(!V(r))throw new n("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r}};je({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{let{parser:o}=e,s={number:0,unit:"em"},i={number:.9,unit:"em"},a={number:0,unit:"em"},l="";if(r[0]){const e=qt(r[0],"raw").string.split(",");for(let t=0;t{const r=P(e.height,t);let n=0;e.totalheight.number>0&&(n=P(e.totalheight,t)-r);let o=0;e.width.number>0&&(o=P(e.width,t));const s={height:F(r+n)};o>0&&(s.width=F(o)),n>0&&(s.verticalAlign=F(-n));const i=new j(e.src,e.alt,s);return i.height=r,i.depth=n,i},mathmlBuilder:(e,t)=>{const r=new gt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);const n=P(e.height,t);let o=0;if(e.totalheight.number>0&&(o=P(e.totalheight,t)-n,r.setAttribute("valign",F(-o))),r.setAttribute("height",F(n+o)),e.width.number>0){const n=P(e.width,t);r.setAttribute("width",F(n))}return r.setAttribute("src",e.src),r}}),je({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=qt(t[0],"size");if(r.settings.strict){const e="m"===n[1],t="mu"===o.value.unit;e?(t||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+o.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):t&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:o.value}},htmlBuilder(e,t){return Ve.makeGlue(e.dimension,t)},mathmlBuilder(e,t){const r=P(e.dimension,t);return new gt.SpaceNode(r)}}),je({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:o}},htmlBuilder:(e,t)=>{let r;"clap"===e.alignment?(r=Ve.makeSpan([],[ht(e.body,t)]),r=Ve.makeSpan(["inner"],[r],t)):r=Ve.makeSpan(["inner"],[ht(e.body,t)]);const n=Ve.makeSpan(["fix"],[]);let o=Ve.makeSpan([e.alignment],[r,n],t);const s=Ve.makeSpan(["strut"]);return s.style.height=F(o.height+o.depth),o.depth&&(s.style.verticalAlign=F(-o.depth)),o.children.unshift(s),o=Ve.makeSpan(["thinbox"],[o],t),Ve.makeSpan(["mord","vbox"],[o],t)},mathmlBuilder:(e,t)=>{const r=new gt.MathNode("mpadded",[vt(e.body,t)]);if("rlap"!==e.alignment){const t="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",t+"width")}return r.setAttribute("width","0px"),r}}),je({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){let{funcName:r,parser:n}=e;const o=n.mode;n.switchMode("math");const s="\\("===r?"\\)":"$",i=n.parseExpression(!1,s);return n.expect(s),n.switchMode(o),{type:"styling",mode:n.mode,style:"text",body:i}}}),je({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new n("Mismatched "+e.funcName)}});const Kr=(e,t)=>{switch(t.style.size){case w.DISPLAY.size:return e.display;case w.TEXT.size:return e.text;case w.SCRIPT.size:return e.script;case w.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};je({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:Ke(t[0]),text:Ke(t[1]),script:Ke(t[2]),scriptscript:Ke(t[3])}},htmlBuilder:(e,t)=>{const r=Kr(e,t),n=nt(r,t,!1);return Ve.makeFragment(n)},mathmlBuilder:(e,t)=>{const r=Kr(e,t);return wt(r,t)}});const Jr=(e,t,r,n,o,s,i)=>{e=Ve.makeSpan([],[e]);const a=r&&l.isCharacterBox(r);let h,c,m;if(t){const e=ht(t,n.havingStyle(o.sup()),n);c={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-e.depth)}}if(r){const e=ht(r,n.havingStyle(o.sub()),n);h={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-e.height)}}if(c&&h){const t=n.fontMetrics().bigOpSpacing5+h.elem.height+h.elem.depth+h.kern+e.depth+i;m=Ve.makeVList({positionType:"bottom",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:F(-s)},{type:"kern",size:h.kern},{type:"elem",elem:e},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:F(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(h){const t=e.height-i;m=Ve.makeVList({positionType:"top",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:F(-s)},{type:"kern",size:h.kern},{type:"elem",elem:e}]},n)}else{if(!c)return e;{const t=e.depth+i;m=Ve.makeVList({positionType:"bottom",positionData:t,children:[{type:"elem",elem:e},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:F(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}}const p=[m];if(h&&0!==s&&!a){const e=Ve.makeSpan(["mspace"],[],n);e.style.marginRight=F(s),p.unshift(e)}return Ve.makeSpan(["mop","op-limits"],p,n)},Qr=["\\smallint"],en=(e,t)=>{let r,n,o,s=!1;"supsub"===e.type?(r=e.sup,n=e.sub,o=qt(e.base,"op"),s=!0):o=qt(e,"op");const i=t.style;let a,h=!1;if(i.size===w.DISPLAY.size&&o.symbol&&!l.contains(Qr,o.name)&&(h=!0),o.symbol){const e=h?"Size2-Regular":"Size1-Regular";let r="";if("\\oiint"!==o.name&&"\\oiiint"!==o.name||(r=o.name.slice(1),o.name="oiint"===r?"\\iint":"\\iiint"),a=Ve.makeSymbol(o.name,e,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),r.length>0){const e=a.italic,n=Ve.staticSvg(r+"Size"+(h?"2":"1"),t);a=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:0},{type:"elem",elem:n,shift:h?.08:0}]},t),o.name="\\"+r,a.classes.unshift("mop"),a.italic=e}}else if(o.body){const e=nt(o.body,t,!0);1===e.length&&e[0]instanceof Z?(a=e[0],a.classes[0]="mop"):a=Ve.makeSpan(["mop"],e,t)}else{const e=[];for(let r=1;r{let r;if(e.symbol)r=new ut("mo",[ft(e.name,e.mode)]),l.contains(Qr,e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new ut("mo",xt(e.body,t));else{r=new ut("mi",[new dt(e.name.slice(1))]);const t=new ut("mo",[ft("\u2061","text")]);r=e.parentIsSupSub?new ut("mrow",[r,t]):pt([r,t])}return r},rn={"\u220f":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22c0":"\\bigwedge","\u22c1":"\\bigvee","\u22c2":"\\bigcap","\u22c3":"\\bigcup","\u2a00":"\\bigodot","\u2a01":"\\bigoplus","\u2a02":"\\bigotimes","\u2a04":"\\biguplus","\u2a06":"\\bigsqcup"};je({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a04","\u2a06"],props:{numArgs:0},handler:(e,t)=>{let{parser:r,funcName:n}=e,o=n;return 1===o.length&&(o=rn[o]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:o}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Ke(n)}},htmlBuilder:en,mathmlBuilder:tn});const nn={"\u222b":"\\int","\u222c":"\\iint","\u222d":"\\iiint","\u222e":"\\oint","\u222f":"\\oiint","\u2230":"\\oiiint"};je({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222b","\u222c","\u222d","\u222e","\u222f","\u2230"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e,n=r;return 1===n.length&&(n=nn[n]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:en,mathmlBuilder:tn});const on=(e,t)=>{let r,n,o,s,i=!1;if("supsub"===e.type?(r=e.sup,n=e.sub,o=qt(e.base,"operatorname"),i=!0):o=qt(e,"operatorname"),o.body.length>0){const e=o.body.map((e=>{const t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),r=nt(e,t.withFont("mathrm"),!0);for(let e=0;e{let{parser:r,funcName:n}=e;const o=t[0];return{type:"operatorname",mode:r.mode,body:Ke(o),alwaysHandleSupSub:"\\operatornamewithlimits"===n,limits:!1,parentIsSupSub:!1}},htmlBuilder:on,mathmlBuilder:(e,t)=>{let r=xt(e.body,t.withFont("mathrm")),n=!0;for(let e=0;ee.toText())).join("");r=[new gt.TextNode(e)]}const o=new gt.MathNode("mi",r);o.setAttribute("mathvariant","normal");const s=new gt.MathNode("mo",[ft("\u2061","text")]);return e.parentIsSupSub?new gt.MathNode("mrow",[o,s]):gt.newDocumentFragment([o,s])}}),Br("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),$e({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?Ve.makeFragment(nt(e.body,t,!1)):Ve.makeSpan(["mord"],nt(e.body,t,!0),t)},mathmlBuilder(e,t){return wt(e.body,t,!0)}}),je({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){let{parser:r}=e;const n=t[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(e,t){const r=ht(e.body,t.havingCrampedStyle()),n=Ve.makeLineSpan("overline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*o},{type:"elem",elem:n},{type:"kern",size:o}]},t);return Ve.makeSpan(["mord","overline"],[s],t)},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[new gt.TextNode("\u203e")]);r.setAttribute("stretchy","true");const n=new gt.MathNode("mover",[vt(e.body,t),r]);return n.setAttribute("accent","true"),n}}),je({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"phantom",mode:r.mode,body:Ke(n)}},htmlBuilder:(e,t)=>{const r=nt(e.body,t.withPhantom(),!1);return Ve.makeFragment(r)},mathmlBuilder:(e,t)=>{const r=xt(e.body,t);return new gt.MathNode("mphantom",r)}}),je({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"hphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{let r=Ve.makeSpan([],[ht(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(let e=0;e{const r=xt(Ke(e.body),t),n=new gt.MathNode("mphantom",r),o=new gt.MathNode("mpadded",[n]);return o.setAttribute("height","0px"),o.setAttribute("depth","0px"),o}}),je({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{const r=Ve.makeSpan(["inner"],[ht(e.body,t.withPhantom())]),n=Ve.makeSpan(["fix"],[]);return Ve.makeSpan(["mord","rlap"],[r,n],t)},mathmlBuilder:(e,t)=>{const r=xt(Ke(e.body),t),n=new gt.MathNode("mphantom",r),o=new gt.MathNode("mpadded",[n]);return o.setAttribute("width","0px"),o}}),je({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;const n=qt(t[0],"size").value,o=t[1];return{type:"raisebox",mode:r.mode,dy:n,body:o}},htmlBuilder(e,t){const r=ht(e.body,t),n=P(e.dy,t);return Ve.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){const r=new gt.MathNode("mpadded",[vt(e.body,t)]),n=e.dy.number+e.dy.unit;return r.setAttribute("voffset",n),r}}),je({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t}=e;return{type:"internal",mode:t.mode}}}),je({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(e,t,r){let{parser:n}=e;const o=r[0],s=qt(t[0],"size"),i=qt(t[1],"size");return{type:"rule",mode:n.mode,shift:o&&qt(o,"size").value,width:s.value,height:i.value}},htmlBuilder(e,t){const r=Ve.makeSpan(["mord","rule"],[],t),n=P(e.width,t),o=P(e.height,t),s=e.shift?P(e.shift,t):0;return r.style.borderRightWidth=F(n),r.style.borderTopWidth=F(o),r.style.bottom=F(s),r.width=n,r.height=o+s,r.depth=-s,r.maxFontSize=1.125*o*t.sizeMultiplier,r},mathmlBuilder(e,t){const r=P(e.width,t),n=P(e.height,t),o=e.shift?P(e.shift,t):0,s=t.color&&t.getColor()||"black",i=new gt.MathNode("mspace");i.setAttribute("mathbackground",s),i.setAttribute("width",F(r)),i.setAttribute("height",F(n));const a=new gt.MathNode("mpadded",[i]);return o>=0?a.setAttribute("height",F(o)):(a.setAttribute("height",F(o)),a.setAttribute("depth",F(-o))),a.setAttribute("voffset",F(o)),a}});const an=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];je({type:"sizing",names:an,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!1,r);return{type:"sizing",mode:o.mode,size:an.indexOf(n)+1,body:s}},htmlBuilder:(e,t)=>{const r=t.havingSize(e.size);return sn(e.body,r,t)},mathmlBuilder:(e,t)=>{const r=t.havingSize(e.size),n=xt(e.body,r),o=new gt.MathNode("mstyle",n);return o.setAttribute("mathsize",F(r.sizeMultiplier)),o}}),je({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{let{parser:n}=e,o=!1,s=!1;const i=r[0]&&qt(r[0],"ordgroup");if(i){let e="";for(let t=0;t{const r=Ve.makeSpan([],[ht(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(let e=0;e{const r=new gt.MathNode("mpadded",[vt(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),je({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n}=e;const o=r[0],s=t[0];return{type:"sqrt",mode:n.mode,body:s,index:o}},htmlBuilder(e,t){let r=ht(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=Ve.wrapFragment(r,t);const n=t.fontMetrics().defaultRuleThickness;let o=n;t.style.idr.height+r.depth+s&&(s=(s+c-r.height-r.depth)/2);const m=a.height-r.height-s-l;r.style.paddingLeft=F(h);const p=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+m)},{type:"elem",elem:a},{type:"kern",size:l}]},t);if(e.index){const r=t.havingStyle(w.SCRIPTSCRIPT),n=ht(e.index,r,t),o=.6*(p.height-p.depth),s=Ve.makeVList({positionType:"shift",positionData:-o,children:[{type:"elem",elem:n}]},t),i=Ve.makeSpan(["root"],[s]);return Ve.makeSpan(["mord","sqrt"],[i,p],t)}return Ve.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder(e,t){const{body:r,index:n}=e;return n?new gt.MathNode("mroot",[vt(r,t),vt(n,t)]):new gt.MathNode("msqrt",[vt(r,t)])}});const ln={display:w.DISPLAY,text:w.TEXT,script:w.SCRIPT,scriptscript:w.SCRIPTSCRIPT};je({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!0,r),i=n.slice(1,n.length-5);return{type:"styling",mode:o.mode,style:i,body:s}},htmlBuilder(e,t){const r=ln[e.style],n=t.havingStyle(r).withFont("");return sn(e.body,n,t)},mathmlBuilder(e,t){const r=ln[e.style],n=t.havingStyle(r),o=xt(e.body,n),s=new gt.MathNode("mstyle",o),i={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return s.setAttribute("scriptlevel",i[0]),s.setAttribute("displaystyle",i[1]),s}});$e({type:"supsub",htmlBuilder(e,t){const r=function(e,t){const r=e.base;if(r)return"op"===r.type?r.limits&&(t.style.size===w.DISPLAY.size||r.alwaysHandleSupSub)?en:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===w.DISPLAY.size||r.limits)?on:null:"accent"===r.type?l.isCharacterBox(r.base)?Ht:null:"horizBrace"===r.type&&!e.sub===r.isOver?$r:null;return null}(e,t);if(r)return r(e,t);const{base:n,sup:o,sub:s}=e,i=ht(n,t);let a,h;const c=t.fontMetrics();let m=0,p=0;const u=n&&l.isCharacterBox(n);if(o){const e=t.havingStyle(t.style.sup());a=ht(o,e,t),u||(m=i.height-e.fontMetrics().supDrop*e.sizeMultiplier/t.sizeMultiplier)}if(s){const e=t.havingStyle(t.style.sub());h=ht(s,e,t),u||(p=i.depth+e.fontMetrics().subDrop*e.sizeMultiplier/t.sizeMultiplier)}let d;d=t.style===w.DISPLAY?c.sup1:t.style.cramped?c.sup3:c.sup2;const g=t.sizeMultiplier,f=F(.5/c.ptPerEm/g);let b,y=null;if(h){const t=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(i instanceof Z||t)&&(y=F(-i.italic))}if(a&&h){m=Math.max(m,d,a.depth+.25*c.xHeight),p=Math.max(p,c.sub2);const e=4*c.defaultRuleThickness;if(m-a.depth-(h.height-p)0&&(m+=t,p-=t)}const r=[{type:"elem",elem:h,shift:p,marginRight:f,marginLeft:y},{type:"elem",elem:a,shift:-m,marginRight:f}];b=Ve.makeVList({positionType:"individualShift",children:r},t)}else if(h){p=Math.max(p,c.sub1,h.height-.8*c.xHeight);const e=[{type:"elem",elem:h,marginLeft:y,marginRight:f}];b=Ve.makeVList({positionType:"shift",positionData:p,children:e},t)}else{if(!a)throw new Error("supsub must have either sup or sub.");m=Math.max(m,d,a.depth+.25*c.xHeight),b=Ve.makeVList({positionType:"shift",positionData:-m,children:[{type:"elem",elem:a,marginRight:f}]},t)}const x=at(i,"right")||"mord";return Ve.makeSpan([x],[i,Ve.makeSpan(["msupsub"],[b])],t)},mathmlBuilder(e,t){let r,n,o=!1;e.base&&"horizBrace"===e.base.type&&(n=!!e.sup,n===e.base.isOver&&(o=!0,r=e.base.isOver)),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);const s=[vt(e.base,t)];let i;if(e.sub&&s.push(vt(e.sub,t)),e.sup&&s.push(vt(e.sup,t)),o)i=r?"mover":"munder";else if(e.sub)if(e.sup){const r=e.base;i=r&&"op"===r.type&&r.limits&&t.style===w.DISPLAY||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(t.style===w.DISPLAY||r.limits)?"munderover":"msubsup"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===w.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===w.DISPLAY)?"munder":"msub"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===w.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===w.DISPLAY)?"mover":"msup"}return new gt.MathNode(i,s)}}),$e({type:"atom",htmlBuilder(e,t){return Ve.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[ft(e.text,e.mode)]);if("bin"===e.family){const n=yt(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});const hn={mi:"italic",mn:"normal",mtext:"normal"};$e({type:"mathord",htmlBuilder(e,t){return Ve.makeOrd(e,t,"mathord")},mathmlBuilder(e,t){const r=new gt.MathNode("mi",[ft(e.text,e.mode,t)]),n=yt(e,t)||"italic";return n!==hn[r.type]&&r.setAttribute("mathvariant",n),r}}),$e({type:"textord",htmlBuilder(e,t){return Ve.makeOrd(e,t,"textord")},mathmlBuilder(e,t){const r=ft(e.text,e.mode,t),n=yt(e,t)||"normal";let o;return o="text"===e.mode?new gt.MathNode("mtext",[r]):/[0-9]/.test(e.text)?new gt.MathNode("mn",[r]):"\\prime"===e.text?new gt.MathNode("mo",[r]):new gt.MathNode("mi",[r]),n!==hn[o.type]&&o.setAttribute("mathvariant",n),o}});const cn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};$e({type:"spacing",htmlBuilder(e,t){if(mn.hasOwnProperty(e.text)){const r=mn[e.text].className||"";if("text"===e.mode){const n=Ve.makeOrd(e,t,"textord");return n.classes.push(r),n}return Ve.makeSpan(["mspace",r],[Ve.mathsym(e.text,e.mode,t)],t)}if(cn.hasOwnProperty(e.text))return Ve.makeSpan(["mspace",cn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){let r;if(!mn.hasOwnProperty(e.text)){if(cn.hasOwnProperty(e.text))return new gt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return r=new gt.MathNode("mtext",[new gt.TextNode("\xa0")]),r}});const pn=()=>{const e=new gt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};$e({type:"tag",mathmlBuilder(e,t){const r=new gt.MathNode("mtable",[new gt.MathNode("mtr",[pn(),new gt.MathNode("mtd",[wt(e.body,t)]),pn(),new gt.MathNode("mtd",[wt(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});const un={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},dn={"\\textbf":"textbf","\\textmd":"textmd"},gn={"\\textit":"textit","\\textup":"textup"},fn=(e,t)=>{const r=e.font;return r?un[r]?t.withTextFontFamily(un[r]):dn[r]?t.withTextFontWeight(dn[r]):t.withTextFontShape(gn[r]):t};je({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"text",mode:r.mode,body:Ke(o),font:n}},htmlBuilder(e,t){const r=fn(e,t),n=nt(e.body,r,!0);return Ve.makeSpan(["mord","text"],n,r)},mathmlBuilder(e,t){const r=fn(e,t);return wt(e.body,r)}}),je({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=ht(e.body,t),n=Ve.makeLineSpan("underline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:o},{type:"elem",elem:n},{type:"kern",size:3*o},{type:"elem",elem:r}]},t);return Ve.makeSpan(["mord","underline"],[s],t)},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[new gt.TextNode("\u203e")]);r.setAttribute("stretchy","true");const n=new gt.MathNode("munder",[vt(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),je({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=ht(e.body,t),n=t.fontMetrics().axisHeight,o=.5*(r.height-n-(r.depth+n));return Ve.makeVList({positionType:"shift",positionData:o,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){return new gt.MathNode("mpadded",[vt(e.body,t)],["vcenter"])}}),je({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){const r=bn(e),n=[],o=t.havingStyle(t.style.text());for(let t=0;te.body.replace(/ /g,e.star?"\u2423":"\xa0");var yn=Xe;const xn="[ \r\n\t]",wn="(\\\\[a-zA-Z@]+)"+xn+"*",vn="[\u0300-\u036f]",kn=new RegExp(vn+"+$"),Sn="("+xn+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff]"+vn+"*|[\ud800-\udbff][\udc00-\udfff]"+vn+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+wn+"|\\\\[^\ud800-\udfff])";class Mn{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Sn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){const e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Nr("EOF",new Cr(this,t,t));const r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new n("Unexpected character: '"+e[t]+"'",new Nr(e[t],new Cr(this,t,t+1)));const o=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[o]){const t=e.indexOf("\n",this.tokenRegex.lastIndex);return-1===t?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=t+1,this.lex()}return new Nr(o,new Cr(this,t,this.tokenRegex.lastIndex))}}class zn{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new n("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");const e=this.undefStack.pop();for(const t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(let t=0;t0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{const t=this.undefStack[this.undefStack.length-1];t&&!t.hasOwnProperty(e)&&(t[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}var An=Tr;Br("\\noexpand",(function(e){const t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Br("\\expandafter",(function(e){const t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Br("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Br("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Br("\\@ifnextchar",(function(e){const t=e.consumeArgs(3);e.consumeSpaces();const r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Br("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Br("\\TextOrMath",(function(e){const t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));const Tn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Br("\\char",(function(e){let t,r=e.popToken(),o="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if(r=e.popToken(),"\\"===r.text[0])o=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");o=r.text.charCodeAt(0)}else t=10;if(t){if(o=Tn[r.text],null==o||o>=t)throw new n("Invalid base-"+t+" digit "+r.text);let s;for(;null!=(s=Tn[e.future().text])&&s{let o=e.consumeArg().tokens;if(1!==o.length)throw new n("\\newcommand's first argument must be a macro name");const s=o[0].text,i=e.isDefined(s);if(i&&!t)throw new n("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!i&&!r)throw new n("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");let a=0;if(o=e.consumeArg().tokens,1===o.length&&"["===o[0].text){let t="",r=e.expandNextToken();for(;"]"!==r.text&&"EOF"!==r.text;)t+=r.text,r=e.expandNextToken();if(!t.match(/^\s*[0-9]+\s*$/))throw new n("Invalid number of arguments: "+t);a=parseInt(t),o=e.consumeArg().tokens}return e.macros.set(s,{tokens:o,numArgs:a}),""};Br("\\newcommand",(e=>Bn(e,!1,!0))),Br("\\renewcommand",(e=>Bn(e,!0,!1))),Br("\\providecommand",(e=>Bn(e,!0,!0))),Br("\\message",(e=>{const t=e.consumeArgs(1)[0];return console.log(t.reverse().map((e=>e.text)).join("")),""})),Br("\\errmessage",(e=>{const t=e.consumeArgs(1)[0];return console.error(t.reverse().map((e=>e.text)).join("")),""})),Br("\\show",(e=>{const t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),yn[r],oe.math[r],oe.text[r]),""})),Br("\\bgroup","{"),Br("\\egroup","}"),Br("~","\\nobreakspace"),Br("\\lq","`"),Br("\\rq","'"),Br("\\aa","\\r a"),Br("\\AA","\\r A"),Br("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),Br("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Br("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"),Br("\u212c","\\mathscr{B}"),Br("\u2130","\\mathscr{E}"),Br("\u2131","\\mathscr{F}"),Br("\u210b","\\mathscr{H}"),Br("\u2110","\\mathscr{I}"),Br("\u2112","\\mathscr{L}"),Br("\u2133","\\mathscr{M}"),Br("\u211b","\\mathscr{R}"),Br("\u212d","\\mathfrak{C}"),Br("\u210c","\\mathfrak{H}"),Br("\u2128","\\mathfrak{Z}"),Br("\\Bbbk","\\Bbb{k}"),Br("\xb7","\\cdotp"),Br("\\llap","\\mathllap{\\textrm{#1}}"),Br("\\rlap","\\mathrlap{\\textrm{#1}}"),Br("\\clap","\\mathclap{\\textrm{#1}}"),Br("\\mathstrut","\\vphantom{(}"),Br("\\underbar","\\underline{\\text{#1}}"),Br("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Br("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"),Br("\\ne","\\neq"),Br("\u2260","\\neq"),Br("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"),Br("\u2209","\\notin"),Br("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"),Br("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"),Br("\u225a","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"),Br("\u225b","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"),Br("\u225d","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"),Br("\u225e","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"),Br("\u225f","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"),Br("\u27c2","\\perp"),Br("\u203c","\\mathclose{!\\mkern-0.8mu!}"),Br("\u220c","\\notni"),Br("\u231c","\\ulcorner"),Br("\u231d","\\urcorner"),Br("\u231e","\\llcorner"),Br("\u231f","\\lrcorner"),Br("\xa9","\\copyright"),Br("\xae","\\textregistered"),Br("\ufe0f","\\textregistered"),Br("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Br("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Br("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Br("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Br("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),Br("\u22ee","\\vdots"),Br("\\varGamma","\\mathit{\\Gamma}"),Br("\\varDelta","\\mathit{\\Delta}"),Br("\\varTheta","\\mathit{\\Theta}"),Br("\\varLambda","\\mathit{\\Lambda}"),Br("\\varXi","\\mathit{\\Xi}"),Br("\\varPi","\\mathit{\\Pi}"),Br("\\varSigma","\\mathit{\\Sigma}"),Br("\\varUpsilon","\\mathit{\\Upsilon}"),Br("\\varPhi","\\mathit{\\Phi}"),Br("\\varPsi","\\mathit{\\Psi}"),Br("\\varOmega","\\mathit{\\Omega}"),Br("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Br("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Br("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Br("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Br("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Br("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");const Cn={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Br("\\dots",(function(e){let t="\\dotso";const r=e.expandAfterFuture().text;return r in Cn?t=Cn[r]:("\\not"===r.slice(0,4)||r in oe.math&&l.contains(["bin","rel"],oe.math[r].group))&&(t="\\dotsb"),t}));const Nn={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Br("\\dotso",(function(e){return e.future().text in Nn?"\\ldots\\,":"\\ldots"})),Br("\\dotsc",(function(e){const t=e.future().text;return t in Nn&&","!==t?"\\ldots\\,":"\\ldots"})),Br("\\cdots",(function(e){return e.future().text in Nn?"\\@cdots\\,":"\\@cdots"})),Br("\\dotsb","\\cdots"),Br("\\dotsm","\\cdots"),Br("\\dotsi","\\!\\cdots"),Br("\\dotsx","\\ldots\\,"),Br("\\DOTSI","\\relax"),Br("\\DOTSB","\\relax"),Br("\\DOTSX","\\relax"),Br("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Br("\\,","\\tmspace+{3mu}{.1667em}"),Br("\\thinspace","\\,"),Br("\\>","\\mskip{4mu}"),Br("\\:","\\tmspace+{4mu}{.2222em}"),Br("\\medspace","\\:"),Br("\\;","\\tmspace+{5mu}{.2777em}"),Br("\\thickspace","\\;"),Br("\\!","\\tmspace-{3mu}{.1667em}"),Br("\\negthinspace","\\!"),Br("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Br("\\negthickspace","\\tmspace-{5mu}{.277em}"),Br("\\enspace","\\kern.5em "),Br("\\enskip","\\hskip.5em\\relax"),Br("\\quad","\\hskip1em\\relax"),Br("\\qquad","\\hskip2em\\relax"),Br("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Br("\\tag@paren","\\tag@literal{({#1})}"),Br("\\tag@literal",(e=>{if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Br("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Br("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Br("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Br("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Br("\\newline","\\\\\\relax"),Br("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");const qn=F(T["Main-Regular"]["T".charCodeAt(0)][1]-.7*T["Main-Regular"]["A".charCodeAt(0)][1]);Br("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+qn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Br("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+qn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Br("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Br("\\@hspace","\\hskip #1\\relax"),Br("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Br("\\ordinarycolon",":"),Br("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Br("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Br("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Br("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Br("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Br("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Br("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Br("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Br("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Br("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Br("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Br("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Br("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Br("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Br("\u2237","\\dblcolon"),Br("\u2239","\\eqcolon"),Br("\u2254","\\coloneqq"),Br("\u2255","\\eqqcolon"),Br("\u2a74","\\Coloneqq"),Br("\\ratio","\\vcentcolon"),Br("\\coloncolon","\\dblcolon"),Br("\\colonequals","\\coloneqq"),Br("\\coloncolonequals","\\Coloneqq"),Br("\\equalscolon","\\eqqcolon"),Br("\\equalscoloncolon","\\Eqqcolon"),Br("\\colonminus","\\coloneq"),Br("\\coloncolonminus","\\Coloneq"),Br("\\minuscolon","\\eqcolon"),Br("\\minuscoloncolon","\\Eqcolon"),Br("\\coloncolonapprox","\\Colonapprox"),Br("\\coloncolonsim","\\Colonsim"),Br("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Br("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Br("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Br("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Br("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Br("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Br("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Br("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Br("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Br("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Br("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Br("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Br("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Br("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Br("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Br("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Br("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Br("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Br("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Br("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Br("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Br("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Br("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Br("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Br("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Br("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Br("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Br("\\imath","\\html@mathml{\\@imath}{\u0131}"),Br("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Br("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Br("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Br("\u27e6","\\llbracket"),Br("\u27e7","\\rrbracket"),Br("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Br("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Br("\u2983","\\lBrace"),Br("\u2984","\\rBrace"),Br("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Br("\u29b5","\\minuso"),Br("\\darr","\\downarrow"),Br("\\dArr","\\Downarrow"),Br("\\Darr","\\Downarrow"),Br("\\lang","\\langle"),Br("\\rang","\\rangle"),Br("\\uarr","\\uparrow"),Br("\\uArr","\\Uparrow"),Br("\\Uarr","\\Uparrow"),Br("\\N","\\mathbb{N}"),Br("\\R","\\mathbb{R}"),Br("\\Z","\\mathbb{Z}"),Br("\\alef","\\aleph"),Br("\\alefsym","\\aleph"),Br("\\Alpha","\\mathrm{A}"),Br("\\Beta","\\mathrm{B}"),Br("\\bull","\\bullet"),Br("\\Chi","\\mathrm{X}"),Br("\\clubs","\\clubsuit"),Br("\\cnums","\\mathbb{C}"),Br("\\Complex","\\mathbb{C}"),Br("\\Dagger","\\ddagger"),Br("\\diamonds","\\diamondsuit"),Br("\\empty","\\emptyset"),Br("\\Epsilon","\\mathrm{E}"),Br("\\Eta","\\mathrm{H}"),Br("\\exist","\\exists"),Br("\\harr","\\leftrightarrow"),Br("\\hArr","\\Leftrightarrow"),Br("\\Harr","\\Leftrightarrow"),Br("\\hearts","\\heartsuit"),Br("\\image","\\Im"),Br("\\infin","\\infty"),Br("\\Iota","\\mathrm{I}"),Br("\\isin","\\in"),Br("\\Kappa","\\mathrm{K}"),Br("\\larr","\\leftarrow"),Br("\\lArr","\\Leftarrow"),Br("\\Larr","\\Leftarrow"),Br("\\lrarr","\\leftrightarrow"),Br("\\lrArr","\\Leftrightarrow"),Br("\\Lrarr","\\Leftrightarrow"),Br("\\Mu","\\mathrm{M}"),Br("\\natnums","\\mathbb{N}"),Br("\\Nu","\\mathrm{N}"),Br("\\Omicron","\\mathrm{O}"),Br("\\plusmn","\\pm"),Br("\\rarr","\\rightarrow"),Br("\\rArr","\\Rightarrow"),Br("\\Rarr","\\Rightarrow"),Br("\\real","\\Re"),Br("\\reals","\\mathbb{R}"),Br("\\Reals","\\mathbb{R}"),Br("\\Rho","\\mathrm{P}"),Br("\\sdot","\\cdot"),Br("\\sect","\\S"),Br("\\spades","\\spadesuit"),Br("\\sub","\\subset"),Br("\\sube","\\subseteq"),Br("\\supe","\\supseteq"),Br("\\Tau","\\mathrm{T}"),Br("\\thetasym","\\vartheta"),Br("\\weierp","\\wp"),Br("\\Zeta","\\mathrm{Z}"),Br("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Br("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Br("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Br("\\bra","\\mathinner{\\langle{#1}|}"),Br("\\ket","\\mathinner{|{#1}\\rangle}"),Br("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Br("\\Bra","\\left\\langle#1\\right|"),Br("\\Ket","\\left|#1\\right\\rangle");const In=e=>t=>{const r=t.consumeArg().tokens,n=t.consumeArg().tokens,o=t.consumeArg().tokens,s=t.consumeArg().tokens,i=t.macros.get("|"),a=t.macros.get("\\|");t.macros.beginGroup();const l=t=>r=>{e&&(r.macros.set("|",i),o.length&&r.macros.set("\\|",a));let s=t;if(!t&&o.length){"|"===r.future().text&&(r.popToken(),s=!0)}return{tokens:s?o:n,numArgs:0}};t.macros.set("|",l(!1)),o.length&&t.macros.set("\\|",l(!0));const h=t.consumeArg().tokens,c=t.expandTokens([...s,...h,...r]);return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}};Br("\\bra@ket",In(!1)),Br("\\bra@set",In(!0)),Br("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Br("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Br("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Br("\\angln","{\\angl n}"),Br("\\blue","\\textcolor{##6495ed}{#1}"),Br("\\orange","\\textcolor{##ffa500}{#1}"),Br("\\pink","\\textcolor{##ff00af}{#1}"),Br("\\red","\\textcolor{##df0030}{#1}"),Br("\\green","\\textcolor{##28ae7b}{#1}"),Br("\\gray","\\textcolor{gray}{#1}"),Br("\\purple","\\textcolor{##9d38bd}{#1}"),Br("\\blueA","\\textcolor{##ccfaff}{#1}"),Br("\\blueB","\\textcolor{##80f6ff}{#1}"),Br("\\blueC","\\textcolor{##63d9ea}{#1}"),Br("\\blueD","\\textcolor{##11accd}{#1}"),Br("\\blueE","\\textcolor{##0c7f99}{#1}"),Br("\\tealA","\\textcolor{##94fff5}{#1}"),Br("\\tealB","\\textcolor{##26edd5}{#1}"),Br("\\tealC","\\textcolor{##01d1c1}{#1}"),Br("\\tealD","\\textcolor{##01a995}{#1}"),Br("\\tealE","\\textcolor{##208170}{#1}"),Br("\\greenA","\\textcolor{##b6ffb0}{#1}"),Br("\\greenB","\\textcolor{##8af281}{#1}"),Br("\\greenC","\\textcolor{##74cf70}{#1}"),Br("\\greenD","\\textcolor{##1fab54}{#1}"),Br("\\greenE","\\textcolor{##0d923f}{#1}"),Br("\\goldA","\\textcolor{##ffd0a9}{#1}"),Br("\\goldB","\\textcolor{##ffbb71}{#1}"),Br("\\goldC","\\textcolor{##ff9c39}{#1}"),Br("\\goldD","\\textcolor{##e07d10}{#1}"),Br("\\goldE","\\textcolor{##a75a05}{#1}"),Br("\\redA","\\textcolor{##fca9a9}{#1}"),Br("\\redB","\\textcolor{##ff8482}{#1}"),Br("\\redC","\\textcolor{##f9685d}{#1}"),Br("\\redD","\\textcolor{##e84d39}{#1}"),Br("\\redE","\\textcolor{##bc2612}{#1}"),Br("\\maroonA","\\textcolor{##ffbde0}{#1}"),Br("\\maroonB","\\textcolor{##ff92c6}{#1}"),Br("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Br("\\maroonD","\\textcolor{##ca337c}{#1}"),Br("\\maroonE","\\textcolor{##9e034e}{#1}"),Br("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Br("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Br("\\purpleC","\\textcolor{##aa87ff}{#1}"),Br("\\purpleD","\\textcolor{##7854ab}{#1}"),Br("\\purpleE","\\textcolor{##543b78}{#1}"),Br("\\mintA","\\textcolor{##f5f9e8}{#1}"),Br("\\mintB","\\textcolor{##edf2df}{#1}"),Br("\\mintC","\\textcolor{##e0e5cc}{#1}"),Br("\\grayA","\\textcolor{##f6f7f7}{#1}"),Br("\\grayB","\\textcolor{##f0f1f2}{#1}"),Br("\\grayC","\\textcolor{##e3e5e6}{#1}"),Br("\\grayD","\\textcolor{##d6d8da}{#1}"),Br("\\grayE","\\textcolor{##babec2}{#1}"),Br("\\grayF","\\textcolor{##888d93}{#1}"),Br("\\grayG","\\textcolor{##626569}{#1}"),Br("\\grayH","\\textcolor{##3b3e40}{#1}"),Br("\\grayI","\\textcolor{##21242c}{#1}"),Br("\\kaBlue","\\textcolor{##314453}{#1}"),Br("\\kaGreen","\\textcolor{##71B307}{#1}");const Rn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Hn{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new zn(An,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new Mn(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){let t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),({tokens:n,end:r}=this.consumeArg(["]"]))}else({tokens:n,start:t,end:r}=this.consumeArg());return this.pushToken(new Nr("EOF",r.loc)),this.pushTokens(n),t.range(r,"")}consumeSpaces(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}}consumeArg(e){const t=[],r=e&&e.length>0;r||this.consumeSpaces();const o=this.future();let s,i=0,a=0;do{if(s=this.popToken(),t.push(s),"{"===s.text)++i;else if("}"===s.text){if(--i,-1===i)throw new n("Extra }",s)}else if("EOF"===s.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[a]:"}")+"'",s);if(e&&r)if((0===i||1===i&&"{"===e[a])&&s.text===e[a]){if(++a,a===e.length){t.splice(-a,a);break}}else a=0}while(0!==i||r);return"{"===o.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:o,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");const r=t[0];for(let e=0;ethis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){const t=this.popToken(),r=t.text,o=t.noexpand?null:this._getExpansion(r);if(null==o||e&&o.unexpandable){if(e&&null==o&&"\\"===r[0]&&!this.isDefined(r))throw new n("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);let s=o.tokens;const i=this.consumeArgs(o.numArgs,o.delimiters);if(o.numArgs){s=s.slice();for(let e=s.length-1;e>=0;--e){let t=s[e];if("#"===t.text){if(0===e)throw new n("Incomplete placeholder at end of macro body",t);if(t=s[--e],"#"===t.text)s.splice(e+1,1);else{if(!/^[1-9]$/.test(t.text))throw new n("Not a valid argument number",t);s.splice(e,2,...i[+t.text-1])}}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){const e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Nr(e)]):void 0}expandTokens(e){const t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){const e=this.stack.pop();e.treatAsRelax&&(e.noexpand=!1,e.treatAsRelax=!1),t.push(e)}return this.countExpansion(t.length),t}expandMacroAsText(e){const t=this.expandMacro(e);return t?t.map((e=>e.text)).join(""):t}_getExpansion(e){const t=this.macros.get(e);if(null==t)return t;if(1===e.length){const t=this.lexer.catcodes[e];if(null!=t&&13!==t)return}const r="function"==typeof t?t(this):t;if("string"==typeof r){let e=0;if(-1!==r.indexOf("#")){const t=r.replace(/##/g,"");for(;-1!==t.indexOf("#"+(e+1));)++e}const t=new Mn(r,this.settings),n=[];let o=t.lex();for(;"EOF"!==o.text;)n.push(o),o=t.lex();n.reverse();return{tokens:n,numArgs:e}}return r}isDefined(e){return this.macros.has(e)||yn.hasOwnProperty(e)||oe.math.hasOwnProperty(e)||oe.text.hasOwnProperty(e)||Rn.hasOwnProperty(e)}isExpandable(e){const t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:yn.hasOwnProperty(e)&&!yn[e].primitive}}const On=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,En=Object.freeze({"\u208a":"+","\u208b":"-","\u208c":"=","\u208d":"(","\u208e":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1d62":"i","\u2c7c":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209a":"p","\u1d63":"r","\u209b":"s","\u209c":"t","\u1d64":"u","\u1d65":"v","\u2093":"x","\u1d66":"\u03b2","\u1d67":"\u03b3","\u1d68":"\u03c1","\u1d69":"\u03d5","\u1d6a":"\u03c7","\u207a":"+","\u207b":"-","\u207c":"=","\u207d":"(","\u207e":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1d2c":"A","\u1d2e":"B","\u1d30":"D","\u1d31":"E","\u1d33":"G","\u1d34":"H","\u1d35":"I","\u1d36":"J","\u1d37":"K","\u1d38":"L","\u1d39":"M","\u1d3a":"N","\u1d3c":"O","\u1d3e":"P","\u1d3f":"R","\u1d40":"T","\u1d41":"U","\u2c7d":"V","\u1d42":"W","\u1d43":"a","\u1d47":"b","\u1d9c":"c","\u1d48":"d","\u1d49":"e","\u1da0":"f","\u1d4d":"g","\u02b0":"h","\u2071":"i","\u02b2":"j","\u1d4f":"k","\u02e1":"l","\u1d50":"m","\u207f":"n","\u1d52":"o","\u1d56":"p","\u02b3":"r","\u02e2":"s","\u1d57":"t","\u1d58":"u","\u1d5b":"v","\u02b7":"w","\u02e3":"x","\u02b8":"y","\u1dbb":"z","\u1d5d":"\u03b2","\u1d5e":"\u03b3","\u1d5f":"\u03b4","\u1d60":"\u03d5","\u1d61":"\u03c7","\u1dbf":"\u03b8"}),Ln={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"},"\u0327":{text:"\\c"}},Dn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u1e09":"c\u0327\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u1e1d":"e\u0327\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u0229":"e\u0327","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u0123":"g\u0327","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\u1e29":"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u0137":"k\u0327","\u013a":"l\u0301","\u013e":"l\u030c","\u013c":"l\u0327","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u0157":"r\u0327","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u015f":"s\u0327","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\u0163":"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u1e08":"C\u0327\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u1e1c":"E\u0327\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u0228":"E\u0327","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u0122":"G\u0327","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\u1e28":"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0136":"K\u0327","\u0139":"L\u0301","\u013d":"L\u030c","\u013b":"L\u0327","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u0156":"R\u0327","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u015e":"S\u0327","\u0164":"T\u030c","\u1e6a":"T\u0307","\u0162":"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"};class Vn{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Hn(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{const e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){const t=this.nextToken;this.consume(),this.gullet.pushToken(new Nr("}")),this.gullet.pushTokens(e);const r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){const r=[];for(;;){"math"===this.mode&&this.consumeSpaces();const n=this.fetch();if(-1!==Vn.endOfExpression.indexOf(n.text))break;if(t&&n.text===t)break;if(e&&yn[n.text]&&yn[n.text].infix)break;const o=this.parseAtom(t);if(!o)break;"internal"!==o.type&&r.push(o)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){let t,r=-1;for(let o=0;o=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);const r=oe[this.mode][t].group,n=Cr.range(e);let s;if(te.hasOwnProperty(r)){const e=r;s={type:"atom",mode:this.mode,family:e,loc:n,text:t}}else s={type:r,mode:this.mode,loc:n,text:t};o=s}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(S(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),o={type:"textord",mode:"text",loc:Cr.range(e),text:t}}if(this.consume(),r)for(let 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 literal 0 HcmV?d00001 diff --git a/dev/deps/Playfair_Display-0.4.9/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2 b/dev/deps/Playfair_Display-0.4.9/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5af2b453fe841990cb106600f78d3c14733e005c GIT binary patch literal 21904 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 XS$<_Uui%EPbt<&)zpC`$cmMzZ!nq=+ literal 0 HcmV?d00001 diff --git a/dev/deps/Playfair_Display-0.4.9/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDYbtPY_Q.woff2 b/dev/deps/Playfair_Display-0.4.9/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDYbtPY_Q.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d24b9c441fd37e7f16ee608145d6192d204a2b2d GIT binary patch literal 5476 zcmV-q6`SgJPew8T0RR9102O2a5C8xG05%8!02KiM0RR9100000000000000000000 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 yR$R^#744 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 literal 0 HcmV?d00001 diff --git a/dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBB5XxxKA.woff2 b/dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBB5XxxKA.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..50e62d3e21c4566c1cf843f0951e27decff2e1df GIT binary patch literal 7984 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 aP_qhpG?#Ojs+Wq4 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 literal 0 HcmV?d00001 diff --git a/dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBN5XxxKA.woff2 b/dev/deps/Roboto_Condensed-0.4.9/ieVo2ZhZI2eCN5jzbjEETS9weq8-_d6T_POl0fRJeyWyosBN5XxxKA.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b028fe72e8c12410d073555b3e3bf2bc8cd30c46 GIT binary patch literal 9584 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 z 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 literal 0 HcmV?d00001 diff --git a/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_QOW4Ep0.woff2 b/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_QOW4Ep0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a0f44185944a3d36c68be4e433b2f083364a1e46 GIT binary patch literal 7392 zcmV<693SI%Pew8T0RR91036@|4gdfE05)_0033t>0RR9100000000000000000000 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 OhpW#se;0FZ&03e`)B?I%m;9dlO z*L@*Dst`3dJMXG3rp)KL%Qj8!&~eDpX;76mv+=j(W{HpBlH>}WCIZ_X<)T*0$zw{6 zexrIE=XIUfMMX~N*Xn|CZJdnu5#TY`$6hyU+5G2ceB{nP$;!!8Zg`A3eoN)JS%b*C zBV3WenHn(}RZ5_590`MvqOLc>+XD@1`~UzmAvwoGNI{QB2?$a=n#4!(7))2=vB(a^ zFqsTo*ujVpz;Bn3BJ; zcC|WnX?*9PNR=8XNiv<%Pl3`^)X0#-I9_>IdTOs-6lgjO)7n_ z1c$OX*V@Q{u=NB;bPQ~XIC$N94xx+=!{1|pKon>m*qXhF()64r4AZh5H%EBS2S5l$ zPz=vOiy#F;kys*?$rVbKTBFtJ4MvmMLeUJ%@m8DN;dHq@ULOL9LSwKvJOM+|YrCTP zZ_rJ-z-^x9-QR~-{{u_7QtkLVchjL_LXO69t!lT`K}wcA=OqcBh0bVkGZN@6gT6C< z)6bO24Ov(U3%|Fp>wM9TVV>ku$S{^SC3acQY*QUji;H1tXSJqTSKLW(A@|gKHUp-X z;ammBv1&-EH}U08tG$cXy+fE5+_rg4CgGygVh%zh2}$a^cx~ijo9a0qs*a{!n0mzA zosKLd&;gmP8APU#VPvUzVU%cDNGPXJPYquc%ytHw+|>CUfojzK8t9a6;O$R~t=XS3GfXI&7!JZLImTymp#y0RRC1PmZ?$ literal 0 HcmV?d00001 diff --git a/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4.woff2 b/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..53d081f3a538a63578c15a5cc11219b32e6d5795 GIT binary patch literal 12764 zcmV<2F(b}*Pew8T0RR9105RME4gdfE09y0_05O380RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_S-W4Ep0.woff2 b/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_S-W4Ep0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..45f222ccedeae0f975746125c975234530a0c3b0 GIT binary patch literal 4688 zcmV-W60hxdPew8T0RR9101{9D4gdfE04Bfy01@^80RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SeW4Ep0.woff2 b/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SeW4Ep0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cce41ce7c6cf4772dd5848aefb262263c25644ca GIT binary patch literal 13696 zcmV-`HGj%?Pew8T0RR9105yOB4gdfE0BCdo05v550RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SuW4Ep0.woff2 b/dev/deps/Roboto_Mono-0.4.9/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SuW4Ep0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cb00b8b5be81aaf4ecb3c93dbcc0c2a8a2f17601 GIT binary patch literal 9556 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 literal 0 HcmV?d00001 diff --git a/dev/deps/Roboto_Mono-0.4.9/font.css b/dev/deps/Roboto_Mono-0.4.9/font.css new file mode 100644 index 00000000..fad8c876 --- /dev/null +++ b/dev/deps/Roboto_Mono-0.4.9/font.css @@ -0,0 +1,54 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SeW4Ep0.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_QOW4Ep0.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_R-W4Ep0.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_S-W4Ep0.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_SuW4Ep0.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js b/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js new file mode 100644 index 00000000..e8f21f70 --- /dev/null +++ b/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!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=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},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(n(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,m=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()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);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})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),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=I(t);return C.has(o)||(o=t),[n,s,o]}function S(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 P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.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 D(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 $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(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))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(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!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(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}function M(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 j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(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]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{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)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.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 e.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.3.1"}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 B=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 n(e)},z={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)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).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(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.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)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{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=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_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(),g(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&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(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 ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}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?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;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&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[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=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),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===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).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(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.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)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.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 Ht}static get DefaultType(){return Wt}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=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),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(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(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(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_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(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.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=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={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];me(s)&&ue(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}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&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 Ce(t){var e=Te(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 Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(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 Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={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=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(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)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(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,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,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&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={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:be(e.placement),variation:Fe(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,We(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,We(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 ze={passive:!0};const Re={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=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(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):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(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?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(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}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?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===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(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?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,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]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={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,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=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"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(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 ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={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=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(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})}},li={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=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].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,[Vt,qt].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}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={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,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,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,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(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=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].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=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(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 fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.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)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.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=z.find(Ni);for(const i of e){const e=qi.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=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),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),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{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,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}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&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.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 z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({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=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(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(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),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=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.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)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["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:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"

"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}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},Gn)}_setContent(t,e,i){const n=z.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)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={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 cs extends W{constructor(t,e){if(void 0===vi)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 as}static get DefaultType(){return ls}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),N.off(this._element.closest(is),ns,this._hideModalHandler),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=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();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),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),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(ts,es),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(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...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(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(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 g(t,[this._element])}_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,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,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=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.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,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}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=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{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 ws}static get DefaultType(){return As}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&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(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=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(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(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.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]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Rs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,qs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Vs extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(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?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return z.find(Rs,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=z.getElementFromSelector(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=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Rs)?t:z.findOne(Rs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Vs.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(qs))Vs.getOrCreateInstance(t)})),m(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){N.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),d(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),N.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),N.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_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(){N.on(this._element,Qs,(t=>this._onInteraction(t,!0))),N.on(this._element,Xs,(t=>this._onInteraction(t,!1))),N.on(this._element,Ys,(t=>this._onInteraction(t,!0))),N.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ro),m(ro),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Vs,Toast:ro,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map b/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map new file mode 100644 index 00000000..3863da8b --- /dev/null +++ b/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","TRANSITION_END","parseSelector","selector","window","CSS","escape","replace","match","id","triggerTransitionEnd","dispatchEvent","Event","isElement","object","jquery","nodeType","getElement","length","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","possibleCallback","args","defaultValue","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","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","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","call","this","handlers","previousFunction","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","value","_unused","defineProperty","configurable","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","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","getSelector","hrefAttribute","trim","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","EVENT_CLOSE","EVENT_CLOSED","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","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","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","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","isArray","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","_ref$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_KEYDOWN_DATA_API","EVENT_KEYUP_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","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","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_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","Offcanvas","blur","completeCallback","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","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","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_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","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","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","activeNodes","spy","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","HOME_KEY","END_KEY","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.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/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.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 dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap 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/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\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 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(parseSelector(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 = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\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 getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\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 if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\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 parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute, executeAfterTransition, getElement, reflow } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' +\n '
' +\n '
' +\n '
',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // TODO: remove this check in v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both
    and
')},createChildNavList:function(e){var t=this.createNavList();return e.append(t),t},generateNavEl:function(e,t){var n=a('
');n.attr("href","#"+e),n.text(t);var r=a("
  • ");return r.append(n),r},generateNavItem:function(e){var t=this.generateAnchor(e),n=a(e),r=n.data("toc-text")||n.text();return this.generateNavEl(t,r)},getTopLevel:function(e){for(var t=1;t<=6;t++){if(1 + + + + + + + + + + + + + + + + + diff --git a/dev/deps/font-awesome-6.5.2/css/all.css b/dev/deps/font-awesome-6.5.2/css/all.css new file mode 100644 index 00000000..151dd57c --- /dev/null +++ b/dev/deps/font-awesome-6.5.2/css/all.css @@ -0,0 +1,8028 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa { + font-family: var(--fa-style-family, "Font Awesome 6 Free"); + font-weight: var(--fa-style, 900); } + +.fa, +.fa-classic, +.fa-sharp, +.fas, +.fa-solid, +.far, +.fa-regular, +.fab, +.fa-brands { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: var(--fa-display, inline-block); + font-style: normal; + font-variant: normal; + line-height: 1; + text-rendering: auto; } + +.fas, +.fa-classic, +.fa-solid, +.far, +.fa-regular { + font-family: 'Font Awesome 6 Free'; } + +.fab, +.fa-brands { + font-family: 'Font Awesome 6 Brands'; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; } + +.fa-xs { + font-size: 0.75em; + line-height: 0.08333em; + vertical-align: 0.125em; } + +.fa-sm { + font-size: 0.875em; + line-height: 0.07143em; + vertical-align: 0.05357em; } + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; } + +.fa-xl { + font-size: 1.5em; + line-height: 0.04167em; + vertical-align: -0.125em; } + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; } + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); } + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); } + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin-reverse { + --fa-animation-direction: reverse; } + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); } + +@media (prefers-reduced-motion: reduce) { + .fa-beat, + .fa-bounce, + .fa-fade, + .fa-beat-fade, + .fa-flip, + .fa-pulse, + .fa-shake, + .fa-spin, + .fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transition-duration: 0s; + transition-duration: 0s; } } + +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, 0)); + transform: rotate(var(--fa-rotate-angle, 0)); } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: var(--fa-stack-z-index, auto); } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: var(--fa-inverse, #fff); } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ + +.fa-0::before { + content: "\30"; } + +.fa-1::before { + content: "\31"; } + +.fa-2::before { + content: "\32"; } + +.fa-3::before { + content: "\33"; } + +.fa-4::before { + content: "\34"; } + +.fa-5::before { + content: "\35"; } + +.fa-6::before { + content: "\36"; } + +.fa-7::before { + content: "\37"; } + +.fa-8::before { + content: "\38"; } + +.fa-9::before { + content: "\39"; } + +.fa-fill-drip::before { + content: "\f576"; } + +.fa-arrows-to-circle::before { + content: "\e4bd"; } + +.fa-circle-chevron-right::before { + content: "\f138"; } + +.fa-chevron-circle-right::before { + content: "\f138"; } + +.fa-at::before { + content: "\40"; } + +.fa-trash-can::before { + content: "\f2ed"; } + +.fa-trash-alt::before { + content: "\f2ed"; } + +.fa-text-height::before { + content: "\f034"; } + +.fa-user-xmark::before { + content: "\f235"; } + +.fa-user-times::before { + content: "\f235"; } + +.fa-stethoscope::before { + content: "\f0f1"; } + +.fa-message::before { + content: "\f27a"; } + +.fa-comment-alt::before { + content: "\f27a"; } + +.fa-info::before { + content: "\f129"; } + +.fa-down-left-and-up-right-to-center::before { + content: "\f422"; } + +.fa-compress-alt::before { + content: "\f422"; } + +.fa-explosion::before { + content: "\e4e9"; } + +.fa-file-lines::before { + content: "\f15c"; } + +.fa-file-alt::before { + content: "\f15c"; } + +.fa-file-text::before { + content: "\f15c"; } + +.fa-wave-square::before { + content: "\f83e"; } + +.fa-ring::before { + content: "\f70b"; } + +.fa-building-un::before { + content: "\e4d9"; } + +.fa-dice-three::before { + content: "\f527"; } + +.fa-calendar-days::before { + content: "\f073"; } + +.fa-calendar-alt::before { + content: "\f073"; } + +.fa-anchor-circle-check::before { + content: "\e4aa"; } + +.fa-building-circle-arrow-right::before { + content: "\e4d1"; } + +.fa-volleyball::before { + content: "\f45f"; } + +.fa-volleyball-ball::before { + content: "\f45f"; } + +.fa-arrows-up-to-line::before { + content: "\e4c2"; } + +.fa-sort-down::before { + content: "\f0dd"; } + +.fa-sort-desc::before { + content: "\f0dd"; } + +.fa-circle-minus::before { + content: "\f056"; } + +.fa-minus-circle::before { + content: "\f056"; } + +.fa-door-open::before { + content: "\f52b"; } + +.fa-right-from-bracket::before { + content: "\f2f5"; } + +.fa-sign-out-alt::before { + content: "\f2f5"; } + +.fa-atom::before { + content: "\f5d2"; } + +.fa-soap::before { + content: "\e06e"; } + +.fa-icons::before { + content: "\f86d"; } + +.fa-heart-music-camera-bolt::before { + content: "\f86d"; } + +.fa-microphone-lines-slash::before { + content: "\f539"; } + +.fa-microphone-alt-slash::before { + content: "\f539"; } + +.fa-bridge-circle-check::before { + content: "\e4c9"; } + +.fa-pump-medical::before { + content: "\e06a"; } + +.fa-fingerprint::before { + content: "\f577"; } + +.fa-hand-point-right::before { + content: "\f0a4"; } + +.fa-magnifying-glass-location::before { + content: "\f689"; } + +.fa-search-location::before { + content: "\f689"; } + +.fa-forward-step::before { + content: "\f051"; } + +.fa-step-forward::before { + content: "\f051"; } + +.fa-face-smile-beam::before { + content: "\f5b8"; } + +.fa-smile-beam::before { + content: "\f5b8"; } + +.fa-flag-checkered::before { + content: "\f11e"; } + +.fa-football::before { + content: "\f44e"; } + +.fa-football-ball::before { + content: "\f44e"; } + +.fa-school-circle-exclamation::before { + content: "\e56c"; } + +.fa-crop::before { + content: "\f125"; } + +.fa-angles-down::before { + content: "\f103"; } + +.fa-angle-double-down::before { + content: "\f103"; } + +.fa-users-rectangle::before { + content: "\e594"; } + +.fa-people-roof::before { + content: "\e537"; } + +.fa-people-line::before { + content: "\e534"; } + +.fa-beer-mug-empty::before { + content: "\f0fc"; } + +.fa-beer::before { + content: "\f0fc"; } + +.fa-diagram-predecessor::before { + content: "\e477"; } + +.fa-arrow-up-long::before { + content: "\f176"; } + +.fa-long-arrow-up::before { + content: "\f176"; } + +.fa-fire-flame-simple::before { + content: "\f46a"; } + +.fa-burn::before { + content: "\f46a"; } + +.fa-person::before { + content: "\f183"; } + +.fa-male::before { + content: "\f183"; } + +.fa-laptop::before { + content: "\f109"; } + +.fa-file-csv::before { + content: "\f6dd"; } + +.fa-menorah::before { + content: "\f676"; } + +.fa-truck-plane::before { + content: "\e58f"; } + +.fa-record-vinyl::before { + content: "\f8d9"; } + +.fa-face-grin-stars::before { + content: "\f587"; } + +.fa-grin-stars::before { + content: "\f587"; } + +.fa-bong::before { + content: "\f55c"; } + +.fa-spaghetti-monster-flying::before { + content: "\f67b"; } + +.fa-pastafarianism::before { + content: "\f67b"; } + +.fa-arrow-down-up-across-line::before { + content: "\e4af"; } + +.fa-spoon::before { + content: "\f2e5"; } + +.fa-utensil-spoon::before { + content: "\f2e5"; } + +.fa-jar-wheat::before { + content: "\e517"; } + +.fa-envelopes-bulk::before { + content: "\f674"; } + +.fa-mail-bulk::before { + content: "\f674"; } + +.fa-file-circle-exclamation::before { + content: "\e4eb"; } + +.fa-circle-h::before { + content: "\f47e"; } + +.fa-hospital-symbol::before { + content: "\f47e"; } + +.fa-pager::before { + content: "\f815"; } + +.fa-address-book::before { + content: "\f2b9"; } + +.fa-contact-book::before { + content: "\f2b9"; } + +.fa-strikethrough::before { + content: "\f0cc"; } + +.fa-k::before { + content: "\4b"; } + +.fa-landmark-flag::before { + content: "\e51c"; } + +.fa-pencil::before { + content: "\f303"; } + +.fa-pencil-alt::before { + content: "\f303"; } + +.fa-backward::before { + content: "\f04a"; } + +.fa-caret-right::before { + content: "\f0da"; } + +.fa-comments::before { + content: "\f086"; } + +.fa-paste::before { + content: "\f0ea"; } + +.fa-file-clipboard::before { + content: "\f0ea"; } + +.fa-code-pull-request::before { + content: "\e13c"; } + +.fa-clipboard-list::before { + content: "\f46d"; } + +.fa-truck-ramp-box::before { + content: "\f4de"; } + +.fa-truck-loading::before { + content: "\f4de"; } + +.fa-user-check::before { + content: "\f4fc"; } + +.fa-vial-virus::before { + content: "\e597"; } + +.fa-sheet-plastic::before { + content: "\e571"; } + +.fa-blog::before { + content: "\f781"; } + +.fa-user-ninja::before { + content: "\f504"; } + +.fa-person-arrow-up-from-line::before { + content: "\e539"; } + +.fa-scroll-torah::before { + content: "\f6a0"; } + +.fa-torah::before { + content: "\f6a0"; } + +.fa-broom-ball::before { + content: "\f458"; } + +.fa-quidditch::before { + content: "\f458"; } + +.fa-quidditch-broom-ball::before { + content: "\f458"; } + +.fa-toggle-off::before { + content: "\f204"; } + +.fa-box-archive::before { + content: "\f187"; } + +.fa-archive::before { + content: "\f187"; } + +.fa-person-drowning::before { + content: "\e545"; } + +.fa-arrow-down-9-1::before { + content: "\f886"; } + +.fa-sort-numeric-desc::before { + content: "\f886"; } + +.fa-sort-numeric-down-alt::before { + content: "\f886"; } + +.fa-face-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-spray-can::before { + content: "\f5bd"; } + +.fa-truck-monster::before { + content: "\f63b"; } + +.fa-w::before { + content: "\57"; } + +.fa-earth-africa::before { + content: "\f57c"; } + +.fa-globe-africa::before { + content: "\f57c"; } + +.fa-rainbow::before { + content: "\f75b"; } + +.fa-circle-notch::before { + content: "\f1ce"; } + +.fa-tablet-screen-button::before { + content: "\f3fa"; } + +.fa-tablet-alt::before { + content: "\f3fa"; } + +.fa-paw::before { + content: "\f1b0"; } + +.fa-cloud::before { + content: "\f0c2"; } + +.fa-trowel-bricks::before { + content: "\e58a"; } + +.fa-face-flushed::before { + content: "\f579"; } + +.fa-flushed::before { + content: "\f579"; } + +.fa-hospital-user::before { + content: "\f80d"; } + +.fa-tent-arrow-left-right::before { + content: "\e57f"; } + +.fa-gavel::before { + content: "\f0e3"; } + +.fa-legal::before { + content: "\f0e3"; } + +.fa-binoculars::before { + content: "\f1e5"; } + +.fa-microphone-slash::before { + content: "\f131"; } + +.fa-box-tissue::before { + content: "\e05b"; } + +.fa-motorcycle::before { + content: "\f21c"; } + +.fa-bell-concierge::before { + content: "\f562"; } + +.fa-concierge-bell::before { + content: "\f562"; } + +.fa-pen-ruler::before { + content: "\f5ae"; } + +.fa-pencil-ruler::before { + content: "\f5ae"; } + +.fa-people-arrows::before { + content: "\e068"; } + +.fa-people-arrows-left-right::before { + content: "\e068"; } + +.fa-mars-and-venus-burst::before { + content: "\e523"; } + +.fa-square-caret-right::before { + content: "\f152"; } + +.fa-caret-square-right::before { + content: "\f152"; } + +.fa-scissors::before { + content: "\f0c4"; } + +.fa-cut::before { + content: "\f0c4"; } + +.fa-sun-plant-wilt::before { + content: "\e57a"; } + +.fa-toilets-portable::before { + content: "\e584"; } + +.fa-hockey-puck::before { + content: "\f453"; } + +.fa-table::before { + content: "\f0ce"; } + +.fa-magnifying-glass-arrow-right::before { + content: "\e521"; } + +.fa-tachograph-digital::before { + content: "\f566"; } + +.fa-digital-tachograph::before { + content: "\f566"; } + +.fa-users-slash::before { + content: "\e073"; } + +.fa-clover::before { + content: "\e139"; } + +.fa-reply::before { + content: "\f3e5"; } + +.fa-mail-reply::before { + content: "\f3e5"; } + +.fa-star-and-crescent::before { + content: "\f699"; } + +.fa-house-fire::before { + content: "\e50c"; } + +.fa-square-minus::before { + content: "\f146"; } + +.fa-minus-square::before { + content: "\f146"; } + +.fa-helicopter::before { + content: "\f533"; } + +.fa-compass::before { + content: "\f14e"; } + +.fa-square-caret-down::before { + content: "\f150"; } + +.fa-caret-square-down::before { + content: "\f150"; } + +.fa-file-circle-question::before { + content: "\e4ef"; } + +.fa-laptop-code::before { + content: "\f5fc"; } + +.fa-swatchbook::before { + content: "\f5c3"; } + +.fa-prescription-bottle::before { + content: "\f485"; } + +.fa-bars::before { + content: "\f0c9"; } + +.fa-navicon::before { + content: "\f0c9"; } + +.fa-people-group::before { + content: "\e533"; } + +.fa-hourglass-end::before { + content: "\f253"; } + +.fa-hourglass-3::before { + content: "\f253"; } + +.fa-heart-crack::before { + content: "\f7a9"; } + +.fa-heart-broken::before { + content: "\f7a9"; } + +.fa-square-up-right::before { + content: "\f360"; } + +.fa-external-link-square-alt::before { + content: "\f360"; } + +.fa-face-kiss-beam::before { + content: "\f597"; } + +.fa-kiss-beam::before { + content: "\f597"; } + +.fa-film::before { + content: "\f008"; } + +.fa-ruler-horizontal::before { + content: "\f547"; } + +.fa-people-robbery::before { + content: "\e536"; } + +.fa-lightbulb::before { + content: "\f0eb"; } + +.fa-caret-left::before { + content: "\f0d9"; } + +.fa-circle-exclamation::before { + content: "\f06a"; } + +.fa-exclamation-circle::before { + content: "\f06a"; } + +.fa-school-circle-xmark::before { + content: "\e56d"; } + +.fa-arrow-right-from-bracket::before { + content: "\f08b"; } + +.fa-sign-out::before { + content: "\f08b"; } + +.fa-circle-chevron-down::before { + content: "\f13a"; } + +.fa-chevron-circle-down::before { + content: "\f13a"; } + +.fa-unlock-keyhole::before { + content: "\f13e"; } + +.fa-unlock-alt::before { + content: "\f13e"; } + +.fa-cloud-showers-heavy::before { + content: "\f740"; } + +.fa-headphones-simple::before { + content: "\f58f"; } + +.fa-headphones-alt::before { + content: "\f58f"; } + +.fa-sitemap::before { + content: "\f0e8"; } + +.fa-circle-dollar-to-slot::before { + content: "\f4b9"; } + +.fa-donate::before { + content: "\f4b9"; } + +.fa-memory::before { + content: "\f538"; } + +.fa-road-spikes::before { + content: "\e568"; } + +.fa-fire-burner::before { + content: "\e4f1"; } + +.fa-flag::before { + content: "\f024"; } + +.fa-hanukiah::before { + content: "\f6e6"; } + +.fa-feather::before { + content: "\f52d"; } + +.fa-volume-low::before { + content: "\f027"; } + +.fa-volume-down::before { + content: "\f027"; } + +.fa-comment-slash::before { + content: "\f4b3"; } + +.fa-cloud-sun-rain::before { + content: "\f743"; } + +.fa-compress::before { + content: "\f066"; } + +.fa-wheat-awn::before { + content: "\e2cd"; } + +.fa-wheat-alt::before { + content: "\e2cd"; } + +.fa-ankh::before { + content: "\f644"; } + +.fa-hands-holding-child::before { + content: "\e4fa"; } + +.fa-asterisk::before { + content: "\2a"; } + +.fa-square-check::before { + content: "\f14a"; } + +.fa-check-square::before { + content: "\f14a"; } + +.fa-peseta-sign::before { + content: "\e221"; } + +.fa-heading::before { + content: "\f1dc"; } + +.fa-header::before { + content: "\f1dc"; } + +.fa-ghost::before { + content: "\f6e2"; } + +.fa-list::before { + content: "\f03a"; } + +.fa-list-squares::before { + content: "\f03a"; } + +.fa-square-phone-flip::before { + content: "\f87b"; } + +.fa-phone-square-alt::before { + content: "\f87b"; } + +.fa-cart-plus::before { + content: "\f217"; } + +.fa-gamepad::before { + content: "\f11b"; } + +.fa-circle-dot::before { + content: "\f192"; } + +.fa-dot-circle::before { + content: "\f192"; } + +.fa-face-dizzy::before { + content: "\f567"; } + +.fa-dizzy::before { + content: "\f567"; } + +.fa-egg::before { + content: "\f7fb"; } + +.fa-house-medical-circle-xmark::before { + content: "\e513"; } + +.fa-campground::before { + content: "\f6bb"; } + +.fa-folder-plus::before { + content: "\f65e"; } + +.fa-futbol::before { + content: "\f1e3"; } + +.fa-futbol-ball::before { + content: "\f1e3"; } + +.fa-soccer-ball::before { + content: "\f1e3"; } + +.fa-paintbrush::before { + content: "\f1fc"; } + +.fa-paint-brush::before { + content: "\f1fc"; } + +.fa-lock::before { + content: "\f023"; } + +.fa-gas-pump::before { + content: "\f52f"; } + +.fa-hot-tub-person::before { + content: "\f593"; } + +.fa-hot-tub::before { + content: "\f593"; } + +.fa-map-location::before { + content: "\f59f"; } + +.fa-map-marked::before { + content: "\f59f"; } + +.fa-house-flood-water::before { + content: "\e50e"; } + +.fa-tree::before { + content: "\f1bb"; } + +.fa-bridge-lock::before { + content: "\e4cc"; } + +.fa-sack-dollar::before { + content: "\f81d"; } + +.fa-pen-to-square::before { + content: "\f044"; } + +.fa-edit::before { + content: "\f044"; } + +.fa-car-side::before { + content: "\f5e4"; } + +.fa-share-nodes::before { + content: "\f1e0"; } + +.fa-share-alt::before { + content: "\f1e0"; } + +.fa-heart-circle-minus::before { + content: "\e4ff"; } + +.fa-hourglass-half::before { + content: "\f252"; } + +.fa-hourglass-2::before { + content: "\f252"; } + +.fa-microscope::before { + content: "\f610"; } + +.fa-sink::before { + content: "\e06d"; } + +.fa-bag-shopping::before { + content: "\f290"; } + +.fa-shopping-bag::before { + content: "\f290"; } + +.fa-arrow-down-z-a::before { + content: "\f881"; } + +.fa-sort-alpha-desc::before { + content: "\f881"; } + +.fa-sort-alpha-down-alt::before { + content: "\f881"; } + +.fa-mitten::before { + content: "\f7b5"; } + +.fa-person-rays::before { + content: "\e54d"; } + +.fa-users::before { + content: "\f0c0"; } + +.fa-eye-slash::before { + content: "\f070"; } + +.fa-flask-vial::before { + content: "\e4f3"; } + +.fa-hand::before { + content: "\f256"; } + +.fa-hand-paper::before { + content: "\f256"; } + +.fa-om::before { + content: "\f679"; } + +.fa-worm::before { + content: "\e599"; } + +.fa-house-circle-xmark::before { + content: "\e50b"; } + +.fa-plug::before { + content: "\f1e6"; } + +.fa-chevron-up::before { + content: "\f077"; } + +.fa-hand-spock::before { + content: "\f259"; } + +.fa-stopwatch::before { + content: "\f2f2"; } + +.fa-face-kiss::before { + content: "\f596"; } + +.fa-kiss::before { + content: "\f596"; } + +.fa-bridge-circle-xmark::before { + content: "\e4cb"; } + +.fa-face-grin-tongue::before { + content: "\f589"; } + +.fa-grin-tongue::before { + content: "\f589"; } + +.fa-chess-bishop::before { + content: "\f43a"; } + +.fa-face-grin-wink::before { + content: "\f58c"; } + +.fa-grin-wink::before { + content: "\f58c"; } + +.fa-ear-deaf::before { + content: "\f2a4"; } + +.fa-deaf::before { + content: "\f2a4"; } + +.fa-deafness::before { + content: "\f2a4"; } + +.fa-hard-of-hearing::before { + content: "\f2a4"; } + +.fa-road-circle-check::before { + content: "\e564"; } + +.fa-dice-five::before { + content: "\f523"; } + +.fa-square-rss::before { + content: "\f143"; } + +.fa-rss-square::before { + content: "\f143"; } + +.fa-land-mine-on::before { + content: "\e51b"; } + +.fa-i-cursor::before { + content: "\f246"; } + +.fa-stamp::before { + content: "\f5bf"; } + +.fa-stairs::before { + content: "\e289"; } + +.fa-i::before { + content: "\49"; } + +.fa-hryvnia-sign::before { + content: "\f6f2"; } + +.fa-hryvnia::before { + content: "\f6f2"; } + +.fa-pills::before { + content: "\f484"; } + +.fa-face-grin-wide::before { + content: "\f581"; } + +.fa-grin-alt::before { + content: "\f581"; } + +.fa-tooth::before { + content: "\f5c9"; } + +.fa-v::before { + content: "\56"; } + +.fa-bangladeshi-taka-sign::before { + content: "\e2e6"; } + +.fa-bicycle::before { + content: "\f206"; } + +.fa-staff-snake::before { + content: "\e579"; } + +.fa-rod-asclepius::before { + content: "\e579"; } + +.fa-rod-snake::before { + content: "\e579"; } + +.fa-staff-aesculapius::before { + content: "\e579"; } + +.fa-head-side-cough-slash::before { + content: "\e062"; } + +.fa-truck-medical::before { + content: "\f0f9"; } + +.fa-ambulance::before { + content: "\f0f9"; } + +.fa-wheat-awn-circle-exclamation::before { + content: "\e598"; } + +.fa-snowman::before { + content: "\f7d0"; } + +.fa-mortar-pestle::before { + content: "\f5a7"; } + +.fa-road-barrier::before { + content: "\e562"; } + +.fa-school::before { + content: "\f549"; } + +.fa-igloo::before { + content: "\f7ae"; } + +.fa-joint::before { + content: "\f595"; } + +.fa-angle-right::before { + content: "\f105"; } + +.fa-horse::before { + content: "\f6f0"; } + +.fa-q::before { + content: "\51"; } + +.fa-g::before { + content: "\47"; } + +.fa-notes-medical::before { + content: "\f481"; } + +.fa-temperature-half::before { + content: "\f2c9"; } + +.fa-temperature-2::before { + content: "\f2c9"; } + +.fa-thermometer-2::before { + content: "\f2c9"; } + +.fa-thermometer-half::before { + content: "\f2c9"; } + +.fa-dong-sign::before { + content: "\e169"; } + +.fa-capsules::before { + content: "\f46b"; } + +.fa-poo-storm::before { + content: "\f75a"; } + +.fa-poo-bolt::before { + content: "\f75a"; } + +.fa-face-frown-open::before { + content: "\f57a"; } + +.fa-frown-open::before { + content: "\f57a"; } + +.fa-hand-point-up::before { + content: "\f0a6"; } + +.fa-money-bill::before { + content: "\f0d6"; } + +.fa-bookmark::before { + content: "\f02e"; } + +.fa-align-justify::before { + content: "\f039"; } + +.fa-umbrella-beach::before { + content: "\f5ca"; } + +.fa-helmet-un::before { + content: "\e503"; } + +.fa-bullseye::before { + content: "\f140"; } + +.fa-bacon::before { + content: "\f7e5"; } + +.fa-hand-point-down::before { + content: "\f0a7"; } + +.fa-arrow-up-from-bracket::before { + content: "\e09a"; } + +.fa-folder::before { + content: "\f07b"; } + +.fa-folder-blank::before { + content: "\f07b"; } + +.fa-file-waveform::before { + content: "\f478"; } + +.fa-file-medical-alt::before { + content: "\f478"; } + +.fa-radiation::before { + content: "\f7b9"; } + +.fa-chart-simple::before { + content: "\e473"; } + +.fa-mars-stroke::before { + content: "\f229"; } + +.fa-vial::before { + content: "\f492"; } + +.fa-gauge::before { + content: "\f624"; } + +.fa-dashboard::before { + content: "\f624"; } + +.fa-gauge-med::before { + content: "\f624"; } + +.fa-tachometer-alt-average::before { + content: "\f624"; } + +.fa-wand-magic-sparkles::before { + content: "\e2ca"; } + +.fa-magic-wand-sparkles::before { + content: "\e2ca"; } + +.fa-e::before { + content: "\45"; } + +.fa-pen-clip::before { + content: "\f305"; } + +.fa-pen-alt::before { + content: "\f305"; } + +.fa-bridge-circle-exclamation::before { + content: "\e4ca"; } + +.fa-user::before { + content: "\f007"; } + +.fa-school-circle-check::before { + content: "\e56b"; } + +.fa-dumpster::before { + content: "\f793"; } + +.fa-van-shuttle::before { + content: "\f5b6"; } + +.fa-shuttle-van::before { + content: "\f5b6"; } + +.fa-building-user::before { + content: "\e4da"; } + +.fa-square-caret-left::before { + content: "\f191"; } + +.fa-caret-square-left::before { + content: "\f191"; } + +.fa-highlighter::before { + content: "\f591"; } + +.fa-key::before { + content: "\f084"; } + +.fa-bullhorn::before { + content: "\f0a1"; } + +.fa-globe::before { + content: "\f0ac"; } + +.fa-synagogue::before { + content: "\f69b"; } + +.fa-person-half-dress::before { + content: "\e548"; } + +.fa-road-bridge::before { + content: "\e563"; } + +.fa-location-arrow::before { + content: "\f124"; } + +.fa-c::before { + content: "\43"; } + +.fa-tablet-button::before { + content: "\f10a"; } + +.fa-building-lock::before { + content: "\e4d6"; } + +.fa-pizza-slice::before { + content: "\f818"; } + +.fa-money-bill-wave::before { + content: "\f53a"; } + +.fa-chart-area::before { + content: "\f1fe"; } + +.fa-area-chart::before { + content: "\f1fe"; } + +.fa-house-flag::before { + content: "\e50d"; } + +.fa-person-circle-minus::before { + content: "\e540"; } + +.fa-ban::before { + content: "\f05e"; } + +.fa-cancel::before { + content: "\f05e"; } + +.fa-camera-rotate::before { + content: "\e0d8"; } + +.fa-spray-can-sparkles::before { + content: "\f5d0"; } + +.fa-air-freshener::before { + content: "\f5d0"; } + +.fa-star::before { + content: "\f005"; } + +.fa-repeat::before { + content: "\f363"; } + +.fa-cross::before { + content: "\f654"; } + +.fa-box::before { + content: "\f466"; } + +.fa-venus-mars::before { + content: "\f228"; } + +.fa-arrow-pointer::before { + content: "\f245"; } + +.fa-mouse-pointer::before { + content: "\f245"; } + +.fa-maximize::before { + content: "\f31e"; } + +.fa-expand-arrows-alt::before { + content: "\f31e"; } + +.fa-charging-station::before { + content: "\f5e7"; } + +.fa-shapes::before { + content: "\f61f"; } + +.fa-triangle-circle-square::before { + content: "\f61f"; } + +.fa-shuffle::before { + content: "\f074"; } + +.fa-random::before { + content: "\f074"; } + +.fa-person-running::before { + content: "\f70c"; } + +.fa-running::before { + content: "\f70c"; } + +.fa-mobile-retro::before { + content: "\e527"; } + +.fa-grip-lines-vertical::before { + content: "\f7a5"; } + +.fa-spider::before { + content: "\f717"; } + +.fa-hands-bound::before { + content: "\e4f9"; } + +.fa-file-invoice-dollar::before { + content: "\f571"; } + +.fa-plane-circle-exclamation::before { + content: "\e556"; } + +.fa-x-ray::before { + content: "\f497"; } + +.fa-spell-check::before { + content: "\f891"; } + +.fa-slash::before { + content: "\f715"; } + +.fa-computer-mouse::before { + content: "\f8cc"; } + +.fa-mouse::before { + content: "\f8cc"; } + +.fa-arrow-right-to-bracket::before { + content: "\f090"; } + +.fa-sign-in::before { + content: "\f090"; } + +.fa-shop-slash::before { + content: "\e070"; } + +.fa-store-alt-slash::before { + content: "\e070"; } + +.fa-server::before { + content: "\f233"; } + +.fa-virus-covid-slash::before { + content: "\e4a9"; } + +.fa-shop-lock::before { + content: "\e4a5"; } + +.fa-hourglass-start::before { + content: "\f251"; } + +.fa-hourglass-1::before { + content: "\f251"; } + +.fa-blender-phone::before { + content: "\f6b6"; } + +.fa-building-wheat::before { + content: "\e4db"; } + +.fa-person-breastfeeding::before { + content: "\e53a"; } + +.fa-right-to-bracket::before { + content: "\f2f6"; } + +.fa-sign-in-alt::before { + content: "\f2f6"; } + +.fa-venus::before { + content: "\f221"; } + +.fa-passport::before { + content: "\f5ab"; } + +.fa-heart-pulse::before { + content: "\f21e"; } + +.fa-heartbeat::before { + content: "\f21e"; } + +.fa-people-carry-box::before { + content: "\f4ce"; } + +.fa-people-carry::before { + content: "\f4ce"; } + +.fa-temperature-high::before { + content: "\f769"; } + +.fa-microchip::before { + content: "\f2db"; } + +.fa-crown::before { + content: "\f521"; } + +.fa-weight-hanging::before { + content: "\f5cd"; } + +.fa-xmarks-lines::before { + content: "\e59a"; } + +.fa-file-prescription::before { + content: "\f572"; } + +.fa-weight-scale::before { + content: "\f496"; } + +.fa-weight::before { + content: "\f496"; } + +.fa-user-group::before { + content: "\f500"; } + +.fa-user-friends::before { + content: "\f500"; } + +.fa-arrow-up-a-z::before { + content: "\f15e"; } + +.fa-sort-alpha-up::before { + content: "\f15e"; } + +.fa-chess-knight::before { + content: "\f441"; } + +.fa-face-laugh-squint::before { + content: "\f59b"; } + +.fa-laugh-squint::before { + content: "\f59b"; } + +.fa-wheelchair::before { + content: "\f193"; } + +.fa-circle-arrow-up::before { + content: "\f0aa"; } + +.fa-arrow-circle-up::before { + content: "\f0aa"; } + +.fa-toggle-on::before { + content: "\f205"; } + +.fa-person-walking::before { + content: "\f554"; } + +.fa-walking::before { + content: "\f554"; } + +.fa-l::before { + content: "\4c"; } + +.fa-fire::before { + content: "\f06d"; } + +.fa-bed-pulse::before { + content: "\f487"; } + +.fa-procedures::before { + content: "\f487"; } + +.fa-shuttle-space::before { + content: "\f197"; } + +.fa-space-shuttle::before { + content: "\f197"; } + +.fa-face-laugh::before { + content: "\f599"; } + +.fa-laugh::before { + content: "\f599"; } + +.fa-folder-open::before { + content: "\f07c"; } + +.fa-heart-circle-plus::before { + content: "\e500"; } + +.fa-code-fork::before { + content: "\e13b"; } + +.fa-city::before { + content: "\f64f"; } + +.fa-microphone-lines::before { + content: "\f3c9"; } + +.fa-microphone-alt::before { + content: "\f3c9"; } + +.fa-pepper-hot::before { + content: "\f816"; } + +.fa-unlock::before { + content: "\f09c"; } + +.fa-colon-sign::before { + content: "\e140"; } + +.fa-headset::before { + content: "\f590"; } + +.fa-store-slash::before { + content: "\e071"; } + +.fa-road-circle-xmark::before { + content: "\e566"; } + +.fa-user-minus::before { + content: "\f503"; } + +.fa-mars-stroke-up::before { + content: "\f22a"; } + +.fa-mars-stroke-v::before { + content: "\f22a"; } + +.fa-champagne-glasses::before { + content: "\f79f"; } + +.fa-glass-cheers::before { + content: "\f79f"; } + +.fa-clipboard::before { + content: "\f328"; } + +.fa-house-circle-exclamation::before { + content: "\e50a"; } + +.fa-file-arrow-up::before { + content: "\f574"; } + +.fa-file-upload::before { + content: "\f574"; } + +.fa-wifi::before { + content: "\f1eb"; } + +.fa-wifi-3::before { + content: "\f1eb"; } + +.fa-wifi-strong::before { + content: "\f1eb"; } + +.fa-bath::before { + content: "\f2cd"; } + +.fa-bathtub::before { + content: "\f2cd"; } + +.fa-underline::before { + content: "\f0cd"; } + +.fa-user-pen::before { + content: "\f4ff"; } + +.fa-user-edit::before { + content: "\f4ff"; } + +.fa-signature::before { + content: "\f5b7"; } + +.fa-stroopwafel::before { + content: "\f551"; } + +.fa-bold::before { + content: "\f032"; } + +.fa-anchor-lock::before { + content: "\e4ad"; } + +.fa-building-ngo::before { + content: "\e4d7"; } + +.fa-manat-sign::before { + content: "\e1d5"; } + +.fa-not-equal::before { + content: "\f53e"; } + +.fa-border-top-left::before { + content: "\f853"; } + +.fa-border-style::before { + content: "\f853"; } + +.fa-map-location-dot::before { + content: "\f5a0"; } + +.fa-map-marked-alt::before { + content: "\f5a0"; } + +.fa-jedi::before { + content: "\f669"; } + +.fa-square-poll-vertical::before { + content: "\f681"; } + +.fa-poll::before { + content: "\f681"; } + +.fa-mug-hot::before { + content: "\f7b6"; } + +.fa-car-battery::before { + content: "\f5df"; } + +.fa-battery-car::before { + content: "\f5df"; } + +.fa-gift::before { + content: "\f06b"; } + +.fa-dice-two::before { + content: "\f528"; } + +.fa-chess-queen::before { + content: "\f445"; } + +.fa-glasses::before { + content: "\f530"; } + +.fa-chess-board::before { + content: "\f43c"; } + +.fa-building-circle-check::before { + content: "\e4d2"; } + +.fa-person-chalkboard::before { + content: "\e53d"; } + +.fa-mars-stroke-right::before { + content: "\f22b"; } + +.fa-mars-stroke-h::before { + content: "\f22b"; } + +.fa-hand-back-fist::before { + content: "\f255"; } + +.fa-hand-rock::before { + content: "\f255"; } + +.fa-square-caret-up::before { + content: "\f151"; } + +.fa-caret-square-up::before { + content: "\f151"; } + +.fa-cloud-showers-water::before { + content: "\e4e4"; } + +.fa-chart-bar::before { + content: "\f080"; } + +.fa-bar-chart::before { + content: "\f080"; } + +.fa-hands-bubbles::before { + content: "\e05e"; } + +.fa-hands-wash::before { + content: "\e05e"; } + +.fa-less-than-equal::before { + content: "\f537"; } + +.fa-train::before { + content: "\f238"; } + +.fa-eye-low-vision::before { + content: "\f2a8"; } + +.fa-low-vision::before { + content: "\f2a8"; } + +.fa-crow::before { + content: "\f520"; } + +.fa-sailboat::before { + content: "\e445"; } + +.fa-window-restore::before { + content: "\f2d2"; } + +.fa-square-plus::before { + content: "\f0fe"; } + +.fa-plus-square::before { + content: "\f0fe"; } + +.fa-torii-gate::before { + content: "\f6a1"; } + +.fa-frog::before { + content: "\f52e"; } + +.fa-bucket::before { + content: "\e4cf"; } + +.fa-image::before { + content: "\f03e"; } + +.fa-microphone::before { + content: "\f130"; } + +.fa-cow::before { + content: "\f6c8"; } + +.fa-caret-up::before { + content: "\f0d8"; } + +.fa-screwdriver::before { + content: "\f54a"; } + +.fa-folder-closed::before { + content: "\e185"; } + +.fa-house-tsunami::before { + content: "\e515"; } + +.fa-square-nfi::before { + content: "\e576"; } + +.fa-arrow-up-from-ground-water::before { + content: "\e4b5"; } + +.fa-martini-glass::before { + content: "\f57b"; } + +.fa-glass-martini-alt::before { + content: "\f57b"; } + +.fa-rotate-left::before { + content: "\f2ea"; } + +.fa-rotate-back::before { + content: "\f2ea"; } + +.fa-rotate-backward::before { + content: "\f2ea"; } + +.fa-undo-alt::before { + content: "\f2ea"; } + +.fa-table-columns::before { + content: "\f0db"; } + +.fa-columns::before { + content: "\f0db"; } + +.fa-lemon::before { + content: "\f094"; } + +.fa-head-side-mask::before { + content: "\e063"; } + +.fa-handshake::before { + content: "\f2b5"; } + +.fa-gem::before { + content: "\f3a5"; } + +.fa-dolly::before { + content: "\f472"; } + +.fa-dolly-box::before { + content: "\f472"; } + +.fa-smoking::before { + content: "\f48d"; } + +.fa-minimize::before { + content: "\f78c"; } + +.fa-compress-arrows-alt::before { + content: "\f78c"; } + +.fa-monument::before { + content: "\f5a6"; } + +.fa-snowplow::before { + content: "\f7d2"; } + +.fa-angles-right::before { + content: "\f101"; } + +.fa-angle-double-right::before { + content: "\f101"; } + +.fa-cannabis::before { + content: "\f55f"; } + +.fa-circle-play::before { + content: "\f144"; } + +.fa-play-circle::before { + content: "\f144"; } + +.fa-tablets::before { + content: "\f490"; } + +.fa-ethernet::before { + content: "\f796"; } + +.fa-euro-sign::before { + content: "\f153"; } + +.fa-eur::before { + content: "\f153"; } + +.fa-euro::before { + content: "\f153"; } + +.fa-chair::before { + content: "\f6c0"; } + +.fa-circle-check::before { + content: "\f058"; } + +.fa-check-circle::before { + content: "\f058"; } + +.fa-circle-stop::before { + content: "\f28d"; } + +.fa-stop-circle::before { + content: "\f28d"; } + +.fa-compass-drafting::before { + content: "\f568"; } + +.fa-drafting-compass::before { + content: "\f568"; } + +.fa-plate-wheat::before { + content: "\e55a"; } + +.fa-icicles::before { + content: "\f7ad"; } + +.fa-person-shelter::before { + content: "\e54f"; } + +.fa-neuter::before { + content: "\f22c"; } + +.fa-id-badge::before { + content: "\f2c1"; } + +.fa-marker::before { + content: "\f5a1"; } + +.fa-face-laugh-beam::before { + content: "\f59a"; } + +.fa-laugh-beam::before { + content: "\f59a"; } + +.fa-helicopter-symbol::before { + content: "\e502"; } + +.fa-universal-access::before { + content: "\f29a"; } + +.fa-circle-chevron-up::before { + content: "\f139"; } + +.fa-chevron-circle-up::before { + content: "\f139"; } + +.fa-lari-sign::before { + content: "\e1c8"; } + +.fa-volcano::before { + content: "\f770"; } + +.fa-person-walking-dashed-line-arrow-right::before { + content: "\e553"; } + +.fa-sterling-sign::before { + content: "\f154"; } + +.fa-gbp::before { + content: "\f154"; } + +.fa-pound-sign::before { + content: "\f154"; } + +.fa-viruses::before { + content: "\e076"; } + +.fa-square-person-confined::before { + content: "\e577"; } + +.fa-user-tie::before { + content: "\f508"; } + +.fa-arrow-down-long::before { + content: "\f175"; } + +.fa-long-arrow-down::before { + content: "\f175"; } + +.fa-tent-arrow-down-to-line::before { + content: "\e57e"; } + +.fa-certificate::before { + content: "\f0a3"; } + +.fa-reply-all::before { + content: "\f122"; } + +.fa-mail-reply-all::before { + content: "\f122"; } + +.fa-suitcase::before { + content: "\f0f2"; } + +.fa-person-skating::before { + content: "\f7c5"; } + +.fa-skating::before { + content: "\f7c5"; } + +.fa-filter-circle-dollar::before { + content: "\f662"; } + +.fa-funnel-dollar::before { + content: "\f662"; } + +.fa-camera-retro::before { + content: "\f083"; } + +.fa-circle-arrow-down::before { + content: "\f0ab"; } + +.fa-arrow-circle-down::before { + content: "\f0ab"; } + +.fa-file-import::before { + content: "\f56f"; } + +.fa-arrow-right-to-file::before { + content: "\f56f"; } + +.fa-square-arrow-up-right::before { + content: "\f14c"; } + +.fa-external-link-square::before { + content: "\f14c"; } + +.fa-box-open::before { + content: "\f49e"; } + +.fa-scroll::before { + content: "\f70e"; } + +.fa-spa::before { + content: "\f5bb"; } + +.fa-location-pin-lock::before { + content: "\e51f"; } + +.fa-pause::before { + content: "\f04c"; } + +.fa-hill-avalanche::before { + content: "\e507"; } + +.fa-temperature-empty::before { + content: "\f2cb"; } + +.fa-temperature-0::before { + content: "\f2cb"; } + +.fa-thermometer-0::before { + content: "\f2cb"; } + +.fa-thermometer-empty::before { + content: "\f2cb"; } + +.fa-bomb::before { + content: "\f1e2"; } + +.fa-registered::before { + content: "\f25d"; } + +.fa-address-card::before { + content: "\f2bb"; } + +.fa-contact-card::before { + content: "\f2bb"; } + +.fa-vcard::before { + content: "\f2bb"; } + +.fa-scale-unbalanced-flip::before { + content: "\f516"; } + +.fa-balance-scale-right::before { + content: "\f516"; } + +.fa-subscript::before { + content: "\f12c"; } + +.fa-diamond-turn-right::before { + content: "\f5eb"; } + +.fa-directions::before { + content: "\f5eb"; } + +.fa-burst::before { + content: "\e4dc"; } + +.fa-house-laptop::before { + content: "\e066"; } + +.fa-laptop-house::before { + content: "\e066"; } + +.fa-face-tired::before { + content: "\f5c8"; } + +.fa-tired::before { + content: "\f5c8"; } + +.fa-money-bills::before { + content: "\e1f3"; } + +.fa-smog::before { + content: "\f75f"; } + +.fa-crutch::before { + content: "\f7f7"; } + +.fa-cloud-arrow-up::before { + content: "\f0ee"; } + +.fa-cloud-upload::before { + content: "\f0ee"; } + +.fa-cloud-upload-alt::before { + content: "\f0ee"; } + +.fa-palette::before { + content: "\f53f"; } + +.fa-arrows-turn-right::before { + content: "\e4c0"; } + +.fa-vest::before { + content: "\e085"; } + +.fa-ferry::before { + content: "\e4ea"; } + +.fa-arrows-down-to-people::before { + content: "\e4b9"; } + +.fa-seedling::before { + content: "\f4d8"; } + +.fa-sprout::before { + content: "\f4d8"; } + +.fa-left-right::before { + content: "\f337"; } + +.fa-arrows-alt-h::before { + content: "\f337"; } + +.fa-boxes-packing::before { + content: "\e4c7"; } + +.fa-circle-arrow-left::before { + content: "\f0a8"; } + +.fa-arrow-circle-left::before { + content: "\f0a8"; } + +.fa-group-arrows-rotate::before { + content: "\e4f6"; } + +.fa-bowl-food::before { + content: "\e4c6"; } + +.fa-candy-cane::before { + content: "\f786"; } + +.fa-arrow-down-wide-short::before { + content: "\f160"; } + +.fa-sort-amount-asc::before { + content: "\f160"; } + +.fa-sort-amount-down::before { + content: "\f160"; } + +.fa-cloud-bolt::before { + content: "\f76c"; } + +.fa-thunderstorm::before { + content: "\f76c"; } + +.fa-text-slash::before { + content: "\f87d"; } + +.fa-remove-format::before { + content: "\f87d"; } + +.fa-face-smile-wink::before { + content: "\f4da"; } + +.fa-smile-wink::before { + content: "\f4da"; } + +.fa-file-word::before { + content: "\f1c2"; } + +.fa-file-powerpoint::before { + content: "\f1c4"; } + +.fa-arrows-left-right::before { + content: "\f07e"; } + +.fa-arrows-h::before { + content: "\f07e"; } + +.fa-house-lock::before { + content: "\e510"; } + +.fa-cloud-arrow-down::before { + content: "\f0ed"; } + +.fa-cloud-download::before { + content: "\f0ed"; } + +.fa-cloud-download-alt::before { + content: "\f0ed"; } + +.fa-children::before { + content: "\e4e1"; } + +.fa-chalkboard::before { + content: "\f51b"; } + +.fa-blackboard::before { + content: "\f51b"; } + +.fa-user-large-slash::before { + content: "\f4fa"; } + +.fa-user-alt-slash::before { + content: "\f4fa"; } + +.fa-envelope-open::before { + content: "\f2b6"; } + +.fa-handshake-simple-slash::before { + content: "\e05f"; } + +.fa-handshake-alt-slash::before { + content: "\e05f"; } + +.fa-mattress-pillow::before { + content: "\e525"; } + +.fa-guarani-sign::before { + content: "\e19a"; } + +.fa-arrows-rotate::before { + content: "\f021"; } + +.fa-refresh::before { + content: "\f021"; } + +.fa-sync::before { + content: "\f021"; } + +.fa-fire-extinguisher::before { + content: "\f134"; } + +.fa-cruzeiro-sign::before { + content: "\e152"; } + +.fa-greater-than-equal::before { + content: "\f532"; } + +.fa-shield-halved::before { + content: "\f3ed"; } + +.fa-shield-alt::before { + content: "\f3ed"; } + +.fa-book-atlas::before { + content: "\f558"; } + +.fa-atlas::before { + content: "\f558"; } + +.fa-virus::before { + content: "\e074"; } + +.fa-envelope-circle-check::before { + content: "\e4e8"; } + +.fa-layer-group::before { + content: "\f5fd"; } + +.fa-arrows-to-dot::before { + content: "\e4be"; } + +.fa-archway::before { + content: "\f557"; } + +.fa-heart-circle-check::before { + content: "\e4fd"; } + +.fa-house-chimney-crack::before { + content: "\f6f1"; } + +.fa-house-damage::before { + content: "\f6f1"; } + +.fa-file-zipper::before { + content: "\f1c6"; } + +.fa-file-archive::before { + content: "\f1c6"; } + +.fa-square::before { + content: "\f0c8"; } + +.fa-martini-glass-empty::before { + content: "\f000"; } + +.fa-glass-martini::before { + content: "\f000"; } + +.fa-couch::before { + content: "\f4b8"; } + +.fa-cedi-sign::before { + content: "\e0df"; } + +.fa-italic::before { + content: "\f033"; } + +.fa-table-cells-column-lock::before { + content: "\e678"; } + +.fa-church::before { + content: "\f51d"; } + +.fa-comments-dollar::before { + content: "\f653"; } + +.fa-democrat::before { + content: "\f747"; } + +.fa-z::before { + content: "\5a"; } + +.fa-person-skiing::before { + content: "\f7c9"; } + +.fa-skiing::before { + content: "\f7c9"; } + +.fa-road-lock::before { + content: "\e567"; } + +.fa-a::before { + content: "\41"; } + +.fa-temperature-arrow-down::before { + content: "\e03f"; } + +.fa-temperature-down::before { + content: "\e03f"; } + +.fa-feather-pointed::before { + content: "\f56b"; } + +.fa-feather-alt::before { + content: "\f56b"; } + +.fa-p::before { + content: "\50"; } + +.fa-snowflake::before { + content: "\f2dc"; } + +.fa-newspaper::before { + content: "\f1ea"; } + +.fa-rectangle-ad::before { + content: "\f641"; } + +.fa-ad::before { + content: "\f641"; } + +.fa-circle-arrow-right::before { + content: "\f0a9"; } + +.fa-arrow-circle-right::before { + content: "\f0a9"; } + +.fa-filter-circle-xmark::before { + content: "\e17b"; } + +.fa-locust::before { + content: "\e520"; } + +.fa-sort::before { + content: "\f0dc"; } + +.fa-unsorted::before { + content: "\f0dc"; } + +.fa-list-ol::before { + content: "\f0cb"; } + +.fa-list-1-2::before { + content: "\f0cb"; } + +.fa-list-numeric::before { + content: "\f0cb"; } + +.fa-person-dress-burst::before { + content: "\e544"; } + +.fa-money-check-dollar::before { + content: "\f53d"; } + +.fa-money-check-alt::before { + content: "\f53d"; } + +.fa-vector-square::before { + content: "\f5cb"; } + +.fa-bread-slice::before { + content: "\f7ec"; } + +.fa-language::before { + content: "\f1ab"; } + +.fa-face-kiss-wink-heart::before { + content: "\f598"; } + +.fa-kiss-wink-heart::before { + content: "\f598"; } + +.fa-filter::before { + content: "\f0b0"; } + +.fa-question::before { + content: "\3f"; } + +.fa-file-signature::before { + content: "\f573"; } + +.fa-up-down-left-right::before { + content: "\f0b2"; } + +.fa-arrows-alt::before { + content: "\f0b2"; } + +.fa-house-chimney-user::before { + content: "\e065"; } + +.fa-hand-holding-heart::before { + content: "\f4be"; } + +.fa-puzzle-piece::before { + content: "\f12e"; } + +.fa-money-check::before { + content: "\f53c"; } + +.fa-star-half-stroke::before { + content: "\f5c0"; } + +.fa-star-half-alt::before { + content: "\f5c0"; } + +.fa-code::before { + content: "\f121"; } + +.fa-whiskey-glass::before { + content: "\f7a0"; } + +.fa-glass-whiskey::before { + content: "\f7a0"; } + +.fa-building-circle-exclamation::before { + content: "\e4d3"; } + +.fa-magnifying-glass-chart::before { + content: "\e522"; } + +.fa-arrow-up-right-from-square::before { + content: "\f08e"; } + +.fa-external-link::before { + content: "\f08e"; } + +.fa-cubes-stacked::before { + content: "\e4e6"; } + +.fa-won-sign::before { + content: "\f159"; } + +.fa-krw::before { + content: "\f159"; } + +.fa-won::before { + content: "\f159"; } + +.fa-virus-covid::before { + content: "\e4a8"; } + +.fa-austral-sign::before { + content: "\e0a9"; } + +.fa-f::before { + content: "\46"; } + +.fa-leaf::before { + content: "\f06c"; } + +.fa-road::before { + content: "\f018"; } + +.fa-taxi::before { + content: "\f1ba"; } + +.fa-cab::before { + content: "\f1ba"; } + +.fa-person-circle-plus::before { + content: "\e541"; } + +.fa-chart-pie::before { + content: "\f200"; } + +.fa-pie-chart::before { + content: "\f200"; } + +.fa-bolt-lightning::before { + content: "\e0b7"; } + +.fa-sack-xmark::before { + content: "\e56a"; } + +.fa-file-excel::before { + content: "\f1c3"; } + +.fa-file-contract::before { + content: "\f56c"; } + +.fa-fish-fins::before { + content: "\e4f2"; } + +.fa-building-flag::before { + content: "\e4d5"; } + +.fa-face-grin-beam::before { + content: "\f582"; } + +.fa-grin-beam::before { + content: "\f582"; } + +.fa-object-ungroup::before { + content: "\f248"; } + +.fa-poop::before { + content: "\f619"; } + +.fa-location-pin::before { + content: "\f041"; } + +.fa-map-marker::before { + content: "\f041"; } + +.fa-kaaba::before { + content: "\f66b"; } + +.fa-toilet-paper::before { + content: "\f71e"; } + +.fa-helmet-safety::before { + content: "\f807"; } + +.fa-hard-hat::before { + content: "\f807"; } + +.fa-hat-hard::before { + content: "\f807"; } + +.fa-eject::before { + content: "\f052"; } + +.fa-circle-right::before { + content: "\f35a"; } + +.fa-arrow-alt-circle-right::before { + content: "\f35a"; } + +.fa-plane-circle-check::before { + content: "\e555"; } + +.fa-face-rolling-eyes::before { + content: "\f5a5"; } + +.fa-meh-rolling-eyes::before { + content: "\f5a5"; } + +.fa-object-group::before { + content: "\f247"; } + +.fa-chart-line::before { + content: "\f201"; } + +.fa-line-chart::before { + content: "\f201"; } + +.fa-mask-ventilator::before { + content: "\e524"; } + +.fa-arrow-right::before { + content: "\f061"; } + +.fa-signs-post::before { + content: "\f277"; } + +.fa-map-signs::before { + content: "\f277"; } + +.fa-cash-register::before { + content: "\f788"; } + +.fa-person-circle-question::before { + content: "\e542"; } + +.fa-h::before { + content: "\48"; } + +.fa-tarp::before { + content: "\e57b"; } + +.fa-screwdriver-wrench::before { + content: "\f7d9"; } + +.fa-tools::before { + content: "\f7d9"; } + +.fa-arrows-to-eye::before { + content: "\e4bf"; } + +.fa-plug-circle-bolt::before { + content: "\e55b"; } + +.fa-heart::before { + content: "\f004"; } + +.fa-mars-and-venus::before { + content: "\f224"; } + +.fa-house-user::before { + content: "\e1b0"; } + +.fa-home-user::before { + content: "\e1b0"; } + +.fa-dumpster-fire::before { + content: "\f794"; } + +.fa-house-crack::before { + content: "\e3b1"; } + +.fa-martini-glass-citrus::before { + content: "\f561"; } + +.fa-cocktail::before { + content: "\f561"; } + +.fa-face-surprise::before { + content: "\f5c2"; } + +.fa-surprise::before { + content: "\f5c2"; } + +.fa-bottle-water::before { + content: "\e4c5"; } + +.fa-circle-pause::before { + content: "\f28b"; } + +.fa-pause-circle::before { + content: "\f28b"; } + +.fa-toilet-paper-slash::before { + content: "\e072"; } + +.fa-apple-whole::before { + content: "\f5d1"; } + +.fa-apple-alt::before { + content: "\f5d1"; } + +.fa-kitchen-set::before { + content: "\e51a"; } + +.fa-r::before { + content: "\52"; } + +.fa-temperature-quarter::before { + content: "\f2ca"; } + +.fa-temperature-1::before { + content: "\f2ca"; } + +.fa-thermometer-1::before { + content: "\f2ca"; } + +.fa-thermometer-quarter::before { + content: "\f2ca"; } + +.fa-cube::before { + content: "\f1b2"; } + +.fa-bitcoin-sign::before { + content: "\e0b4"; } + +.fa-shield-dog::before { + content: "\e573"; } + +.fa-solar-panel::before { + content: "\f5ba"; } + +.fa-lock-open::before { + content: "\f3c1"; } + +.fa-elevator::before { + content: "\e16d"; } + +.fa-money-bill-transfer::before { + content: "\e528"; } + +.fa-money-bill-trend-up::before { + content: "\e529"; } + +.fa-house-flood-water-circle-arrow-right::before { + content: "\e50f"; } + +.fa-square-poll-horizontal::before { + content: "\f682"; } + +.fa-poll-h::before { + content: "\f682"; } + +.fa-circle::before { + content: "\f111"; } + +.fa-backward-fast::before { + content: "\f049"; } + +.fa-fast-backward::before { + content: "\f049"; } + +.fa-recycle::before { + content: "\f1b8"; } + +.fa-user-astronaut::before { + content: "\f4fb"; } + +.fa-plane-slash::before { + content: "\e069"; } + +.fa-trademark::before { + content: "\f25c"; } + +.fa-basketball::before { + content: "\f434"; } + +.fa-basketball-ball::before { + content: "\f434"; } + +.fa-satellite-dish::before { + content: "\f7c0"; } + +.fa-circle-up::before { + content: "\f35b"; } + +.fa-arrow-alt-circle-up::before { + content: "\f35b"; } + +.fa-mobile-screen-button::before { + content: "\f3cd"; } + +.fa-mobile-alt::before { + content: "\f3cd"; } + +.fa-volume-high::before { + content: "\f028"; } + +.fa-volume-up::before { + content: "\f028"; } + +.fa-users-rays::before { + content: "\e593"; } + +.fa-wallet::before { + content: "\f555"; } + +.fa-clipboard-check::before { + content: "\f46c"; } + +.fa-file-audio::before { + content: "\f1c7"; } + +.fa-burger::before { + content: "\f805"; } + +.fa-hamburger::before { + content: "\f805"; } + +.fa-wrench::before { + content: "\f0ad"; } + +.fa-bugs::before { + content: "\e4d0"; } + +.fa-rupee-sign::before { + content: "\f156"; } + +.fa-rupee::before { + content: "\f156"; } + +.fa-file-image::before { + content: "\f1c5"; } + +.fa-circle-question::before { + content: "\f059"; } + +.fa-question-circle::before { + content: "\f059"; } + +.fa-plane-departure::before { + content: "\f5b0"; } + +.fa-handshake-slash::before { + content: "\e060"; } + +.fa-book-bookmark::before { + content: "\e0bb"; } + +.fa-code-branch::before { + content: "\f126"; } + +.fa-hat-cowboy::before { + content: "\f8c0"; } + +.fa-bridge::before { + content: "\e4c8"; } + +.fa-phone-flip::before { + content: "\f879"; } + +.fa-phone-alt::before { + content: "\f879"; } + +.fa-truck-front::before { + content: "\e2b7"; } + +.fa-cat::before { + content: "\f6be"; } + +.fa-anchor-circle-exclamation::before { + content: "\e4ab"; } + +.fa-truck-field::before { + content: "\e58d"; } + +.fa-route::before { + content: "\f4d7"; } + +.fa-clipboard-question::before { + content: "\e4e3"; } + +.fa-panorama::before { + content: "\e209"; } + +.fa-comment-medical::before { + content: "\f7f5"; } + +.fa-teeth-open::before { + content: "\f62f"; } + +.fa-file-circle-minus::before { + content: "\e4ed"; } + +.fa-tags::before { + content: "\f02c"; } + +.fa-wine-glass::before { + content: "\f4e3"; } + +.fa-forward-fast::before { + content: "\f050"; } + +.fa-fast-forward::before { + content: "\f050"; } + +.fa-face-meh-blank::before { + content: "\f5a4"; } + +.fa-meh-blank::before { + content: "\f5a4"; } + +.fa-square-parking::before { + content: "\f540"; } + +.fa-parking::before { + content: "\f540"; } + +.fa-house-signal::before { + content: "\e012"; } + +.fa-bars-progress::before { + content: "\f828"; } + +.fa-tasks-alt::before { + content: "\f828"; } + +.fa-faucet-drip::before { + content: "\e006"; } + +.fa-cart-flatbed::before { + content: "\f474"; } + +.fa-dolly-flatbed::before { + content: "\f474"; } + +.fa-ban-smoking::before { + content: "\f54d"; } + +.fa-smoking-ban::before { + content: "\f54d"; } + +.fa-terminal::before { + content: "\f120"; } + +.fa-mobile-button::before { + content: "\f10b"; } + +.fa-house-medical-flag::before { + content: "\e514"; } + +.fa-basket-shopping::before { + content: "\f291"; } + +.fa-shopping-basket::before { + content: "\f291"; } + +.fa-tape::before { + content: "\f4db"; } + +.fa-bus-simple::before { + content: "\f55e"; } + +.fa-bus-alt::before { + content: "\f55e"; } + +.fa-eye::before { + content: "\f06e"; } + +.fa-face-sad-cry::before { + content: "\f5b3"; } + +.fa-sad-cry::before { + content: "\f5b3"; } + +.fa-audio-description::before { + content: "\f29e"; } + +.fa-person-military-to-person::before { + content: "\e54c"; } + +.fa-file-shield::before { + content: "\e4f0"; } + +.fa-user-slash::before { + content: "\f506"; } + +.fa-pen::before { + content: "\f304"; } + +.fa-tower-observation::before { + content: "\e586"; } + +.fa-file-code::before { + content: "\f1c9"; } + +.fa-signal::before { + content: "\f012"; } + +.fa-signal-5::before { + content: "\f012"; } + +.fa-signal-perfect::before { + content: "\f012"; } + +.fa-bus::before { + content: "\f207"; } + +.fa-heart-circle-xmark::before { + content: "\e501"; } + +.fa-house-chimney::before { + content: "\e3af"; } + +.fa-home-lg::before { + content: "\e3af"; } + +.fa-window-maximize::before { + content: "\f2d0"; } + +.fa-face-frown::before { + content: "\f119"; } + +.fa-frown::before { + content: "\f119"; } + +.fa-prescription::before { + content: "\f5b1"; } + +.fa-shop::before { + content: "\f54f"; } + +.fa-store-alt::before { + content: "\f54f"; } + +.fa-floppy-disk::before { + content: "\f0c7"; } + +.fa-save::before { + content: "\f0c7"; } + +.fa-vihara::before { + content: "\f6a7"; } + +.fa-scale-unbalanced::before { + content: "\f515"; } + +.fa-balance-scale-left::before { + content: "\f515"; } + +.fa-sort-up::before { + content: "\f0de"; } + +.fa-sort-asc::before { + content: "\f0de"; } + +.fa-comment-dots::before { + content: "\f4ad"; } + +.fa-commenting::before { + content: "\f4ad"; } + +.fa-plant-wilt::before { + content: "\e5aa"; } + +.fa-diamond::before { + content: "\f219"; } + +.fa-face-grin-squint::before { + content: "\f585"; } + +.fa-grin-squint::before { + content: "\f585"; } + +.fa-hand-holding-dollar::before { + content: "\f4c0"; } + +.fa-hand-holding-usd::before { + content: "\f4c0"; } + +.fa-bacterium::before { + content: "\e05a"; } + +.fa-hand-pointer::before { + content: "\f25a"; } + +.fa-drum-steelpan::before { + content: "\f56a"; } + +.fa-hand-scissors::before { + content: "\f257"; } + +.fa-hands-praying::before { + content: "\f684"; } + +.fa-praying-hands::before { + content: "\f684"; } + +.fa-arrow-rotate-right::before { + content: "\f01e"; } + +.fa-arrow-right-rotate::before { + content: "\f01e"; } + +.fa-arrow-rotate-forward::before { + content: "\f01e"; } + +.fa-redo::before { + content: "\f01e"; } + +.fa-biohazard::before { + content: "\f780"; } + +.fa-location-crosshairs::before { + content: "\f601"; } + +.fa-location::before { + content: "\f601"; } + +.fa-mars-double::before { + content: "\f227"; } + +.fa-child-dress::before { + content: "\e59c"; } + +.fa-users-between-lines::before { + content: "\e591"; } + +.fa-lungs-virus::before { + content: "\e067"; } + +.fa-face-grin-tears::before { + content: "\f588"; } + +.fa-grin-tears::before { + content: "\f588"; } + +.fa-phone::before { + content: "\f095"; } + +.fa-calendar-xmark::before { + content: "\f273"; } + +.fa-calendar-times::before { + content: "\f273"; } + +.fa-child-reaching::before { + content: "\e59d"; } + +.fa-head-side-virus::before { + content: "\e064"; } + +.fa-user-gear::before { + content: "\f4fe"; } + +.fa-user-cog::before { + content: "\f4fe"; } + +.fa-arrow-up-1-9::before { + content: "\f163"; } + +.fa-sort-numeric-up::before { + content: "\f163"; } + +.fa-door-closed::before { + content: "\f52a"; } + +.fa-shield-virus::before { + content: "\e06c"; } + +.fa-dice-six::before { + content: "\f526"; } + +.fa-mosquito-net::before { + content: "\e52c"; } + +.fa-bridge-water::before { + content: "\e4ce"; } + +.fa-person-booth::before { + content: "\f756"; } + +.fa-text-width::before { + content: "\f035"; } + +.fa-hat-wizard::before { + content: "\f6e8"; } + +.fa-pen-fancy::before { + content: "\f5ac"; } + +.fa-person-digging::before { + content: "\f85e"; } + +.fa-digging::before { + content: "\f85e"; } + +.fa-trash::before { + content: "\f1f8"; } + +.fa-gauge-simple::before { + content: "\f629"; } + +.fa-gauge-simple-med::before { + content: "\f629"; } + +.fa-tachometer-average::before { + content: "\f629"; } + +.fa-book-medical::before { + content: "\f7e6"; } + +.fa-poo::before { + content: "\f2fe"; } + +.fa-quote-right::before { + content: "\f10e"; } + +.fa-quote-right-alt::before { + content: "\f10e"; } + +.fa-shirt::before { + content: "\f553"; } + +.fa-t-shirt::before { + content: "\f553"; } + +.fa-tshirt::before { + content: "\f553"; } + +.fa-cubes::before { + content: "\f1b3"; } + +.fa-divide::before { + content: "\f529"; } + +.fa-tenge-sign::before { + content: "\f7d7"; } + +.fa-tenge::before { + content: "\f7d7"; } + +.fa-headphones::before { + content: "\f025"; } + +.fa-hands-holding::before { + content: "\f4c2"; } + +.fa-hands-clapping::before { + content: "\e1a8"; } + +.fa-republican::before { + content: "\f75e"; } + +.fa-arrow-left::before { + content: "\f060"; } + +.fa-person-circle-xmark::before { + content: "\e543"; } + +.fa-ruler::before { + content: "\f545"; } + +.fa-align-left::before { + content: "\f036"; } + +.fa-dice-d6::before { + content: "\f6d1"; } + +.fa-restroom::before { + content: "\f7bd"; } + +.fa-j::before { + content: "\4a"; } + +.fa-users-viewfinder::before { + content: "\e595"; } + +.fa-file-video::before { + content: "\f1c8"; } + +.fa-up-right-from-square::before { + content: "\f35d"; } + +.fa-external-link-alt::before { + content: "\f35d"; } + +.fa-table-cells::before { + content: "\f00a"; } + +.fa-th::before { + content: "\f00a"; } + +.fa-file-pdf::before { + content: "\f1c1"; } + +.fa-book-bible::before { + content: "\f647"; } + +.fa-bible::before { + content: "\f647"; } + +.fa-o::before { + content: "\4f"; } + +.fa-suitcase-medical::before { + content: "\f0fa"; } + +.fa-medkit::before { + content: "\f0fa"; } + +.fa-user-secret::before { + content: "\f21b"; } + +.fa-otter::before { + content: "\f700"; } + +.fa-person-dress::before { + content: "\f182"; } + +.fa-female::before { + content: "\f182"; } + +.fa-comment-dollar::before { + content: "\f651"; } + +.fa-business-time::before { + content: "\f64a"; } + +.fa-briefcase-clock::before { + content: "\f64a"; } + +.fa-table-cells-large::before { + content: "\f009"; } + +.fa-th-large::before { + content: "\f009"; } + +.fa-book-tanakh::before { + content: "\f827"; } + +.fa-tanakh::before { + content: "\f827"; } + +.fa-phone-volume::before { + content: "\f2a0"; } + +.fa-volume-control-phone::before { + content: "\f2a0"; } + +.fa-hat-cowboy-side::before { + content: "\f8c1"; } + +.fa-clipboard-user::before { + content: "\f7f3"; } + +.fa-child::before { + content: "\f1ae"; } + +.fa-lira-sign::before { + content: "\f195"; } + +.fa-satellite::before { + content: "\f7bf"; } + +.fa-plane-lock::before { + content: "\e558"; } + +.fa-tag::before { + content: "\f02b"; } + +.fa-comment::before { + content: "\f075"; } + +.fa-cake-candles::before { + content: "\f1fd"; } + +.fa-birthday-cake::before { + content: "\f1fd"; } + +.fa-cake::before { + content: "\f1fd"; } + +.fa-envelope::before { + content: "\f0e0"; } + +.fa-angles-up::before { + content: "\f102"; } + +.fa-angle-double-up::before { + content: "\f102"; } + +.fa-paperclip::before { + content: "\f0c6"; } + +.fa-arrow-right-to-city::before { + content: "\e4b3"; } + +.fa-ribbon::before { + content: "\f4d6"; } + +.fa-lungs::before { + content: "\f604"; } + +.fa-arrow-up-9-1::before { + content: "\f887"; } + +.fa-sort-numeric-up-alt::before { + content: "\f887"; } + +.fa-litecoin-sign::before { + content: "\e1d3"; } + +.fa-border-none::before { + content: "\f850"; } + +.fa-circle-nodes::before { + content: "\e4e2"; } + +.fa-parachute-box::before { + content: "\f4cd"; } + +.fa-indent::before { + content: "\f03c"; } + +.fa-truck-field-un::before { + content: "\e58e"; } + +.fa-hourglass::before { + content: "\f254"; } + +.fa-hourglass-empty::before { + content: "\f254"; } + +.fa-mountain::before { + content: "\f6fc"; } + +.fa-user-doctor::before { + content: "\f0f0"; } + +.fa-user-md::before { + content: "\f0f0"; } + +.fa-circle-info::before { + content: "\f05a"; } + +.fa-info-circle::before { + content: "\f05a"; } + +.fa-cloud-meatball::before { + content: "\f73b"; } + +.fa-camera::before { + content: "\f030"; } + +.fa-camera-alt::before { + content: "\f030"; } + +.fa-square-virus::before { + content: "\e578"; } + +.fa-meteor::before { + content: "\f753"; } + +.fa-car-on::before { + content: "\e4dd"; } + +.fa-sleigh::before { + content: "\f7cc"; } + +.fa-arrow-down-1-9::before { + content: "\f162"; } + +.fa-sort-numeric-asc::before { + content: "\f162"; } + +.fa-sort-numeric-down::before { + content: "\f162"; } + +.fa-hand-holding-droplet::before { + content: "\f4c1"; } + +.fa-hand-holding-water::before { + content: "\f4c1"; } + +.fa-water::before { + content: "\f773"; } + +.fa-calendar-check::before { + content: "\f274"; } + +.fa-braille::before { + content: "\f2a1"; } + +.fa-prescription-bottle-medical::before { + content: "\f486"; } + +.fa-prescription-bottle-alt::before { + content: "\f486"; } + +.fa-landmark::before { + content: "\f66f"; } + +.fa-truck::before { + content: "\f0d1"; } + +.fa-crosshairs::before { + content: "\f05b"; } + +.fa-person-cane::before { + content: "\e53c"; } + +.fa-tent::before { + content: "\e57d"; } + +.fa-vest-patches::before { + content: "\e086"; } + +.fa-check-double::before { + content: "\f560"; } + +.fa-arrow-down-a-z::before { + content: "\f15d"; } + +.fa-sort-alpha-asc::before { + content: "\f15d"; } + +.fa-sort-alpha-down::before { + content: "\f15d"; } + +.fa-money-bill-wheat::before { + content: "\e52a"; } + +.fa-cookie::before { + content: "\f563"; } + +.fa-arrow-rotate-left::before { + content: "\f0e2"; } + +.fa-arrow-left-rotate::before { + content: "\f0e2"; } + +.fa-arrow-rotate-back::before { + content: "\f0e2"; } + +.fa-arrow-rotate-backward::before { + content: "\f0e2"; } + +.fa-undo::before { + content: "\f0e2"; } + +.fa-hard-drive::before { + content: "\f0a0"; } + +.fa-hdd::before { + content: "\f0a0"; } + +.fa-face-grin-squint-tears::before { + content: "\f586"; } + +.fa-grin-squint-tears::before { + content: "\f586"; } + +.fa-dumbbell::before { + content: "\f44b"; } + +.fa-rectangle-list::before { + content: "\f022"; } + +.fa-list-alt::before { + content: "\f022"; } + +.fa-tarp-droplet::before { + content: "\e57c"; } + +.fa-house-medical-circle-check::before { + content: "\e511"; } + +.fa-person-skiing-nordic::before { + content: "\f7ca"; } + +.fa-skiing-nordic::before { + content: "\f7ca"; } + +.fa-calendar-plus::before { + content: "\f271"; } + +.fa-plane-arrival::before { + content: "\f5af"; } + +.fa-circle-left::before { + content: "\f359"; } + +.fa-arrow-alt-circle-left::before { + content: "\f359"; } + +.fa-train-subway::before { + content: "\f239"; } + +.fa-subway::before { + content: "\f239"; } + +.fa-chart-gantt::before { + content: "\e0e4"; } + +.fa-indian-rupee-sign::before { + content: "\e1bc"; } + +.fa-indian-rupee::before { + content: "\e1bc"; } + +.fa-inr::before { + content: "\e1bc"; } + +.fa-crop-simple::before { + content: "\f565"; } + +.fa-crop-alt::before { + content: "\f565"; } + +.fa-money-bill-1::before { + content: "\f3d1"; } + +.fa-money-bill-alt::before { + content: "\f3d1"; } + +.fa-left-long::before { + content: "\f30a"; } + +.fa-long-arrow-alt-left::before { + content: "\f30a"; } + +.fa-dna::before { + content: "\f471"; } + +.fa-virus-slash::before { + content: "\e075"; } + +.fa-minus::before { + content: "\f068"; } + +.fa-subtract::before { + content: "\f068"; } + +.fa-chess::before { + content: "\f439"; } + +.fa-arrow-left-long::before { + content: "\f177"; } + +.fa-long-arrow-left::before { + content: "\f177"; } + +.fa-plug-circle-check::before { + content: "\e55c"; } + +.fa-street-view::before { + content: "\f21d"; } + +.fa-franc-sign::before { + content: "\e18f"; } + +.fa-volume-off::before { + content: "\f026"; } + +.fa-hands-asl-interpreting::before { + content: "\f2a3"; } + +.fa-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-asl-interpreting::before { + content: "\f2a3"; } + +.fa-hands-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-gear::before { + content: "\f013"; } + +.fa-cog::before { + content: "\f013"; } + +.fa-droplet-slash::before { + content: "\f5c7"; } + +.fa-tint-slash::before { + content: "\f5c7"; } + +.fa-mosque::before { + content: "\f678"; } + +.fa-mosquito::before { + content: "\e52b"; } + +.fa-star-of-david::before { + content: "\f69a"; } + +.fa-person-military-rifle::before { + content: "\e54b"; } + +.fa-cart-shopping::before { + content: "\f07a"; } + +.fa-shopping-cart::before { + content: "\f07a"; } + +.fa-vials::before { + content: "\f493"; } + +.fa-plug-circle-plus::before { + content: "\e55f"; } + +.fa-place-of-worship::before { + content: "\f67f"; } + +.fa-grip-vertical::before { + content: "\f58e"; } + +.fa-arrow-turn-up::before { + content: "\f148"; } + +.fa-level-up::before { + content: "\f148"; } + +.fa-u::before { + content: "\55"; } + +.fa-square-root-variable::before { + content: "\f698"; } + +.fa-square-root-alt::before { + content: "\f698"; } + +.fa-clock::before { + content: "\f017"; } + +.fa-clock-four::before { + content: "\f017"; } + +.fa-backward-step::before { + content: "\f048"; } + +.fa-step-backward::before { + content: "\f048"; } + +.fa-pallet::before { + content: "\f482"; } + +.fa-faucet::before { + content: "\e005"; } + +.fa-baseball-bat-ball::before { + content: "\f432"; } + +.fa-s::before { + content: "\53"; } + +.fa-timeline::before { + content: "\e29c"; } + +.fa-keyboard::before { + content: "\f11c"; } + +.fa-caret-down::before { + content: "\f0d7"; } + +.fa-house-chimney-medical::before { + content: "\f7f2"; } + +.fa-clinic-medical::before { + content: "\f7f2"; } + +.fa-temperature-three-quarters::before { + content: "\f2c8"; } + +.fa-temperature-3::before { + content: "\f2c8"; } + +.fa-thermometer-3::before { + content: "\f2c8"; } + +.fa-thermometer-three-quarters::before { + content: "\f2c8"; } + +.fa-mobile-screen::before { + content: "\f3cf"; } + +.fa-mobile-android-alt::before { + content: "\f3cf"; } + +.fa-plane-up::before { + content: "\e22d"; } + +.fa-piggy-bank::before { + content: "\f4d3"; } + +.fa-battery-half::before { + content: "\f242"; } + +.fa-battery-3::before { + content: "\f242"; } + +.fa-mountain-city::before { + content: "\e52e"; } + +.fa-coins::before { + content: "\f51e"; } + +.fa-khanda::before { + content: "\f66d"; } + +.fa-sliders::before { + content: "\f1de"; } + +.fa-sliders-h::before { + content: "\f1de"; } + +.fa-folder-tree::before { + content: "\f802"; } + +.fa-network-wired::before { + content: "\f6ff"; } + +.fa-map-pin::before { + content: "\f276"; } + +.fa-hamsa::before { + content: "\f665"; } + +.fa-cent-sign::before { + content: "\e3f5"; } + +.fa-flask::before { + content: "\f0c3"; } + +.fa-person-pregnant::before { + content: "\e31e"; } + +.fa-wand-sparkles::before { + content: "\f72b"; } + +.fa-ellipsis-vertical::before { + content: "\f142"; } + +.fa-ellipsis-v::before { + content: "\f142"; } + +.fa-ticket::before { + content: "\f145"; } + +.fa-power-off::before { + content: "\f011"; } + +.fa-right-long::before { + content: "\f30b"; } + +.fa-long-arrow-alt-right::before { + content: "\f30b"; } + +.fa-flag-usa::before { + content: "\f74d"; } + +.fa-laptop-file::before { + content: "\e51d"; } + +.fa-tty::before { + content: "\f1e4"; } + +.fa-teletype::before { + content: "\f1e4"; } + +.fa-diagram-next::before { + content: "\e476"; } + +.fa-person-rifle::before { + content: "\e54e"; } + +.fa-house-medical-circle-exclamation::before { + content: "\e512"; } + +.fa-closed-captioning::before { + content: "\f20a"; } + +.fa-person-hiking::before { + content: "\f6ec"; } + +.fa-hiking::before { + content: "\f6ec"; } + +.fa-venus-double::before { + content: "\f226"; } + +.fa-images::before { + content: "\f302"; } + +.fa-calculator::before { + content: "\f1ec"; } + +.fa-people-pulling::before { + content: "\e535"; } + +.fa-n::before { + content: "\4e"; } + +.fa-cable-car::before { + content: "\f7da"; } + +.fa-tram::before { + content: "\f7da"; } + +.fa-cloud-rain::before { + content: "\f73d"; } + +.fa-building-circle-xmark::before { + content: "\e4d4"; } + +.fa-ship::before { + content: "\f21a"; } + +.fa-arrows-down-to-line::before { + content: "\e4b8"; } + +.fa-download::before { + content: "\f019"; } + +.fa-face-grin::before { + content: "\f580"; } + +.fa-grin::before { + content: "\f580"; } + +.fa-delete-left::before { + content: "\f55a"; } + +.fa-backspace::before { + content: "\f55a"; } + +.fa-eye-dropper::before { + content: "\f1fb"; } + +.fa-eye-dropper-empty::before { + content: "\f1fb"; } + +.fa-eyedropper::before { + content: "\f1fb"; } + +.fa-file-circle-check::before { + content: "\e5a0"; } + +.fa-forward::before { + content: "\f04e"; } + +.fa-mobile::before { + content: "\f3ce"; } + +.fa-mobile-android::before { + content: "\f3ce"; } + +.fa-mobile-phone::before { + content: "\f3ce"; } + +.fa-face-meh::before { + content: "\f11a"; } + +.fa-meh::before { + content: "\f11a"; } + +.fa-align-center::before { + content: "\f037"; } + +.fa-book-skull::before { + content: "\f6b7"; } + +.fa-book-dead::before { + content: "\f6b7"; } + +.fa-id-card::before { + content: "\f2c2"; } + +.fa-drivers-license::before { + content: "\f2c2"; } + +.fa-outdent::before { + content: "\f03b"; } + +.fa-dedent::before { + content: "\f03b"; } + +.fa-heart-circle-exclamation::before { + content: "\e4fe"; } + +.fa-house::before { + content: "\f015"; } + +.fa-home::before { + content: "\f015"; } + +.fa-home-alt::before { + content: "\f015"; } + +.fa-home-lg-alt::before { + content: "\f015"; } + +.fa-calendar-week::before { + content: "\f784"; } + +.fa-laptop-medical::before { + content: "\f812"; } + +.fa-b::before { + content: "\42"; } + +.fa-file-medical::before { + content: "\f477"; } + +.fa-dice-one::before { + content: "\f525"; } + +.fa-kiwi-bird::before { + content: "\f535"; } + +.fa-arrow-right-arrow-left::before { + content: "\f0ec"; } + +.fa-exchange::before { + content: "\f0ec"; } + +.fa-rotate-right::before { + content: "\f2f9"; } + +.fa-redo-alt::before { + content: "\f2f9"; } + +.fa-rotate-forward::before { + content: "\f2f9"; } + +.fa-utensils::before { + content: "\f2e7"; } + +.fa-cutlery::before { + content: "\f2e7"; } + +.fa-arrow-up-wide-short::before { + content: "\f161"; } + +.fa-sort-amount-up::before { + content: "\f161"; } + +.fa-mill-sign::before { + content: "\e1ed"; } + +.fa-bowl-rice::before { + content: "\e2eb"; } + +.fa-skull::before { + content: "\f54c"; } + +.fa-tower-broadcast::before { + content: "\f519"; } + +.fa-broadcast-tower::before { + content: "\f519"; } + +.fa-truck-pickup::before { + content: "\f63c"; } + +.fa-up-long::before { + content: "\f30c"; } + +.fa-long-arrow-alt-up::before { + content: "\f30c"; } + +.fa-stop::before { + content: "\f04d"; } + +.fa-code-merge::before { + content: "\f387"; } + +.fa-upload::before { + content: "\f093"; } + +.fa-hurricane::before { + content: "\f751"; } + +.fa-mound::before { + content: "\e52d"; } + +.fa-toilet-portable::before { + content: "\e583"; } + +.fa-compact-disc::before { + content: "\f51f"; } + +.fa-file-arrow-down::before { + content: "\f56d"; } + +.fa-file-download::before { + content: "\f56d"; } + +.fa-caravan::before { + content: "\f8ff"; } + +.fa-shield-cat::before { + content: "\e572"; } + +.fa-bolt::before { + content: "\f0e7"; } + +.fa-zap::before { + content: "\f0e7"; } + +.fa-glass-water::before { + content: "\e4f4"; } + +.fa-oil-well::before { + content: "\e532"; } + +.fa-vault::before { + content: "\e2c5"; } + +.fa-mars::before { + content: "\f222"; } + +.fa-toilet::before { + content: "\f7d8"; } + +.fa-plane-circle-xmark::before { + content: "\e557"; } + +.fa-yen-sign::before { + content: "\f157"; } + +.fa-cny::before { + content: "\f157"; } + +.fa-jpy::before { + content: "\f157"; } + +.fa-rmb::before { + content: "\f157"; } + +.fa-yen::before { + content: "\f157"; } + +.fa-ruble-sign::before { + content: "\f158"; } + +.fa-rouble::before { + content: "\f158"; } + +.fa-rub::before { + content: "\f158"; } + +.fa-ruble::before { + content: "\f158"; } + +.fa-sun::before { + content: "\f185"; } + +.fa-guitar::before { + content: "\f7a6"; } + +.fa-face-laugh-wink::before { + content: "\f59c"; } + +.fa-laugh-wink::before { + content: "\f59c"; } + +.fa-horse-head::before { + content: "\f7ab"; } + +.fa-bore-hole::before { + content: "\e4c3"; } + +.fa-industry::before { + content: "\f275"; } + +.fa-circle-down::before { + content: "\f358"; } + +.fa-arrow-alt-circle-down::before { + content: "\f358"; } + +.fa-arrows-turn-to-dots::before { + content: "\e4c1"; } + +.fa-florin-sign::before { + content: "\e184"; } + +.fa-arrow-down-short-wide::before { + content: "\f884"; } + +.fa-sort-amount-desc::before { + content: "\f884"; } + +.fa-sort-amount-down-alt::before { + content: "\f884"; } + +.fa-less-than::before { + content: "\3c"; } + +.fa-angle-down::before { + content: "\f107"; } + +.fa-car-tunnel::before { + content: "\e4de"; } + +.fa-head-side-cough::before { + content: "\e061"; } + +.fa-grip-lines::before { + content: "\f7a4"; } + +.fa-thumbs-down::before { + content: "\f165"; } + +.fa-user-lock::before { + content: "\f502"; } + +.fa-arrow-right-long::before { + content: "\f178"; } + +.fa-long-arrow-right::before { + content: "\f178"; } + +.fa-anchor-circle-xmark::before { + content: "\e4ac"; } + +.fa-ellipsis::before { + content: "\f141"; } + +.fa-ellipsis-h::before { + content: "\f141"; } + +.fa-chess-pawn::before { + content: "\f443"; } + +.fa-kit-medical::before { + content: "\f479"; } + +.fa-first-aid::before { + content: "\f479"; } + +.fa-person-through-window::before { + content: "\e5a9"; } + +.fa-toolbox::before { + content: "\f552"; } + +.fa-hands-holding-circle::before { + content: "\e4fb"; } + +.fa-bug::before { + content: "\f188"; } + +.fa-credit-card::before { + content: "\f09d"; } + +.fa-credit-card-alt::before { + content: "\f09d"; } + +.fa-car::before { + content: "\f1b9"; } + +.fa-automobile::before { + content: "\f1b9"; } + +.fa-hand-holding-hand::before { + content: "\e4f7"; } + +.fa-book-open-reader::before { + content: "\f5da"; } + +.fa-book-reader::before { + content: "\f5da"; } + +.fa-mountain-sun::before { + content: "\e52f"; } + +.fa-arrows-left-right-to-line::before { + content: "\e4ba"; } + +.fa-dice-d20::before { + content: "\f6cf"; } + +.fa-truck-droplet::before { + content: "\e58c"; } + +.fa-file-circle-xmark::before { + content: "\e5a1"; } + +.fa-temperature-arrow-up::before { + content: "\e040"; } + +.fa-temperature-up::before { + content: "\e040"; } + +.fa-medal::before { + content: "\f5a2"; } + +.fa-bed::before { + content: "\f236"; } + +.fa-square-h::before { + content: "\f0fd"; } + +.fa-h-square::before { + content: "\f0fd"; } + +.fa-podcast::before { + content: "\f2ce"; } + +.fa-temperature-full::before { + content: "\f2c7"; } + +.fa-temperature-4::before { + content: "\f2c7"; } + +.fa-thermometer-4::before { + content: "\f2c7"; } + +.fa-thermometer-full::before { + content: "\f2c7"; } + +.fa-bell::before { + content: "\f0f3"; } + +.fa-superscript::before { + content: "\f12b"; } + +.fa-plug-circle-xmark::before { + content: "\e560"; } + +.fa-star-of-life::before { + content: "\f621"; } + +.fa-phone-slash::before { + content: "\f3dd"; } + +.fa-paint-roller::before { + content: "\f5aa"; } + +.fa-handshake-angle::before { + content: "\f4c4"; } + +.fa-hands-helping::before { + content: "\f4c4"; } + +.fa-location-dot::before { + content: "\f3c5"; } + +.fa-map-marker-alt::before { + content: "\f3c5"; } + +.fa-file::before { + content: "\f15b"; } + +.fa-greater-than::before { + content: "\3e"; } + +.fa-person-swimming::before { + content: "\f5c4"; } + +.fa-swimmer::before { + content: "\f5c4"; } + +.fa-arrow-down::before { + content: "\f063"; } + +.fa-droplet::before { + content: "\f043"; } + +.fa-tint::before { + content: "\f043"; } + +.fa-eraser::before { + content: "\f12d"; } + +.fa-earth-americas::before { + content: "\f57d"; } + +.fa-earth::before { + content: "\f57d"; } + +.fa-earth-america::before { + content: "\f57d"; } + +.fa-globe-americas::before { + content: "\f57d"; } + +.fa-person-burst::before { + content: "\e53b"; } + +.fa-dove::before { + content: "\f4ba"; } + +.fa-battery-empty::before { + content: "\f244"; } + +.fa-battery-0::before { + content: "\f244"; } + +.fa-socks::before { + content: "\f696"; } + +.fa-inbox::before { + content: "\f01c"; } + +.fa-section::before { + content: "\e447"; } + +.fa-gauge-high::before { + content: "\f625"; } + +.fa-tachometer-alt::before { + content: "\f625"; } + +.fa-tachometer-alt-fast::before { + content: "\f625"; } + +.fa-envelope-open-text::before { + content: "\f658"; } + +.fa-hospital::before { + content: "\f0f8"; } + +.fa-hospital-alt::before { + content: "\f0f8"; } + +.fa-hospital-wide::before { + content: "\f0f8"; } + +.fa-wine-bottle::before { + content: "\f72f"; } + +.fa-chess-rook::before { + content: "\f447"; } + +.fa-bars-staggered::before { + content: "\f550"; } + +.fa-reorder::before { + content: "\f550"; } + +.fa-stream::before { + content: "\f550"; } + +.fa-dharmachakra::before { + content: "\f655"; } + +.fa-hotdog::before { + content: "\f80f"; } + +.fa-person-walking-with-cane::before { + content: "\f29d"; } + +.fa-blind::before { + content: "\f29d"; } + +.fa-drum::before { + content: "\f569"; } + +.fa-ice-cream::before { + content: "\f810"; } + +.fa-heart-circle-bolt::before { + content: "\e4fc"; } + +.fa-fax::before { + content: "\f1ac"; } + +.fa-paragraph::before { + content: "\f1dd"; } + +.fa-check-to-slot::before { + content: "\f772"; } + +.fa-vote-yea::before { + content: "\f772"; } + +.fa-star-half::before { + content: "\f089"; } + +.fa-boxes-stacked::before { + content: "\f468"; } + +.fa-boxes::before { + content: "\f468"; } + +.fa-boxes-alt::before { + content: "\f468"; } + +.fa-link::before { + content: "\f0c1"; } + +.fa-chain::before { + content: "\f0c1"; } + +.fa-ear-listen::before { + content: "\f2a2"; } + +.fa-assistive-listening-systems::before { + content: "\f2a2"; } + +.fa-tree-city::before { + content: "\e587"; } + +.fa-play::before { + content: "\f04b"; } + +.fa-font::before { + content: "\f031"; } + +.fa-table-cells-row-lock::before { + content: "\e67a"; } + +.fa-rupiah-sign::before { + content: "\e23d"; } + +.fa-magnifying-glass::before { + content: "\f002"; } + +.fa-search::before { + content: "\f002"; } + +.fa-table-tennis-paddle-ball::before { + content: "\f45d"; } + +.fa-ping-pong-paddle-ball::before { + content: "\f45d"; } + +.fa-table-tennis::before { + content: "\f45d"; } + +.fa-person-dots-from-line::before { + content: "\f470"; } + +.fa-diagnoses::before { + content: "\f470"; } + +.fa-trash-can-arrow-up::before { + content: "\f82a"; } + +.fa-trash-restore-alt::before { + content: "\f82a"; } + +.fa-naira-sign::before { + content: "\e1f6"; } + +.fa-cart-arrow-down::before { + content: "\f218"; } + +.fa-walkie-talkie::before { + content: "\f8ef"; } + +.fa-file-pen::before { + content: "\f31c"; } + +.fa-file-edit::before { + content: "\f31c"; } + +.fa-receipt::before { + content: "\f543"; } + +.fa-square-pen::before { + content: "\f14b"; } + +.fa-pen-square::before { + content: "\f14b"; } + +.fa-pencil-square::before { + content: "\f14b"; } + +.fa-suitcase-rolling::before { + content: "\f5c1"; } + +.fa-person-circle-exclamation::before { + content: "\e53f"; } + +.fa-chevron-down::before { + content: "\f078"; } + +.fa-battery-full::before { + content: "\f240"; } + +.fa-battery::before { + content: "\f240"; } + +.fa-battery-5::before { + content: "\f240"; } + +.fa-skull-crossbones::before { + content: "\f714"; } + +.fa-code-compare::before { + content: "\e13a"; } + +.fa-list-ul::before { + content: "\f0ca"; } + +.fa-list-dots::before { + content: "\f0ca"; } + +.fa-school-lock::before { + content: "\e56f"; } + +.fa-tower-cell::before { + content: "\e585"; } + +.fa-down-long::before { + content: "\f309"; } + +.fa-long-arrow-alt-down::before { + content: "\f309"; } + +.fa-ranking-star::before { + content: "\e561"; } + +.fa-chess-king::before { + content: "\f43f"; } + +.fa-person-harassing::before { + content: "\e549"; } + +.fa-brazilian-real-sign::before { + content: "\e46c"; } + +.fa-landmark-dome::before { + content: "\f752"; } + +.fa-landmark-alt::before { + content: "\f752"; } + +.fa-arrow-up::before { + content: "\f062"; } + +.fa-tv::before { + content: "\f26c"; } + +.fa-television::before { + content: "\f26c"; } + +.fa-tv-alt::before { + content: "\f26c"; } + +.fa-shrimp::before { + content: "\e448"; } + +.fa-list-check::before { + content: "\f0ae"; } + +.fa-tasks::before { + content: "\f0ae"; } + +.fa-jug-detergent::before { + content: "\e519"; } + +.fa-circle-user::before { + content: "\f2bd"; } + +.fa-user-circle::before { + content: "\f2bd"; } + +.fa-user-shield::before { + content: "\f505"; } + +.fa-wind::before { + content: "\f72e"; } + +.fa-car-burst::before { + content: "\f5e1"; } + +.fa-car-crash::before { + content: "\f5e1"; } + +.fa-y::before { + content: "\59"; } + +.fa-person-snowboarding::before { + content: "\f7ce"; } + +.fa-snowboarding::before { + content: "\f7ce"; } + +.fa-truck-fast::before { + content: "\f48b"; } + +.fa-shipping-fast::before { + content: "\f48b"; } + +.fa-fish::before { + content: "\f578"; } + +.fa-user-graduate::before { + content: "\f501"; } + +.fa-circle-half-stroke::before { + content: "\f042"; } + +.fa-adjust::before { + content: "\f042"; } + +.fa-clapperboard::before { + content: "\e131"; } + +.fa-circle-radiation::before { + content: "\f7ba"; } + +.fa-radiation-alt::before { + content: "\f7ba"; } + +.fa-baseball::before { + content: "\f433"; } + +.fa-baseball-ball::before { + content: "\f433"; } + +.fa-jet-fighter-up::before { + content: "\e518"; } + +.fa-diagram-project::before { + content: "\f542"; } + +.fa-project-diagram::before { + content: "\f542"; } + +.fa-copy::before { + content: "\f0c5"; } + +.fa-volume-xmark::before { + content: "\f6a9"; } + +.fa-volume-mute::before { + content: "\f6a9"; } + +.fa-volume-times::before { + content: "\f6a9"; } + +.fa-hand-sparkles::before { + content: "\e05d"; } + +.fa-grip::before { + content: "\f58d"; } + +.fa-grip-horizontal::before { + content: "\f58d"; } + +.fa-share-from-square::before { + content: "\f14d"; } + +.fa-share-square::before { + content: "\f14d"; } + +.fa-child-combatant::before { + content: "\e4e0"; } + +.fa-child-rifle::before { + content: "\e4e0"; } + +.fa-gun::before { + content: "\e19b"; } + +.fa-square-phone::before { + content: "\f098"; } + +.fa-phone-square::before { + content: "\f098"; } + +.fa-plus::before { + content: "\2b"; } + +.fa-add::before { + content: "\2b"; } + +.fa-expand::before { + content: "\f065"; } + +.fa-computer::before { + content: "\e4e5"; } + +.fa-xmark::before { + content: "\f00d"; } + +.fa-close::before { + content: "\f00d"; } + +.fa-multiply::before { + content: "\f00d"; } + +.fa-remove::before { + content: "\f00d"; } + +.fa-times::before { + content: "\f00d"; } + +.fa-arrows-up-down-left-right::before { + content: "\f047"; } + +.fa-arrows::before { + content: "\f047"; } + +.fa-chalkboard-user::before { + content: "\f51c"; } + +.fa-chalkboard-teacher::before { + content: "\f51c"; } + +.fa-peso-sign::before { + content: "\e222"; } + +.fa-building-shield::before { + content: "\e4d8"; } + +.fa-baby::before { + content: "\f77c"; } + +.fa-users-line::before { + content: "\e592"; } + +.fa-quote-left::before { + content: "\f10d"; } + +.fa-quote-left-alt::before { + content: "\f10d"; } + +.fa-tractor::before { + content: "\f722"; } + +.fa-trash-arrow-up::before { + content: "\f829"; } + +.fa-trash-restore::before { + content: "\f829"; } + +.fa-arrow-down-up-lock::before { + content: "\e4b0"; } + +.fa-lines-leaning::before { + content: "\e51e"; } + +.fa-ruler-combined::before { + content: "\f546"; } + +.fa-copyright::before { + content: "\f1f9"; } + +.fa-equals::before { + content: "\3d"; } + +.fa-blender::before { + content: "\f517"; } + +.fa-teeth::before { + content: "\f62e"; } + +.fa-shekel-sign::before { + content: "\f20b"; } + +.fa-ils::before { + content: "\f20b"; } + +.fa-shekel::before { + content: "\f20b"; } + +.fa-sheqel::before { + content: "\f20b"; } + +.fa-sheqel-sign::before { + content: "\f20b"; } + +.fa-map::before { + content: "\f279"; } + +.fa-rocket::before { + content: "\f135"; } + +.fa-photo-film::before { + content: "\f87c"; } + +.fa-photo-video::before { + content: "\f87c"; } + +.fa-folder-minus::before { + content: "\f65d"; } + +.fa-store::before { + content: "\f54e"; } + +.fa-arrow-trend-up::before { + content: "\e098"; } + +.fa-plug-circle-minus::before { + content: "\e55e"; } + +.fa-sign-hanging::before { + content: "\f4d9"; } + +.fa-sign::before { + content: "\f4d9"; } + +.fa-bezier-curve::before { + content: "\f55b"; } + +.fa-bell-slash::before { + content: "\f1f6"; } + +.fa-tablet::before { + content: "\f3fb"; } + +.fa-tablet-android::before { + content: "\f3fb"; } + +.fa-school-flag::before { + content: "\e56e"; } + +.fa-fill::before { + content: "\f575"; } + +.fa-angle-up::before { + content: "\f106"; } + +.fa-drumstick-bite::before { + content: "\f6d7"; } + +.fa-holly-berry::before { + content: "\f7aa"; } + +.fa-chevron-left::before { + content: "\f053"; } + +.fa-bacteria::before { + content: "\e059"; } + +.fa-hand-lizard::before { + content: "\f258"; } + +.fa-notdef::before { + content: "\e1fe"; } + +.fa-disease::before { + content: "\f7fa"; } + +.fa-briefcase-medical::before { + content: "\f469"; } + +.fa-genderless::before { + content: "\f22d"; } + +.fa-chevron-right::before { + content: "\f054"; } + +.fa-retweet::before { + content: "\f079"; } + +.fa-car-rear::before { + content: "\f5de"; } + +.fa-car-alt::before { + content: "\f5de"; } + +.fa-pump-soap::before { + content: "\e06b"; } + +.fa-video-slash::before { + content: "\f4e2"; } + +.fa-battery-quarter::before { + content: "\f243"; } + +.fa-battery-2::before { + content: "\f243"; } + +.fa-radio::before { + content: "\f8d7"; } + +.fa-baby-carriage::before { + content: "\f77d"; } + +.fa-carriage-baby::before { + content: "\f77d"; } + +.fa-traffic-light::before { + content: "\f637"; } + +.fa-thermometer::before { + content: "\f491"; } + +.fa-vr-cardboard::before { + content: "\f729"; } + +.fa-hand-middle-finger::before { + content: "\f806"; } + +.fa-percent::before { + content: "\25"; } + +.fa-percentage::before { + content: "\25"; } + +.fa-truck-moving::before { + content: "\f4df"; } + +.fa-glass-water-droplet::before { + content: "\e4f5"; } + +.fa-display::before { + content: "\e163"; } + +.fa-face-smile::before { + content: "\f118"; } + +.fa-smile::before { + content: "\f118"; } + +.fa-thumbtack::before { + content: "\f08d"; } + +.fa-thumb-tack::before { + content: "\f08d"; } + +.fa-trophy::before { + content: "\f091"; } + +.fa-person-praying::before { + content: "\f683"; } + +.fa-pray::before { + content: "\f683"; } + +.fa-hammer::before { + content: "\f6e3"; } + +.fa-hand-peace::before { + content: "\f25b"; } + +.fa-rotate::before { + content: "\f2f1"; } + +.fa-sync-alt::before { + content: "\f2f1"; } + +.fa-spinner::before { + content: "\f110"; } + +.fa-robot::before { + content: "\f544"; } + +.fa-peace::before { + content: "\f67c"; } + +.fa-gears::before { + content: "\f085"; } + +.fa-cogs::before { + content: "\f085"; } + +.fa-warehouse::before { + content: "\f494"; } + +.fa-arrow-up-right-dots::before { + content: "\e4b7"; } + +.fa-splotch::before { + content: "\f5bc"; } + +.fa-face-grin-hearts::before { + content: "\f584"; } + +.fa-grin-hearts::before { + content: "\f584"; } + +.fa-dice-four::before { + content: "\f524"; } + +.fa-sim-card::before { + content: "\f7c4"; } + +.fa-transgender::before { + content: "\f225"; } + +.fa-transgender-alt::before { + content: "\f225"; } + +.fa-mercury::before { + content: "\f223"; } + +.fa-arrow-turn-down::before { + content: "\f149"; } + +.fa-level-down::before { + content: "\f149"; } + +.fa-person-falling-burst::before { + content: "\e547"; } + +.fa-award::before { + content: "\f559"; } + +.fa-ticket-simple::before { + content: "\f3ff"; } + +.fa-ticket-alt::before { + content: "\f3ff"; } + +.fa-building::before { + content: "\f1ad"; } + +.fa-angles-left::before { + content: "\f100"; } + +.fa-angle-double-left::before { + content: "\f100"; } + +.fa-qrcode::before { + content: "\f029"; } + +.fa-clock-rotate-left::before { + content: "\f1da"; } + +.fa-history::before { + content: "\f1da"; } + +.fa-face-grin-beam-sweat::before { + content: "\f583"; } + +.fa-grin-beam-sweat::before { + content: "\f583"; } + +.fa-file-export::before { + content: "\f56e"; } + +.fa-arrow-right-from-file::before { + content: "\f56e"; } + +.fa-shield::before { + content: "\f132"; } + +.fa-shield-blank::before { + content: "\f132"; } + +.fa-arrow-up-short-wide::before { + content: "\f885"; } + +.fa-sort-amount-up-alt::before { + content: "\f885"; } + +.fa-house-medical::before { + content: "\e3b2"; } + +.fa-golf-ball-tee::before { + content: "\f450"; } + +.fa-golf-ball::before { + content: "\f450"; } + +.fa-circle-chevron-left::before { + content: "\f137"; } + +.fa-chevron-circle-left::before { + content: "\f137"; } + +.fa-house-chimney-window::before { + content: "\e00d"; } + +.fa-pen-nib::before { + content: "\f5ad"; } + +.fa-tent-arrow-turn-left::before { + content: "\e580"; } + +.fa-tents::before { + content: "\e582"; } + +.fa-wand-magic::before { + content: "\f0d0"; } + +.fa-magic::before { + content: "\f0d0"; } + +.fa-dog::before { + content: "\f6d3"; } + +.fa-carrot::before { + content: "\f787"; } + +.fa-moon::before { + content: "\f186"; } + +.fa-wine-glass-empty::before { + content: "\f5ce"; } + +.fa-wine-glass-alt::before { + content: "\f5ce"; } + +.fa-cheese::before { + content: "\f7ef"; } + +.fa-yin-yang::before { + content: "\f6ad"; } + +.fa-music::before { + content: "\f001"; } + +.fa-code-commit::before { + content: "\f386"; } + +.fa-temperature-low::before { + content: "\f76b"; } + +.fa-person-biking::before { + content: "\f84a"; } + +.fa-biking::before { + content: "\f84a"; } + +.fa-broom::before { + content: "\f51a"; } + +.fa-shield-heart::before { + content: "\e574"; } + +.fa-gopuram::before { + content: "\f664"; } + +.fa-earth-oceania::before { + content: "\e47b"; } + +.fa-globe-oceania::before { + content: "\e47b"; } + +.fa-square-xmark::before { + content: "\f2d3"; } + +.fa-times-square::before { + content: "\f2d3"; } + +.fa-xmark-square::before { + content: "\f2d3"; } + +.fa-hashtag::before { + content: "\23"; } + +.fa-up-right-and-down-left-from-center::before { + content: "\f424"; } + +.fa-expand-alt::before { + content: "\f424"; } + +.fa-oil-can::before { + content: "\f613"; } + +.fa-t::before { + content: "\54"; } + +.fa-hippo::before { + content: "\f6ed"; } + +.fa-chart-column::before { + content: "\e0e3"; } + +.fa-infinity::before { + content: "\f534"; } + +.fa-vial-circle-check::before { + content: "\e596"; } + +.fa-person-arrow-down-to-line::before { + content: "\e538"; } + +.fa-voicemail::before { + content: "\f897"; } + +.fa-fan::before { + content: "\f863"; } + +.fa-person-walking-luggage::before { + content: "\e554"; } + +.fa-up-down::before { + content: "\f338"; } + +.fa-arrows-alt-v::before { + content: "\f338"; } + +.fa-cloud-moon-rain::before { + content: "\f73c"; } + +.fa-calendar::before { + content: "\f133"; } + +.fa-trailer::before { + content: "\e041"; } + +.fa-bahai::before { + content: "\f666"; } + +.fa-haykal::before { + content: "\f666"; } + +.fa-sd-card::before { + content: "\f7c2"; } + +.fa-dragon::before { + content: "\f6d5"; } + +.fa-shoe-prints::before { + content: "\f54b"; } + +.fa-circle-plus::before { + content: "\f055"; } + +.fa-plus-circle::before { + content: "\f055"; } + +.fa-face-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-hand-holding::before { + content: "\f4bd"; } + +.fa-plug-circle-exclamation::before { + content: "\e55d"; } + +.fa-link-slash::before { + content: "\f127"; } + +.fa-chain-broken::before { + content: "\f127"; } + +.fa-chain-slash::before { + content: "\f127"; } + +.fa-unlink::before { + content: "\f127"; } + +.fa-clone::before { + content: "\f24d"; } + +.fa-person-walking-arrow-loop-left::before { + content: "\e551"; } + +.fa-arrow-up-z-a::before { + content: "\f882"; } + +.fa-sort-alpha-up-alt::before { + content: "\f882"; } + +.fa-fire-flame-curved::before { + content: "\f7e4"; } + +.fa-fire-alt::before { + content: "\f7e4"; } + +.fa-tornado::before { + content: "\f76f"; } + +.fa-file-circle-plus::before { + content: "\e494"; } + +.fa-book-quran::before { + content: "\f687"; } + +.fa-quran::before { + content: "\f687"; } + +.fa-anchor::before { + content: "\f13d"; } + +.fa-border-all::before { + content: "\f84c"; } + +.fa-face-angry::before { + content: "\f556"; } + +.fa-angry::before { + content: "\f556"; } + +.fa-cookie-bite::before { + content: "\f564"; } + +.fa-arrow-trend-down::before { + content: "\e097"; } + +.fa-rss::before { + content: "\f09e"; } + +.fa-feed::before { + content: "\f09e"; } + +.fa-draw-polygon::before { + content: "\f5ee"; } + +.fa-scale-balanced::before { + content: "\f24e"; } + +.fa-balance-scale::before { + content: "\f24e"; } + +.fa-gauge-simple-high::before { + content: "\f62a"; } + +.fa-tachometer::before { + content: "\f62a"; } + +.fa-tachometer-fast::before { + content: "\f62a"; } + +.fa-shower::before { + content: "\f2cc"; } + +.fa-desktop::before { + content: "\f390"; } + +.fa-desktop-alt::before { + content: "\f390"; } + +.fa-m::before { + content: "\4d"; } + +.fa-table-list::before { + content: "\f00b"; } + +.fa-th-list::before { + content: "\f00b"; } + +.fa-comment-sms::before { + content: "\f7cd"; } + +.fa-sms::before { + content: "\f7cd"; } + +.fa-book::before { + content: "\f02d"; } + +.fa-user-plus::before { + content: "\f234"; } + +.fa-check::before { + content: "\f00c"; } + +.fa-battery-three-quarters::before { + content: "\f241"; } + +.fa-battery-4::before { + content: "\f241"; } + +.fa-house-circle-check::before { + content: "\e509"; } + +.fa-angle-left::before { + content: "\f104"; } + +.fa-diagram-successor::before { + content: "\e47a"; } + +.fa-truck-arrow-right::before { + content: "\e58b"; } + +.fa-arrows-split-up-and-left::before { + content: "\e4bc"; } + +.fa-hand-fist::before { + content: "\f6de"; } + +.fa-fist-raised::before { + content: "\f6de"; } + +.fa-cloud-moon::before { + content: "\f6c3"; } + +.fa-briefcase::before { + content: "\f0b1"; } + +.fa-person-falling::before { + content: "\e546"; } + +.fa-image-portrait::before { + content: "\f3e0"; } + +.fa-portrait::before { + content: "\f3e0"; } + +.fa-user-tag::before { + content: "\f507"; } + +.fa-rug::before { + content: "\e569"; } + +.fa-earth-europe::before { + content: "\f7a2"; } + +.fa-globe-europe::before { + content: "\f7a2"; } + +.fa-cart-flatbed-suitcase::before { + content: "\f59d"; } + +.fa-luggage-cart::before { + content: "\f59d"; } + +.fa-rectangle-xmark::before { + content: "\f410"; } + +.fa-rectangle-times::before { + content: "\f410"; } + +.fa-times-rectangle::before { + content: "\f410"; } + +.fa-window-close::before { + content: "\f410"; } + +.fa-baht-sign::before { + content: "\e0ac"; } + +.fa-book-open::before { + content: "\f518"; } + +.fa-book-journal-whills::before { + content: "\f66a"; } + +.fa-journal-whills::before { + content: "\f66a"; } + +.fa-handcuffs::before { + content: "\e4f8"; } + +.fa-triangle-exclamation::before { + content: "\f071"; } + +.fa-exclamation-triangle::before { + content: "\f071"; } + +.fa-warning::before { + content: "\f071"; } + +.fa-database::before { + content: "\f1c0"; } + +.fa-share::before { + content: "\f064"; } + +.fa-mail-forward::before { + content: "\f064"; } + +.fa-bottle-droplet::before { + content: "\e4c4"; } + +.fa-mask-face::before { + content: "\e1d7"; } + +.fa-hill-rockslide::before { + content: "\e508"; } + +.fa-right-left::before { + content: "\f362"; } + +.fa-exchange-alt::before { + content: "\f362"; } + +.fa-paper-plane::before { + content: "\f1d8"; } + +.fa-road-circle-exclamation::before { + content: "\e565"; } + +.fa-dungeon::before { + content: "\f6d9"; } + +.fa-align-right::before { + content: "\f038"; } + +.fa-money-bill-1-wave::before { + content: "\f53b"; } + +.fa-money-bill-wave-alt::before { + content: "\f53b"; } + +.fa-life-ring::before { + content: "\f1cd"; } + +.fa-hands::before { + content: "\f2a7"; } + +.fa-sign-language::before { + content: "\f2a7"; } + +.fa-signing::before { + content: "\f2a7"; } + +.fa-calendar-day::before { + content: "\f783"; } + +.fa-water-ladder::before { + content: "\f5c5"; } + +.fa-ladder-water::before { + content: "\f5c5"; } + +.fa-swimming-pool::before { + content: "\f5c5"; } + +.fa-arrows-up-down::before { + content: "\f07d"; } + +.fa-arrows-v::before { + content: "\f07d"; } + +.fa-face-grimace::before { + content: "\f57f"; } + +.fa-grimace::before { + content: "\f57f"; } + +.fa-wheelchair-move::before { + content: "\e2ce"; } + +.fa-wheelchair-alt::before { + content: "\e2ce"; } + +.fa-turn-down::before { + content: "\f3be"; } + +.fa-level-down-alt::before { + content: "\f3be"; } + +.fa-person-walking-arrow-right::before { + content: "\e552"; } + +.fa-square-envelope::before { + content: "\f199"; } + +.fa-envelope-square::before { + content: "\f199"; } + +.fa-dice::before { + content: "\f522"; } + +.fa-bowling-ball::before { + content: "\f436"; } + +.fa-brain::before { + content: "\f5dc"; } + +.fa-bandage::before { + content: "\f462"; } + +.fa-band-aid::before { + content: "\f462"; } + +.fa-calendar-minus::before { + content: "\f272"; } + +.fa-circle-xmark::before { + content: "\f057"; } + +.fa-times-circle::before { + content: "\f057"; } + +.fa-xmark-circle::before { + content: "\f057"; } + +.fa-gifts::before { + content: "\f79c"; } + +.fa-hotel::before { + content: "\f594"; } + +.fa-earth-asia::before { + content: "\f57e"; } + +.fa-globe-asia::before { + content: "\f57e"; } + +.fa-id-card-clip::before { + content: "\f47f"; } + +.fa-id-card-alt::before { + content: "\f47f"; } + +.fa-magnifying-glass-plus::before { + content: "\f00e"; } + +.fa-search-plus::before { + content: "\f00e"; } + +.fa-thumbs-up::before { + content: "\f164"; } + +.fa-user-clock::before { + content: "\f4fd"; } + +.fa-hand-dots::before { + content: "\f461"; } + +.fa-allergies::before { + content: "\f461"; } + +.fa-file-invoice::before { + content: "\f570"; } + +.fa-window-minimize::before { + content: "\f2d1"; } + +.fa-mug-saucer::before { + content: "\f0f4"; } + +.fa-coffee::before { + content: "\f0f4"; } + +.fa-brush::before { + content: "\f55d"; } + +.fa-mask::before { + content: "\f6fa"; } + +.fa-magnifying-glass-minus::before { + content: "\f010"; } + +.fa-search-minus::before { + content: "\f010"; } + +.fa-ruler-vertical::before { + content: "\f548"; } + +.fa-user-large::before { + content: "\f406"; } + +.fa-user-alt::before { + content: "\f406"; } + +.fa-train-tram::before { + content: "\e5b4"; } + +.fa-user-nurse::before { + content: "\f82f"; } + +.fa-syringe::before { + content: "\f48e"; } + +.fa-cloud-sun::before { + content: "\f6c4"; } + +.fa-stopwatch-20::before { + content: "\e06f"; } + +.fa-square-full::before { + content: "\f45c"; } + +.fa-magnet::before { + content: "\f076"; } + +.fa-jar::before { + content: "\e516"; } + +.fa-note-sticky::before { + content: "\f249"; } + +.fa-sticky-note::before { + content: "\f249"; } + +.fa-bug-slash::before { + content: "\e490"; } + +.fa-arrow-up-from-water-pump::before { + content: "\e4b6"; } + +.fa-bone::before { + content: "\f5d7"; } + +.fa-user-injured::before { + content: "\f728"; } + +.fa-face-sad-tear::before { + content: "\f5b4"; } + +.fa-sad-tear::before { + content: "\f5b4"; } + +.fa-plane::before { + content: "\f072"; } + +.fa-tent-arrows-down::before { + content: "\e581"; } + +.fa-exclamation::before { + content: "\21"; } + +.fa-arrows-spin::before { + content: "\e4bb"; } + +.fa-print::before { + content: "\f02f"; } + +.fa-turkish-lira-sign::before { + content: "\e2bb"; } + +.fa-try::before { + content: "\e2bb"; } + +.fa-turkish-lira::before { + content: "\e2bb"; } + +.fa-dollar-sign::before { + content: "\24"; } + +.fa-dollar::before { + content: "\24"; } + +.fa-usd::before { + content: "\24"; } + +.fa-x::before { + content: "\58"; } + +.fa-magnifying-glass-dollar::before { + content: "\f688"; } + +.fa-search-dollar::before { + content: "\f688"; } + +.fa-users-gear::before { + content: "\f509"; } + +.fa-users-cog::before { + content: "\f509"; } + +.fa-person-military-pointing::before { + content: "\e54a"; } + +.fa-building-columns::before { + content: "\f19c"; } + +.fa-bank::before { + content: "\f19c"; } + +.fa-institution::before { + content: "\f19c"; } + +.fa-museum::before { + content: "\f19c"; } + +.fa-university::before { + content: "\f19c"; } + +.fa-umbrella::before { + content: "\f0e9"; } + +.fa-trowel::before { + content: "\e589"; } + +.fa-d::before { + content: "\44"; } + +.fa-stapler::before { + content: "\e5af"; } + +.fa-masks-theater::before { + content: "\f630"; } + +.fa-theater-masks::before { + content: "\f630"; } + +.fa-kip-sign::before { + content: "\e1c4"; } + +.fa-hand-point-left::before { + content: "\f0a5"; } + +.fa-handshake-simple::before { + content: "\f4c6"; } + +.fa-handshake-alt::before { + content: "\f4c6"; } + +.fa-jet-fighter::before { + content: "\f0fb"; } + +.fa-fighter-jet::before { + content: "\f0fb"; } + +.fa-square-share-nodes::before { + content: "\f1e1"; } + +.fa-share-alt-square::before { + content: "\f1e1"; } + +.fa-barcode::before { + content: "\f02a"; } + +.fa-plus-minus::before { + content: "\e43c"; } + +.fa-video::before { + content: "\f03d"; } + +.fa-video-camera::before { + content: "\f03d"; } + +.fa-graduation-cap::before { + content: "\f19d"; } + +.fa-mortar-board::before { + content: "\f19d"; } + +.fa-hand-holding-medical::before { + content: "\e05c"; } + +.fa-person-circle-check::before { + content: "\e53e"; } + +.fa-turn-up::before { + content: "\f3bf"; } + +.fa-level-up-alt::before { + content: "\f3bf"; } + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } +:root, :host { + --fa-style-family-brands: 'Font Awesome 6 Brands'; + --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; } + +@font-face { + font-family: 'Font Awesome 6 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +.fab, +.fa-brands { + font-weight: 400; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-pixiv:before { + content: "\e640"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-square-js:before { + content: "\f3b9"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-jxl:before { + content: "\e67b"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-square-reddit:before { + content: "\f1a2"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-square-font-awesome:before { + content: "\e5ad"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-brave:before { + content: "\e63c"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-square-instagram:before { + content: "\e055"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-square-hacker-news:before { + content: "\f3af"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-threads:before { + content: "\e618"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-square-snapchat:before { + content: "\f2ad"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-square-font-awesome-stroke:before { + content: "\f35c"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-square-viadeo:before { + content: "\f2aa"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-opensuse:before { + content: "\e62b"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-square-dribbble:before { + content: "\f397"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-node:before { + content: "\f419"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-debian:before { + content: "\e60b"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-square-twitter:before { + content: "\f081"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-golang:before { + content: "\e40f"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-square-kickstarter:before { + content: "\f3bb"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-square-youtube:before { + content: "\f431"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-rendact:before { + content: "\f3e4"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-nfc-directional:before { + content: "\e530"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-meta:before { + content: "\e49b"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-square-letterboxd:before { + content: "\e62e"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-shoelace:before { + content: "\e60c"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-square-steam:before { + content: "\f1b7"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-500px:before { + content: "\f26e"; } + +.fa-square-vimeo:before { + content: "\f194"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-flag:before { + content: "\f2b4"; } + +.fa-font-awesome-logo-full:before { + content: "\f2b4"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-padlet:before { + content: "\e4a0"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-square-github:before { + content: "\f092"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-square-threads:before { + content: "\e619"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-google-scholar:before { + content: "\e63b"; } + +.fa-square-gitlab:before { + content: "\e5ae"; } + +.fa-gitlab-square:before { + content: "\e5ae"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-square-odnoklassniki:before { + content: "\f264"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-hashnode:before { + content: "\e499"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-square-pinterest:before { + content: "\f0d3"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-signal-messenger:before { + content: "\e663"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-nfc-symbol:before { + content: "\e531"; } + +.fa-mintbit:before { + content: "\e62f"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-brave-reverse:before { + content: "\e63d"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-square-google-plus:before { + content: "\f0d4"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-web-awesome:before { + content: "\e682"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-square-xing:before { + content: "\f169"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-letterboxd:before { + content: "\e62d"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-bilibili:before { + content: "\e3d9"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-x-twitter:before { + content: "\e61b"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-42-group:before { + content: "\e080"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-square-pied-piper:before { + content: "\e01e"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-square-web-awesome-stroke:before { + content: "\e684"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-square-facebook:before { + content: "\f082"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-square-lastfm:before { + content: "\f203"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-cmplid:before { + content: "\e360"; } + +.fa-upwork:before { + content: "\e641"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-square-upwork:before { + content: "\e67c"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-screenpal:before { + content: "\e570"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-square-web-awesome:before { + content: "\e683"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-wirsindhandwerk:before { + content: "\e2d0"; } + +.fa-wsh:before { + content: "\e2d0"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-bluesky:before { + content: "\e671"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-square-behance:before { + content: "\f1b5"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-webflow:before { + content: "\e65c"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-space-awesome:before { + content: "\e5ac"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-square-git:before { + content: "\f1d2"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-square-tumblr:before { + content: "\f174"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-bots:before { + content: "\e340"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-php:before { + content: "\f457"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-stubber:before { + content: "\e5c7"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f2c6"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-odysee:before { + content: "\e5c6"; } + +.fa-square-whatsapp:before { + content: "\f40c"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f198"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-square-x-twitter:before { + content: "\e61a"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f23a"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-sitrox:before { + content: "\e44a"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-pix:before { + content: "\e43a"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } +:root, :host { + --fa-style-family-classic: 'Font Awesome 6 Free'; + --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +.far, +.fa-regular { + font-weight: 400; } +:root, :host { + --fa-style-family-classic: 'Font Awesome 6 Free'; + --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +.fas, +.fa-solid { + font-weight: 900; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-display: block; + font-weight: 900; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); } diff --git a/dev/deps/font-awesome-6.5.2/css/all.min.css b/dev/deps/font-awesome-6.5.2/css/all.min.css new file mode 100644 index 00000000..269bceea --- /dev/null +++ b/dev/deps/font-awesome-6.5.2/css/all.min.css @@ -0,0 +1,9 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,0));transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)} + +.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-table-cells-column-lock:before{content:"\e678"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-table-cells-row-lock:before{content:"\e67a"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"} +.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-pixiv:before{content:"\e640"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-jxl:before{content:"\e67b"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-brave:before{content:"\e63c"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-opensuse:before{content:"\e62b"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before,.fa-square-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-square-letterboxd:before{content:"\e62e"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-shoelace:before{content:"\e60c"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-square-threads:before{content:"\e619"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-google-scholar:before{content:"\e63b"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-signal-messenger:before{content:"\e663"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-mintbit:before{content:"\e62f"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-brave-reverse:before{content:"\e63d"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-web-awesome:before{content:"\e682"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-letterboxd:before{content:"\e62d"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-x-twitter:before{content:"\e61b"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-square-web-awesome-stroke:before{content:"\e684"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-upwork:before{content:"\e641"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-square-upwork:before{content:"\e67c"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-square-web-awesome:before{content:"\e683"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-bluesky:before{content:"\e671"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-webflow:before{content:"\e65c"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-square-x-twitter:before{content:"\e61a"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); } \ No newline at end of file diff --git a/dev/deps/font-awesome-6.5.2/css/v4-shims.css b/dev/deps/font-awesome-6.5.2/css/v4-shims.css new file mode 100644 index 00000000..ea60ea4d --- /dev/null +++ b/dev/deps/font-awesome-6.5.2/css/v4-shims.css @@ -0,0 +1,2194 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-star-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-home:before { + content: "\f015"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-list-alt:before { + content: "\f022"; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-edit { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-edit:before { + content: "\f044"; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart:before { + content: "\e0e3"; } + +.fa.fa-bar-chart-o:before { + content: "\e0e3"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitter-square:before { + content: "\f081"; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square:before { + content: "\f082"; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-github-square:before { + content: "\f092"; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-globe:before { + content: "\f57d"; } + +.fa.fa-tasks:before { + content: "\f828"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-cut:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-save { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-save:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-magic:before { + content: "\e2ca"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f625"; } + +.fa.fa-dashboard:before { + content: "\f625"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard:before { + content: "\f0ea"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f0ed"; } + +.fa.fa-cloud-upload:before { + content: "\f0ee"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f5c0"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f5c0"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f5c0"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-unlink:before { + content: "\f127"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-unlock-alt:before { + content: "\f09c"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\24"; } + +.fa.fa-dollar:before { + content: "\24"; } + +.fa.fa-inr:before { + content: "\e1bc"; } + +.fa.fa-rupee:before { + content: "\e1bc"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f884"; } + +.fa.fa-sort-amount-desc:before { + content: "\f160"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-square:before { + content: "\f431"; } + +.fa.fa-youtube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square:before { + content: "\f169"; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square:before { + content: "\f174"; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo-square:before { + content: "\f194"; } + +.fa.fa-try:before { + content: "\e2bb"; } + +.fa.fa-turkish-lira:before { + content: "\e2bb"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square:before { + content: "\f1a2"; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square:before { + content: "\f1b5"; } + +.fa.fa-steam { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square:before { + content: "\f1b7"; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-cab:before { + content: "\f1ba"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-git-square:before { + content: "\f1d2"; } + +.fa.fa-git { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square:before { + content: "\f203"; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-transgender:before { + content: "\f224"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-transgender-alt:before { + content: "\f225"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-meetup { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } diff --git a/dev/deps/font-awesome-6.5.2/css/v4-shims.min.css b/dev/deps/font-awesome-6.5.2/css/v4-shims.min.css new file mode 100644 index 00000000..09baf5fc --- /dev/null +++ b/dev/deps/font-awesome-6.5.2/css/v4-shims.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400} \ No newline at end of file diff --git a/dev/deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf b/dev/deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1fbb1f7c32d46f5dcb89a50e10d00878ed43f1a1 GIT binary patch literal 209128 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%0AUSgWHQiFZ4^`_co**CW&|kdjzuG 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

    O#Re#lfxr>sz;}@f8bqwz1up1^t)%zofq!AG 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

    xA$6E^?#w4)r)%Sw3|NzgKHve*eJ-FKmx(duR9N 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 JOba38zW{E)cm@Cf literal 0 HcmV?d00001 diff --git a/dev/deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 b/dev/deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5d28021697ff1f32507b1bcbcbf9e6a41d0ac99f GIT binary patch literal 117852 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%0DxnTep24BZG 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 G?NiJ&y^c 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 Nb?&+EAr}Jx001#^dC~v? literal 0 HcmV?d00001 diff --git a/dev/deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf b/dev/deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..549d68dc023ff6e31b8774d784c2cfcc231e7976 GIT binary patch literal 67860 zcmeFa34C1Dc{hB{o#oEHFWNQINHek}+cVlmwy_zEZ43q?%;vC)1cKR>vcyTCQ5Kd2 z!Ye2tG$oA^2z3+ExFl~%7FuO%NK0BbO(`L1s%(^|U;2)O<&cDq-~a!dduK+rY;4-( z>-YUS(sS>*+qvgF=Q+=Io^!5{LI|Ij5)P4h-PvmfFTMVfON5YpI6Lvi>n@u-?XeH< z6T*114eh@g!43q3+bN#dUjoR z)9!b6h@T_ByM%CzUwgwFFZ+{!z43V=+IHgHC$76}_oVo-xrnp}_h+uZ?7Azi*zAo9 z@#_HI>6*OZ#+%lD>(9R_#KD9R-l{-Z9WIyn%+4FzE)AcsDEtN<6XHk3Z`^M0559cx zN#joWG>$z&Uq<%$fBN8)LKsuH{<3i=&n)?UN1geO`H~2#^SmyX+~t(}%5=!Fe(%A9wfCdGDqU9Z%`}#?mdC8f)b1DRzIIh7bRM2x zQqEa*y`h|{d;#Wb<&iPUI?ep;w4FcmRdvEW>bj^sXFbpMww~ubvkDYl0w<(VtE^W0 zi9?@1+A-Re_fH+|o@2ZQTCwYdEWx9M1JI+>o?#rZU-w||1A7=2P7gY&dva zy`o>N6&Hxh#2dsL#pU7(@g{Ml*d?wKSBq=JwcqhduH0Igs@zezvvODEy_NS> z9;iH6`C#S4m6^)NDt}b@dgbZLT;->g7b^c&d8u-s@{7vLmFj$8K02S6PtLc@x6QZD zXXpFoSI!U3Z=T;ef6Dx6^JmWQm_K*^qWLT4@0h=LetQ1?`3L7eHUG`|Z_Ph9|K0iT z&Hs4*XY&Wg|{udec{~;cQ4$t@cxB+ z7w%v9z{0}|pIi8|h0ia1Vd0AlUs`x-;m;Rl7rwIa)rD^_d}rbN3qOC!c&YED3t#&9 zOMkaNvcGr#y8S2aKWYET`?u^rW&cI{Z`=Q={m<`zVR2xwxH!6a(&BlGS1!J7@t(zp z7eBuE*~KRpXBWS+`1HYpXyq=E6)QzSobcbMHJz{0n&%(Znr}a1Yd(tB{D#$$9nitMrK7YGv&HGeqe)$Nkc}lG{&p~Ux8Lj!&Wm@yIhqdOH(VF`jT65=d zwB}nE-?8}M;-ib7ski3Axr6_F@OuaU@!&t8UH@PIb$qg8NQlU4z$z9d(xHnKNkrli zU-;MI13V5>15&^6zVP3MzZHHa{EhI}!hgY2;imwfQK?Uc{}}1V!tV{=6@Ifivnza= z+Fu-ojuhUi(&g}p-18S+5pE7QVV?}g!!hiAVMj>4D+IkNG#mO<=o6tC-Whr@G#$Df z`*#Cw43)4Q1{6YTLaRfqNTtfH<_k{>d2CfZU6Sz8XRbW@(92`6S&+!TU^Iz;g!+(N*%)iFp=Wq2l`J?`b->>+u zb%%WJ`2UP&IP*5PlpQ7{Vf3FQ2&T#(e?If1j# zc&+0;32DWj?8atBrP^@R!W4fj7vAk@7e6)_PP36T^jkrqwRid#ghXcO(CLv$jKF3}B+ z+yfb#6M5vi0^GS@42V^D#~LvxhQzQai7~Mr9D9Q}No*1)i!EX+bmh~Xn?o1T(2o68 z7Lfm3Z9ymY*I1Cj{#pxIkLxTT6vV$!J=jlLzS zLDK}{pm#4?@b^aBk0Zg-M1mZG>HY0$tL=N~Rfc8WVZA$>AFLJyOz;fo8FF>WALK;9k z{)HGtklKA-`VFY-kVq|f|j4WNCI->N~S&qf-6J}dI)Xi({Mkp_@g z=TRntN`qGOq*s(V{{ao?_oBa51A36?Z_}XCpr?KS>(UQg6VS`W4^dVE`^^v0ZUlky zRva2wuZk0Zvh!UPyo11JE9hec@Cs2uxd~zhd-O2^`%opVL5yIJzC=Ku7ZsF~fSxZZ zXj=j}iKw7I5X30oMh&8j{mmM{Cq?D$fLrnGChVs) z2$t~<4d9}pa;FCJlFD5g$V)2k)c`&#Dxe#J!ubP81H>uVKd6EIrSd@y3MU^%8bEJG zWk!QI75k5A0LK=UM*)9?drrgt>l(zF*nb1?G|s;c`#BA&-G7QSK-KF7qyeh@KSTQ8 zklum)OBz)E2apDkS5|(Zfqbs=vIfWuQ2~7sAU(u9`UrtEIUm)a(g~yi#Nm8W1LTjG z2ald7{p`fPO#}JQe7gqH$$VA=aX8a_)u7Vf zLmHrP`(va5d4|F6Muw0a}Gv@M#dYVGlelfY!wC zVh=nK#1!^tXb|tj9=IY~{h#MEVizL4O4CN7(f{^vD_C$N7(1Iw^DpaD9rSS)IQ zwksA#HBjGMM0p5o$HntBh|geur3Ud?>_JP5Z^J$R8~b+vNGE99MYQW8a4f!#J^JJ# z@$(G!d>+qJ_+0s1Z0rhe})3`6S@CP1=K<1{>v4Re&qgp6|ha^{@+(XIU@Ie zNP$lO0n(r;b^c+bSzq4sQ3XPrjs4>a*cNjC6AH-RKcRP{zr{FDjruE*JkofvWo=@BmPCUqrnCs_u(_gEVMIJ^K$x{{zw=#{O9a z?ALPfUlma1%Eg~4pv;wvzfwTHCl5da1PJjY_ELcm-^AWfAjB;8XeWRWDDMHM0wKPD zy-R@*DEk4o0wJEl-m5^MugL>G1p>4!4+IqmSg`UyL;-Coc_6KTeMBAr{sBUK1AEXp zKnS$$fmQ`V03Qe16bSKE?AsLx*xd3!Mu9-zln1&M2=TYr=M)I>Iqdrt2==1`0}9wr z<$+ZS*dOJA)e6|}w1d0>+Q>JRe3W(7igOUPf$DNuCsiytEWLzEx% z^NSxT(CHr|{bTF=PmunJmHsKxKSg>k_Ae;V>3>1`U##;lBK@M3M*IHaU#&FS_ZL62 z(*K6^zv=WZfpdVO!(WDw4q53Iq+5`_9s8^TA<+MRxk7;upuu0F`~dyz&yoH)(w70o zA#Hyqe@8wkUxC-=dgEc^2aZ9<)s8PX4QI~znDgIV3D-u~<*vVUpXPp>`+2j?e1kb- ze%sUSImh!Z&y${?d41kZ-rw0;`@Yu*uT?%kN*k(zXvjbt$|wte-rEoJ`{W< zbbaW#@crR`kF1Q`8|{w%VayYIH2#J}TjI&&K=N(Lze%l5{V3g&{;Q_ZrcX3q+p@Z4 zf9n_8`r009d%k_JeYWGwj?ZP^mtE-D)bq36>0EdIwERq;r|+V^Cs+LLO83f%m0##j z^k2|FJMcTJdRFaUeeLS6tr=VM{lfi4U-8!B!rvpc2Ssz$`?fU0Vc;AN28(!IX(}{g2zFdCxq=}QhziI2HzdCv2$q%0V^5*L| ze}7Bg*0!y0JEiTE$G5H9_JvbVICbjOhfedI_WkXu4W4_^PS3*L0$kQ@^2KO+C_9udnx%9;9mOs?luZ{)U8AL9akSJ`Or=ve z?Ka(JS235*<)eig@oRtKg%@tTahl2VRI>Ul84M+4CJ_osrmAyHwLFGj^|LDK#9jv+`q*F=yc&Dbp+t6-&j@v`(ecZZlitIXmUf z=Srm_&)KP5eze4AvcQE-jiybrWU6ydC5`Y65i^x^gic{0&T2oCyYr(w6~005wl!SY ziJRT+?d>A;p1o95=+q+#+Tw+$y9ADqSy{95?Yro(8{i!F>Li``ka zlpAfvKh^|)JcE|QpLL~J983=mB^7>0(8~DJ*Ym6w{&=P|%4gM;ktg|jm$Rp{%j*sV zQ;FuLCS$lG=yW-pon51`rlx4pZ^n~ttqF(WK$TNQd-G86kXv2hXnT7{XH(L2COcNj zJw!yoh$U8bHZ=tUrpFzKcs-tIDi|~!ZnwuwBz<1fbjU&8Sd_l#$kH2=UcX^DU2aD* zWqMpiY7rPwe}{YrXsC&PJc(MFvIuOHq)XM_R5dEeB?oT~g`&~wEVr^;Jt)&nO=)Ru z#ge1fMWdlmb(ULM4!4E_fpDwd9u$p7c=f?w9h{SQfSwDav~;pYXXzr^BcCrO(Wi3x zks58~i@lrN?r{NPYM$Uo;Us=bT_7>O1Sh#L=N= zK=V>W4p!t|ISmi3?o~<9t{Zq5LJ8QvMnLbQr5sv*i57A23G{2Wd8rt+>pG-s7=0)Z4D5<}L-Ebytktev+>Xn; zLMU#Th+I+q4C_abyH(!5L_4yM{m9$RoE1-C-)D_@M)M2B9q~@S3D|sKWqS|lq^EzQ zc|u>_kOPnXJ@c(rB5s%e@7ttoY0aB*QnvMw@Us2V$oHMFVdcZ>)uFKeFWdU^tu0cO z;n!9fU?%~~iYHs|WeLc&y75k%g4njiv?>R&t#}x5o&q_z-Tn{sjrHcF%=M04*wNG+ zlAc)7Z$!H;>`6CC*_7_NT;23Fpa2|IqAdT5_wt!YxW$?Ddt%NGb)$NK*Nv1a=YOD_ zQ}Qu*|4~k~gM;lbv<#)8RHTV)vGkNTo(N2%y9X8Z^$|yX#KFGX2$zl0x7Og`=vHg z9`&21%*cD`4a9n5U(N5wFJ&Lr%*Z(#{`2-lBi>=JG{VZ_rTE?hX0T zAx%cQyNr^6D2`-=q&}E&HQRmScTLmo2i(gQcSmB8z^S@7WZj*4yIXuj+I@=q^1vq} zfk^BE;tMkNd3iEuIbqS!AYO$w0v_T@qLD%(=nL*jFcI@T|AMA~Kp;?^jCq3zd97+^ zSO6A1cEbz#Mr5pOM!rJMf~~5brb6^bNJTYX|_N=>=&)d&%UpVxH-LBtNJVCW9xO-7?QZ(HN3r;Mg-C4U1x&{{GC>&$6 zN}-zbnA`Q&@^*PU+f}AaSJ9AALKj_&W2IzY3MHIy^MiW`rPXo+J}=V&Q@xI$T$sdRUyJDrlUa~Kqc@`py6A?15} zMl++mJ?hNF5@l20jmKQMRCn`AgS9rIzV28{ONWb($e!L&g`n9(6jAEBvj$_VPNVl! zY6(d)Vc#LyXyP9&>2tO;wOItu6OxeN)P@I3b{*4rRCU1=I+qkX*RMB>_3L-C6x-IW z>+Y7ayL;W*ZC1LaC0}gGjt=SbLjxHzm@R_c7J6QfU?6g6vIL~A3B{E0ZvrtvPSUv=?uDBBttYl?)W3`d&oA?Jw4JJHTy zCf8nj(@i%?^IDsC;OGH6eUB;S3?JFEM?H+&d)qt0*-_^3^fazoOsCFl%xRWi9{lCO z=j5G`AMmltT((%W?H{ywqgIc`#viDMnx))1x@F7g;2^gVC?Er4_zet%@Eg!+=o=Av z!tn6u)~%z%!#IldhwxodlI&@cvz+jor-3A;`l9BPO5(9u3Lc;YUFkV$D)_nMOT@LrEPsjgf1 z;xRc66x8I7F3F*7Ngb9NHA|=TS=E#(U2C=q`$EN(PjdgHH1%;~`>^jz^C9l;LZPrz zZBcu7_7FN+qCp?>Mn1jVn`ZW@*Dw2yS>SrG_6~9Ywk~T%!lcBed?9`txP-Fr=4?!F zE);wp;2S;?^#`PPj1 zr#7~uIF^)gwvob2EZYRK4jETpwv{m@3j1v3OM2?`@?Cif`feBMK?Fr>_7>Qg;%#}_ zgvweOsY%W82f_$3`_Knz6a0(i(5OtYZnunoC+ZK!pZ_4c=D$3vaFwz2Fo;HIA;b%N zAZdj)7)u$?@yQA|s?c}oW{}gWkh(w3!fxup^P}l_F;3-Ed3%@xWNEe=Rt3F3I>%_# z_u0?-z&)7H!zK)MZLUP*N1UPR|B=y<(;d}~Da$|i`+r`AC5v}YN8MK2{u6k~BZ}KY zD?!f0JM#zMYIsj1?3X#!a^bMQ`n*oz9f9g2Qn^&BlM&PDmzPwZ(D_G9QmXeT@)JAhzAc@R_)vI-*A#^SL%@z9kn(*uEE7VhSvb|$?Wc~V);f{8> zBt6-bUa@lZ>Xj?#G_X^9Hw+DRc64+O4Q;5W?DCaSzNoU7m#D-fK?lyTv$ITEU7?6q zy=-i9a&kbwd|p=c6C8{l0}oARLGHQqz6JBJoGQZQ(V zqtDB4C>)K!18D26w(Y22P7dQbjL85yP;9mPqCnm;+J7N9N%+E*HQp@?W7`^ejm1RP zjRq0RI66xPCEKovg8^Mr*le?_C-as#XngX5jVFQegv(aDvM1svEC{nwqYV z2MR6Z9WKeUN(2y1*S{qckNU4z-HxWr=hjW_o|>AH=2UNUvy{!vy&f$LX7>_f4?V^{ z_x?anPjOu?FX#3^qTwFi3l?(lm4n}vo6*NHwvSRlr^Vl3x}f+7(!ioy*?hTtH~J*~ zJG?{vp`_a9)}1f#8vjb^qN;~KhuhkEHl&k&hsOh_n>UqkNeM{^51cnzztQJaH#(iX)o?nIU&4WR8%<4K43TP{ zLK%@%IH9g!`Ei$U?P<1zBFa4$x4ujD4C&F)9Xm!x$$7x4UsR`Y`9;3rMRfr;;E3;0K7`xl$F)st^FZpM$lU>-TsY~w z|9+)$nqitD3HgU+qWW=pA(hSQB-Kwjo%E@^UO6~tY(}(c56W!u(^BfNJeha5$~%(u zz2%MWXw?12x8Mz~X)_veUv`;05_R9_O307664n1LPm4$yseVpwPq_F#XrB>za`mYQ zcKWqSPyDXZ6CpE|&(j1QV@^Iw|t4SRBHg?4a9}LGL!9Vx|c3(R!---?wdE$vk zFdX~*=h^u_W2IHy=m(=NN~=)kZLy}B6wCLcV+9^z3p^5t#zPi!9c`x*E=heTP?A=y3YP+PMYRZx8{OFU(>&|#@r0Y~svk=CHfB)hu0 zXn3(0BjwguOv+fSRZiKdKkQF-yeA^V@9~+d0@06#WpzT%5M;PIg+`j;?bTWPb}5+Z zPnN?H_sei*VtOwPiM_z>|0l*~fX@%Z2l@ug63nNe6zGlzCI*y}?b4CMG|}gV8LpLw zcme#c04(z|dMi1ivd=NXgnp|nbDrgOvsl2MLitAyhvU<0r0mL!Y#a>v-5!^FaN|g( zOUgB$b_Ao*U=Y}CYHG=*V6bOC{b_iPQ>koAQxkA(`d|tghVjU%lN_UcdA~pF4VrG3 zGwbvB^^H1CTJ;F@TzJ6}36IBRwzl*-209;kq;tU0+tO;fJf1`XJP&d*dGJd{KWy|q z`Wc`trm3}or<>e^H)F)i@&yAKKtM^=D2cHkR-gBnJcH+Wy~J%kFEe3t^Y4dUPTvhJ zC`RzT?+pe5M#~L8rz`yXo6YdZ$cQU=%XuD|yxQ--Dq(ofyCvuv!I)L>{V7K%8Oit2h;_n&JL?#zEQ3Hz^+CEX{~6)fgV5xt2L1&b{=lacG2fN0#{7FuMYxT zZTCf^9Ua}>9UW2p?9>{lX&;l9c(Of%7Y$~6JVj%0X!}LmhXxI=Cs@5T=<&+(s-{$` zX_ek)+uLK&Xso?GTTfN@7CSrPo9QgZ_#kt@b9kP0q@6zt`kYmI->I-o5{>HJ$S~?@ zSFlSfJj!W;)2v^P!;1JT!JZCW)ho0bjBW*vckSvL}r zM?A=PQ*R;WYEPSoX9i{_!*Z6}YPqcVV~yce%Vc;Hjjk{F@8?*(BW$)cy4Ny|4`P%g zTve~ZsGE$~Jhg$lmdlL~^Cg6d!xH7jY?nL(oI@Y5`pPQhEz)K!?Y0I;P2PVG)WR|rPEJ-J-AwEo=7F1u_+e&woF{Y@i7+sC)) z@zB2N4~sil?8_73w(gdoHz}K99xHhw`tX-%-x4Wo)dnsWIUZGPN7kxA*9b%F^rVb*p}P zxE$_Eqlcm^q8mbhkfL07nSp?Lc83SsaTlm;syb!2dtC@ur^XwHT{WGUd%fOk`+dGi zH>ss?h#XdAIomj@Yw^fey081#;zPcSI{~dSSvHA{|dtFqz9{Kv$zaDh8 zJAJ;;<+0$`lgU7;y**X^v2Ccx2vel=fInKTz}18OBxz?--i|DzQDhkkeO+fMqwCzR ze?gX^=;a}w*U|0@ex3ORlF2+xnrg+)S7)KKlM(Fs3N-g2eD*wGX)s-+Ok5&1G`Edv zGPDeCHmqqG;%SE)Ox8x8&2E80x=Plpp;x4ymeX}^ zT~8gEZ_Bd|&qL>TSiMhqt@TzTqIJzYRf31UUcGv%UcGwi&8*}Ns*>esbn3XPr=Gk) zp{g7TO<8(DO=e!o*+0F*; z>IL|kC8F)i+J(yp>>G5z4Y(k1sg#oLVj-Kth#M`%M6sa8Q%8>6-DIZN*Voyei2MEV zM0;mnU-8i6FZUD*8#WXQJy{NJy8`KSw&9H5VZDvg06gM8ED0ZZ?$t6}vN zSZzGk(c0dgPPezWcEsZH(BrP|G^1$J-CfyiTOiPu%`S81pP4^j>hX}f8yKL%!Ln*3 z>?Dkbd>$)*d_&2bQ!(QKvDV5Km6p<`unv6dKVmNroZ4tt$F(t9STX55`O}~pm`<2H zuD8f2BIEFY)u6O-^0=M@mrtn17%b)E;XuR~=k}`hL;@}q8>vJ6E4wB?IC{F>2EJIV zc{IfFz+!gww|4BcCJPbOmWi-AZy zTrF_BqchXl+Axt+{QLuEPA!wmnFtg`;F#!pAlXwTBo3&?KM-}tW5F!V1l1V7#^l0NCi)2HBTxO_tpYj3p)ieYp zxb>Twz;D_<8kgbnI8IGNPZ*!(B})n8laT^qxDiAoqc2xeSLez z#&!Xx_!Y*+X8QX2!jgk*{K;_N%orT2hT;>{jhZ+EimGAFwM#k#cf}TQ5kyqOKn{?{ z%k1{t7P5t`J6kArYef_HYD@dpL{nekQoIf?zLfi(pmca!LRUJBs0)U3<1nvEj}_wC zG=h%YCY;B9rvv_7!?8Bx2|LylHf}7ead2Pk3nyDsLEj3ev!!=<%epmd+FI#vT(f4K zPRBw~pWBeIu-zVqll+i6^PHsv>L?s?FzrpzV}en3BRh7qq`fe=@xQOJ%bC1hY#nqG)yJ+*c>!yJjOr8;h}_ZujTH}aH>o8_n&%d zf4}5D5o07%QwvAwODkeo29$AcTInHONRq1U>Sz# zcOXNjj7D2Mj#Z2VR6Z#=Ccgqd2ci*`wdJP91?@`tmw;X6g;Ej8ykdKyq6qzwGVnm7 zv&jn&OFOIp-nev<}-@#b_f&fn1MUwkEeKhI=HXj0V+|iYQQgt07@J=o|HeL%2*^iuF^u zAa^`#L%T zo>ama$>oPq9%ll|4fFMf!@2zG)dR_RBII;I6I}jmfjUgU*W83RtXh?bhg=><{nWbE z)~P!K9UXlMrzbU(&qbVxlt=k}=ZrG=6XTT!F%#=F)v9_ZeYDh-R>Dttpo>Q_o~>bW zWlRp~A#;^BzzM71LUNYOk*svCTCmxZoV8QcG6sqfiLEwM+)krL?2xn*`E2KFY`6K;nIYg(iYPN@I1fzlUm~-6B=APLiEdd*VD8=>o9K=CfH8rCC z@kA+M>X&AVNfV_|Csir3a`uTQo-i`gtmPc~OOuMxN~I9Kl=g%|M2HNBWu`T`&#v+g z!{~P6D%-l;bV^~3VXP^f(geKAa6!qna>Ot)Jj`IY97>RVzDbrn9yAGjb?h~W2rKk; zbOxNR&Ui4Ijz-g3kKzM;edB04yn%1^c=}?#0B_rBiFKh;z(@} zhir7C4T!4Il4W_a4K!9YX)#)pJV{5-v1PRFI)cFrwgE*eTa4{6q+)g%*J{PKDzQb< zg}UJ2ONO*C&L`6PrBGgL5?YmFsQmxWCSV)DMxg&OjDBzfW^dok*~D@5a5@I;2%)r! z$4IgjbRVGqYqUfePG^EUYsWY#ipEF~+kj(4yo+r>{sE=I0v_vjbKMu;1-WWT1E<9}D$vTjV;jOGaZDEa0?LXG&(-wzAYd@Cxp?bjxWC$N4 z#cT5gXXKP6pznc6f}|4cq0OPhJvJwwvJ>i30e6vHGnq+{wg}73&sZ|^nFJmqGqwyX zWtG*9EGh%~iGue1qi!?k@mn#kTf{NqXUp?p1g%g4*5x+~Yg=2&1zM{HtE9)?$SJbu zqfi=YG@whPq;%oCx*Mz|7Vkhy{Iu@VVAIT|3<#p}>FEsoff)`Es_jH|78AKtB^OOR z-MVNaKB}k1cOf{6-hc|+f3bLv-fFQ9yH?eY<8QXEO=W~tIf^o7sUhm+EX2|` zv-Bt&5MLk9T6TnjWx)7~rC&r5QL@p}p`gM}%fqP*CUHXCaL9#1^%brhZ9c+zxT zrRL^RtiiZpHEB1^@ZcMn7540g6&a7OHN)ZhmS(@df2|$Rx3=H!lg%w0!_Tz(Ja6Ub zp`8cOU!7t`kqGky-6;Qo{3>uWfE5bP0M%$sK{F7=CK<(~y^3_q!1G7^V3Yxb1G!G* zaViAeN?M$e?(C@%b7-`&EEL`Tuon&hISoVK6NZzZCp!iTVdQRKbss_)5a0`!-c&r^ z(h`r$SzL<;`uo>6Z!K{W17Za)8>NeyKJbWWd&%i&Q=`KO{uo^bUoF0$7?(LYEK>e_4=LvlUlxA{s%Ar zgO{bf`sftVh0EFwVl0n6Qi8p<9W}e4BHoyy0tn^03(8~E;vSeBq<)9)i{Ll*&ra$6 z(j(qupRrT+vAws?*YCBj*!v^j@teAGJa0by-rwe#ItC7Z>wo@QJ%@VgXz!`t_1`P? zYNc8J`fEE&4T617_quv&w4`hmPE291)5?Z2YjG5%D}g2pZDDpxZmD+Yt=)rp$BP_z z*~yI>N5RO#Z~oWn*=4_QC*QjF<()ebPo_M)V|r_(c2;-c>~E?thraDDBegdLH#d|( zDwXA(P1FUOV0ndQLlVXo%Io2#I%n4bDi+Y^;bzKO7eK|-VL)nXUv;k<)k!oo29C7-TMJu7&}+V=0%z

    9M#I5qTYFz$ds{RZjz+sN`V@pU0Ba!#U-xW1$qUDfosB_+ zAz@%W7{(}LOuG|f7{Lr*uQSx!B~h_zoTc90XJSPzjJ>|LD6X_ykFn`6aOHf_w&`yM zo1bR9RxsN=FwmV1xe`gQCz}T(>;&L0tHm?LO zj~qvCIp^${Mn#Am-ozigop8XYu}-=(V8IVznFE;g%DcfsPS{shESa-BG488}|J76D zhtQWrb{5*6BuAN6n`J2v>mxM;t2d@A$f$;$Of7}8yUA+^`nySBJcn+Us#+)jfnYAr9M*_$Xyb7>HGh#oI#4 z>QM&IIMsIDm{nK+&~?@3%UEk9gLX(IdqOd_ZUPQ3y);~a)bZTrk3{^pdVRj|DlWdT zs-pwTr8%*rpfn-@EXRR>DgGQTZ>TjM!w36lF6_0<1^oiPMUK~L$jR~PnqIt}v$bEF zmZT{v$L1k`p3sfWd`-C9aZe-1+o$EwefQl56g$UUL3l*q^2)3+c76*ES{_XS<{ zeoLb?N0&OJPn`g4STo5`8D;;JH1+7v8$EPq4JTnq0e9?nvhPGfJT z-7@F%?DE0&zK@f4cX@n~I>%^`N_uQgTRUaXq(4lTd)PmTsc_4b`8fF1AbBqOj~ZQJ z!wtPU8#uJc$G`+$z08<-$H zalNDja^kq#1$fqT;4pT9`TIqfY@`gex*(VrC9^8K)I*F`@N9BP`8i-qC3Qw|T7kh% z$k@kP;uokfT&;Pq{b|aKqefG>Z<<7cJ6fyXtC_h|_S{vwEE_Q2LZt2SK$}-8;U7Jm z+hK+kDK(n~ooEjYSTCcf(iYc4F=cp07ot%gvWn93m~tj)U7D;!r&w~7m=&zfA%}g6 zTx;X&vbPo0z|tF*1e>rE3a@kEK_AE1-+Kh+;HqIevJZeYr?Adaa0VP+kNhExa^p|$ z)z*re#yO4#Q)18nVYI9rG0Rax+*SZm{=r&N1MGLM&og8&)R9){T^^UqjBtVt8q|Jf#zAn z6#+q}Jja+)O$#bb3CeTat1V|PDJ@NL4AMHKZvqrVV2dCwkNF|htHWui&W*A;&`2Oq zM793*aNJ%)F`Nc#(+w!bY|ht=1+L0nJ9uC%5Lc0b`_T z(xswn?1}XhaHuekJ*ZN(fTqrTF|TJ=5|w;JZIKO{NN>?tyj5+jZ1jrIXeGUxkBUIH z=BuF#KrXX+(42C&BM|VNy#q5N9kDkAT`qI&T99b)4Ka28Y~Nw$uRiIdlfsV3nXA0s zRcA&V;gdq4LytopEiGIw4a@x1Q{^S`CyyWUD*ujUUe#E%3s$W<((CNkSF4A-QoVd~ z`M8yLqYp$>RE~~TtS?4cax2C|QnuV@=mu<%oC!2$yAi0$j-V!SmI^91iA)5FC}*Jn z+}ZoO+ChdwvACg^SGT(52lzQ2+U&`+lxg5ivi%g+wF4s z3GLlp6fElvj`#jHXzk#gIbHuF^1jHqfBr49F8k3dg6IWGF)@@FE>oEEyOIWRAU@sJH9q@ z3SwTa;+KCct&M>|Bs&rz0;Q4W=;zUF&R6yOn6G+=YNv5~7-F2Qc2MY66Smr+HG!Q7 zWaedTrjkFA0J zb2hMeGrumx(P55Fv9D^rafu4*doDm@QaO**5hAj1^XV=9h9xi|;P(M~SL#-+jnZOkrZK^-1O(ZgI z;YJ4?X825`Axw?h;s>U+`bHgc5)P{-zCk@+7>ABV-K(J5TenLXw@qQjUsz5|vH-Z3 z8`T2kGMEW{4LXiFjdg>tGHVGjjjZw#WfM3D6&J}{DA{yW66n{`H`6(-l>x6x=BYi| zs}gB>H}{1G&9gz3*J}i!W-X7EsEHNaSQ)ChncD&=g|5hhVwsBUnT7=@oWieUFTP?>xEeHFtBPBr?vL>Hl~lc zp8pyNgyU=1awcw}(3n2dhB%d9csza^0_sF9u3T{|9lK|(7pwI>YI`89hL*LvLPN7| z(@u#2duiCsn=#vVAmG6-5IGjpVjo64m0^;x7meLDhG&rj=vVnUR2)8Sx6Sl(9DiN0 ze!ewSQS)Y`>4s9|tMO!EXpFP2TO2VacXg}T?{-noJYBa*M-?C@IswcU3}SB@U7AJ;5J^mN1+ zT4o~-O!^gZM(aTzL(8W4X597eOLWvxtohq|r4!Fqj7YW_V*$Y?Ut z;U*L7k|QhY9t&kWKDsGtF*?QdG~3;Vk$*keo*cvD*~v-z5O|s+Hqa1x;2DaB;A3CT z4d58%I2YKX@~e$mKe?uzjMb zDUk?zv5ab62Cxs|dv?d~0kLKq*=8VgOlz2nzB9`#RBLCA9E-1H9K?nV>nG7W9bx}MA#3bp>SMC2WyRM`q zpe+%Og-u*WpLrn^D$s-8**T$i_DPG{k51{;f96BT0NF&Not@o!XP;z!6_0>_U>5T& z*F&2+AK#ASx+m0MN-C;84TFbiEw4EqMKhFjqvy!35j(zB+q|`g1Rh7vcYrgHS8@?g z+|DD|qj(ss6uQ$WSOzSQJPgx!j&9#RI-Y86O^t6}YZz;>{!cU-*nH`wo3U(9C=^)k zTsP(^1cT!PQVuYw9%eS*!2wU=VzzNzqju}$_|dbiziLUYvZww!zM)p&V&jTSh}}L2 z-?|~cjx{;@preYCTlq8@udf5JZOcEduqxBNu3k<|&bxrRQqd8KN+WiU&l?K+Hr^Tz z1|4N15{XsI!}7f9C**nGmv5J^!>6O3Equuzk9*f$8S?r9rwzMI#NN*&{C@92(el-= zesxg}-MwYYmj6?I2JH-4X!-j`Fb|=OuRWcPugYG>FNXHwrF0jdDLGey`g7LA7EP{* zS2e7fUST!2YI+Aad$u?P6T?hnl@P4vnjgZPl@c;br7bpSIU_(a_|wjaG}a~|&45;v z_#j>78|u=U<4aj zuGesE$5N{_iC@MikG5lZM4YXU@6}US<-HJe#@&$0-{m^rgHI*p z))br`({pxre4Wd+F5Z1M4xEKGIl1-$2;?6lU%ta|{1{#}m$Uk{#t?xe>8)OG)*l(8 zDmfPMXNAdeI^}x{BerJ?w6zoId>mv;_pts1m11h?E>0J=CrmUf zY_rqZFjE4eV^h!XeLmdW+{t0P_>VugVZ(+$&6sO2vjR(LhGj>pK7FELv6?Lbf8)Ff z$gg;~bkluJw7@WfVsO_ca9^$M)a54->g zKe3gFM9jZ3F%ZSZIKpZAq}X%9vfqbQJO4^;*6TB%_?|^SFg72DZKg{ zwuC*eH?Srs!XaS(x@C2)@knBMX(JSLu-x*t+A9JMmig-C%e>5KyPQ}vZUM@Z5)!P>u4}uC20jxry{Q4Y+o>Or@Nq)V&!EdaG*eL0` z;t*Qwpp6Oy9W`q3JgeO?bD-;SG8n|;&9Su<11mE{Pn+8w*r#$iu$?UzzUb?B$B)H9cz@2i?;POQ#V?P4NTmLe*#TYW};`J9Lk+o-U(^)>Q0T zQOk<^&ZsL^G@-JOYd5Gw1Qx!klPWVS2f9UGGu9(WMv#SF|5~EK-W|paW2`>|%}cL3 zrF)fHLkNY`-d;w8u;A>m|<=S!9rxJ6CC-w4cDI^N%`kE@TmOcS@i z)Y=`7cegf_e@JXnUv<@E{6xJTO4LoEIlMhPLk}jh@o4XL#i7)b_i(NUDmDTIiR?-@ zt=Y7+z{^)^4_5VSmvge?Ec`lpZYMExxdk=Q|m#n2%BfZ5XU$Z!q2bu3$pl@R$vCPkx-HZ3NPayD5|;T_#sE*pav zLo(r|c$J--YE~(@G!ELu@D}Lh z=Z6%_n!B##$YomQctAmv8H*9L`v4&cC8No0LheV&s{y zi0*e=V{xMl6o)?=F%hs*qt*#ERVieIn$m6lXaH+U$h9HE6+ZW=kjn^tDFWf=`{Lt> zTr>v1Ay?kzOtisb%sP5j+@@A#LNl=ANa;jzVn#S5-4Z?_CoHU5r$gA|ZEej) zb1)Qy76Pr(6%HARl}0G+T(QO!;_S zhPR~7%nW{8kJyn26}{oKv(F4F?(1)-Nv$5FN@bEJIQf=v*0T#Lu+K^MVu<1{ALfmONGBvGOl%nXyrW!H@ zDxAm|rWLaTNj4lI+fU#d*cet%dpd#$2yS5&CRLk z5c*|vBzlGm-*p&u#*^M5GZb{5>WRgYCkFf;|3zz0!4uw|);8}LTe`)a2qMIy9iQlR zcDfQV*E)Fv-^F)cv$ZvZRqODX41S^~)%s7v{D8v9DST1V;fw~~-I8wdnT}-0;R^j( z!t07p1)XN-3r!ftA2fYI-zoiw(9QlJ>~w^7#ih?1crfggp+CYxztO*fTbye?s@VPY zViK0Yd&LJVIYq{oI)bFKR3%v33gf`B&FW}jaZEJ{Y65z#Zb{Bdy5mqaY0#Et-KIWP zA6BzCEi$lqZjL^>+97lx(p|)lRUfdA`dl7{ng#q$x2C1B4Q)-$k&{h-(3|JS&D5}c zB;AxqL(ZLy<-GdjO?JmL-SLdi7wd*I4ulFNi&58D&^snPb(-KlBweBxt4reIb+>*Yc3u{n-=j_r!1cZHwp_)@ZTwXltP zP$^<$%gJB2CK3)a>Px4&#)xO6slG0pE$t9l1fOxMAK$HVM;+mi_nuOzlybX=9Kn$L zPwfWD#rhy1xfUJUl2!o`)<^E4)(yrms_!)WX89M)aYL~M9%e6I{a`vmgRfCy7c_)t zoo)4-GZFYHZ2vXqNuCSa`!#yK92kYO`-J^LRgO)tE2$AnSR&d>p&S^;?g3MAts8p% z$++3wZE!Iccr*)^TcLcsE-<+ZAGcH9*KIrEra!qoJ;0S=Fi#mXUC~fLn5E}~ zT}Db)J)G5GPe1}mwjQS3FTxHZy z?_sQs^E%X%KRX2#W*HsCiQ=%x%|_nLIFW`gHeUM?Atbs#$vq)eK)ku*X>0maNko|4ZtGu{K+) zgB(^;*w&@Nyr3N(PdzVPgC9ra4*jeIH0I;0_3N1v{kezdcPJh(`ubncwv0`nGNVN6 z@z?wm^hA5|)1@r;an|=LJa12gx|A4%C{q0FpNulT`nofk6-QH zEyt#(3-~hTZuzh$P~97GmmS824NlV&kmKrL;|7;`MfE4Lt@@KyvVC>+N3w%ZsQ##c z*+%NrPqdBl=gQa9j#bR;Z)7GZ1=YN(D42sik7Ed~LKI5T91KH@G63KKIm|DmyJxm& z&d^nTY9MkqdA^$d5S}QwqWGFsJ$kObcWtA6^~hXU-s*%V;q)am-B}d0Q&1uf&0h4y(n8QrBHL{+@H0Vpk zY^e64yabPYjWva*?l6zN8ZpqiLq?T)#c6A*U|kCGMx(Bl~Yxk7#WR10r% zdYkK$_fsBl1cT--s1$P;x*X^?U8GBNsIH3;51$jr4VQk!J7){kX0`l^L z$5W_2jOjw{>N@Ug2|Mud11yGSG`U@O-|ccY8E{vtFrDk-iEHgX{R+khrtk%n$Hb=v zz6T}AduRngJES~i=zo#6HncnZQPo#7-*v|F7)r{5oPJxUXEEa|eL?u*9Ha3y1e1#^xsH!cf@lz2Q!9sqxMcHL`pe!{j zw$4E*pK&}M<#LpcXa4ryd-Xz;_!9i2DfdMJ&wyh2+4pG`HJo||F<#U68?GSNqYS!? z`+sut&0LD|v-lpb`B|Cp-XCp0Xa^V{Y>(dWMcGaIP!(U`_~|I(K+Zu_!f}nF#zCwg zJP;tXEYq!wC%Q~59okxQSm}m%0A>X@lH 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 KISZn8x&9A2X%@x+ literal 0 HcmV?d00001 diff --git a/dev/deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 b/dev/deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..18400d7fad27fc52cfbabbda495b871bd912d045 GIT binary patch literal 25392 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 z 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 `GTC$U2 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 JQkvHO^gqOStd#%& literal 0 HcmV?d00001 diff --git a/dev/deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 b/dev/deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..758dd4f6070c7cb399334ae997ae9ff6523d3b55 GIT binary patch literal 156400 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 z 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 S`O1A00000000000000000000 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 S2VsmQO06}ypn7Xr@LvO5t4+KB literal 0 HcmV?d00001 diff --git a/dev/deps/headroom-0.11.0/headroom.min.js b/dev/deps/headroom-0.11.0/headroom.min.js new file mode 100644 index 00000000..433069fd --- /dev/null +++ b/dev/deps/headroom-0.11.0/headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.11.0 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).Headroom=n()}(this,function(){"use strict";function t(){return"undefined"!=typeof window}function d(t){return function(t){return t&&t.document&&function(t){return 9===t.nodeType}(t.document)}(t)?function(t){var n=t.document,o=n.body,s=n.documentElement;return{scrollHeight:function(){return Math.max(o.scrollHeight,s.scrollHeight,o.offsetHeight,s.offsetHeight,o.clientHeight,s.clientHeight)},height:function(){return t.innerHeight||s.clientHeight||o.clientHeight},scrollY:function(){return void 0!==t.pageYOffset?t.pageYOffset:(s||o.parentNode||o).scrollTop}}}(t):function(t){return{scrollHeight:function(){return Math.max(t.scrollHeight,t.offsetHeight,t.clientHeight)},height:function(){return Math.max(t.offsetHeight,t.clientHeight)},scrollY:function(){return t.scrollTop}}}(t)}function n(t,s,e){var n,o=function(){var n=!1;try{var t={get passive(){n=!0}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){n=!1}return n}(),i=!1,r=d(t),l=r.scrollY(),a={};function c(){var t=Math.round(r.scrollY()),n=r.height(),o=r.scrollHeight();a.scrollY=t,a.lastScrollY=l,a.direction=ls.tolerance[a.direction],e(a),l=t,i=!1}function h(){i||(i=!0,n=requestAnimationFrame(c))}var u=!!o&&{passive:!0,capture:!1};return t.addEventListener("scroll",h,u),c(),{destroy:function(){cancelAnimationFrame(n),t.removeEventListener("scroll",h,u)}}}function o(t,n){n=n||{},Object.assign(this,o.options,n),this.classes=Object.assign({},o.options.classes,n.classes),this.elem=t,this.tolerance=function(t){return t===Object(t)?t:{down:t,up:t}}(this.tolerance),this.initialised=!1,this.frozen=!1}return o.prototype={constructor:o,init:function(){return o.cutsTheMustard&&!this.initialised&&(this.addClass("initial"),this.initialised=!0,setTimeout(function(t){t.scrollTracker=n(t.scroller,{offset:t.offset,tolerance:t.tolerance},t.update.bind(t))},100,this)),this},destroy:function(){this.initialised=!1,Object.keys(this.classes).forEach(this.removeClass,this),this.scrollTracker.destroy()},unpin:function(){!this.hasClass("pinned")&&this.hasClass("unpinned")||(this.addClass("unpinned"),this.removeClass("pinned"),this.onUnpin&&this.onUnpin.call(this))},pin:function(){this.hasClass("unpinned")&&(this.addClass("pinned"),this.removeClass("unpinned"),this.onPin&&this.onPin.call(this))},freeze:function(){this.frozen=!0,this.addClass("frozen")},unfreeze:function(){this.frozen=!1,this.removeClass("frozen")},top:function(){this.hasClass("top")||(this.addClass("top"),this.removeClass("notTop"),this.onTop&&this.onTop.call(this))},notTop:function(){this.hasClass("notTop")||(this.addClass("notTop"),this.removeClass("top"),this.onNotTop&&this.onNotTop.call(this))},bottom:function(){this.hasClass("bottom")||(this.addClass("bottom"),this.removeClass("notBottom"),this.onBottom&&this.onBottom.call(this))},notBottom:function(){this.hasClass("notBottom")||(this.addClass("notBottom"),this.removeClass("bottom"),this.onNotBottom&&this.onNotBottom.call(this))},shouldUnpin:function(t){return"down"===t.direction&&!t.top&&t.toleranceExceeded},shouldPin:function(t){return"up"===t.direction&&t.toleranceExceeded||t.top},addClass:function(t){this.elem.classList.add.apply(this.elem.classList,this.classes[t].split(" "))},removeClass:function(t){this.elem.classList.remove.apply(this.elem.classList,this.classes[t].split(" "))},hasClass:function(t){return this.classes[t].split(" ").every(function(t){return this.classList.contains(t)},this.elem)},update:function(t){t.isOutOfBounds||!0!==this.frozen&&(t.top?this.top():this.notTop(),t.bottom?this.bottom():this.notBottom(),this.shouldUnpin(t)?this.unpin():this.shouldPin(t)&&this.pin())}},o.options={tolerance:{up:0,down:0},offset:0,scroller:t()?window:null,classes:{frozen:"headroom--frozen",pinned:"headroom--pinned",unpinned:"headroom--unpinned",top:"headroom--top",notTop:"headroom--not-top",bottom:"headroom--bottom",notBottom:"headroom--not-bottom",initial:"headroom"}},o.cutsTheMustard=!!(t()&&function(){}.bind&&"classList"in document.documentElement&&Object.assign&&Object.keys&&requestAnimationFrame),o}); \ No newline at end of file diff --git a/dev/deps/headroom-0.11.0/jQuery.headroom.min.js b/dev/deps/headroom-0.11.0/jQuery.headroom.min.js new file mode 100644 index 00000000..17f70c9e --- /dev/null +++ b/dev/deps/headroom-0.11.0/jQuery.headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.9.4 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2017 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(a){a&&(a.fn.headroom=function(b){return this.each(function(){var c=a(this),d=c.data("headroom"),e="object"==typeof b&&b;e=a.extend(!0,{},Headroom.options,e),d||(d=new Headroom(this,e),d.init(),c.data("headroom",d)),"string"==typeof b&&(d[b](),"destroy"===b&&c.removeData("headroom"))})},a("[data-headroom]").each(function(){var b=a(this);b.headroom(b.data())}))}(window.Zepto||window.jQuery); \ No newline at end of file diff --git a/dev/deps/jquery-3.6.0/jquery-3.6.0.js b/dev/deps/jquery-3.6.0/jquery-3.6.0.js new file mode 100644 index 00000000..fc6c299b --- /dev/null +++ b/dev/deps/jquery-3.6.0/jquery-3.6.0.js @@ -0,0 +1,10881 @@ +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.6.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + + + + + + + + + + + + + Skip to contents + + +
    +
    +
    + + + +

    extras provides helper functions for Bayesian analyses.

    +

    In particular it provides functions to summarise vectors of MCMC (Monte Carlo Markov Chain) samples, draw random samples from various distributions and calculate deviance residuals as well as R translations of some BUGS (Bayesian Using Gibbs Sampling), JAGS (Just Another Gibbs Sampler), STAN and TMB (Template Model Builder) functions.

    +
    +

    Demonstration +

    +
    +

    Summarise MCMC Samples +

    +

    The extras package provides functions to summarise MCMC samples like svalue() which gives the surprisal value (Greenland, 2019)

    +
    +library(extras)
    +#> 
    +#> Attaching package: 'extras'
    +#> The following object is masked from 'package:stats':
    +#> 
    +#>     step
    +
    +set.seed(1)
    +x <- rnorm(100)
    +svalue(rnorm(100))
    +#> [1] 0.3183615
    +svalue(rnorm(100, mean = 1))
    +#> [1] 1.704015
    +svalue(rnorm(100, mean = 2))
    +#> [1] 3.850857
    +svalue(rnorm(100, mean = 3))
    +#> [1] 5.073249
    +
    +
    +

    Distributions +

    +

    Implemented distributions with functions to draw random samples, calculate log-likelihoods, and calculate deviance residuals for include:

    +
      +
    • Bernoulli
    • +
    • Binomial
    • +
    • Beta-binomial
    • +
    • Gamma
    • +
    • Gamma-Poisson
    • +
    • Zero-inflated gamma-Poisson
    • +
    • Log-Normal
    • +
    • Negative Binomial
    • +
    • Normal
    • +
    • Poisson
    • +
    • Zero-inflated Poisson
    • +
    • Skew Normal
    • +
    • Student’s t
    • +
    +
    +
    +

    R translations +

    +

    The package also provides R translations of BUGS (and JAGS) functions such as pow() and log<-.

    +
    +pow(10, 2)
    +#> [1] 100
    +
    +mu <- NULL
    +log(mu) <- 1
    +mu
    +#> [1] 2.718282
    +
    +
    +

    Numericise R Objects +

    +

    Atomic vectors, matrices, arrays and data.frames of appropriate classes can be converted to numeric objects suitable for Bayesian analysis using the numericise() (and numericize()) function.

    +
    +numericise(
    +  data.frame(
    +    logical = c(TRUE, FALSE),
    +    factor = factor(c("blue", "green")),
    +    Date = as.Date(c("2000-01-01", "2000-01-02")),
    +    hms = hms::as_hms(c("00:00:02", "00:01:01"))
    +  )
    +)
    +#>      logical factor  Date hms
    +#> [1,]       1      1 10957   2
    +#> [2,]       0      2 10958  61
    +
    +
    +
    +

    Installation +

    +
    +
    +

    Information +

    +

    For more information see the Get Started vignette.

    +
    +
    +

    Installation +

    +
    +

    Release +

    +

    To install the release version from CRAN.

    +
    +install.packages("extras")
    +

    The website for the release version is at https://poissonconsulting.github.io/extras/.

    +
    +
    +

    Development +

    +

    To install the development version from GitHub

    +
    +# install.packages("remotes")
    +remotes::install_github("poissonconsulting/extras")
    +

    or from r-universe.

    +
    +install.packages("extras", repos = c("https://poissonconsulting.r-universe.dev", "https://cloud.r-project.org"))
    +
    +
    +
    +

    References +

    +

    Greenland, S. 2019. Valid P-Values Behave Exactly as They Should: Some Misleading Criticisms of P-Values and Their Resolution With S-Values. The American Statistician 73(sup1): 106–114.

    +
    +
    +

    Contribution +

    +

    Please report any issues.

    +

    Pull requests are always welcome.

    +
    +
    +

    Code of Conduct +

    +

    Please note that the extras project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

    +
    +
    +
    +
    + + + +
    + + + + + + + diff --git a/dev/katex-auto.js b/dev/katex-auto.js new file mode 100644 index 00000000..20651d9f --- /dev/null +++ b/dev/katex-auto.js @@ -0,0 +1,14 @@ +// https://github.com/jgm/pandoc/blob/29fa97ab96b8e2d62d48326e1b949a71dc41f47a/src/Text/Pandoc/Writers/HTML.hs#L332-L345 +document.addEventListener("DOMContentLoaded", function () { + var mathElements = document.getElementsByClassName("math"); + var macros = []; + for (var i = 0; i < mathElements.length; i++) { + var texText = mathElements[i].firstChild; + if (mathElements[i].tagName == "SPAN") { + katex.render(texText.data, mathElements[i], { + displayMode: mathElements[i].classList.contains("display"), + throwOnError: false, + macros: macros, + fleqn: false + }); + }}}); diff --git a/dev/lightswitch.js b/dev/lightswitch.js new file mode 100644 index 00000000..9467125a --- /dev/null +++ b/dev/lightswitch.js @@ -0,0 +1,85 @@ + +/*! + * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under the Creative Commons Attribution 3.0 Unported License. + * Updates for {pkgdown} by the {bslib} authors, also licensed under CC-BY-3.0. + */ + +const getStoredTheme = () => localStorage.getItem('theme') +const setStoredTheme = theme => localStorage.setItem('theme', theme) + +const getPreferredTheme = () => { + const storedTheme = getStoredTheme() + if (storedTheme) { + return storedTheme + } + + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' +} + +const setTheme = theme => { + if (theme === 'auto') { + document.documentElement.setAttribute('data-bs-theme', (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')) + } else { + document.documentElement.setAttribute('data-bs-theme', theme) + } +} + +function bsSetupThemeToggle () { + 'use strict' + + const showActiveTheme = (theme, focus = false) => { + var activeLabel, activeIcon; + + document.querySelectorAll('[data-bs-theme-value]').forEach(element => { + const buttonTheme = element.getAttribute('data-bs-theme-value') + const isActive = buttonTheme == theme + + element.classList.toggle('active', isActive) + element.setAttribute('aria-pressed', isActive) + + if (isActive) { + activeLabel = element.textContent; + activeIcon = element.querySelector('span').classList.value; + } + }) + + const themeSwitcher = document.querySelector('#dropdown-lightswitch') + if (!themeSwitcher) { + return + } + + themeSwitcher.setAttribute('aria-label', activeLabel) + themeSwitcher.querySelector('span').classList.value = activeIcon; + + if (focus) { + themeSwitcher.focus() + } + } + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { + const storedTheme = getStoredTheme() + if (storedTheme !== 'light' && storedTheme !== 'dark') { + setTheme(getPreferredTheme()) + } + }) + + window.addEventListener('DOMContentLoaded', () => { + showActiveTheme(getPreferredTheme()) + + document + .querySelectorAll('[data-bs-theme-value]') + .forEach(toggle => { + toggle.addEventListener('click', () => { + const theme = toggle.getAttribute('data-bs-theme-value') + setTheme(theme) + setStoredTheme(theme) + showActiveTheme(theme, true) + }) + }) + }) +} + +setTheme(getPreferredTheme()); +bsSetupThemeToggle(); diff --git a/dev/link.svg b/dev/link.svg new file mode 100644 index 00000000..88ad8276 --- /dev/null +++ b/dev/link.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/dev/logo.png b/dev/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d827099b55a9cc5cc8ebed02ce1fdf49943c79 GIT binary patch literal 28295 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 +Changelog • extras + Skip to contents + + +
    +
    +
    + +
    +

    extras (development version)

    + +
    +
    +

    extras 0.8.0

    +
    • Added a scalar case to log_lik_beta_binom() to improve speed for scalar inputs.
    • +
    • Add memoization (if memoize package is installed) and data has > 800 rows to gain speed from repeated function calls.
    • +
    • Use a vectorized optimization to improve speed of optimization required for deviance calculation.
    • +
    +
    +

    extras 0.7.3.9002

    +
    • Remove dependency on MASS package so minimum R version can be brought down to 4.0.0 from 4.3.0.
    • +
    +
    +

    extras 0.7.3.9001

    +
    • Register poissontemplate usage.
    • +
    • Fix actions.
    • +
    • Perform upkeep on package.
    • +
    +
    +

    extras 0.7.3

    CRAN release: 2024-08-27

    +
    • Ensure all tests, examples, and vignettes run conditionally for packages listed in suggests.
    • +
    +
    +

    extras 0.7.2

    CRAN release: 2024-08-22

    +
    +
    +

    extras 0.7.1

    +
    +
    +

    extras 0.7.0

    +
    +
    +

    extras 0.6.1

    CRAN release: 2023-05-10

    +
    • Fixed M1mac test
    • +
    +
    +

    extras 0.6.0

    CRAN release: 2023-04-28

    +
    +

    New Features

    +
    • +

      Added family of functions for the following distributions

      +
      • xx_gamma()
      • +
      • xx_student()
      • +
      • xx_beta_binomial()
      • +
    • +
    • Added standardized residuals to residual functions for all distributions

    • +
    +
    +

    Bug Fixes

    +
    +
    +

    Internal

    +
    • Fix for dev testthat
    • +
    • Fix tests for dev waldo
    • +
    +
    +
    +

    extras 0.5.0

    CRAN release: 2022-10-30

    +
    +
    +

    extras 0.4.0

    CRAN release: 2022-09-23

    +
    +
    +

    extras 0.3.0

    CRAN release: 2022-06-08

    +
    +

    Added

    +
    +
    +

    Modifications

    +
    • +res_xx() functions now return data (actual or simulated) if type = 'data'.
    • +
    +
    +

    Bug Fixes

    +
    • Fixed normal and log-normal deviances which were out by a factor of 2 and 1.41 respectively.
    • +
    +
    +
    +

    extras 0.2.0

    CRAN release: 2021-08-05

    +
    +

    Added

    +
    +

    Functions

    +
    • Added the following function families +
      • +ran_xx() (random samples)
      • +
      • +log_lik_xx() (log-likelihood)
      • +
      • +dev_xx() (deviances)
      • +
      • +res_xx() (residuals)
      • +
    • +

    for the following distributions - _bern, (Bernoulli), - _binom (binomial) - _pois (Poisson) - _norm (normal) - _lnorm (log-normal) - _gamma (gamma) - _gamma_pois (gamma-Poisson)

    +
    +
    +

    Arguments

    +
    +
    +
    +

    Deprecated

    +
    +
    +
    +

    extras 0.1.0

    CRAN release: 2020-09-26

    +
    • Added chk_indices() and vld_indices() to check (validate) if an object is a list of indices ie a vector of one or more positive integer values.
    • +
    • Added par_pattern() to provide string of regular expression for a parameter name.
    • +
    • Added as_list_unnamed() generic which by default strips all attributes except names.
    • +
    • Modified chk_pars() and vld_pars() to permit missing values and duplicates.
    • +
    +
    +

    extras 0.0.1

    CRAN release: 2020-06-16

    +
    • Initial submission to CRAN.
    • +
    +
    + + +
    + + + + + + + diff --git a/dev/pkgdown.js b/dev/pkgdown.js new file mode 100644 index 00000000..1a99c65f --- /dev/null +++ b/dev/pkgdown.js @@ -0,0 +1,162 @@ +/* http://gregfranko.com/blog/jquery-best-practices/ */ +(function($) { + $(function() { + + $('nav.navbar').headroom(); + + Toc.init({ + $nav: $("#toc"), + $scope: $("main h2, main h3, main h4, main h5, main h6") + }); + + if ($('#toc').length) { + $('body').scrollspy({ + target: '#toc', + offset: $("nav.navbar").outerHeight() + 1 + }); + } + + // Activate popovers + $('[data-bs-toggle="popover"]').popover({ + container: 'body', + html: true, + trigger: 'focus', + placement: "top", + sanitize: false, + }); + + $('[data-bs-toggle="tooltip"]').tooltip(); + + /* Clipboard --------------------------*/ + + function changeTooltipMessage(element, msg) { + var tooltipOriginalTitle=element.getAttribute('data-bs-original-title'); + element.setAttribute('data-bs-original-title', msg); + $(element).tooltip('show'); + element.setAttribute('data-bs-original-title', tooltipOriginalTitle); + } + + if(ClipboardJS.isSupported()) { + $(document).ready(function() { + var copyButton = ""; + + $("div.sourceCode").addClass("hasCopyButton"); + + // Insert copy buttons: + $(copyButton).prependTo(".hasCopyButton"); + + // Initialize tooltips: + $('.btn-copy-ex').tooltip({container: 'body'}); + + // Initialize clipboard: + var clipboard = new ClipboardJS('[data-clipboard-copy]', { + text: function(trigger) { + return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + } + }); + + clipboard.on('success', function(e) { + changeTooltipMessage(e.trigger, 'Copied!'); + e.clearSelection(); + }); + + clipboard.on('error', function(e) { + changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); + }); + + }); + } + + /* Search marking --------------------------*/ + var url = new URL(window.location.href); + var toMark = url.searchParams.get("q"); + var mark = new Mark("main#main"); + if (toMark) { + mark.mark(toMark, { + accuracy: { + value: "complementary", + limiters: [",", ".", ":", "/"], + } + }); + } + + /* Search --------------------------*/ + /* Adapted from https://github.com/rstudio/bookdown/blob/2d692ba4b61f1e466c92e78fd712b0ab08c11d31/inst/resources/bs4_book/bs4_book.js#L25 */ + // Initialise search index on focus + var fuse; + $("#search-input").focus(async function(e) { + if (fuse) { + return; + } + + $(e.target).addClass("loading"); + var response = await fetch($("#search-input").data("search-index")); + var data = await response.json(); + + var options = { + keys: ["what", "text", "code"], + ignoreLocation: true, + threshold: 0.1, + includeMatches: true, + includeScore: true, + }; + fuse = new Fuse(data, options); + + $(e.target).removeClass("loading"); + }); + + // Use algolia autocomplete + var options = { + autoselect: true, + debug: true, + hint: false, + minLength: 2, + }; + var q; +async function searchFuse(query, callback) { + await fuse; + + var items; + if (!fuse) { + items = []; + } else { + q = query; + var results = fuse.search(query, { limit: 20 }); + items = results + .filter((x) => x.score <= 0.75) + .map((x) => x.item); + if (items.length === 0) { + items = [{dir:"Sorry 😿",previous_headings:"",title:"No results found.",what:"No results found.",path:window.location.href}]; + } + } + callback(items); +} + $("#search-input").autocomplete(options, [ + { + name: "content", + source: searchFuse, + templates: { + suggestion: (s) => { + if (s.title == s.what) { + return `${s.dir} >
    ${s.title}
    `; + } else if (s.previous_headings == "") { + return `${s.dir} >
    ${s.title}
    > ${s.what}`; + } else { + return `${s.dir} >
    ${s.title}
    > ${s.previous_headings} > ${s.what}`; + } + }, + }, + }, + ]).on('autocomplete:selected', function(event, s) { + window.location.href = s.path + "?q=" + q + "#" + s.id; + }); + }); +})(window.jQuery || window.$) + +document.addEventListener('keydown', function(event) { + // Check if the pressed key is '/' + if (event.key === '/') { + event.preventDefault(); // Prevent any default action associated with the '/' key + document.getElementById('search-input').focus(); // Set focus to the search input + } +}); diff --git a/dev/pkgdown.yml b/dev/pkgdown.yml new file mode 100644 index 00000000..51780f05 --- /dev/null +++ b/dev/pkgdown.yml @@ -0,0 +1,10 @@ +pandoc: 3.1.11 +pkgdown: 2.1.1 +pkgdown_sha: ~ +articles: + beta-binomial-deviance-residuals: beta-binomial-deviance-residuals.html + deviance-residuals: deviance-residuals.html +last_built: 2025-01-14T00:46Z +urls: + reference: https://poissonconsulting.github.io/extras/reference + article: https://poissonconsulting.github.io/extras/articles diff --git a/dev/reference/args.html b/dev/reference/args.html new file mode 100644 index 00000000..d26deab5 --- /dev/null +++ b/dev/reference/args.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/arguments.html b/dev/reference/arguments.html new file mode 100644 index 00000000..d26deab5 --- /dev/null +++ b/dev/reference/arguments.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/as_list.default.html b/dev/reference/as_list.default.html new file mode 100644 index 00000000..23ea2399 --- /dev/null +++ b/dev/reference/as_list.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/as_list.html b/dev/reference/as_list.html new file mode 100644 index 00000000..b17f44d1 --- /dev/null +++ b/dev/reference/as_list.html @@ -0,0 +1,112 @@ + +As List — as_list • extras + Skip to contents + + +
    +
    +
    + +
    +

    Coerces an object to an list. +All attributes are removed except any names.

    +
    + +
    +

    Usage

    +
    as_list(x, ...)
    +
    +# Default S3 method
    +as_list(x, ...)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    ...
    +

    Other arguments passed to methods.

    + +
    +
    +

    Value

    +

    A list.

    +
    + +
    +

    Examples

    +
    as_list(1:3)
    +#> [[1]]
    +#> [1] 1
    +#> 
    +#> [[2]]
    +#> [1] 2
    +#> 
    +#> [[3]]
    +#> [1] 3
    +#> 
    +as_list(c(x = 1, y = 2))
    +#> $x
    +#> [1] 1
    +#> 
    +#> $y
    +#> [1] 2
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/as_list_unnamed.default.html b/dev/reference/as_list_unnamed.default.html new file mode 100644 index 00000000..72aa9a75 --- /dev/null +++ b/dev/reference/as_list_unnamed.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/as_list_unnamed.html b/dev/reference/as_list_unnamed.html new file mode 100644 index 00000000..6194927e --- /dev/null +++ b/dev/reference/as_list_unnamed.html @@ -0,0 +1,114 @@ + +As List — as_list_unnamed • extras + Skip to contents + + +
    +
    +
    + +
    +

    Coerces an object to an list. +All attributes are removed except any names.

    +
    + +
    +

    Usage

    +
    as_list_unnamed(x, ...)
    +
    +# Default S3 method
    +as_list_unnamed(x, ...)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    ...
    +

    Other arguments passed to methods.

    + +
    +
    +

    Value

    +

    A list.

    +
    + +
    +

    Examples

    +
    as_list_unnamed(1:3)
    +#> Warning: `as_list_unnamed()` was deprecated in extras 0.1.1.
    +#>  Please use `as_list()` instead.
    +#> [[1]]
    +#> [1] 1
    +#> 
    +#> [[2]]
    +#> [1] 2
    +#> 
    +#> [[3]]
    +#> [1] 3
    +#> 
    +as_list_unnamed(c(x = 1, y = 2))
    +#> $x
    +#> [1] 1
    +#> 
    +#> $y
    +#> [1] 2
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/bern.html b/dev/reference/bern.html new file mode 100644 index 00000000..5dd9cf0a --- /dev/null +++ b/dev/reference/bern.html @@ -0,0 +1,126 @@ + +Bernoulli Distribution — dbern • extras + Skip to contents + + +
    +
    +
    + +
    +

    Bernoulli Distribution

    +
    + +
    +

    Usage

    +
    dbern(x, prob, log = FALSE)
    +
    +pbern(q, prob, lower.tail = TRUE, log = FALSE)
    +
    +qbern(p, prob, lower.tail = TRUE, log = FALSE)
    +
    +rbern(n, prob)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A vector of 0s and 1s.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    log
    +

    A flag specifying whether to return the log-transformed value.

    + + +
    q
    +

    A vector of quantiles.

    + + +
    lower.tail
    +

    A flag specifying whether to return the lower or upper tail +of the distribution.

    + + +
    p
    +

    A vector of probabilities.

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + +
    +
    +

    Value

    +

    An numeric vector of the random samples.

    +
    + +
    +

    Examples

    +
    dbern(1, 0.5)
    +#> [1] 0.5
    +pbern(0.75, 0.5)
    +#> [1] 0.5
    +qbern(0.1, 0.5)
    +#> [1] 0
    +rbern(1, 0.5)
    +#> [1] 0
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/chk_index.html b/dev/reference/chk_index.html new file mode 100644 index 00000000..5e1e48d3 --- /dev/null +++ b/dev/reference/chk_index.html @@ -0,0 +1,106 @@ + +Check Index — chk_index • extras + Skip to contents + + +
    +
    +
    + +
    +

    Checks if an object is a vector of one or more positive integer values.

    +
    + +
    +

    Usage

    +
    chk_index(x, x_name = NULL)
    +
    +vld_index(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    x_name
    +

    A string of the name of object x or NULL.

    + +
    +
    +

    Value

    +

    The chk_ function throws an informative error if the test fails.

    +

    The vld_ function returns a flag indicating whether the test was met.

    +
    +
    +

    Functions

    + +
    • vld_index(): Validate Index

    • +
    + +
    +

    Examples

    +
    x <- c(2L, 1L)
    +chk_index(x)
    +y <- c(2L, -1L)
    +try(chk_index(y))
    +#> Error in chk_index(y) : `y` must have values greater than 0.
    +vld_index(c(-1))
    +#> [1] FALSE
    +vld_index(c(3L, 1L))
    +#> [1] TRUE
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/chk_indices.html b/dev/reference/chk_indices.html new file mode 100644 index 00000000..bcc3131c --- /dev/null +++ b/dev/reference/chk_indices.html @@ -0,0 +1,106 @@ + +Check Indices — chk_indices • extras + Skip to contents + + +
    +
    +
    + +
    +

    Checks if an object is a list of indices ie vectors of one or more positive integer values.

    +
    + +
    +

    Usage

    +
    chk_indices(x, x_name = NULL)
    +
    +vld_indices(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    x_name
    +

    A string of the name of object x or NULL.

    + +
    +
    +

    Value

    +

    The chk_ function throws an informative error if the test fails.

    +

    The vld_ function returns a flag indicating whether the test was met.

    +
    +
    +

    Functions

    + +
    • vld_indices(): Validate Indices

    • +
    + +
    +

    Examples

    +
    x <- list(c(2L, 1L))
    +chk_indices(x)
    +y <- c(2L, 1L)
    +try(chk_indices(y))
    +#> Error in chk_indices(y) : `y` must be a list.
    +vld_indices(c(3L, 1L))
    +#> [1] FALSE
    +vld_indices(list(c(3L, 1L)))
    +#> [1] TRUE
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/chk_pars.html b/dev/reference/chk_pars.html new file mode 100644 index 00000000..9a66ed4f --- /dev/null +++ b/dev/reference/chk_pars.html @@ -0,0 +1,113 @@ + +Check Parameter Names — chk_pars • extras + Skip to contents + + +
    +
    +
    + +
    +

    Checks if valid parameter names.

    +
    + +
    +

    Usage

    +
    chk_pars(x, x_name = NULL)
    +
    +vld_pars(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    x_name
    +

    A string of the name of object x or NULL.

    + +
    +
    +

    Value

    +

    The chk_ function throws an informative error if the test fails.

    +

    The vld_ function returns a flag indicating whether the test was met.

    +
    +
    +

    Details

    +

    The character vector must consist of values that start with an alpha +and only include alphanumeric characters and '_' or '.'.

    +

    Missing values and duplicates are permitted.

    +
    +
    +

    Functions

    + +
    • vld_pars(): Validate Parameter Names

    • +
    + +
    +

    Examples

    +
    x <- c("x", "a1._", "X")
    +chk_pars(x)
    +y <- c("x[1]", "a1", "a1", "._0")
    +try(chk_pars(y))
    +#> Error in chk_pars(y) : 
    +#>   `y` must have values matching regular expression '^[[:alpha:]][[:alnum:]._]*$'.
    +vld_pars(c("x", "a1._", "X"))
    +#> [1] TRUE
    +vld_pars(c("x[1]", "a1", "a1", "._0"))
    +#> [1] FALSE
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_bern.html b/dev/reference/dev_bern.html new file mode 100644 index 00000000..51e0ef4d --- /dev/null +++ b/dev/reference/dev_bern.html @@ -0,0 +1,112 @@ + +Bernoulli Deviances — dev_bern • extras + Skip to contents + + +
    +
    +
    + +
    +

    Bernoulli Deviances

    +
    + +
    +

    Usage

    +
    dev_bern(x, prob = 0.5, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A vector of 0s and 1s.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_bern(c(TRUE, FALSE), 0.7)
    +#> [1] 0.7133499 2.4079456
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_beta_binom.html b/dev/reference/dev_beta_binom.html new file mode 100644 index 00000000..36a57d4f --- /dev/null +++ b/dev/reference/dev_beta_binom.html @@ -0,0 +1,146 @@ + +Beta-Binomial Deviances — dev_beta_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    This parameterization of the beta-binomial distribution uses an expected +probability parameter, prob, and a dispersion parameter, theta. The +parameters of the underlying beta mixture are alpha = (2 * prob) / theta +and beta = (2 * (1 - prob)) / theta. This parameterization of theta is +unconventional, but has useful properties when modelling. When theta = 0, +the beta-binomial reverts to the binomial distribution. When theta = 1 and +prob = 0.5, the parameters of the beta distribution become alpha = 1 and +beta = 1, which correspond to a uniform distribution for the beta-binomial +probability parameter.

    +
    + +
    +

    Usage

    +
    dev_beta_binom(x, size = 1, prob = 0.5, theta = 0, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    size
    +

    A non-negative whole numeric vector of the number of trials.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance +residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_beta_binom(c(0, 1, 2), 10, 0.5, 0.1)
    +#> [1] 10.758196  5.136943  2.608386
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_binom.html b/dev/reference/dev_binom.html new file mode 100644 index 00000000..3e0265f5 --- /dev/null +++ b/dev/reference/dev_binom.html @@ -0,0 +1,116 @@ + +Binomial Deviances — dev_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    Binomial Deviances

    +
    + +
    +

    Usage

    +
    dev_binom(x, size = 1, prob = 0.5, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    size
    +

    A non-negative whole numeric vector of the number of trials.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_binom(c(0, 1, 2), 2, 0.3)
    +#> [1] 1.4266998 0.3487068 4.8158912
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_gamma.html b/dev/reference/dev_gamma.html new file mode 100644 index 00000000..dc863b30 --- /dev/null +++ b/dev/reference/dev_gamma.html @@ -0,0 +1,115 @@ + +Gamma Deviances — dev_gamma • extras + Skip to contents + + +
    +
    +
    + +
    +

    Gamma Deviances

    +
    + +
    +

    Usage

    +
    dev_gamma(x, shape = 1, rate = 1, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    shape
    +

    A non-negative numeric vector of shape.

    + + +
    rate
    +

    A non-negative numeric vector of rate.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_gamma(c(0, 1, 2), 1, 2)
    +#> [1]       Inf 0.6137056 3.2274113
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_gamma_pois.html b/dev/reference/dev_gamma_pois.html new file mode 100644 index 00000000..303423e5 --- /dev/null +++ b/dev/reference/dev_gamma_pois.html @@ -0,0 +1,116 @@ + +Gamma-Poisson Deviances — dev_gamma_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Gamma-Poisson Deviances

    +
    + +
    +

    Usage

    +
    dev_gamma_pois(x, lambda = 1, theta = 0, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_gamma_pois(c(1, 3, 4), 3, 2)
    +#> [1] 0.34466900 0.00000000 0.03962673
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_gamma_pois_zi.html b/dev/reference/dev_gamma_pois_zi.html new file mode 100644 index 00000000..aa3f1df1 --- /dev/null +++ b/dev/reference/dev_gamma_pois_zi.html @@ -0,0 +1,106 @@ + +Zero-Inflated Gamma-Poisson Deviances — dev_gamma_pois_zi • extras + Skip to contents + + +
    +
    +
    + +
    +

    Zero-Inflated Gamma-Poisson Deviances

    +
    + +
    +

    Usage

    +
    dev_gamma_pois_zi(x, lambda = 1, theta = 0, prob = 0, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    + +
    +

    Examples

    +
    dev_gamma_pois_zi(c(1, 3, 4), 3, 2)
    +#> [1] 0.34466900 0.00000000 0.03962673
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_lnorm.html b/dev/reference/dev_lnorm.html new file mode 100644 index 00000000..f120986e --- /dev/null +++ b/dev/reference/dev_lnorm.html @@ -0,0 +1,116 @@ + +Log-Normal Deviances — dev_lnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Log-Normal Deviances

    +
    + +
    +

    Usage

    +
    dev_lnorm(x, meanlog = 0, sdlog = 1, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    meanlog
    +

    A numeric vector of the means on the log scale.

    + + +
    sdlog
    +

    A non-negative numeric vector of the standard deviations on the +log scale.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_lnorm(exp(-2:2))
    +#> [1] 4 1 0 1 4
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_neg_binom.html b/dev/reference/dev_neg_binom.html new file mode 100644 index 00000000..332f3051 --- /dev/null +++ b/dev/reference/dev_neg_binom.html @@ -0,0 +1,116 @@ + +Negative Binomial Deviances — dev_neg_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    Negative Binomial Deviances

    +
    + +
    +

    Usage

    +
    dev_neg_binom(x, lambda = 1, theta = 0, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_neg_binom(c(1, 2, 5), 2, 3)
    +#> [1] 0.1060144 0.0000000 0.3450025
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_norm.html b/dev/reference/dev_norm.html new file mode 100644 index 00000000..dd1a9c6d --- /dev/null +++ b/dev/reference/dev_norm.html @@ -0,0 +1,115 @@ + +Normal Deviances — dev_norm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Normal Deviances

    +
    + +
    +

    Usage

    +
    dev_norm(x, mean = 0, sd = 1, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_norm(c(-2:2))
    +#> [1] 4 1 0 1 4
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_pois.html b/dev/reference/dev_pois.html new file mode 100644 index 00000000..cad62b26 --- /dev/null +++ b/dev/reference/dev_pois.html @@ -0,0 +1,111 @@ + +Poisson Deviances — dev_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Poisson Deviances

    +
    + +
    +

    Usage

    +
    dev_pois(x, lambda, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_pois(c(1, 3, 4), 3)
    +#> [1] 1.8027754 0.0000000 0.3014566
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_pois_zi.html b/dev/reference/dev_pois_zi.html new file mode 100644 index 00000000..08984e43 --- /dev/null +++ b/dev/reference/dev_pois_zi.html @@ -0,0 +1,116 @@ + +Zero-Inflated Poisson Deviances — dev_pois_zi • extras + Skip to contents + + +
    +
    +
    + +
    +

    Zero-Inflated Poisson Deviances

    +
    + +
    +

    Usage

    +
    dev_pois_zi(x, lambda, prob = 0, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_pois_zi(c(1, 3, 4), 3)
    +#> [1] 1.8027754 0.0000000 0.3014566
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_skewnorm.html b/dev/reference/dev_skewnorm.html new file mode 100644 index 00000000..ceee2fe0 --- /dev/null +++ b/dev/reference/dev_skewnorm.html @@ -0,0 +1,123 @@ + +Skew Normal Deviances — dev_skewnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Skew Normal Deviances

    +
    + +
    +

    Usage

    +
    dev_skewnorm(x, mean = 0, sd = 1, shape = 0, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    shape
    +

    A numeric vector of shape.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_skewnorm(c(-2:2))
    +#> [1] 4 1 0 1 4
    +dev_skewnorm(-2:2, 0, 1, 5)
    +#> [1] 110.2602054  30.9276319   1.1839294   0.7976357   3.7976351
    +dev_skewnorm(-2:2, 0, 1, 5, res = TRUE)
    +#> [1] -10.5004860  -5.5612617  -1.0880852   0.8931045   1.9487522
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/dev_student.html b/dev/reference/dev_student.html new file mode 100644 index 00000000..a53ec437 --- /dev/null +++ b/dev/reference/dev_student.html @@ -0,0 +1,120 @@ + +Student's t Deviances — dev_student • extras + Skip to contents + + +
    +
    +
    + +
    +

    Student's t Deviances

    +
    + +
    +

    Usage

    +
    dev_student(x, mean = 0, sd = 1, theta = 0, res = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding deviances or deviance residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    dev_student(c(1, 3.5, 4), 3)
    +#> [1] 4.00 0.25 1.00
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/exp10.html b/dev/reference/exp10.html new file mode 100644 index 00000000..5a3739ce --- /dev/null +++ b/dev/reference/exp10.html @@ -0,0 +1,108 @@ + +Exponential Transformation of Base 10 — exp10 • extras + Skip to contents + + +
    +
    +
    + +
    +

    Returns the transformation of 10^x.

    +
    + +
    +

    Usage

    +
    exp10(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An numeric atomic object.

    + +
    +
    +

    Value

    +

    A numeric atomic object with the value of 10^x.

    +
    +
    +

    See also

    +

    Other translations: +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    x <- c(5, 10.5)
    +exp10(x)
    +#> [1]      100000 31622776602
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/exp2.html b/dev/reference/exp2.html new file mode 100644 index 00000000..d05eb989 --- /dev/null +++ b/dev/reference/exp2.html @@ -0,0 +1,108 @@ + +Exponential Transformation of Base 2 — exp2 • extras + Skip to contents + + +
    +
    +
    + +
    +

    Returns the transformation of 2^x.

    +
    + +
    +

    Usage

    +
    exp2(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An numeric atomic object.

    + +
    +
    +

    Value

    +

    A numeric atomic object with the value of 2^x.

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    x <- c(5, 10.5)
    +exp2(x)
    +#> [1]   32.000 1448.155
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/extras-package.html b/dev/reference/extras-package.html new file mode 100644 index 00000000..a1be68f2 --- /dev/null +++ b/dev/reference/extras-package.html @@ -0,0 +1,83 @@ + +extras: Helper Functions for Bayesian Analyses — extras-package • extras + Skip to contents + + +
    +
    +
    + +
    +

    +

    Functions to 'numericise' 'R' objects (coerce to numeric objects), summarise 'MCMC' (Monte Carlo Markov Chain) samples and calculate deviance residuals as well as 'R' translations of some 'BUGS' (Bayesian Using Gibbs Sampling), 'JAGS' (Just Another Gibbs Sampler), 'STAN' and 'TMB' (Template Model Builder) functions.

    +
    + + + +
    +

    Author

    +

    Maintainer: Nicole Hill nicole@poissonconsulting.ca (ORCID)

    +

    Authors:

    Other contributors:

    • Kirill Müller (ORCID) [contributor]

    • +
    • Nadine Hussein (ORCID) [contributor]

    • +
    • Poisson Consulting [copyright holder, funder]

    • +
    + +
    + + +
    + + + + + + + diff --git a/dev/reference/extras.html b/dev/reference/extras.html new file mode 100644 index 00000000..2ad59621 --- /dev/null +++ b/dev/reference/extras.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/fabs.html b/dev/reference/fabs.html new file mode 100644 index 00000000..53041458 --- /dev/null +++ b/dev/reference/fabs.html @@ -0,0 +1,114 @@ + +Absolute — fabs • extras + Skip to contents + + +
    +
    +
    + +
    +

    Computes the absolute value of x. +Used in TMB as replacement for abs() which is seemingly ambiguous.

    +
    + +
    +

    Usage

    +
    fabs(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An existing R object.

    + +
    +
    +

    Value

    +

    A numeric vector of the corresponding absolute values.

    +
    +
    +

    Details

    +

    A wrapper on abs().

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    fabs(c(0, -1, 2))
    +#> [1] 0 1 2
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/figures/lifecycle-archived.svg b/dev/reference/figures/lifecycle-archived.svg new file mode 100644 index 00000000..48f72a6f --- /dev/null +++ b/dev/reference/figures/lifecycle-archived.svg @@ -0,0 +1 @@ + lifecyclelifecyclearchivedarchived \ No newline at end of file diff --git a/dev/reference/figures/lifecycle-defunct.svg b/dev/reference/figures/lifecycle-defunct.svg new file mode 100644 index 00000000..01452e5f --- /dev/null +++ b/dev/reference/figures/lifecycle-defunct.svg @@ -0,0 +1 @@ +lifecyclelifecycledefunctdefunct \ No newline at end of file diff --git a/dev/reference/figures/lifecycle-deprecated.svg b/dev/reference/figures/lifecycle-deprecated.svg new file mode 100644 index 00000000..b61c57c3 --- /dev/null +++ b/dev/reference/figures/lifecycle-deprecated.svg @@ -0,0 +1,21 @@ + + lifecycle: deprecated + + + + + + + + + + + + + + + lifecycle + + deprecated + + diff --git a/dev/reference/figures/lifecycle-experimental.svg b/dev/reference/figures/lifecycle-experimental.svg new file mode 100644 index 00000000..5d88fc2c --- /dev/null +++ b/dev/reference/figures/lifecycle-experimental.svg @@ -0,0 +1,21 @@ + + lifecycle: experimental + + + + + + + + + + + + + + + lifecycle + + experimental + + diff --git a/dev/reference/figures/lifecycle-maturing.svg b/dev/reference/figures/lifecycle-maturing.svg new file mode 100644 index 00000000..df713101 --- /dev/null +++ b/dev/reference/figures/lifecycle-maturing.svg @@ -0,0 +1 @@ +lifecyclelifecyclematuringmaturing \ No newline at end of file diff --git a/dev/reference/figures/lifecycle-questioning.svg b/dev/reference/figures/lifecycle-questioning.svg new file mode 100644 index 00000000..08ee0c90 --- /dev/null +++ b/dev/reference/figures/lifecycle-questioning.svg @@ -0,0 +1 @@ +lifecyclelifecyclequestioningquestioning \ No newline at end of file diff --git a/dev/reference/figures/lifecycle-retired.svg b/dev/reference/figures/lifecycle-retired.svg new file mode 100644 index 00000000..33f406b1 --- /dev/null +++ b/dev/reference/figures/lifecycle-retired.svg @@ -0,0 +1 @@ + lifecyclelifecycleretiredretired \ No newline at end of file diff --git a/dev/reference/figures/lifecycle-soft-deprecated.svg b/dev/reference/figures/lifecycle-soft-deprecated.svg new file mode 100644 index 00000000..9f014fd1 --- /dev/null +++ b/dev/reference/figures/lifecycle-soft-deprecated.svg @@ -0,0 +1 @@ +lifecyclelifecyclesoft-deprecatedsoft-deprecated \ No newline at end of file diff --git a/dev/reference/figures/lifecycle-stable.svg b/dev/reference/figures/lifecycle-stable.svg new file mode 100644 index 00000000..9bf21e76 --- /dev/null +++ b/dev/reference/figures/lifecycle-stable.svg @@ -0,0 +1,29 @@ + + lifecycle: stable + + + + + + + + + + + + + + + + lifecycle + + + + stable + + + diff --git a/dev/reference/figures/lifecycle-superseded.svg b/dev/reference/figures/lifecycle-superseded.svg new file mode 100644 index 00000000..db8d757f --- /dev/null +++ b/dev/reference/figures/lifecycle-superseded.svg @@ -0,0 +1,21 @@ + + lifecycle: superseded + + + + + + + + + + + + + + + lifecycle + + superseded + + diff --git a/dev/reference/figures/logo.png b/dev/reference/figures/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d827099b55a9cc5cc8ebed02ce1fdf49943c79 GIT binary patch literal 28295 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 + + + + + + + diff --git a/dev/reference/fill_all.html b/dev/reference/fill_all.html new file mode 100644 index 00000000..45f18de8 --- /dev/null +++ b/dev/reference/fill_all.html @@ -0,0 +1,156 @@ + +Fill All Values — fill_all • extras + Skip to contents + + +
    +
    +
    + +
    +

    Fills all of an object's (missing and non-missing) values +while preserving the object's dimensionality and class.

    +
    + +
    +

    Usage

    +
    fill_all(x, value, ...)
    +
    +# S3 method for class 'logical'
    +fill_all(x, value = FALSE, nas = TRUE, ...)
    +
    +# S3 method for class 'integer'
    +fill_all(x, value = 0L, nas = TRUE, ...)
    +
    +# S3 method for class 'numeric'
    +fill_all(x, value = 0, nas = TRUE, ...)
    +
    +# S3 method for class 'character'
    +fill_all(x, value = "0", nas = TRUE, ...)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    value
    +

    A scalar of the value to replace values with.

    + + +
    ...
    +

    Other arguments passed to methods.

    + + +
    nas
    +

    A flag specifying whether to also fill missing values.

    + +
    +
    +

    Value

    +

    The modified object.

    +
    +
    +

    Details

    +

    It should only be defined for objects with values of consistent class ie +not standard data.frames.

    +
    +
    +

    Methods (by class)

    + +
    • fill_all(logical): Fill All for logical Objects

    • +
    • fill_all(integer): Fill All for integer Objects

    • +
    • fill_all(numeric): Fill All for numeric Objects

    • +
    • fill_all(character): Fill All for character Objects

    • +
    +
    +

    See also

    +

    Other fill: +fill_na()

    +
    + +
    +

    Examples

    +
    
    +# logical
    +fill_all(c(TRUE, NA, FALSE))
    +#> [1] FALSE FALSE FALSE
    +fill_all(c(TRUE, NA, FALSE, nas = FALSE))
    +#>                     nas 
    +#> FALSE FALSE FALSE FALSE 
    +fill_all(c(TRUE, NA, FALSE, value = NA))
    +#>                   value 
    +#> FALSE FALSE FALSE FALSE 
    +
    +# integer
    +fill_all(matrix(1:4, nrow = 2), value = -1)
    +#>      [,1] [,2]
    +#> [1,]   -1   -1
    +#> [2,]   -1   -1
    +
    +# numeric
    +fill_all(c(1, 4, NA), value = TRUE)
    +#> [1] 1 1 1
    +fill_all(c(1, 4, NA), value = TRUE, nas = FALSE)
    +#> [1]  1  1 NA
    +
    +# character
    +fill_all(c("some", "words"), value = TRUE)
    +#> [1] "TRUE" "TRUE"
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/fill_all.integer.html b/dev/reference/fill_all.integer.html new file mode 100644 index 00000000..88f12788 --- /dev/null +++ b/dev/reference/fill_all.integer.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/fill_all.logical.html b/dev/reference/fill_all.logical.html new file mode 100644 index 00000000..88f12788 --- /dev/null +++ b/dev/reference/fill_all.logical.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/fill_all.numeric.html b/dev/reference/fill_all.numeric.html new file mode 100644 index 00000000..88f12788 --- /dev/null +++ b/dev/reference/fill_all.numeric.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/fill_na.character.html b/dev/reference/fill_na.character.html new file mode 100644 index 00000000..ce183253 --- /dev/null +++ b/dev/reference/fill_na.character.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/fill_na.html b/dev/reference/fill_na.html new file mode 100644 index 00000000..fba280ad --- /dev/null +++ b/dev/reference/fill_na.html @@ -0,0 +1,146 @@ + +Fill Missing Values — fill_na • extras + Skip to contents + + +
    +
    +
    + +
    +

    Fills all of an object's missing values +while preserving the object's dimensionality and class.

    +
    + +
    +

    Usage

    +
    fill_na(x, value, ...)
    +
    +# S3 method for class 'logical'
    +fill_na(x, value = FALSE, ...)
    +
    +# S3 method for class 'integer'
    +fill_na(x, value = 0L, ...)
    +
    +# S3 method for class 'numeric'
    +fill_na(x, value = 0, ...)
    +
    +# S3 method for class 'character'
    +fill_na(x, value = "0", ...)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    value
    +

    A scalar of the value to replace values with.

    + + +
    ...
    +

    Other arguments passed to methods.

    + +
    +
    +

    Value

    +

    The modified object.

    +
    +
    +

    Details

    +

    It should only be defined for objects with values of consistent class ie +not standard data.frames.

    +
    +
    +

    Methods (by class)

    + +
    • fill_na(logical): Fill Missing Values for logical Objects

    • +
    • fill_na(integer): Fill Missing Values for integer Objects

    • +
    • fill_na(numeric): Fill Missing Values for numeric Objects

    • +
    • fill_na(character): Fill Missing Values for character Objects

    • +
    +
    +

    See also

    +

    Other fill: +fill_all()

    +
    + +
    +

    Examples

    +
    
    +# logical
    +fill_na(c(TRUE, NA))
    +#> [1]  TRUE FALSE
    +
    +# integer
    +fill_na(c(1L, NA), 0)
    +#> [1] 1 0
    +
    +# numeric
    +fill_na(c(1, NA), Inf)
    +#> [1]   1 Inf
    +
    +# character
    +fill_na(c("text", NA))
    +#> [1] "text" "0"   
    +fill_na(matrix(c("text", NA)), value = Inf)
    +#>      [,1]  
    +#> [1,] "text"
    +#> [2,] "Inf" 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/fill_na.integer.html b/dev/reference/fill_na.integer.html new file mode 100644 index 00000000..ce183253 --- /dev/null +++ b/dev/reference/fill_na.integer.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/fill_na.logical.html b/dev/reference/fill_na.logical.html new file mode 100644 index 00000000..ce183253 --- /dev/null +++ b/dev/reference/fill_na.logical.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/fill_na.numeric.html b/dev/reference/fill_na.numeric.html new file mode 100644 index 00000000..ce183253 --- /dev/null +++ b/dev/reference/fill_na.numeric.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/ilog.html b/dev/reference/ilog.html new file mode 100644 index 00000000..d2319b67 --- /dev/null +++ b/dev/reference/ilog.html @@ -0,0 +1,112 @@ + +Inverse Log Transformation — ilog • extras + Skip to contents + + +
    +
    +
    + +
    +

    Inverse log transforms a numeric atomic object.

    +
    + +
    +

    Usage

    +
    ilog(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + +
    +
    +

    Value

    +

    A numeric atomic object.

    +
    +
    +

    Details

    +

    A wrapper on exp(value).

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    x <- 1
    +ilog(x)
    +#> [1] 2.718282
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ilog10.html b/dev/reference/ilog10.html new file mode 100644 index 00000000..e13e3540 --- /dev/null +++ b/dev/reference/ilog10.html @@ -0,0 +1,112 @@ + +Inverse Log Base 10 Transformation — ilog10 • extras + Skip to contents + + +
    +
    +
    + +
    +

    Inverse log transforms a numeric atomic object with base 10.

    +
    + +
    +

    Usage

    +
    ilog10(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + +
    +
    +

    Value

    +

    A numeric atomic object.

    +
    +
    +

    Details

    +

    A wrapper on exp10(value).

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    x <- c(2, 4.5)
    +ilog10(x)
    +#> [1]   100.00 31622.78
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ilog2.html b/dev/reference/ilog2.html new file mode 100644 index 00000000..2146d151 --- /dev/null +++ b/dev/reference/ilog2.html @@ -0,0 +1,112 @@ + +Inverse Log Base 2 Transformation — ilog2 • extras + Skip to contents + + +
    +
    +
    + +
    +

    Inverse log transforms a numeric atomic object with base 2.

    +
    + +
    +

    Usage

    +
    ilog2(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + +
    +
    +

    Value

    +

    A numeric atomic object.

    +
    +
    +

    Details

    +

    A wrapper on exp2(value).

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    x <- c(2, 4.5)
    +ilog2(x)
    +#> [1]  4.00000 22.62742
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ilogit.html b/dev/reference/ilogit.html new file mode 100644 index 00000000..3db13e6e --- /dev/null +++ b/dev/reference/ilogit.html @@ -0,0 +1,111 @@ + +Inverse Logistic Transformation — ilogit • extras + Skip to contents + + +
    +
    +
    + +
    +

    Inverse logistically transforms a numeric atomic object.

    +
    + +
    +

    Usage

    +
    ilogit(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    A numeric atomic object.

    +
    +
    +

    Details

    +

    A wrapper on stats::plogis().

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    ilogit(c(-1, 0, 5))
    +#> [1] 0.2689414 0.5000000 0.9933071
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/index.html b/dev/reference/index.html new file mode 100644 index 00000000..cbba6471 --- /dev/null +++ b/dev/reference/index.html @@ -0,0 +1,1013 @@ + +Package index • extras + Skip to contents + + +
    +
    +
    + +
    +

    Manipulate Objects

    + +

    Functions to numericise and fill objects

    + + +
    + + + + +
    + + numericise() numericize() + +
    +
    Numericise (or Numericize)
    +
    + + fill_na() + +
    +
    Fill Missing Values
    +
    + + fill_all() + +
    +
    Fill All Values
    +
    +

    Summary Functions

    + +

    Functions to summarise MCMC vectors as scalars

    + + +
    + + + + +
    + + lower() + +
    +
    Lower Credible Limit
    +
    + + upper() + +
    +
    Upper Credible Limit
    +
    + + zscore() + +
    +
    Z-Score
    +
    + + pvalue() + +
    +
    Bayesian P-Value
    +
    + + svalue() + +
    +
    Surprisal Value
    +
    + + xtr_mean() + +
    +
    Mean
    +
    + + xtr_median() + +
    +
    Median
    +
    + + xtr_sd() + +
    +
    Standard Deviation
    +
    + + variance() + +
    +
    Variance
    +
    + + skewness() + +
    +
    Skewness
    +
    + + kurtosis() + +
    +
    Kurtosis
    +
    + + zeros() + +
    +
    Zeros
    +
    + + pzeros() + +
    +
    Proportion of Zeros
    +
    +

    Conversion Functions

    + +

    Conversion functions

    + + +
    + + + + +
    + + fabs() + +
    +
    Absolute
    +
    + + exp2() + +
    +
    Exponential Transformation of Base 2
    +
    + + exp10() + +
    +
    Exponential Transformation of Base 10
    +
    + + ilog() + +
    +
    Inverse Log Transformation
    +
    + + ilog2() + +
    +
    Inverse Log Base 2 Transformation
    +
    + + ilog10() + +
    +
    Inverse Log Base 10 Transformation
    +
    + + ilogit() + +
    +
    Inverse Logistic Transformation
    +
    + + invlogit() + +
    +
    Inverse Logistic Transformation
    +
    + + inv_odds() + +
    +
    Inverse Odds
    +
    + + `log2<-`() + +
    +
    Log Base 2 Transformation
    +
    + + `log10<-`() + +
    +
    Log Base 10 Transformation
    +
    + + logit() + +
    +
    Logistic Transformation
    +
    + + odds() + +
    +
    Odds
    +
    + + phi() + +
    +
    Phi
    +
    + + pow() + +
    +
    Power
    +
    +

    Odds Functions

    + +

    Odds functions

    + + +
    + + + + +
    + + inv_odds() + +
    +
    Inverse Odds
    +
    + + log_odds() + +
    +
    Log Odds
    +
    + + `log_odds<-`() + +
    +
    Inverse Log Odds Transformation
    +
    + + log_odds_ratio() + +
    +
    Log-Odds Ratio
    +
    + + log_odds_ratio2() + +
    +
    Log Odds Ratio2
    +
    + + odds() + +
    +
    Odds
    +
    + + `odds<-`() + +
    +
    Inverse Odds Transformation
    +
    + + odds_ratio() + +
    +
    Odds Ratio
    +
    + + odds_ratio2() + +
    +
    Odds Ratio2
    +
    +

    Proportional Functions

    + +

    Proportional functions

    + + +
    + + + + +
    + + proportional_change() + +
    +
    Proportional Change
    +
    + + proportional_change2() + +
    +
    Proportional Change2
    +
    + + proportional_difference() + +
    +
    Proportional Difference
    +
    + + proportional_difference2() + +
    +
    Proportional Difference2
    +
    +

    Translations

    + +

    Translations of BUGS/JAGS functions

    + + +
    + + + + +
    + + fabs() + +
    +
    Absolute
    +
    + + ilog() + +
    +
    Inverse Log Transformation
    +
    + + ilogit() + +
    +
    Inverse Logistic Transformation
    +
    + + invlogit() + +
    +
    Inverse Logistic Transformation
    +
    + + inv_logit() + +
    +
    Inverse Logistic Transformation
    +
    + + `log<-`() + +
    +
    Log Transformation
    +
    + + logit() + +
    +
    Logistic Transformation
    +
    + + `logit<-`() + +
    +
    Logistic Transformation
    +
    + + phi() + +
    +
    Phi
    +
    + + pow() + +
    +
    Power
    +
    + + step() + +
    +
    Step
    +
    +

    Checks and Validation

    + +

    Functions to check argument values

    + + +
    + + + + +
    + + chk_pars() vld_pars() + +
    +
    Check Parameter Names
    +
    + + chk_index() vld_index() + +
    +
    Check Index
    +
    + + chk_indices() vld_indices() + +
    +
    Check Indices
    +
    +

    Deviance

    + +

    Deviances and Deviance Residuals

    + + +
    + + + + +
    + + dev_bern() + +
    +
    Bernoulli Deviances
    +
    + + dev_beta_binom() + +
    +
    Beta-Binomial Deviances
    +
    + + dev_binom() + +
    +
    Binomial Deviances
    +
    + + dev_gamma() + +
    +
    Gamma Deviances
    +
    + + dev_gamma_pois() + +
    +
    Gamma-Poisson Deviances
    +
    + + dev_gamma_pois_zi() + +
    +
    Zero-Inflated Gamma-Poisson Deviances
    +
    + + dev_lnorm() + +
    +
    Log-Normal Deviances
    +
    + + dev_neg_binom() + +
    +
    Negative Binomial Deviances
    +
    + + dev_norm() + +
    +
    Normal Deviances
    +
    + + dev_pois() + +
    +
    Poisson Deviances
    +
    + + dev_pois_zi() + +
    +
    Zero-Inflated Poisson Deviances
    +
    + + dev_skewnorm() + +
    +
    Skew Normal Deviances
    +
    + + dev_student() + +
    +
    Student's t Deviances
    +
    +

    Residual

    + +

    Raw and Deviance Residuals

    + + +
    + + + + +
    + + res_bern() + +
    +
    Bernoulli Residuals
    +
    + + res_beta_binom() + +
    +
    Beta-Binomial Residuals
    +
    + + res_binom() + +
    +
    Binomial Residuals
    +
    + + res_gamma() + +
    +
    Gamma Residuals
    +
    + + res_gamma_pois() + +
    +
    Gamma-Poisson Residuals
    +
    + + res_gamma_pois_zi() + +
    +
    Zero-Inflated Gamma-Poisson Residuals
    +
    + + res_lnorm() + +
    +
    Log-Normal Residuals
    +
    + + res_neg_binom() + +
    +
    Negative Binomial Residuals
    +
    + + res_norm() + +
    +
    Normal Residuals
    +
    + + res_pois() + +
    +
    Poisson Residuals
    +
    + + res_pois_zi() + +
    +
    Zero-Inflated Poisson Residuals
    +
    + + res_skewnorm() + +
    +
    Skew Normal Residuals
    +
    + + res_student() + +
    +
    Student's t Residuals
    +
    +

    Log-Likelihood

    + +

    Log-likelihood functions

    + + +
    + + + + +
    + + log_lik_bern() + +
    +
    Bernoulli Log-Likelihood
    +
    + + log_lik_beta_binom() + +
    +
    Beta-Binomial Log-Likelihood
    +
    + + log_lik_binom() + +
    +
    Binomial Log-Likelihood
    +
    + + log_lik_gamma() + +
    +
    Gamma Log-Likelihood
    +
    + + log_lik_gamma_pois() + +
    +
    Gamma-Poisson Log-Likelihood
    +
    + + log_lik_gamma_pois_zi() + +
    +
    Zero-Inflated Gamma-Poisson Log-Likelihood
    +
    + + log_lik_lnorm() + +
    +
    Log-Normal Log-Likelihood
    +
    + + log_lik_neg_binom() + +
    +
    Negative Binomial Log-Likelihood
    +
    + + log_lik_norm() + +
    +
    Normal Log-Likelihood
    +
    + + log_lik_pois() + +
    +
    Poisson Log-Likelihood
    +
    + + log_lik_pois_zi() + +
    +
    Zero-Inflated Poisson Log-Likelihood
    +
    + + log_lik_skewnorm() + +
    +
    Skew Normal Log-Likelihood
    +
    + + log_lik_student() + +
    +
    Student's t Log-Likelihood
    +
    +

    Random

    + +

    Random sample functions

    + + +
    + + + + +
    + + ran_bern() + +
    +
    Bernoulli Random Samples
    +
    + + ran_beta_binom() + +
    +
    Beta-Binomial Random Samples
    +
    + + ran_binom() + +
    +
    Binomial Random Samples
    +
    + + ran_gamma() + +
    +
    Gamma Random Samples
    +
    + + ran_gamma_pois() + +
    +
    Gamma-Poisson Random Samples
    +
    + + ran_gamma_pois_zi() + +
    +
    Zero-Inflated Gamma-Poisson Random Samples
    +
    + + ran_lnorm() + +
    +
    Log-Normal Random Samples
    +
    + + ran_neg_binom() + +
    +
    Negative Binomial Random Samples
    +
    + + ran_norm() + +
    +
    Normal Random Samples
    +
    + + ran_pois() + +
    +
    Poisson Random Samples
    +
    + + ran_pois_zi() + +
    +
    Zero-Inflated Poisson Random Samples
    +
    + + ran_skewnorm() + +
    +
    Skew Normal Random Samples
    +
    + + ran_student() + +
    +
    Student's t Random Samples
    +
    +

    Sensitivity

    + +

    Sensitivity functions

    + + +
    + + + + +
    + + sens_beta() + +
    +
    Adjust Beta Distribution Parameters for Sensitivity Analyses
    +
    + + sens_exp() + +
    +
    Adjust Exponential Distribution Parameters for Sensitivity Analyses
    +
    + + sens_gamma() + +
    +
    Adjust Gamma Distribution Parameters for Sensitivity Analyses
    +
    + + sens_gamma_pois() + +
    +
    Adjust Gamma-Poisson Distribution Parameters for Sensitivity Analyses
    +
    + + sens_gamma_pois_zi() + +
    +
    Adjust Zero-Inflated Gamma-Poisson Distribution Parameters for Sensitivity Analyses
    +
    + + sens_lnorm() + +
    +
    Adjust Log-Normal Distribution Parameters for Sensitivity Analysis
    +
    + + sens_neg_binom() + +
    +
    Adjust Negative Binomial Distribution Parameters for Sensitivity Analyses
    +
    + + sens_norm() + +
    +
    Adjust Normal Distribution Parameters for Sensitivity Analyses
    +
    + + sens_pois() + +
    +
    Adjust Poisson Distribution Parameters for Sensitivity Analyses
    +
    + + sens_skewnorm() + +
    +
    Adjust Skew Normal Distribution Parameters for Sensitivity Analyses
    +
    + + sens_student() + +
    +
    Adjust Student's t Distribution Parameters for Sensitivity Analyses
    +
    +

    Bernoulli

    + +

    Bernoulli distribution functions

    + + +
    + + + + +
    + + dbern() pbern() qbern() rbern() + +
    +
    Bernoulli Distribution
    +
    +

    Skew Normal

    + +

    Skew Normal distribution functions

    + + +
    + + + + +
    + + dskewnorm() pskewnorm() qskewnorm() rskewnorm() + +
    +
    Skew-Normal Distribution
    +
    +

    Miscellaneous

    + +

    Miscellaneous functions

    + + +
    + + + + +
    + + par_pattern() + +
    +
    Parameter Pattern
    +
    +

    Generics

    + +

    Generic Functions

    + + +
    + + + + +
    + + as_list() + +
    +
    As List
    +
    +

    Deprecated

    + +

    Deprecated functions

    + + +
    + + + + +
    + + pextreme() + deprecated +
    +
    Extreme Probability
    +
    + + sextreme() + deprecated +
    +
    Extreme Surprisal
    +
    + + as_list_unnamed() + +
    +
    As List
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/inv_logit.html b/dev/reference/inv_logit.html new file mode 100644 index 00000000..22b09153 --- /dev/null +++ b/dev/reference/inv_logit.html @@ -0,0 +1,111 @@ + +Inverse Logistic Transformation — inv_logit • extras + Skip to contents + + +
    +
    +
    + +
    +

    Inverse logistically transforms a numeric atomic object.

    +
    + +
    +

    Usage

    +
    inv_logit(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    A numeric atomic object.

    +
    +
    +

    Details

    +

    A wrapper on stats::plogis().

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    inv_logit(c(-1, 0, 5))
    +#> [1] 0.2689414 0.5000000 0.9933071
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/inv_odds.html b/dev/reference/inv_odds.html new file mode 100644 index 00000000..56055b81 --- /dev/null +++ b/dev/reference/inv_odds.html @@ -0,0 +1,97 @@ + +Inverse Odds — inv_odds • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the probabilities for odds.

    +
    + +
    +

    Usage

    +
    inv_odds(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object (vector, matrix or array) of odds.

    + +
    +
    +

    Value

    +

    A numeric object of the the probabilities for each odd.

    +
    +
    +

    See also

    +

    Other odds: +log_odds(), +log_odds<-(), +log_odds_ratio(), +odds(), +odds<-(), +odds_ratio()

    +
    + +
    +

    Examples

    +
    inv_odds(c(0, 1, 9, 9999))
    +#> [1] 0.0000 0.5000 0.9000 0.9999
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/invlogit.html b/dev/reference/invlogit.html new file mode 100644 index 00000000..e7e6b7b0 --- /dev/null +++ b/dev/reference/invlogit.html @@ -0,0 +1,111 @@ + +Inverse Logistic Transformation — invlogit • extras + Skip to contents + + +
    +
    +
    + +
    +

    Inverse logistically transforms a numeric atomic object.

    +
    + +
    +

    Usage

    +
    invlogit(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    A numeric atomic object.

    +
    +
    +

    Details

    +

    A wrapper on stats::plogis().

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    invlogit(c(-1, 0, 5))
    +#> [1] 0.2689414 0.5000000 0.9933071
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/kurtosis.html b/dev/reference/kurtosis.html new file mode 100644 index 00000000..989b0c2c --- /dev/null +++ b/dev/reference/kurtosis.html @@ -0,0 +1,107 @@ + +Kurtosis — kurtosis • extras + Skip to contents + + +
    +
    +
    + +
    +

    Kurtosis

    +
    + +
    +

    Usage

    +
    kurtosis(x, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other summary: +lower(), +pvalue(), +pzeros(), +skewness(), +svalue(), +upper(), +variance(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    kurtosis(1:10)
    +#> [1] -1.224242
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log-set.html b/dev/reference/log-set.html new file mode 100644 index 00000000..f817268e --- /dev/null +++ b/dev/reference/log-set.html @@ -0,0 +1,117 @@ + +Log Transformation — log<- • extras + Skip to contents + + +
    +
    +
    + +
    +

    Replaces a object with the exponent of value.

    +
    + +
    +

    Usage

    +
    log(x) <- value
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    value
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    Called for the side effect of updating x.

    +
    +
    +

    Details

    +

    A wrapper on exp(value).

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    x <- NULL
    +log(x) <- 0.5
    +x
    +#> [1] 1.648721
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log10-set.html b/dev/reference/log10-set.html new file mode 100644 index 00000000..e7826efd --- /dev/null +++ b/dev/reference/log10-set.html @@ -0,0 +1,117 @@ + +Log Base 10 Transformation — log10<- • extras + Skip to contents + + +
    +
    +
    + +
    +

    Replaces a object with the base 10 exponent of value.

    +
    + +
    +

    Usage

    +
    log10(x) <- value
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    value
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    Called for the side effect of updating x.

    +
    +
    +

    Details

    +

    A wrapper on exp10(value).

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    x <- NULL
    +log10(x) <- c(0.5, 5)
    +x
    +#> [1] 3.162278e+00 1.000000e+05
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log2-set.html b/dev/reference/log2-set.html new file mode 100644 index 00000000..6572d71a --- /dev/null +++ b/dev/reference/log2-set.html @@ -0,0 +1,117 @@ + +Log Base 2 Transformation — log2<- • extras + Skip to contents + + +
    +
    +
    + +
    +

    Replaces a object with the base 2 exponent of value.

    +
    + +
    +

    Usage

    +
    log2(x) <- value
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    value
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    Called for the side effect of updating x.

    +
    +
    +

    Details

    +

    A wrapper on exp2(value).

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    x <- NULL
    +log2(x) <- c(0.5, 5)
    +x
    +#> [1]  1.414214 32.000000
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_bern.html b/dev/reference/log_lik_bern.html new file mode 100644 index 00000000..420a5d92 --- /dev/null +++ b/dev/reference/log_lik_bern.html @@ -0,0 +1,108 @@ + +Bernoulli Log-Likelihood — log_lik_bern • extras + Skip to contents + + +
    +
    +
    + +
    +

    Bernoulli Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_bern(x, prob = 0.5)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A vector of 0s and 1s.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_bern(c(TRUE, FALSE), 0.7)
    +#> [1] -0.3566749 -1.2039728
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_beta_binom.html b/dev/reference/log_lik_beta_binom.html new file mode 100644 index 00000000..9a36c48c --- /dev/null +++ b/dev/reference/log_lik_beta_binom.html @@ -0,0 +1,145 @@ + +Beta-Binomial Log-Likelihood — log_lik_beta_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    This parameterization of the beta-binomial distribution uses an expected +probability parameter, prob, and a dispersion parameter, theta. The +parameters of the underlying beta mixture are alpha = (2 * prob) / theta +and beta = (2 * (1 - prob)) / theta. This parameterization of theta is +unconventional, but has useful properties when modelling. When theta = 0, +the beta-binomial reverts to the binomial distribution. When theta = 1 and +prob = 0.5, the parameters of the beta distribution become alpha = 1 and +beta = 1, which correspond to a uniform distribution for the beta-binomial +probability parameter.

    +
    + +
    +

    Usage

    +
    log_lik_beta_binom(x, size = 1, prob = 0.5, theta = 0, memoize = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    size
    +

    A non-negative whole numeric vector of the number of trials.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    memoize
    +

    Whether or not to memoize the function.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_beta_binom(c(0, 1, 2), 3, 0.5, 0)
    +#> [1] -2.0794415 -0.9808293 -0.9808293
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_binom.html b/dev/reference/log_lik_binom.html new file mode 100644 index 00000000..abb8f92a --- /dev/null +++ b/dev/reference/log_lik_binom.html @@ -0,0 +1,112 @@ + +Binomial Log-Likelihood — log_lik_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    Binomial Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_binom(x, size = 1, prob = 0.5)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    size
    +

    A non-negative whole numeric vector of the number of trials.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_binom(c(0, 1, 2), 2, 0.3)
    +#> [1] -0.7133499 -0.8675006 -2.4079456
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_gamma.html b/dev/reference/log_lik_gamma.html new file mode 100644 index 00000000..dd064458 --- /dev/null +++ b/dev/reference/log_lik_gamma.html @@ -0,0 +1,111 @@ + +Gamma Log-Likelihood — log_lik_gamma • extras + Skip to contents + + +
    +
    +
    + +
    +

    Gamma Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_gamma(x, shape = 1, rate = 1)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    shape
    +

    A non-negative numeric vector of shape.

    + + +
    rate
    +

    A non-negative numeric vector of rate.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_gamma(c(0, 1, 2), 1, 2)
    +#> [1]  0.6931472 -1.3068528 -3.3068528
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_gamma_pois.html b/dev/reference/log_lik_gamma_pois.html new file mode 100644 index 00000000..f781f28a --- /dev/null +++ b/dev/reference/log_lik_gamma_pois.html @@ -0,0 +1,112 @@ + +Gamma-Poisson Log-Likelihood — log_lik_gamma_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Gamma-Poisson Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_gamma_pois(x, lambda = 1, theta = 0)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_gamma_pois(c(0, 1, 2), 1, 1)
    +#> [1] -0.6931472 -1.3862944 -2.0794415
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_gamma_pois_zi.html b/dev/reference/log_lik_gamma_pois_zi.html new file mode 100644 index 00000000..7800e911 --- /dev/null +++ b/dev/reference/log_lik_gamma_pois_zi.html @@ -0,0 +1,117 @@ + +Zero-Inflated Gamma-Poisson Log-Likelihood — log_lik_gamma_pois_zi • extras + Skip to contents + + +
    +
    +
    + +
    +

    Zero-Inflated Gamma-Poisson Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_gamma_pois_zi(x, lambda = 1, theta = 0, prob = 0)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_gamma_pois_zi(c(1, 3, 4), 3, 1, prob = 0.5)
    +#> [1] -2.367124 -2.942488 -3.230170
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_lnorm.html b/dev/reference/log_lik_lnorm.html new file mode 100644 index 00000000..7c581e7d --- /dev/null +++ b/dev/reference/log_lik_lnorm.html @@ -0,0 +1,112 @@ + +Log-Normal Log-Likelihood — log_lik_lnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Log-Normal Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_lnorm(x, meanlog = 0, sdlog = 1)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    meanlog
    +

    A numeric vector of the means on the log scale.

    + + +
    sdlog
    +

    A non-negative numeric vector of the standard deviations on the +log scale.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_lnorm(10, 0, 2)
    +#> [1] -4.577408
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_neg_binom.html b/dev/reference/log_lik_neg_binom.html new file mode 100644 index 00000000..f90ac5eb --- /dev/null +++ b/dev/reference/log_lik_neg_binom.html @@ -0,0 +1,112 @@ + +Negative Binomial Log-Likelihood — log_lik_neg_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    Negative Binomial Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_neg_binom(x, lambda = 1, theta = 0)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_neg_binom(c(0, 1, 2), 2, 1)
    +#> [1] -1.098612 -1.504077 -1.909543
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_norm.html b/dev/reference/log_lik_norm.html new file mode 100644 index 00000000..011ccb65 --- /dev/null +++ b/dev/reference/log_lik_norm.html @@ -0,0 +1,111 @@ + +Normal Log-Likelihood — log_lik_norm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Normal Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_norm(x, mean = 0, sd = 1)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_norm(c(-2:2))
    +#> [1] -2.9189385 -1.4189385 -0.9189385 -1.4189385 -2.9189385
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_pois.html b/dev/reference/log_lik_pois.html new file mode 100644 index 00000000..db416307 --- /dev/null +++ b/dev/reference/log_lik_pois.html @@ -0,0 +1,107 @@ + +Poisson Log-Likelihood — log_lik_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Poisson Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_pois(x, lambda = 1)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_pois(c(1, 3, 4), 3)
    +#> [1] -1.901388 -1.495923 -1.783605
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_pois_zi.html b/dev/reference/log_lik_pois_zi.html new file mode 100644 index 00000000..813ccf0b --- /dev/null +++ b/dev/reference/log_lik_pois_zi.html @@ -0,0 +1,112 @@ + +Zero-Inflated Poisson Log-Likelihood — log_lik_pois_zi • extras + Skip to contents + + +
    +
    +
    + +
    +

    Zero-Inflated Poisson Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_pois_zi(x, lambda = 1, prob = 0)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_pois_zi(c(1, 3, 4), 3, prob = 0.5)
    +#> [1] -2.594535 -2.189070 -2.476752
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_skewnorm.html b/dev/reference/log_lik_skewnorm.html new file mode 100644 index 00000000..5c8afcd1 --- /dev/null +++ b/dev/reference/log_lik_skewnorm.html @@ -0,0 +1,119 @@ + +Skew Normal Log-Likelihood — log_lik_skewnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Skew Normal Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_skewnorm(x, mean = 0, sd = 1, shape = 0)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    shape
    +

    A numeric vector of shape.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_skewnorm(c(-2:2))
    +#> [1] -2.9189385 -1.4189385 -0.9189385 -1.4189385 -2.9189385
    +log_lik_skewnorm(c(-2:2), shape = -2)
    +#> [1]  -2.2258230  -0.7488043  -0.9189385  -4.5089757 -12.5858928
    +log_lik_skewnorm(c(-2:2), shape = 2)
    +#> [1] -12.5858928  -4.5089757  -0.9189385  -0.7488043  -2.2258230
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_lik_student.html b/dev/reference/log_lik_student.html new file mode 100644 index 00000000..59dd5493 --- /dev/null +++ b/dev/reference/log_lik_student.html @@ -0,0 +1,116 @@ + +Student's t Log-Likelihood — log_lik_student • extras + Skip to contents + + +
    +
    +
    + +
    +

    Student's t Log-Likelihood

    +
    + +
    +

    Usage

    +
    log_lik_student(x, mean = 0, sd = 1, theta = 0)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding log-likelihoods.

    +
    + + +
    +

    Examples

    +
    log_lik_student(c(1, 3.5, 4), mean = 1, sd = 2, theta = 1 / 3)
    +#> [1] -1.694036 -2.532553 -2.813268
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_odds-set.html b/dev/reference/log_odds-set.html new file mode 100644 index 00000000..af71029e --- /dev/null +++ b/dev/reference/log_odds-set.html @@ -0,0 +1,103 @@ + +Inverse Log Odds Transformation — log_odds<- • extras + Skip to contents + + +
    +
    +
    + +
    +

    Replaces an object with the inverse log odds of value.

    +
    + +
    +

    Usage

    +
    log_odds(x) <- value
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An existing R object.

    + + +
    value
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    Called for the side effect of updating x.

    +
    +
    +

    See also

    +

    Other odds: +inv_odds(), +log_odds(), +log_odds_ratio(), +odds(), +odds<-(), +odds_ratio()

    +
    + +
    +

    Examples

    +
    x <- NULL
    +log_odds(x) <- 0.5
    +x
    +#> [1] -1.098612
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_odds.html b/dev/reference/log_odds.html new file mode 100644 index 00000000..5b383a94 --- /dev/null +++ b/dev/reference/log_odds.html @@ -0,0 +1,97 @@ + +Log Odds — log_odds • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the log odds for probabilities.

    +
    + +
    +

    Usage

    +
    log_odds(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object (vector, matrix or array) of probabilities.

    + +
    +
    +

    Value

    +

    A numeric object of the the log odds for each probability.

    +
    +
    +

    See also

    +

    Other odds: +inv_odds(), +log_odds<-(), +log_odds_ratio(), +odds(), +odds<-(), +odds_ratio()

    +
    + +
    +

    Examples

    +
    log_odds(c(0, 0.5, 0.9, 1))
    +#> [1]     -Inf 0.000000 2.197225      Inf
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_odds_ratio.html b/dev/reference/log_odds_ratio.html new file mode 100644 index 00000000..391206f4 --- /dev/null +++ b/dev/reference/log_odds_ratio.html @@ -0,0 +1,101 @@ + +Log-Odds Ratio — log_odds_ratio • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the log odds ratio for two probabilities.

    +
    + +
    +

    Usage

    +
    log_odds_ratio(x, x2)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object (vector, matrix or array) of probabilities.

    + + +
    x2
    +

    A second numeric object of probabilities.

    + +
    +
    +

    Value

    +

    A numeric object of the log odds ratios.

    +
    +
    +

    See also

    +

    Other odds: +inv_odds(), +log_odds(), +log_odds<-(), +odds(), +odds<-(), +odds_ratio()

    +
    + +
    +

    Examples

    +
    log_odds_ratio(0.5, 0.75)
    +#> [1] -1.098612
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/log_odds_ratio2.html b/dev/reference/log_odds_ratio2.html new file mode 100644 index 00000000..a3916a45 --- /dev/null +++ b/dev/reference/log_odds_ratio2.html @@ -0,0 +1,94 @@ + +Log Odds Ratio2 — log_odds_ratio2 • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the log odds ratio for a vector of two probabilities.

    +
    + +
    +

    Usage

    +
    log_odds_ratio2(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of length 2.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other odds fun2: +odds_ratio2()

    +
    + +
    +

    Examples

    +
    log_odds_ratio2(c(0.5, 0.9))
    +#> [1] -2.197225
    +log_odds_ratio2(c(0.9, 0.5))
    +#> [1] 2.197225
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/logit-set.html b/dev/reference/logit-set.html new file mode 100644 index 00000000..43e92c54 --- /dev/null +++ b/dev/reference/logit-set.html @@ -0,0 +1,118 @@ + +Logistic Transformation — logit<- • extras + Skip to contents + + +
    +
    +
    + +
    +

    Logistic Transformation

    +
    + +
    +

    Usage

    +
    logit(x) <- value
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An existing object.

    + + +
    value
    +

    A numeric atomic object of the value to +inverse logistically transform.

    + +
    +
    +

    Value

    +

    Called for the side effect of updating x.

    +
    +
    +

    Details

    +

    A wrapper on stats::plogis(value).

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    x <- 1
    +logit(x) <- 0.5
    +x
    +#> [1] 0.6224593
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/logit.html b/dev/reference/logit.html new file mode 100644 index 00000000..bd419041 --- /dev/null +++ b/dev/reference/logit.html @@ -0,0 +1,111 @@ + +Logistic Transformation — logit • extras + Skip to contents + + +
    +
    +
    + +
    +

    Logistic transforms a numeric atomic object.

    +
    + +
    +

    Usage

    +
    logit(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    The logistically transformed numeric atomic object.

    +
    +
    +

    Details

    +

    A wrapper on stats::qlogis().

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit<-(), +phi(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    logit(c(0.25, 0.5, 0.75))
    +#> [1] -1.098612  0.000000  1.098612
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/lower.html b/dev/reference/lower.html new file mode 100644 index 00000000..08aae3be --- /dev/null +++ b/dev/reference/lower.html @@ -0,0 +1,117 @@ + +Lower Credible Limit — lower • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the quantile-based lower credible limit.

    +
    + +
    +

    Usage

    +
    lower(x, conf_level = 0.95, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of MCMC values.

    + + +
    conf_level
    +

    A numeric scalar between 0 and 1 specifying the confidence +level.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    Details

    +

    By default it returns the 95% credible limit which +corresponds to the 2.5% quantile.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +pvalue(), +pzeros(), +skewness(), +svalue(), +upper(), +variance(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    lower(as.numeric(0:100))
    +#> [1] 2.5
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/numericise.Date.html b/dev/reference/numericise.Date.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.Date.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericise.POSIXct.html b/dev/reference/numericise.POSIXct.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.POSIXct.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericise.array.html b/dev/reference/numericise.array.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.array.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericise.data.frame.html b/dev/reference/numericise.data.frame.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.data.frame.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericise.double.html b/dev/reference/numericise.double.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.double.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericise.factor.html b/dev/reference/numericise.factor.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.factor.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericise.hms.html b/dev/reference/numericise.hms.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.hms.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericise.html b/dev/reference/numericise.html new file mode 100644 index 00000000..a8aa1126 --- /dev/null +++ b/dev/reference/numericise.html @@ -0,0 +1,194 @@ + +Numericise (or Numericize) — numericise • extras + Skip to contents + + +
    +
    +
    + +
    +

    Coerce an R object to a numeric atomic object.

    +
    + +
    +

    Usage

    +
    numericise(x, ...)
    +
    +numericize(x, ...)
    +
    +# S3 method for class 'logical'
    +numericise(x, ...)
    +
    +# S3 method for class 'integer'
    +numericise(x, ...)
    +
    +# S3 method for class 'double'
    +numericise(x, ...)
    +
    +# S3 method for class 'factor'
    +numericise(x, ...)
    +
    +# S3 method for class 'Date'
    +numericise(x, ...)
    +
    +# S3 method for class 'POSIXct'
    +numericise(x, ...)
    +
    +# S3 method for class 'hms'
    +numericise(x, ...)
    +
    +# S3 method for class 'matrix'
    +numericise(x, ...)
    +
    +# S3 method for class 'array'
    +numericise(x, ...)
    +
    +# S3 method for class 'data.frame'
    +numericise(x, ...)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An object.

    + + +
    ...
    +

    Other arguments passed to methods.

    + +
    +
    +

    Value

    +

    A numeric atomic object.

    +
    +
    +

    Details

    +

    numericize() is an alias for numericise. +If you want to implement a method for a class "foo", implement +numericise.foo().

    +
    +
    +

    Methods (by class)

    + +
    • numericise(logical): Numericise a logical Object

    • +
    • numericise(integer): Numericise an integer Object

    • +
    • numericise(double): Numericise an double Object

    • +
    • numericise(factor): Numericise a factor

    • +
    • numericise(Date): Numericise a Date vector

    • +
    • numericise(POSIXct): Numericise a POSIXct vector

    • +
    • numericise(hms): Numericise a hms vector

    • +
    • numericise(matrix): Numericise a matrix

    • +
    • numericise(array): Numericise an array

    • +
    • numericise(data.frame): Numericise a data.frame

    • +
    + +
    +

    Examples

    +
    
    +# logical
    +numericise(TRUE)
    +#> [1] 1
    +numericise(matrix(c(TRUE, FALSE), nrow = 2))
    +#>      [,1]
    +#> [1,]    1
    +#> [2,]    0
    +
    +# integer
    +numericise(2L)
    +#> [1] 2
    +
    +# double
    +numericise(c(1, 3))
    +#> [1] 1 3
    +
    +# factor
    +numericise(factor(c("c", "a")))
    +#> [1] 2 1
    +
    +# Date
    +numericise(as.Date("1972-01-01"))
    +#> [1] 730
    +
    +# POSIXct
    +numericise(as.POSIXct("1972-01-01", tz = "UTC"))
    +#> [1] 63072000
    +
    +# hms
    +numericise(hms::as_hms("00:01:03"))
    +#> [1] 63
    +
    +# matrix
    +numericise(matrix(TRUE))
    +#>      [,1]
    +#> [1,]    1
    +
    +# array
    +numericise(array(TRUE))
    +#> [1] 1
    +
    +# data.frame
    +numericise(data.frame(
    +  logical = c(TRUE, FALSE, NA),
    +  integer = 1:3,
    +  numeric = c(4, 10, NA),
    +  factor = as.factor(c("c", "A", "green"))
    +))
    +#>      logical integer numeric factor
    +#> [1,]       1       1       4      2
    +#> [2,]       0       2      10      1
    +#> [3,]      NA       3      NA      3
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/numericise.integer.html b/dev/reference/numericise.integer.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.integer.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericise.logical.html b/dev/reference/numericise.logical.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.logical.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericise.matrix.html b/dev/reference/numericise.matrix.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericise.matrix.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/numericize.html b/dev/reference/numericize.html new file mode 100644 index 00000000..1b2675e5 --- /dev/null +++ b/dev/reference/numericize.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/odds-set.html b/dev/reference/odds-set.html new file mode 100644 index 00000000..60e5c25e --- /dev/null +++ b/dev/reference/odds-set.html @@ -0,0 +1,103 @@ + +Inverse Odds Transformation — odds<- • extras + Skip to contents + + +
    +
    +
    + +
    +

    Replaces an object with the inverse odds of value.

    +
    + +
    +

    Usage

    +
    odds(x) <- value
    +
    + +
    +

    Arguments

    + + +
    x
    +

    An existing R object.

    + + +
    value
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    Called for the side effect of updating x.

    +
    +
    +

    See also

    +

    Other odds: +inv_odds(), +log_odds(), +log_odds<-(), +log_odds_ratio(), +odds(), +odds_ratio()

    +
    + +
    +

    Examples

    +
    x <- NULL
    +odds(x) <- 0.5
    +x
    +#> [1] 0.3333333
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/odds.html b/dev/reference/odds.html new file mode 100644 index 00000000..36feff6b --- /dev/null +++ b/dev/reference/odds.html @@ -0,0 +1,97 @@ + +Odds — odds • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the odds for probabilities.

    +
    + +
    +

    Usage

    +
    odds(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object (vector, matrix or array) of probabilities.

    + +
    +
    +

    Value

    +

    A numeric object of the the odds for each probability.

    +
    +
    +

    See also

    +

    Other odds: +inv_odds(), +log_odds(), +log_odds<-(), +log_odds_ratio(), +odds<-(), +odds_ratio()

    +
    + +
    +

    Examples

    +
    odds(c(0, 0.5, 0.9, 1))
    +#> [1]   0   1   9 Inf
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/odds_ratio.html b/dev/reference/odds_ratio.html new file mode 100644 index 00000000..7a94951c --- /dev/null +++ b/dev/reference/odds_ratio.html @@ -0,0 +1,101 @@ + +Odds Ratio — odds_ratio • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the odds ratio for two probabilities.

    +
    + +
    +

    Usage

    +
    odds_ratio(x, x2)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object (vector, matrix or array) of probabilities.

    + + +
    x2
    +

    A second numeric object of probabilities.

    + +
    +
    +

    Value

    +

    A numeric object of the odds ratios.

    +
    +
    +

    See also

    +

    Other odds: +inv_odds(), +log_odds(), +log_odds<-(), +log_odds_ratio(), +odds(), +odds<-()

    +
    + +
    +

    Examples

    +
    odds_ratio(0.5, 0.75)
    +#> [1] 0.3333333
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/odds_ratio2.html b/dev/reference/odds_ratio2.html new file mode 100644 index 00000000..3ee9e214 --- /dev/null +++ b/dev/reference/odds_ratio2.html @@ -0,0 +1,94 @@ + +Odds Ratio2 — odds_ratio2 • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the odds ratio for a vector of two probabilities.

    +
    + +
    +

    Usage

    +
    odds_ratio2(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of length 2.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other odds fun2: +log_odds_ratio2()

    +
    + +
    +

    Examples

    +
    odds_ratio2(c(0.5, 0.9))
    +#> [1] 0.1111111
    +odds_ratio2(c(0.9, 0.5))
    +#> [1] 9
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/par_pattern.html b/dev/reference/par_pattern.html new file mode 100644 index 00000000..093e5b2f --- /dev/null +++ b/dev/reference/par_pattern.html @@ -0,0 +1,79 @@ + +Parameter Pattern — par_pattern • extras + Skip to contents + + +
    +
    +
    + +
    +

    Parameter Pattern

    +
    + +
    +

    Usage

    +
    par_pattern()
    +
    + +
    +

    Value

    +

    A string of the regular expression for a parameter name.

    +
    + +
    +

    Examples

    +
    par_pattern()
    +#> [1] "[[:alpha:]][[:alnum:]._]*"
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/parameters.html b/dev/reference/parameters.html new file mode 100644 index 00000000..d26deab5 --- /dev/null +++ b/dev/reference/parameters.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/params.html b/dev/reference/params.html new file mode 100644 index 00000000..5a7ff1a4 --- /dev/null +++ b/dev/reference/params.html @@ -0,0 +1,203 @@ + +Parameter Descriptions — params • extras + Skip to contents + + +
    +
    +
    + +
    +

    Default parameter descriptions which may be overridden in individual +functions.

    +
    + + +
    +

    Arguments

    + + +
    ...
    +

    Other arguments passed to methods.

    + + +
    alpha
    +

    The first shape parameter of the Beta distribution.

    + + +
    beta
    +

    The second shape parameter of the Beta distribution.

    + + +
    conf_level
    +

    A numeric scalar between 0 and 1 specifying the confidence +level.

    + + +
    directional
    +

    A flag specifying whether probabilities less than 0.5 +should be returned as negative values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    log
    +

    A flag specifying whether to return the log-transformed value.

    + + +
    lower.tail
    +

    A flag specifying whether to return the lower or upper tail +of the distribution.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    meanlog
    +

    A numeric vector of the means on the log scale.

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + + +
    nas
    +

    A flag specifying whether to also fill missing values.

    + + +
    p
    +

    A vector of probabilities.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    q
    +

    A vector of quantiles.

    + + +
    rate
    +

    A non-negative numeric vector of rate.

    + + +
    res
    +

    A flag specifying whether to return the deviance residual as +opposed to the deviance.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + + +
    sdlog
    +

    A non-negative numeric vector of the standard deviations on the +log scale.

    + + +
    shape
    +

    A non-negative numeric vector of shape.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + + +
    size
    +

    A non-negative whole numeric vector of the number of trials.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    threshold
    +

    A number of the threshold value.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    value
    +

    A scalar of the value to replace values with.

    + + +
    x
    +

    An object.

    + +
    +
    +

    Details

    +

    A flag is a non-missing logical scalar.

    +

    A string is a non-missing character scalar.

    +
    + +
    + + +
    + + + + + + + diff --git a/dev/reference/pbern.html b/dev/reference/pbern.html new file mode 100644 index 00000000..81fcc394 --- /dev/null +++ b/dev/reference/pbern.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/pextreme.html b/dev/reference/pextreme.html new file mode 100644 index 00000000..e68b00ba --- /dev/null +++ b/dev/reference/pextreme.html @@ -0,0 +1,99 @@ + +Extreme Probability — pextreme • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the probability that a cumulative distribution function +probability is at least that extreme. +[Deprecated]

    +
    + +
    +

    Usage

    +
    pextreme(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values between 0 and 1.

    + +
    +
    +

    Value

    +

    A numeric vector of values between 0 and 1.

    +
    +
    +

    See also

    +

    Other residuals: +sextreme()

    +
    + +
    +

    Examples

    +
    pextreme(seq(0, 1, by = 0.1))
    +#> Warning: `pextreme()` was deprecated in extras 0.1.1.
    +#>  [1] 0.0 0.2 0.4 0.6 0.8 1.0 0.8 0.6 0.4 0.2 0.0
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/phi.html b/dev/reference/phi.html new file mode 100644 index 00000000..d727062e --- /dev/null +++ b/dev/reference/phi.html @@ -0,0 +1,111 @@ + +Phi — phi • extras + Skip to contents + + +
    +
    +
    + +
    +

    The standard normal cumulative density function.

    +
    + +
    +

    Usage

    +
    phi(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    A numeric atomic object.

    +
    +
    +

    Details

    +

    A wrapper on stats::pnorm().

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +pow(), +step()

    +
    + +
    +

    Examples

    +
    phi(0:2)
    +#> [1] 0.5000000 0.8413447 0.9772499
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/pow.html b/dev/reference/pow.html new file mode 100644 index 00000000..1e01ecd8 --- /dev/null +++ b/dev/reference/pow.html @@ -0,0 +1,115 @@ + +Power — pow • extras + Skip to contents + + +
    +
    +
    + +
    +

    R equivalent to the power function.

    +
    + +
    +

    Usage

    +
    pow(x, n)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric atomic object of the base.

    + + +
    n
    +

    A numeric atomic object of the exponent.

    + +
    +
    +

    Value

    +

    A numeric atomic object of x raised to n.

    +
    +
    +

    Details

    +

    Wrapper on x^n.

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +step()

    +
    + +
    +

    Examples

    +
    pow(10, 2)
    +#> [1] 100
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/proportional_change.html b/dev/reference/proportional_change.html new file mode 100644 index 00000000..45635d89 --- /dev/null +++ b/dev/reference/proportional_change.html @@ -0,0 +1,98 @@ + +Proportional Change — proportional_change • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the proportional change for two sets of numbers.

    +
    + +
    +

    Usage

    +
    proportional_change(x, x2)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object (vector, matrix or array) of non-negative numbers.

    + + +
    x2
    +

    A second numeric object of non-negative numbers.

    + +
    +
    +

    Value

    +

    A numeric object of the proportional change.

    +
    +
    +

    See also

    +

    Other proportional: +proportional_difference()

    +
    + +
    +

    Examples

    +
    proportional_change(1, 2)
    +#> [1] 1
    +proportional_change(2, 1)
    +#> [1] -0.5
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/proportional_change2.html b/dev/reference/proportional_change2.html new file mode 100644 index 00000000..160305df --- /dev/null +++ b/dev/reference/proportional_change2.html @@ -0,0 +1,94 @@ + +Proportional Change2 — proportional_change2 • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the proportional change for a vector of two non-negative numbers.

    +
    + +
    +

    Usage

    +
    proportional_change2(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of length 2.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other proportional fun2: +proportional_difference2()

    +
    + +
    +

    Examples

    +
    proportional_change2(c(1, 2))
    +#> [1] 1
    +proportional_change2(c(2, 1))
    +#> [1] -0.5
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/proportional_difference.html b/dev/reference/proportional_difference.html new file mode 100644 index 00000000..83d56fff --- /dev/null +++ b/dev/reference/proportional_difference.html @@ -0,0 +1,98 @@ + +Proportional Difference — proportional_difference • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the proportional difference for two sets of numbers.

    +
    + +
    +

    Usage

    +
    proportional_difference(x, x2)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object (vector, matrix or array) of non-negative numbers.

    + + +
    x2
    +

    A second numeric object of non-negative numbers.

    + +
    +
    +

    Value

    +

    A numeric object of the proportional change.

    +
    +
    +

    See also

    +

    Other proportional: +proportional_change()

    +
    + +
    +

    Examples

    +
    proportional_difference(1, 2)
    +#> [1] 0.6666667
    +proportional_difference(2, 1)
    +#> [1] -0.6666667
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/proportional_difference2.html b/dev/reference/proportional_difference2.html new file mode 100644 index 00000000..709c7e07 --- /dev/null +++ b/dev/reference/proportional_difference2.html @@ -0,0 +1,94 @@ + +Proportional Difference2 — proportional_difference2 • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the proportional difference for a vector of two non-negative numbers.

    +
    + +
    +

    Usage

    +
    proportional_difference2(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of length 2.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other proportional fun2: +proportional_change2()

    +
    + +
    +

    Examples

    +
    proportional_difference2(c(1, 2))
    +#> [1] 0.6666667
    +proportional_difference2(c(2, 1))
    +#> [1] -0.6666667
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/pskewnorm.html b/dev/reference/pskewnorm.html new file mode 100644 index 00000000..8e040e16 --- /dev/null +++ b/dev/reference/pskewnorm.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/pvalue.html b/dev/reference/pvalue.html new file mode 100644 index 00000000..313469dd --- /dev/null +++ b/dev/reference/pvalue.html @@ -0,0 +1,126 @@ + +Bayesian P-Value — pvalue • extras + Skip to contents + + +
    +
    +
    + +
    +

    A Bayesian p-value (p) is here defined in terms of the quantile-based +(1-p) * 100% credible interval (CRI) that +just includes a threshold (Kery and Schaub 2011). +By default a p-value of 0.05 indicates that the 95% CRI just includes 0.

    +
    + +
    +

    Usage

    +
    pvalue(x, threshold = 0, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of MCMC values.

    + + +
    threshold
    +

    A number of the threshold value.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number between 0 and 1.

    +
    +
    +

    References

    +

    Kery, M., and Schaub, M. 2011. +Bayesian population analysis using WinBUGS: a hierarchical perspective. +Academic Press, Boston. Available from https://www.vogelwarte.ch/en/research/population-biology/book-bpa/.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pzeros(), +skewness(), +svalue(), +upper(), +variance(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    pvalue(as.numeric(0:100))
    +#> [1] 0.01960784
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/pzeros.html b/dev/reference/pzeros.html new file mode 100644 index 00000000..e54589c6 --- /dev/null +++ b/dev/reference/pzeros.html @@ -0,0 +1,107 @@ + +Proportion of Zeros — pzeros • extras + Skip to contents + + +
    +
    +
    + +
    +

    The proportion of zeros in an numeric object.

    +
    + +
    +

    Usage

    +
    pzeros(x, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number between 0 and 1.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +skewness(), +svalue(), +upper(), +variance(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    pzeros(c(0:2))
    +#> [1] 0.3333333
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/qbern.html b/dev/reference/qbern.html new file mode 100644 index 00000000..81fcc394 --- /dev/null +++ b/dev/reference/qbern.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/qskewnorm.html b/dev/reference/qskewnorm.html new file mode 100644 index 00000000..8e040e16 --- /dev/null +++ b/dev/reference/qskewnorm.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/ran_bern.html b/dev/reference/ran_bern.html new file mode 100644 index 00000000..fcb6cb56 --- /dev/null +++ b/dev/reference/ran_bern.html @@ -0,0 +1,109 @@ + +Bernoulli Random Samples — ran_bern • extras + Skip to contents + + +
    +
    +
    + +
    +

    Bernoulli Random Samples

    +
    + +
    +

    Usage

    +
    ran_bern(n = 1, prob = 0.5)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_bern(10)
    +#>  [1] 1 1 0 0 0 0 0 1 1 1
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_beta_binom.html b/dev/reference/ran_beta_binom.html new file mode 100644 index 00000000..a633b793 --- /dev/null +++ b/dev/reference/ran_beta_binom.html @@ -0,0 +1,142 @@ + +Beta-Binomial Random Samples — ran_beta_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    This parameterization of the beta-binomial distribution uses an expected +probability parameter, prob, and a dispersion parameter, theta. The +parameters of the underlying beta mixture are alpha = (2 * prob) / theta +and beta = (2 * (1 - prob)) / theta. This parameterization of theta is +unconventional, but has useful properties when modelling. When theta = 0, +the beta-binomial reverts to the binomial distribution. When theta = 1 and +prob = 0.5, the parameters of the beta distribution become alpha = 1 and +beta = 1, which correspond to a uniform distribution for the beta-binomial +probability parameter.

    +
    + +
    +

    Usage

    +
    ran_beta_binom(n = 1, size = 1, prob = 0.5, theta = 0)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    size
    +

    A non-negative whole numeric vector of the number of trials.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_beta_binom(10, 1, 0.5, 0)
    +#>  [1] 0 0 0 0 0 0 0 0 1 0
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_binom.html b/dev/reference/ran_binom.html new file mode 100644 index 00000000..8aaa11c3 --- /dev/null +++ b/dev/reference/ran_binom.html @@ -0,0 +1,113 @@ + +Binomial Random Samples — ran_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    Binomial Random Samples

    +
    + +
    +

    Usage

    +
    ran_binom(n = 1, size = 1, prob = 0.5)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    size
    +

    A non-negative whole numeric vector of the number of trials.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_binom(10)
    +#>  [1] 1 1 0 1 1 0 1 1 1 0
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_gamma.html b/dev/reference/ran_gamma.html new file mode 100644 index 00000000..89269c10 --- /dev/null +++ b/dev/reference/ran_gamma.html @@ -0,0 +1,113 @@ + +Gamma Random Samples — ran_gamma • extras + Skip to contents + + +
    +
    +
    + +
    +

    Gamma Random Samples

    +
    + +
    +

    Usage

    +
    ran_gamma(n = 1, shape = 1, rate = 1)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    shape
    +

    A non-negative numeric vector of shape.

    + + +
    rate
    +

    A non-negative numeric vector of rate.

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_gamma(10)
    +#>  [1] 0.109122156 0.463496573 2.318645089 0.099700437 0.789578698 0.003006878
    +#>  [7] 3.549754306 0.320788501 0.057208557 1.192544692
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_gamma_pois.html b/dev/reference/ran_gamma_pois.html new file mode 100644 index 00000000..ac5787ef --- /dev/null +++ b/dev/reference/ran_gamma_pois.html @@ -0,0 +1,113 @@ + +Gamma-Poisson Random Samples — ran_gamma_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Gamma-Poisson Random Samples

    +
    + +
    +

    Usage

    +
    ran_gamma_pois(n = 1, lambda = 1, theta = 0)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_gamma_pois(10, theta = 1)
    +#>  [1] 0 1 1 0 0 0 1 0 0 4
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_gamma_pois_zi.html b/dev/reference/ran_gamma_pois_zi.html new file mode 100644 index 00000000..70ca99f4 --- /dev/null +++ b/dev/reference/ran_gamma_pois_zi.html @@ -0,0 +1,118 @@ + +Zero-Inflated Gamma-Poisson Random Samples — ran_gamma_pois_zi • extras + Skip to contents + + +
    +
    +
    + +
    +

    Zero-Inflated Gamma-Poisson Random Samples

    +
    + +
    +

    Usage

    +
    ran_gamma_pois_zi(n = 1, lambda = 1, theta = 0, prob = 0)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_gamma_pois_zi(10, lambda = 3, theta = 1, prob = 0.5)
    +#>  [1] 0 0 0 0 0 0 5 1 3 4
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_lnorm.html b/dev/reference/ran_lnorm.html new file mode 100644 index 00000000..81bc2e22 --- /dev/null +++ b/dev/reference/ran_lnorm.html @@ -0,0 +1,114 @@ + +Log-Normal Random Samples — ran_lnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Log-Normal Random Samples

    +
    + +
    +

    Usage

    +
    ran_lnorm(n = 1, meanlog = 0, sdlog = 1)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    meanlog
    +

    A numeric vector of the means on the log scale.

    + + +
    sdlog
    +

    A non-negative numeric vector of the standard deviations on the +log scale.

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_lnorm(10)
    +#>  [1] 1.6300795 0.1827839 0.2297563 1.3286327 3.8088237 1.2670562 3.7370382
    +#>  [8] 1.6886169 1.8344561 0.8958918
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_neg_binom.html b/dev/reference/ran_neg_binom.html new file mode 100644 index 00000000..1982bf51 --- /dev/null +++ b/dev/reference/ran_neg_binom.html @@ -0,0 +1,113 @@ + +Negative Binomial Random Samples — ran_neg_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    Identical to Gamma-Poisson Random Samples.

    +
    + +
    +

    Usage

    +
    ran_neg_binom(n = 1, lambda = 1, theta = 0)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_neg_binom(10, theta = 1)
    +#>  [1] 0 3 3 2 0 2 0 3 1 5
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_norm.html b/dev/reference/ran_norm.html new file mode 100644 index 00000000..2891ba67 --- /dev/null +++ b/dev/reference/ran_norm.html @@ -0,0 +1,113 @@ + +Normal Random Samples — ran_norm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Normal Random Samples

    +
    + +
    +

    Usage

    +
    ran_norm(n = 1, mean = 0, sd = 1)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_norm(10)
    +#>  [1]  2.1268505  0.4248584 -1.6842815  0.2494018  1.0728383  2.0393693
    +#>  [7]  0.4494538  1.3918140  0.4265665  0.1075840
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_pois.html b/dev/reference/ran_pois.html new file mode 100644 index 00000000..5ad6a215 --- /dev/null +++ b/dev/reference/ran_pois.html @@ -0,0 +1,108 @@ + +Poisson Random Samples — ran_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Poisson Random Samples

    +
    + +
    +

    Usage

    +
    ran_pois(n = 1, lambda = 1)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_pois(10)
    +#>  [1] 1 1 1 1 1 3 0 0 1 0
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_pois_zi.html b/dev/reference/ran_pois_zi.html new file mode 100644 index 00000000..57edf2df --- /dev/null +++ b/dev/reference/ran_pois_zi.html @@ -0,0 +1,113 @@ + +Zero-Inflated Poisson Random Samples — ran_pois_zi • extras + Skip to contents + + +
    +
    +
    + +
    +

    Zero-Inflated Poisson Random Samples

    +
    + +
    +

    Usage

    +
    ran_pois_zi(n = 1, lambda = 1, prob = 0)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_pois_zi(10, prob = 0.5)
    +#>  [1] 0 3 0 2 0 1 0 0 0 1
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_skewnorm.html b/dev/reference/ran_skewnorm.html new file mode 100644 index 00000000..c33964d1 --- /dev/null +++ b/dev/reference/ran_skewnorm.html @@ -0,0 +1,123 @@ + +Skew Normal Random Samples — ran_skewnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Skew Normal Random Samples

    +
    + +
    +

    Usage

    +
    ran_skewnorm(n = 1, mean = 0, sd = 1, shape = 0)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    shape
    +

    A numeric vector of shape.

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_skewnorm(10, shape = -1)
    +#>  [1] -0.70002617 -0.78493479  0.24170628 -0.42787810  0.01671717 -0.21711286
    +#>  [7] -1.19927257 -0.26506244 -0.27922284  0.01525054
    +ran_skewnorm(10, shape = 0)
    +#>  [1]  0.9357843  0.2630667 -0.7882588  0.3636526  0.5176691 -0.9740696
    +#>  [7]  0.9608648  1.0359308 -1.2753349  2.2117695
    +ran_skewnorm(10, shape = 1)
    +#>  [1] -0.07414401  2.26363687  1.80121012  1.92229035  1.55895409  0.51395162
    +#>  [7]  0.17280030  1.34122708  1.07141313  1.31051920
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/ran_student.html b/dev/reference/ran_student.html new file mode 100644 index 00000000..277795a7 --- /dev/null +++ b/dev/reference/ran_student.html @@ -0,0 +1,118 @@ + +Student's t Random Samples — ran_student • extras + Skip to contents + + +
    +
    +
    + +
    +

    Student's t Random Samples

    +
    + +
    +

    Usage

    +
    ran_student(n = 1, mean = 0, sd = 1, theta = 0)
    +
    + +
    +

    Arguments

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + +
    +
    +

    Value

    +

    A numeric vector of the random samples.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    ran_student(10, theta = 1 / 2)
    +#>  [1] -0.3094994 -0.1240871 -0.2873568 -0.4468556  1.7071837 -0.3961069
    +#>  [7]  0.6339260  0.8147481 -2.0029255 -0.7542160
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/rbern.html b/dev/reference/rbern.html new file mode 100644 index 00000000..81fcc394 --- /dev/null +++ b/dev/reference/rbern.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/res_bern.html b/dev/reference/res_bern.html new file mode 100644 index 00000000..3cc4148f --- /dev/null +++ b/dev/reference/res_bern.html @@ -0,0 +1,117 @@ + +Bernoulli Residuals — res_bern • extras + Skip to contents + + +
    +
    +
    + +
    +

    Bernoulli Residuals

    +
    + +
    +

    Usage

    +
    res_bern(x, prob = 0.5, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A vector of 0s and 1s.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_bern(c(TRUE, FALSE), 0.7)
    +#> [1]  0.8446004 -1.5517557
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_beta_binom.html b/dev/reference/res_beta_binom.html new file mode 100644 index 00000000..a689810d --- /dev/null +++ b/dev/reference/res_beta_binom.html @@ -0,0 +1,157 @@ + +Beta-Binomial Residuals — res_beta_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    This parameterization of the beta-binomial distribution uses an expected +probability parameter, prob, and a dispersion parameter, theta. The +parameters of the underlying beta mixture are alpha = (2 * prob) / theta +and beta = (2 * (1 - prob)) / theta. This parameterization of theta is +unconventional, but has useful properties when modelling. When theta = 0, +the beta-binomial reverts to the binomial distribution. When theta = 1 and +prob = 0.5, the parameters of the beta distribution become alpha = 1 and +beta = 1, which correspond to a uniform distribution for the beta-binomial +probability parameter.

    +
    + +
    +

    Usage

    +
    res_beta_binom(
    +  x,
    +  size = 1,
    +  prob = 0.5,
    +  theta = 0,
    +  type = "dev",
    +  simulate = FALSE
    +)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    size
    +

    A non-negative whole numeric vector of the number of trials.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_beta_binom(c(0, 1, 2), 4, 0.5, 0.1)
    +#> [1] -2.2434148 -0.9346019  0.0000000
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_binom.html b/dev/reference/res_binom.html new file mode 100644 index 00000000..ba14b6b7 --- /dev/null +++ b/dev/reference/res_binom.html @@ -0,0 +1,121 @@ + +Binomial Residuals — res_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    Binomial Residuals

    +
    + +
    +

    Usage

    +
    res_binom(x, size = 1, prob = 0.5, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    size
    +

    A non-negative whole numeric vector of the number of trials.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_binom(c(0, 1, 2), 2, 0.3)
    +#> [1] -1.194445  0.590514  2.194514
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_gamma.html b/dev/reference/res_gamma.html new file mode 100644 index 00000000..91224943 --- /dev/null +++ b/dev/reference/res_gamma.html @@ -0,0 +1,120 @@ + +Gamma Residuals — res_gamma • extras + Skip to contents + + +
    +
    +
    + +
    +

    Gamma Residuals

    +
    + +
    +

    Usage

    +
    res_gamma(x, shape = 1, rate = 1, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    shape
    +

    A non-negative numeric vector of shape.

    + + +
    rate
    +

    A non-negative numeric vector of rate.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_gamma(c(0, 1, 2), 1, 2)
    +#> [1]      -Inf 0.7833937 1.7964997
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_gamma_pois.html b/dev/reference/res_gamma_pois.html new file mode 100644 index 00000000..4c5b6aad --- /dev/null +++ b/dev/reference/res_gamma_pois.html @@ -0,0 +1,121 @@ + +Gamma-Poisson Residuals — res_gamma_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Gamma-Poisson Residuals

    +
    + +
    +

    Usage

    +
    res_gamma_pois(x, lambda = 1, theta = 0, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_gamma_pois(c(0, 1, 2), 1, 1)
    +#> [1] -1.177410  0.000000  0.582922
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_gamma_pois_zi.html b/dev/reference/res_gamma_pois_zi.html new file mode 100644 index 00000000..df0d0646 --- /dev/null +++ b/dev/reference/res_gamma_pois_zi.html @@ -0,0 +1,132 @@ + +Zero-Inflated Gamma-Poisson Residuals — res_gamma_pois_zi • extras + Skip to contents + + +
    +
    +
    + +
    +

    Zero-Inflated Gamma-Poisson Residuals

    +
    + +
    +

    Usage

    +
    res_gamma_pois_zi(
    +  x,
    +  lambda = 1,
    +  theta = 0,
    +  prob = 0,
    +  type = "dev",
    +  simulate = FALSE
    +)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of zero-inflation.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_gamma_pois_zi(c(0, 1, 2), 1, 1, 0.5)
    +#> [1] -0.7585276  1.1774100  1.3138084
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_lnorm.html b/dev/reference/res_lnorm.html new file mode 100644 index 00000000..1a726c1a --- /dev/null +++ b/dev/reference/res_lnorm.html @@ -0,0 +1,121 @@ + +Log-Normal Residuals — res_lnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Log-Normal Residuals

    +
    + +
    +

    Usage

    +
    res_lnorm(x, meanlog = 0, sdlog = 1, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    meanlog
    +

    A numeric vector of the means on the log scale.

    + + +
    sdlog
    +

    A non-negative numeric vector of the standard deviations on the +log scale.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_lnorm(10)
    +#> [1] 2.302585
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_neg_binom.html b/dev/reference/res_neg_binom.html new file mode 100644 index 00000000..21fe017b --- /dev/null +++ b/dev/reference/res_neg_binom.html @@ -0,0 +1,121 @@ + +Negative Binomial Residuals — res_neg_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    Negative Binomial Residuals

    +
    + +
    +

    Usage

    +
    res_neg_binom(x, lambda = 1, theta = 0, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_neg_binom(c(0, 1, 5), 2, 3)
    +#> [1] -1.1389791 -0.3255985  0.5873692
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_norm.html b/dev/reference/res_norm.html new file mode 100644 index 00000000..06116cc1 --- /dev/null +++ b/dev/reference/res_norm.html @@ -0,0 +1,120 @@ + +Normal Residuals — res_norm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Normal Residuals

    +
    + +
    +

    Usage

    +
    res_norm(x, mean = 0, sd = 1, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_norm(c(-2:2))
    +#> [1] -2 -1  0  1  2
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_pois.html b/dev/reference/res_pois.html new file mode 100644 index 00000000..ac01aab5 --- /dev/null +++ b/dev/reference/res_pois.html @@ -0,0 +1,116 @@ + +Poisson Residuals — res_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Poisson Residuals

    +
    + +
    +

    Usage

    +
    res_pois(x, lambda = 1, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_pois(c(1, 3, 4), 3)
    +#> [1] -1.3426747  0.0000000  0.5490506
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_pois_zi.html b/dev/reference/res_pois_zi.html new file mode 100644 index 00000000..a1715919 --- /dev/null +++ b/dev/reference/res_pois_zi.html @@ -0,0 +1,120 @@ + +Zero-Inflated Poisson Residuals — res_pois_zi • extras + Skip to contents + + +
    +
    +
    + +
    +

    Zero-Inflated Poisson Residuals

    +
    + +
    +

    Usage

    +
    res_pois_zi(x, lambda = 1, prob = 0, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of zero-inflation.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_pois_zi(c(1, 3, 4), 6, 0.5, type = "raw")
    +#> [1] -2  0  1
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_skewnorm.html b/dev/reference/res_skewnorm.html new file mode 100644 index 00000000..136e0263 --- /dev/null +++ b/dev/reference/res_skewnorm.html @@ -0,0 +1,124 @@ + +Skew Normal Residuals — res_skewnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Skew Normal Residuals

    +
    + +
    +

    Usage

    +
    res_skewnorm(x, mean = 0, sd = 1, shape = 0, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    shape
    +

    A numeric vector of shape.

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_skewnorm(c(-2:2))
    +#> [1] -2 -1  0  1  2
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/res_student.html b/dev/reference/res_student.html new file mode 100644 index 00000000..9ff7d442 --- /dev/null +++ b/dev/reference/res_student.html @@ -0,0 +1,125 @@ + +Student's t Residuals — res_student • extras + Skip to contents + + +
    +
    +
    + +
    +

    Student's t Residuals

    +
    + +
    +

    Usage

    +
    res_student(x, mean = 0, sd = 1, theta = 0, type = "dev", simulate = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A non-negative whole numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    type
    +

    A string of the residual type. 'raw' for raw residuals 'dev' for +deviance residuals and 'data' for the data.

    + + +
    simulate
    +

    A flag specifying whether to simulate residuals.

    + +
    +
    +

    Value

    +

    An numeric vector of the corresponding residuals.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    res_student(c(1, 3.5, 4), mean = 6, sd = 0.5, theta = 1 / 3, type = "raw")
    +#> [1] -5.0 -2.5 -2.0
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/rskewnorm.html b/dev/reference/rskewnorm.html new file mode 100644 index 00000000..8e040e16 --- /dev/null +++ b/dev/reference/rskewnorm.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/sens_beta.html b/dev/reference/sens_beta.html new file mode 100644 index 00000000..409718c7 --- /dev/null +++ b/dev/reference/sens_beta.html @@ -0,0 +1,140 @@ + +Adjust Beta Distribution Parameters for Sensitivity Analyses — sens_beta • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) or reduces (sd_mult < 1) the standard deviation +of the Beta distribution. The Beta distribution has a maximum variance of +mean(x) * (1 - mean(x), where mean(x) = alpha / (alpha + beta). If the +inputs produce a desired variance that is greater than the maximum possible +variance, or provides alpha and/or beta parameters that are < 1 and thus +push more probability weight towards extreme probability values, this +function returns alpha = 1 and beta = 1 (the uniform distribution).

    +
    + +
    +

    Usage

    +
    sens_beta(alpha, beta, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    alpha
    +

    The first shape parameter of the Beta distribution.

    + + +
    beta
    +

    The second shape parameter of the Beta distribution.

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_beta(10, 10, 2)
    +#> $alpha
    +#> [1] 2.125
    +#> 
    +#> $beta
    +#> [1] 2.125
    +#> 
    +sens_beta(10, 10, 0.8)
    +#> $alpha
    +#> [1] 15.90625
    +#> 
    +#> $beta
    +#> [1] 15.90625
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_exp.html b/dev/reference/sens_exp.html new file mode 100644 index 00000000..77400761 --- /dev/null +++ b/dev/reference/sens_exp.html @@ -0,0 +1,121 @@ + +Adjust Exponential Distribution Parameters for Sensitivity Analyses — sens_exp • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) or reduces (sd_mult < 1) the standard deviation +of the exponential distribution. Due to the parameterization of this +distribution, adjusting the standard deviation necessarily changes the mean +value.

    +
    + +
    +

    Usage

    +
    sens_exp(rate, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    rate
    +

    A non-negative numeric vector of rate.

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_exp(10, 2)
    +#> $rate
    +#> [1] 5
    +#> 
    +sens_exp(10, 0.8)
    +#> $rate
    +#> [1] 12.5
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_gamma.html b/dev/reference/sens_gamma.html new file mode 100644 index 00000000..b84c3d85 --- /dev/null +++ b/dev/reference/sens_gamma.html @@ -0,0 +1,125 @@ + +Adjust Gamma Distribution Parameters for Sensitivity Analyses — sens_gamma • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) or reduces (sd_mult < 1) the standard deviation +of the Gamma distribution.

    +
    + +
    +

    Usage

    +
    sens_gamma(shape, rate, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    shape
    +

    A non-negative numeric vector of shape.

    + + +
    rate
    +

    A non-negative numeric vector of rate.

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_gamma(10, 2, 2)
    +#> $shape
    +#> [1] 2.5
    +#> 
    +#> $rate
    +#> [1] 0.5
    +#> 
    +sens_gamma(10, 2, 0.2)
    +#> $shape
    +#> [1] 250
    +#> 
    +#> $rate
    +#> [1] 50
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_gamma_pois.html b/dev/reference/sens_gamma_pois.html new file mode 100644 index 00000000..2c339b55 --- /dev/null +++ b/dev/reference/sens_gamma_pois.html @@ -0,0 +1,122 @@ + +Adjust Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) the standard deviation of the Negative Binomial +distribution. This function does not currently have the option to reduce the +standard deviation.

    +
    + +
    +

    Usage

    +
    sens_gamma_pois(lambda, theta, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_gamma_pois(10, 0.1, 2)
    +#> $lambda
    +#> [1] 10
    +#> 
    +#> $theta
    +#> [1] 0.7
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_gamma_pois_zi.html b/dev/reference/sens_gamma_pois_zi.html new file mode 100644 index 00000000..fae0a899 --- /dev/null +++ b/dev/reference/sens_gamma_pois_zi.html @@ -0,0 +1,127 @@ + +Adjust Zero-Inflated Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois_zi • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) or reduces (sd_mult < 1) the standard deviation +of the Zero-Inflated Gamma-Poisson distribution.

    +
    + +
    +

    Usage

    +
    sens_gamma_pois_zi(lambda, theta, prob, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    prob
    +

    A numeric vector of values between 0 and 1 of the probability of +success.

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_gamma_pois_zi(10, 0.1, 0.3, 2)
    +#> $lambda
    +#> [1] 10
    +#> 
    +#> $theta
    +#> [1] 1.6
    +#> 
    +#> $prob
    +#> [1] 0.3
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_lnorm.html b/dev/reference/sens_lnorm.html new file mode 100644 index 00000000..17c39bbf --- /dev/null +++ b/dev/reference/sens_lnorm.html @@ -0,0 +1,135 @@ + +Adjust Log-Normal Distribution Parameters for Sensitivity Analysis — sens_lnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) or reduces (sd_mult < 1) the standard deviation +of the Log-Normal distribution. With high values of sdlog (i.e., > 9), +and sd_mult > 1, the mean of the adjusted distribution can be expected to +have a mean value that is very different from the original mean, however, +the proportional difference in these values should not be very different.

    +
    + +
    +

    Usage

    +
    sens_lnorm(meanlog, sdlog, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    meanlog
    +

    A numeric vector of the means on the log scale.

    + + +
    sdlog
    +

    A non-negative numeric vector of the standard deviations on the +log scale.

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_lnorm(0, 1, 2)
    +#> $meanlog
    +#> [1] -0.5317277
    +#> 
    +#> $sdlog
    +#> [1] 1.436473
    +#> 
    +sens_lnorm(0, 1, 0.8)
    +#> $meanlog
    +#> [1] 0.1291027
    +#> 
    +#> $sdlog
    +#> [1] 0.861275
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_neg_binom.html b/dev/reference/sens_neg_binom.html new file mode 100644 index 00000000..26cf5b27 --- /dev/null +++ b/dev/reference/sens_neg_binom.html @@ -0,0 +1,122 @@ + +Adjust Negative Binomial Distribution Parameters for Sensitivity Analyses — sens_neg_binom • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) the standard deviation of the Negative Binomial +distribution. This function does not currently have the option to reduce the +standard deviation.

    +
    + +
    +

    Usage

    +
    sens_neg_binom(lambda, theta, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_neg_binom(10, 0.1, 2)
    +#> $lambda
    +#> [1] 10
    +#> 
    +#> $theta
    +#> [1] 0.7
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_norm.html b/dev/reference/sens_norm.html new file mode 100644 index 00000000..8ddbf729 --- /dev/null +++ b/dev/reference/sens_norm.html @@ -0,0 +1,125 @@ + +Adjust Normal Distribution Parameters for Sensitivity Analyses — sens_norm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) or reduces (sd_mult < 1) the standard deviation +of the Normal distribution without changing the mean.

    +
    + +
    +

    Usage

    +
    sens_norm(mean, sd, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_norm(10, 3, 2)
    +#> $mean
    +#> [1] 10
    +#> 
    +#> $sd
    +#> [1] 6
    +#> 
    +sens_norm(10, 3, 0.8)
    +#> $mean
    +#> [1] 10
    +#> 
    +#> $sd
    +#> [1] 2.4
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_pois.html b/dev/reference/sens_pois.html new file mode 100644 index 00000000..e5a40e69 --- /dev/null +++ b/dev/reference/sens_pois.html @@ -0,0 +1,121 @@ + +Adjust Poisson Distribution Parameters for Sensitivity Analyses — sens_pois • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) or reduces (sd_mult < 1) the standard deviation +of the Poisson distribution. Due to the parameterization of this +distribution, adjusting the standard deviation necessarily changes the mean +value.

    +
    + +
    +

    Usage

    +
    sens_pois(lambda, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    lambda
    +

    A non-negative numeric vector of means.

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_pois(10, 2)
    +#> $lambda
    +#> [1] 40
    +#> 
    +sens_pois(10, 0.8)
    +#> $lambda
    +#> [1] 6.4
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_skewnorm.html b/dev/reference/sens_skewnorm.html new file mode 100644 index 00000000..6c0a52d6 --- /dev/null +++ b/dev/reference/sens_skewnorm.html @@ -0,0 +1,135 @@ + +Adjust Skew Normal Distribution Parameters for Sensitivity Analyses — sens_skewnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) or reduces (sd_mult < 1) the standard deviation +of the Skew Normal distribution without changing the mean.

    +
    + +
    +

    Usage

    +
    sens_skewnorm(mean, sd, shape, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    shape
    +

    A non-negative numeric vector of shape.

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_skewnorm(10, 3, -1, 2)
    +#> $mean
    +#> [1] 11.69257
    +#> 
    +#> $sd
    +#> [1] 6
    +#> 
    +#> $shape
    +#> [1] -1
    +#> 
    +sens_skewnorm(10, 3, 3, 0.8)
    +#> $mean
    +#> [1] 10.45416
    +#> 
    +#> $sd
    +#> [1] 2.4
    +#> 
    +#> $shape
    +#> [1] 3
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sens_student.html b/dev/reference/sens_student.html new file mode 100644 index 00000000..cb2f9b31 --- /dev/null +++ b/dev/reference/sens_student.html @@ -0,0 +1,145 @@ + +Adjust Student's t Distribution Parameters for Sensitivity Analyses — sens_student • extras + Skip to contents + + +
    +
    +
    + +
    +

    Expands (sd_mult > 1) or reduces (sd_mult < 1) the standard deviation +of the Student's t distribution. Because the variance of this distribution +is not defined for every degree of freedom, the adjustment to the standard +deviation is approximate, and the mean of the adjusted distribution can +be expected to have shifted.

    +
    + +
    +

    Usage

    +
    sens_student(mean, sd, theta, sd_mult = 2)
    +
    + +
    +

    Arguments

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    theta
    +

    A non-negative numeric vector of the dispersion for the mixture +models (student, gamma-Poisson and beta-binomial).

    + + +
    sd_mult
    +

    A non-negative multiplier on the standard deviation of the +distribution.

    + +
    +
    +

    Value

    +

    A named list of the adjusted distribution's parameters.

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    sens_student(10, 3, 0.1, 2)
    +#> $mean
    +#> [1] 10
    +#> 
    +#> $sd
    +#> [1] 6
    +#> 
    +#> $theta
    +#> [1] 0.1
    +#> 
    +sens_student(10, 3, 0.1, 0.8)
    +#> $mean
    +#> [1] 10
    +#> 
    +#> $sd
    +#> [1] 2.4
    +#> 
    +#> $theta
    +#> [1] 0.1
    +#> 
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/sextreme.html b/dev/reference/sextreme.html new file mode 100644 index 00000000..afb79433 --- /dev/null +++ b/dev/reference/sextreme.html @@ -0,0 +1,107 @@ + +Extreme Surprisal — sextreme • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the surprisal (in bits) that a cumulative distribution function +probability is at least that extreme. +[Deprecated]

    +
    + +
    +

    Usage

    +
    sextreme(x, directional = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values between 0 and 1.

    + + +
    directional
    +

    A flag specifying whether probabilities less than 0.5 +should be returned as negative values.

    + +
    +
    +

    Value

    +

    A numeric vector of surprisal values.

    +
    +
    +

    See also

    +

    Other residuals: +pextreme()

    +
    + +
    +

    Examples

    +
    sextreme(seq(0.1, 0.9, by = 0.1))
    +#> [1] 2.3219281 1.3219281 0.7369656 0.3219281 0.0000000 0.3219281 0.7369656
    +#> [8] 1.3219281 2.3219281
    +sextreme(seq(0.1, 0.9, by = 0.1), directional = TRUE)
    +#> [1] -2.3219281 -1.3219281 -0.7369656 -0.3219281  0.0000000  0.3219281  0.7369656
    +#> [8]  1.3219281  2.3219281
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/skewness.html b/dev/reference/skewness.html new file mode 100644 index 00000000..a4787f0a --- /dev/null +++ b/dev/reference/skewness.html @@ -0,0 +1,107 @@ + +Skewness — skewness • extras + Skip to contents + + +
    +
    +
    + +
    +

    Skewness

    +
    + +
    +

    Usage

    +
    skewness(x, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +pzeros(), +svalue(), +upper(), +variance(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    skewness(1:10)
    +#> [1] 0
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/skewnorm.html b/dev/reference/skewnorm.html new file mode 100644 index 00000000..d22e77d2 --- /dev/null +++ b/dev/reference/skewnorm.html @@ -0,0 +1,137 @@ + +Skew-Normal Distribution — dskewnorm • extras + Skip to contents + + +
    +
    +
    + +
    +

    Skew-Normal Distribution

    +
    + +
    +

    Usage

    +
    dskewnorm(x, mean = 0, sd = 1, shape = 0, log = FALSE)
    +
    +pskewnorm(q, mean = 0, sd = 1, shape = 0)
    +
    +qskewnorm(p, mean = 0, sd = 1, shape = 0)
    +
    +rskewnorm(n = 1, mean = 0, sd = 1, shape = 0)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of values.

    + + +
    mean
    +

    A numeric vector of the means.

    + + +
    sd
    +

    A non-negative numeric vector of the standard deviations.

    + + +
    shape
    +

    A numeric vector of values.

    + + +
    log
    +

    A flag specifying whether to return the log-transformed value.

    + + +
    q
    +

    A vector of quantiles.

    + + +
    p
    +

    A vector of probabilities.

    + + +
    n
    +

    A non-negative whole number of the number of random samples to +generate.

    + +
    +
    +

    Value

    +

    dskewnorm gives the density, pskewnorm gives the distribution function, qskewnorm gives the quantile function, and rskewnorm generates random deviates. +pskewnorm and qskewnorm use the lower tail probability.

    +
    + +
    +

    Examples

    +
    dskewnorm(x = -2:2, mean = 0, sd = 1, shape = 0.1)
    +#> [1] 0.04543235 0.22269638 0.39894228 0.26124507 0.06254958
    +dskewnorm(x = -2:2, mean = 0, sd = 1, shape = -1)
    +#> [1] 0.105525330 0.407161596 0.398942280 0.076779853 0.002456603
    +qskewnorm(p = c(0.1, 0.4), mean = 0, sd = 1, shape = 0.1)
    +#> [1] -1.1980898 -0.1731883
    +qskewnorm(p = c(0.1, 0.4), mean = 0, sd = 1, shape = -1)
    +#> [1] -1.6322188 -0.7540709
    +pskewnorm(q = -2:2, mean = 0, sd = 1, shape = 0.1)
    +#> [1] 0.01848493 0.13944469 0.46827448 0.82213418 0.97298466
    +pskewnorm(q = -2:2, mean = 0, sd = 1, shape = -1)
    +#> [1] 0.0449827 0.2921390 0.7500000 0.9748285 0.9994824
    +rskewnorm(n = 3, mean = 0, sd = 1, shape = 0.1)
    +#> [1] -0.436483 -1.450847 -1.282674
    +rskewnorm(n = 3, mean = 0, sd = 1, shape = -1)
    +#> [1] -1.6330964 -0.5024617 -0.1201735
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/step.html b/dev/reference/step.html new file mode 100644 index 00000000..307af397 --- /dev/null +++ b/dev/reference/step.html @@ -0,0 +1,107 @@ + +Step — step • extras + Skip to contents + + +
    +
    +
    + +
    +

    Step

    +
    + +
    +

    Usage

    +
    step(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric atomic object.

    + +
    +
    +

    Value

    +

    A logical value.

    +
    +
    +

    See also

    +

    Other translations: +exp10(), +exp2(), +fabs(), +ilog(), +ilog10(), +ilog2(), +ilogit(), +inv_logit(), +invlogit(), +log10<-(), +log2<-(), +log<-(), +logit(), +logit<-(), +phi(), +pow()

    +
    + +
    +

    Examples

    +
    step(1)
    +#> [1] TRUE
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/svalue.html b/dev/reference/svalue.html new file mode 100644 index 00000000..df0ed81f --- /dev/null +++ b/dev/reference/svalue.html @@ -0,0 +1,125 @@ + +Surprisal Value — svalue • extras + Skip to contents + + +
    +
    +
    + +
    +

    The surprisal value (Greenland 2019) is the pvalue expressed in +terms of how many consecutive heads would have to be thrown on a fair coin +in a single attempt to achieve the same probability.

    +
    + +
    +

    Usage

    +
    svalue(x, threshold = 0, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    threshold
    +

    A number of the threshold value.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A non-negative number.

    +
    +
    +

    References

    +

    Greenland, S. 2019. Valid P -Values Behave Exactly as They Should: +Some Misleading Criticisms of P -Values and Their Resolution With S -Values. +The American Statistician 73(sup1): 106–114. +doi:10.1080/00031305.2018.1529625 +.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +pzeros(), +skewness(), +upper(), +variance(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    svalue(as.numeric(0:100))
    +#> [1] 5.672425
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/upper.html b/dev/reference/upper.html new file mode 100644 index 00000000..af464458 --- /dev/null +++ b/dev/reference/upper.html @@ -0,0 +1,117 @@ + +Upper Credible Limit — upper • extras + Skip to contents + + +
    +
    +
    + +
    +

    Calculates the quantile-based upper credible limit.

    +
    + +
    +

    Usage

    +
    upper(x, conf_level = 0.95, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric vector of MCMC values.

    + + +
    conf_level
    +

    A numeric scalar between 0 and 1 specifying the confidence +level.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    Details

    +

    By default it returns the 95% credible limit which +corresponds to the 97.5% quantile.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +pzeros(), +skewness(), +svalue(), +variance(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    upper(as.numeric(0:100))
    +#> [1] 97.5
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/variance.html b/dev/reference/variance.html new file mode 100644 index 00000000..bd16e7c7 --- /dev/null +++ b/dev/reference/variance.html @@ -0,0 +1,107 @@ + +Variance — variance • extras + Skip to contents + + +
    +
    +
    + +
    +

    Variance

    +
    + +
    +

    Usage

    +
    variance(x, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +pzeros(), +skewness(), +svalue(), +upper(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    variance(1:10)
    +#> [1] 9.166667
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/vld_index.html b/dev/reference/vld_index.html new file mode 100644 index 00000000..2ee57d97 --- /dev/null +++ b/dev/reference/vld_index.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/vld_indices.html b/dev/reference/vld_indices.html new file mode 100644 index 00000000..cb243707 --- /dev/null +++ b/dev/reference/vld_indices.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/vld_pars.html b/dev/reference/vld_pars.html new file mode 100644 index 00000000..1042843c --- /dev/null +++ b/dev/reference/vld_pars.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dev/reference/xtr_mean.html b/dev/reference/xtr_mean.html new file mode 100644 index 00000000..b9b66ccd --- /dev/null +++ b/dev/reference/xtr_mean.html @@ -0,0 +1,107 @@ + +Mean — xtr_mean • extras + Skip to contents + + +
    +
    +
    + +
    +

    Mean

    +
    + +
    +

    Usage

    +
    xtr_mean(x, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +pzeros(), +skewness(), +svalue(), +upper(), +variance(), +xtr_median(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    xtr_mean(1:10)
    +#> [1] 5.5
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/xtr_median.html b/dev/reference/xtr_median.html new file mode 100644 index 00000000..0ec455b8 --- /dev/null +++ b/dev/reference/xtr_median.html @@ -0,0 +1,107 @@ + +Median — xtr_median • extras + Skip to contents + + +
    +
    +
    + +
    +

    Median

    +
    + +
    +

    Usage

    +
    xtr_median(x, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +pzeros(), +skewness(), +svalue(), +upper(), +variance(), +xtr_mean(), +xtr_sd(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    xtr_mean(1:10)
    +#> [1] 5.5
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/xtr_sd.html b/dev/reference/xtr_sd.html new file mode 100644 index 00000000..c4f62c8b --- /dev/null +++ b/dev/reference/xtr_sd.html @@ -0,0 +1,107 @@ + +Standard Deviation — xtr_sd • extras + Skip to contents + + +
    +
    +
    + +
    +

    Standard Deviation

    +
    + +
    +

    Usage

    +
    xtr_sd(x, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +pzeros(), +skewness(), +svalue(), +upper(), +variance(), +xtr_mean(), +xtr_median(), +zeros(), +zscore()

    +
    + +
    +

    Examples

    +
    xtr_sd(1:10)
    +#> [1] 3.02765
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/zeros.html b/dev/reference/zeros.html new file mode 100644 index 00000000..9959629c --- /dev/null +++ b/dev/reference/zeros.html @@ -0,0 +1,107 @@ + +Zeros — zeros • extras + Skip to contents + + +
    +
    +
    + +
    +

    The number of zeros in an numeric object.

    +
    + +
    +

    Usage

    +
    zeros(x, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A non-negative integer.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +pzeros(), +skewness(), +svalue(), +upper(), +variance(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zscore()

    +
    + +
    +

    Examples

    +
    zeros(c(0:2))
    +#> [1] 1
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/reference/zscore.html b/dev/reference/zscore.html new file mode 100644 index 00000000..1b2fd13d --- /dev/null +++ b/dev/reference/zscore.html @@ -0,0 +1,110 @@ + +Z-Score — zscore • extras + Skip to contents + + +
    +
    +
    + +
    +

    The Bayesian z-score is here defined as the number of standard deviations +from the mean estimate to zero.

    +
    + +
    +

    Usage

    +
    zscore(x, na_rm = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    A numeric object of MCMC values.

    + + +
    na_rm
    +

    A flag specifying whether to remove missing values.

    + +
    +
    +

    Value

    +

    A number.

    +
    +
    +

    See also

    +

    Other summary: +kurtosis(), +lower(), +pvalue(), +pzeros(), +skewness(), +svalue(), +upper(), +variance(), +xtr_mean(), +xtr_median(), +xtr_sd(), +zeros()

    +
    + +
    +

    Examples

    +
    zscore(as.numeric(0:100))
    +#> [1] 1.706475
    +
    +
    +
    + + +
    + + + + + + + diff --git a/dev/search.json b/dev/search.json new file mode 100644 index 00000000..0905cc0f --- /dev/null +++ b/dev/search.json @@ -0,0 +1 @@ +[{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement codeofconduct@posit.co. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired [Mozilla’s code conduct enforcement ladder][https://github.com/mozilla/inclusion]. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to extras","title":"Contributing to extras","text":"outlines propose change extras.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CONTRIBUTING.html","id":"fixing-typos","dir":"","previous_headings":"","what":"Fixing typos","title":"Contributing to extras","text":"can fix typos, spelling mistakes, grammatical errors documentation directly using GitHub web interface, long changes made source file. generally means ’ll need edit roxygen2 comments .R, .Rd file. can find .R file generates .Rd reading comment first line.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CONTRIBUTING.html","id":"bigger-changes","dir":"","previous_headings":"","what":"Bigger changes","title":"Contributing to extras","text":"want make bigger change, ’s good idea first file issue make sure someone team agrees ’s needed. ’ve found bug, please file issue illustrates bug minimal reprex (also help write unit test, needed).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CONTRIBUTING.html","id":"pull-request-process","dir":"","previous_headings":"Bigger changes","what":"Pull request process","title":"Contributing to extras","text":"Fork package clone onto computer. haven’t done , recommend using usethis::create_from_github(\"\", fork = TRUE). Install development dependences devtools::install_dev_deps(), make sure package passes R CMD check running devtools::check(). R CMD check doesn’t pass cleanly, ’s good idea ask help continuing. Create Git branch pull request (PR). recommend using usethis::pr_init(\"brief-description--change\"). Make changes, commit git, create PR running usethis::pr_push(), following prompts browser. title PR briefly describe change. body PR contain Fixes #issue-number. Begin commit merge messages - indicate user facing changes included NEWS.md. use fledge automatically generate NEWS.md file.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CONTRIBUTING.html","id":"code-style","dir":"","previous_headings":"Bigger changes","what":"Code style","title":"Contributing to extras","text":"New code follow tidyverse style guide. can use styler package apply styles, please don’t restyle code nothing PR. use roxygen2, Markdown syntax, documentation. use testthat unit tests. Contributions test cases included easier accept.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contributing to extras","text":"Please note extras project released Contributor Code Conduct. contributing project agree abide terms.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2020 Poisson Consulting Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/SUPPORT.html","id":null,"dir":"","previous_headings":"","what":"Getting help with extras","title":"Getting help with extras","text":"Thanks using extras! filing issue, places explore pieces put together make process smooth possible.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/SUPPORT.html","id":"make-sure-its-new","dir":"","previous_headings":"","what":"Make sure its new","title":"Getting help with extras","text":"opening new issue, sure search issues pull requests make sure bug hasn’t reported /already fixed development version. default, search pre-populated :issue :open. can edit qualifiers (e.g. :pr, :closed) needed. example, ’d simply remove :open search issues repo, open closed.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/SUPPORT.html","id":"make-a-reprex","dir":"","previous_headings":"","what":"Make a reprex","title":"Getting help with extras","text":"Start making minimal reproducible example using reprex package. haven’t heard used reprex , ’re treat! Seriously, reprex make R-question-asking endeavors easier (pretty insane ROI five ten minutes ’ll take learn ’s ). additional reprex pointers, check Get help! section tidyverse site.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/articles/beta-binomial-deviance-residuals.html","id":"beta-binomial-distribution","dir":"Articles","previous_headings":"","what":"Beta-binomial distribution","title":"Beta-binomial Deviance Residuals","text":"beta-binomial distribution useful wish incorporate additional variation probability parameter binomial distribution, p. accomplishes drawing p beta distribution. parameters beta-binomial number trials, n, shape parameters beta distribution, \\alpha \\beta. likelihood beta-binomial can described follows: P(x | n, \\alpha, \\beta) = \\frac{\\Gamma(n + 1)}{\\Gamma(x + 1)\\Gamma(n - x + 1)} \\frac{\\Gamma(x + \\alpha) \\Gamma(n - x + \\beta)}{\\Gamma(n + \\alpha + \\beta)} \\frac{\\Gamma(\\alpha + \\beta)}{\\Gamma(\\alpha) \\Gamma(\\beta)}, x natural number ≤ n, \\alpha \\beta >0, \\Gamma() represents gamma function. log-likelihood :\\log(P(x | n, \\alpha, \\beta)) = \\log(\\Gamma(n + 1)) - \\log(\\Gamma(x + 1)) - \\log(\\Gamma(n - x + 1)) + \\log(\\Gamma(x + \\alpha)) + \\\\ \\log(\\Gamma(n - x + \\beta)) - \\log(\\Gamma(n + \\alpha + \\beta)) + \\log(\\Gamma(\\alpha + \\beta)) - \\log(\\Gamma(\\alpha)) - \\log(\\Gamma(\\beta)). expected value beta-binomial distribution n \\cdot \\frac{\\alpha}{\\alpha + \\beta}. expected value binomial distribution (n \\cdot p), p replaced expected value beta distribution, \\frac{\\alpha}{\\alpha + \\beta}. parameterization frequently used beta-binomial distribution uses expected probability (p) parameter, dispersion parameter (\\theta) specifies variance probability. particular parameterization \\theta slightly unconventional, useful properties modelling. \\theta = 0, beta-binomial reverts binomial distribution. \\theta = 1 p = 0.5, parameters beta distribution become \\alpha = 1 \\beta = 1, correspond uniform distribution beta-binomial probability parameter. relationships p \\theta \\alpha \\beta defined follows:p = \\frac{\\alpha}{\\alpha + \\beta} \\theta = \\frac{2}{\\alpha + \\beta} \\alpha = 2\\cdot\\frac{p}{\\theta} \\beta = 2\\cdot\\frac{1 - p}{\\theta}","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/articles/beta-binomial-deviance-residuals.html","id":"deviance","dir":"Articles","previous_headings":"","what":"Deviance:","title":"Beta-binomial Deviance Residuals","text":"Recall likelihood model probability data set given model (P(\\text{data}|\\text{model})). deviance model, D, defined : D(\\text{model},\\text{data}) = 2(\\log(P(\\text{data}|\\text{saturated model})) - \\log(P(\\text{data}|\\text{fitted model}))), saturated model model perfectly fits data. saturated model usually uses value x place mean parameter, thereby fitting data points. example, calculating saturated log-likelihood normal distribution involves using x value(s) place mean parameter \\mu log-likelihood. Recall expected value binomial distribution n \\cdot p. Since n fixed binomial distribution, p = \\frac{x}{n} used calculate saturated log-likelihood. case beta-binomial distribution, confusion used saturated model. One suggested approach use saturated log-likelihood binomial distribution, described , effectively setting \\theta dispersion term 0. second suggested approach use method described binomial distribution (.e., replacing p \\frac{x}{n}), holding \\theta value constant. approaches issues. problem first approach likelihood profile beta-binomial becomes increasingly dispersed relative binomial \\theta increases (Fig. 1). Consequently, increasing \\theta increases deviance even expected value fitted model saturated binomial model. Fig. 1: Beta-binomial likelihood profile x = 1 n = 5, different values \\theta. \\theta = 0 corresponds binomial case. problem second approach combinations p \\theta, resultant deviance values negative. issue two reasons. Firstly, nonsensical definition saturated model best possible fit data. Secondly, computationally problematic, calculating deviance residuals, next section, involves taking square root deviance. example case deviance negative. Using x = 1, n = 5, p = 0.3, \\theta = 0.5, calculate saturated log-likelihood: \\alpha_{sat} = \\frac{2 (\\frac{x}{n})}{\\theta} = \\frac{2(0.3)}{0.5} = 0.8 \\beta_{sat} = \\frac{2 (1 - \\frac{x}{n})}{\\theta} = \\frac{2 (1 - 0.3)}{0.5} = 3.2 \\log(P(x|n, p_{sat}, \\theta_{sat}) = -1.355106, fitted log-likelihood: \\alpha_{fit} = \\frac{2 (p)}{\\theta} = \\frac{2(0.3)}{0.5} = 1.2 \\beta_{fit} = \\frac{2 (1 - p)}{\\theta} = \\frac{2 (1 - 0.3}{0.5} = 2.8 \\log(P(x|n, p_{fit}, \\theta_{fit})) = -1.32999, finally, deviance: summary, deviance negative likelihood expected value, p = \\frac{x}{n} less likelihood observed value (Fig. 2). solution problem appears choose value p maximizes likelihood. However, beta-binomial distribution closed-form solutions certain values \\alpha \\beta. Thus, must generally search value p maximizes likelihood data point order calculate saturated log-likelihood. refer optimized p value ^{th} data point p_i^*, generally p^*. use p^* calculate saturated log-likelihood produces deviances () strictly positive, (b) relative value \\theta. value p_i^* example case x = 1, n = 5, \\theta = 0.5 shown Figure 2. Fig. 2: Beta-binomial likelihood profile x = 1, n = 5, \\theta = 0.5. dashed vertical line shows likelihood expected value beta-binomial distribution (n \\cdot p) p = \\frac{x}{n} = \\frac{1}{5} = 0.2. can see, p likelihood maximized. solid vertical line shows likelihood maximum point. case, p^* = 0.26.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/articles/beta-binomial-deviance-residuals.html","id":"deviance-residuals","dir":"Articles","previous_headings":"","what":"Deviance residuals","title":"Beta-binomial Deviance Residuals","text":"unit deviance, d_i refers deviance ^{th} data point, x_i:d_i = 2(\\log(P(x_i|n, p_i^*, \\theta)) - \\log(P(x_i|n, p, \\theta))). deviance residual signed squared root unit deviance,r_i = \\text{sign}(x_i - (n p_i^*)) \\sqrt{d_i}. following plot shows histograms deviance residuals 10,000 randomly generated data points n = 50 various values p \\theta. Fig. 4: Histograms deviance residuals 10,000 beta-binomial data points simulated n = 50, p = \\{0.3, 0.5, 0.9 \\}, \\theta = \\{0.0, 0.1, 0.5, 1.0 \\}. percentages within panel (.e., combination p \\theta) sum 100%. Recall \\theta = 0 refers binomial case. p = 0.5 \\theta > 0, deviance residuals close 0 become less common; \\theta increases, distribution deviance residuals becomes less continuous (Fig. 4). p deviates 0.5 \\theta > 0, distribution deviance residuals becomes increasingly skewed discontinuous (Fig. 4). Due skewed discontinuous nature distribution deviance residuals, goodness fit beta-binomial model assessed deviance residuals alone must evaluated using posterior predictive checking.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Nicole Hill. Author, maintainer. Joe Thorley. Author. Kirill Müller. Contributor. Nadine Hussein. Contributor. . Copyright holder, funder.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Hill N, Thorley J (2025). extras: Helper Functions Bayesian Analyses. R package version 0.8.0.9000, https://github.com/poissonconsulting/extras, https://poissonconsulting.github.io/extras/.","code":"@Manual{, title = {extras: Helper Functions for Bayesian Analyses}, author = {Nicole Hill and Joe Thorley}, year = {2025}, note = {R package version 0.8.0.9000, https://github.com/poissonconsulting/extras}, url = {https://poissonconsulting.github.io/extras/}, }"},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"extras-","dir":"","previous_headings":"","what":"Helper Functions for Bayesian Analyses","title":"Helper Functions for Bayesian Analyses","text":"extras provides helper functions Bayesian analyses. particular provides functions summarise vectors MCMC (Monte Carlo Markov Chain) samples, draw random samples various distributions calculate deviance residuals well R translations BUGS (Bayesian Using Gibbs Sampling), JAGS (Just Another Gibbs Sampler), STAN TMB (Template Model Builder) functions.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"summarise-mcmc-samples","dir":"","previous_headings":"Demonstration","what":"Summarise MCMC Samples","title":"Helper Functions for Bayesian Analyses","text":"extras package provides functions summarise MCMC samples like svalue() gives surprisal value (Greenland, 2019)","code":"library(extras) #> #> Attaching package: 'extras' #> The following object is masked from 'package:stats': #> #> step set.seed(1) x <- rnorm(100) svalue(rnorm(100)) #> [1] 0.3183615 svalue(rnorm(100, mean = 1)) #> [1] 1.704015 svalue(rnorm(100, mean = 2)) #> [1] 3.850857 svalue(rnorm(100, mean = 3)) #> [1] 5.073249"},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"distributions","dir":"","previous_headings":"Demonstration","what":"Distributions","title":"Helper Functions for Bayesian Analyses","text":"Implemented distributions functions draw random samples, calculate log-likelihoods, calculate deviance residuals include: Bernoulli Binomial Beta-binomial Gamma Gamma-Poisson Zero-inflated gamma-Poisson Log-Normal Negative Binomial Normal Poisson Zero-inflated Poisson Skew Normal Student’s t","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"r-translations","dir":"","previous_headings":"Demonstration","what":"R translations","title":"Helper Functions for Bayesian Analyses","text":"package also provides R translations BUGS (JAGS) functions pow() log<-.","code":"pow(10, 2) #> [1] 100 mu <- NULL log(mu) <- 1 mu #> [1] 2.718282"},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"numericise-r-objects","dir":"","previous_headings":"Demonstration","what":"Numericise R Objects","title":"Helper Functions for Bayesian Analyses","text":"Atomic vectors, matrices, arrays data.frames appropriate classes can converted numeric objects suitable Bayesian analysis using numericise() (numericize()) function.","code":"numericise( data.frame( logical = c(TRUE, FALSE), factor = factor(c(\"blue\", \"green\")), Date = as.Date(c(\"2000-01-01\", \"2000-01-02\")), hms = hms::as_hms(c(\"00:00:02\", \"00:01:01\")) ) ) #> logical factor Date hms #> [1,] 1 1 10957 2 #> [2,] 0 2 10958 61"},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"information","dir":"","previous_headings":"","what":"Information","title":"Helper Functions for Bayesian Analyses","text":"information see Get Started vignette.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"release","dir":"","previous_headings":"Installation","what":"Release","title":"Helper Functions for Bayesian Analyses","text":"install release version CRAN. website release version https://poissonconsulting.github.io/extras/.","code":"install.packages(\"extras\")"},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"development","dir":"","previous_headings":"Installation","what":"Development","title":"Helper Functions for Bayesian Analyses","text":"install development version GitHub r-universe.","code":"# install.packages(\"remotes\") remotes::install_github(\"poissonconsulting/extras\") install.packages(\"extras\", repos = c(\"https://poissonconsulting.r-universe.dev\", \"https://cloud.r-project.org\"))"},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"references","dir":"","previous_headings":"","what":"References","title":"Helper Functions for Bayesian Analyses","text":"Greenland, S. 2019. Valid P-Values Behave Exactly : Misleading Criticisms P-Values Resolution S-Values. American Statistician 73(sup1): 106–114.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"contribution","dir":"","previous_headings":"","what":"Contribution","title":"Helper Functions for Bayesian Analyses","text":"Please report issues. Pull requests always welcome.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Helper Functions for Bayesian Analyses","text":"Please note extras project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list.html","id":null,"dir":"Reference","previous_headings":"","what":"As List — as_list","title":"As List — as_list","text":"Coerces object list. attributes removed except names.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"As List — as_list","text":"","code":"as_list(x, ...) # Default S3 method as_list(x, ...)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"As List — as_list","text":"x object. ... arguments passed methods.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"As List — as_list","text":"list.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"As List — as_list","text":"","code":"as_list(1:3) #> [[1]] #> [1] 1 #> #> [[2]] #> [1] 2 #> #> [[3]] #> [1] 3 #> as_list(c(x = 1, y = 2)) #> $x #> [1] 1 #> #> $y #> [1] 2 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list_unnamed.html","id":null,"dir":"Reference","previous_headings":"","what":"As List — as_list_unnamed","title":"As List — as_list_unnamed","text":"Coerces object list. attributes removed except names.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list_unnamed.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"As List — as_list_unnamed","text":"","code":"as_list_unnamed(x, ...) # Default S3 method as_list_unnamed(x, ...)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list_unnamed.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"As List — as_list_unnamed","text":"x object. ... arguments passed methods.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list_unnamed.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"As List — as_list_unnamed","text":"list.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/as_list_unnamed.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"As List — as_list_unnamed","text":"","code":"as_list_unnamed(1:3) #> Warning: `as_list_unnamed()` was deprecated in extras 0.1.1. #> ℹ Please use `as_list()` instead. #> [[1]] #> [1] 1 #> #> [[2]] #> [1] 2 #> #> [[3]] #> [1] 3 #> as_list_unnamed(c(x = 1, y = 2)) #> $x #> [1] 1 #> #> $y #> [1] 2 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/bern.html","id":null,"dir":"Reference","previous_headings":"","what":"Bernoulli Distribution — dbern","title":"Bernoulli Distribution — dbern","text":"Bernoulli Distribution","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/bern.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bernoulli Distribution — dbern","text":"","code":"dbern(x, prob, log = FALSE) pbern(q, prob, lower.tail = TRUE, log = FALSE) qbern(p, prob, lower.tail = TRUE, log = FALSE) rbern(n, prob)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/bern.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bernoulli Distribution — dbern","text":"x vector 0s 1s. prob numeric vector values 0 1 probability success. log flag specifying whether return log-transformed value. q vector quantiles. lower.tail flag specifying whether return lower upper tail distribution. p vector probabilities. n non-negative whole number number random samples generate.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/bern.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bernoulli Distribution — dbern","text":"numeric vector random samples.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/bern.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Bernoulli Distribution — dbern","text":"","code":"dbern(1, 0.5) #> [1] 0.5 pbern(0.75, 0.5) #> [1] 0.5 qbern(0.1, 0.5) #> [1] 0 rbern(1, 0.5) #> [1] 0"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_index.html","id":null,"dir":"Reference","previous_headings":"","what":"Check Index — chk_index","title":"Check Index — chk_index","text":"Checks object vector one positive integer values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_index.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check Index — chk_index","text":"","code":"chk_index(x, x_name = NULL) vld_index(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_index.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check Index — chk_index","text":"x object. x_name string name object x NULL.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_index.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check Index — chk_index","text":"chk_ function throws informative error test fails. vld_ function returns flag indicating whether test met.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_index.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Check Index — chk_index","text":"vld_index(): Validate Index","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_index.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check Index — chk_index","text":"","code":"x <- c(2L, 1L) chk_index(x) y <- c(2L, -1L) try(chk_index(y)) #> Error in chk_index(y) : `y` must have values greater than 0. vld_index(c(-1)) #> [1] FALSE vld_index(c(3L, 1L)) #> [1] TRUE"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_indices.html","id":null,"dir":"Reference","previous_headings":"","what":"Check Indices — chk_indices","title":"Check Indices — chk_indices","text":"Checks object list indices ie vectors one positive integer values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_indices.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check Indices — chk_indices","text":"","code":"chk_indices(x, x_name = NULL) vld_indices(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_indices.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check Indices — chk_indices","text":"x object. x_name string name object x NULL.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_indices.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check Indices — chk_indices","text":"chk_ function throws informative error test fails. vld_ function returns flag indicating whether test met.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_indices.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Check Indices — chk_indices","text":"vld_indices(): Validate Indices","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_indices.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check Indices — chk_indices","text":"","code":"x <- list(c(2L, 1L)) chk_indices(x) y <- c(2L, 1L) try(chk_indices(y)) #> Error in chk_indices(y) : `y` must be a list. vld_indices(c(3L, 1L)) #> [1] FALSE vld_indices(list(c(3L, 1L))) #> [1] TRUE"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_pars.html","id":null,"dir":"Reference","previous_headings":"","what":"Check Parameter Names — chk_pars","title":"Check Parameter Names — chk_pars","text":"Checks valid parameter names.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_pars.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check Parameter Names — chk_pars","text":"","code":"chk_pars(x, x_name = NULL) vld_pars(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_pars.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check Parameter Names — chk_pars","text":"x object. x_name string name object x NULL.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_pars.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check Parameter Names — chk_pars","text":"chk_ function throws informative error test fails. vld_ function returns flag indicating whether test met.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_pars.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Check Parameter Names — chk_pars","text":"character vector must consist values start alpha include alphanumeric characters '_' '.'. Missing values duplicates permitted.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_pars.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Check Parameter Names — chk_pars","text":"vld_pars(): Validate Parameter Names","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/chk_pars.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check Parameter Names — chk_pars","text":"","code":"x <- c(\"x\", \"a1._\", \"X\") chk_pars(x) y <- c(\"x[1]\", \"a1\", \"a1\", \"._0\") try(chk_pars(y)) #> Error in chk_pars(y) : #> `y` must have values matching regular expression '^[[:alpha:]][[:alnum:]._]*$'. vld_pars(c(\"x\", \"a1._\", \"X\")) #> [1] TRUE vld_pars(c(\"x[1]\", \"a1\", \"a1\", \"._0\")) #> [1] FALSE"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_bern.html","id":null,"dir":"Reference","previous_headings":"","what":"Bernoulli Deviances — dev_bern","title":"Bernoulli Deviances — dev_bern","text":"Bernoulli Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_bern.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bernoulli Deviances — dev_bern","text":"","code":"dev_bern(x, prob = 0.5, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_bern.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bernoulli Deviances — dev_bern","text":"x vector 0s 1s. prob numeric vector values 0 1 probability success. res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_bern.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bernoulli Deviances — dev_bern","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_bern.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Bernoulli Deviances — dev_bern","text":"","code":"dev_bern(c(TRUE, FALSE), 0.7) #> [1] 0.7133499 2.4079456"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_beta_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Beta-Binomial Deviances — dev_beta_binom","title":"Beta-Binomial Deviances — dev_beta_binom","text":"parameterization beta-binomial distribution uses expected probability parameter, prob, dispersion parameter, theta. parameters underlying beta mixture alpha = (2 * prob) / theta beta = (2 * (1 - prob)) / theta. parameterization theta unconventional, useful properties modelling. theta = 0, beta-binomial reverts binomial distribution. theta = 1 prob = 0.5, parameters beta distribution become alpha = 1 beta = 1, correspond uniform distribution beta-binomial probability parameter.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_beta_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Beta-Binomial Deviances — dev_beta_binom","text":"","code":"dev_beta_binom(x, size = 1, prob = 0.5, theta = 0, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_beta_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Beta-Binomial Deviances — dev_beta_binom","text":"x non-negative whole numeric vector values. size non-negative whole numeric vector number trials. prob numeric vector values 0 1 probability success. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_beta_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Beta-Binomial Deviances — dev_beta_binom","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_beta_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Beta-Binomial Deviances — dev_beta_binom","text":"","code":"dev_beta_binom(c(0, 1, 2), 10, 0.5, 0.1) #> [1] 10.758196 5.136943 2.608386"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Binomial Deviances — dev_binom","title":"Binomial Deviances — dev_binom","text":"Binomial Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Binomial Deviances — dev_binom","text":"","code":"dev_binom(x, size = 1, prob = 0.5, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Binomial Deviances — dev_binom","text":"x non-negative whole numeric vector values. size non-negative whole numeric vector number trials. prob numeric vector values 0 1 probability success. res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Binomial Deviances — dev_binom","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Binomial Deviances — dev_binom","text":"","code":"dev_binom(c(0, 1, 2), 2, 0.3) #> [1] 1.4266998 0.3487068 4.8158912"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma.html","id":null,"dir":"Reference","previous_headings":"","what":"Gamma Deviances — dev_gamma","title":"Gamma Deviances — dev_gamma","text":"Gamma Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Gamma Deviances — dev_gamma","text":"","code":"dev_gamma(x, shape = 1, rate = 1, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Gamma Deviances — dev_gamma","text":"x numeric vector values. shape non-negative numeric vector shape. rate non-negative numeric vector rate. res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Gamma Deviances — dev_gamma","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Gamma Deviances — dev_gamma","text":"","code":"dev_gamma(c(0, 1, 2), 1, 2) #> [1] Inf 0.6137056 3.2274113"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Gamma-Poisson Deviances — dev_gamma_pois","title":"Gamma-Poisson Deviances — dev_gamma_pois","text":"Gamma-Poisson Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Gamma-Poisson Deviances — dev_gamma_pois","text":"","code":"dev_gamma_pois(x, lambda = 1, theta = 0, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Gamma-Poisson Deviances — dev_gamma_pois","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Gamma-Poisson Deviances — dev_gamma_pois","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Gamma-Poisson Deviances — dev_gamma_pois","text":"","code":"dev_gamma_pois(c(1, 3, 4), 3, 2) #> [1] 0.34466900 0.00000000 0.03962673"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois_zi.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero-Inflated Gamma-Poisson Deviances — dev_gamma_pois_zi","title":"Zero-Inflated Gamma-Poisson Deviances — dev_gamma_pois_zi","text":"Zero-Inflated Gamma-Poisson Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois_zi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero-Inflated Gamma-Poisson Deviances — dev_gamma_pois_zi","text":"","code":"dev_gamma_pois_zi(x, lambda = 1, theta = 0, prob = 0, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois_zi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero-Inflated Gamma-Poisson Deviances — dev_gamma_pois_zi","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). prob numeric vector values 0 1 probability success. res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois_zi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero-Inflated Gamma-Poisson Deviances — dev_gamma_pois_zi","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois_zi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero-Inflated Gamma-Poisson Deviances — dev_gamma_pois_zi","text":"","code":"dev_gamma_pois_zi(c(1, 3, 4), 3, 2) #> [1] 0.34466900 0.00000000 0.03962673"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_lnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Log-Normal Deviances — dev_lnorm","title":"Log-Normal Deviances — dev_lnorm","text":"Log-Normal Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_lnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log-Normal Deviances — dev_lnorm","text":"","code":"dev_lnorm(x, meanlog = 0, sdlog = 1, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_lnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log-Normal Deviances — dev_lnorm","text":"x numeric vector values. meanlog numeric vector means log scale. sdlog non-negative numeric vector standard deviations log scale. res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_lnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log-Normal Deviances — dev_lnorm","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_lnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log-Normal Deviances — dev_lnorm","text":"","code":"dev_lnorm(exp(-2:2)) #> [1] 4 1 0 1 4"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_neg_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Negative Binomial Deviances — dev_neg_binom","title":"Negative Binomial Deviances — dev_neg_binom","text":"Negative Binomial Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_neg_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Negative Binomial Deviances — dev_neg_binom","text":"","code":"dev_neg_binom(x, lambda = 1, theta = 0, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_neg_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Negative Binomial Deviances — dev_neg_binom","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_neg_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Negative Binomial Deviances — dev_neg_binom","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_neg_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Negative Binomial Deviances — dev_neg_binom","text":"","code":"dev_neg_binom(c(1, 2, 5), 2, 3) #> [1] 0.1060144 0.0000000 0.3450025"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_norm.html","id":null,"dir":"Reference","previous_headings":"","what":"Normal Deviances — dev_norm","title":"Normal Deviances — dev_norm","text":"Normal Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_norm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Normal Deviances — dev_norm","text":"","code":"dev_norm(x, mean = 0, sd = 1, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_norm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Normal Deviances — dev_norm","text":"x numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations. res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_norm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Normal Deviances — dev_norm","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_norm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Normal Deviances — dev_norm","text":"","code":"dev_norm(c(-2:2)) #> [1] 4 1 0 1 4"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Poisson Deviances — dev_pois","title":"Poisson Deviances — dev_pois","text":"Poisson Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Poisson Deviances — dev_pois","text":"","code":"dev_pois(x, lambda, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Poisson Deviances — dev_pois","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Poisson Deviances — dev_pois","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Poisson Deviances — dev_pois","text":"","code":"dev_pois(c(1, 3, 4), 3) #> [1] 1.8027754 0.0000000 0.3014566"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois_zi.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero-Inflated Poisson Deviances — dev_pois_zi","title":"Zero-Inflated Poisson Deviances — dev_pois_zi","text":"Zero-Inflated Poisson Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois_zi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero-Inflated Poisson Deviances — dev_pois_zi","text":"","code":"dev_pois_zi(x, lambda, prob = 0, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois_zi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero-Inflated Poisson Deviances — dev_pois_zi","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. prob numeric vector values 0 1 probability success. res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois_zi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero-Inflated Poisson Deviances — dev_pois_zi","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_pois_zi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero-Inflated Poisson Deviances — dev_pois_zi","text":"","code":"dev_pois_zi(c(1, 3, 4), 3) #> [1] 1.8027754 0.0000000 0.3014566"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_skewnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Skew Normal Deviances — dev_skewnorm","title":"Skew Normal Deviances — dev_skewnorm","text":"Skew Normal Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_skewnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Skew Normal Deviances — dev_skewnorm","text":"","code":"dev_skewnorm(x, mean = 0, sd = 1, shape = 0, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_skewnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Skew Normal Deviances — dev_skewnorm","text":"x numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations. shape numeric vector shape. res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_skewnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Skew Normal Deviances — dev_skewnorm","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_skewnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Skew Normal Deviances — dev_skewnorm","text":"","code":"dev_skewnorm(c(-2:2)) #> [1] 4 1 0 1 4 dev_skewnorm(-2:2, 0, 1, 5) #> [1] 110.2602054 30.9276319 1.1839294 0.7976357 3.7976351 dev_skewnorm(-2:2, 0, 1, 5, res = TRUE) #> [1] -10.5004860 -5.5612617 -1.0880852 0.8931045 1.9487522"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_student.html","id":null,"dir":"Reference","previous_headings":"","what":"Student's t Deviances — dev_student","title":"Student's t Deviances — dev_student","text":"Student's t Deviances","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_student.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Student's t Deviances — dev_student","text":"","code":"dev_student(x, mean = 0, sd = 1, theta = 0, res = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_student.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Student's t Deviances — dev_student","text":"x numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). res flag specifying whether return deviance residual opposed deviance.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_student.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Student's t Deviances — dev_student","text":"numeric vector corresponding deviances deviance residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/dev_student.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Student's t Deviances — dev_student","text":"","code":"dev_student(c(1, 3.5, 4), 3) #> [1] 4.00 0.25 1.00"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp10.html","id":null,"dir":"Reference","previous_headings":"","what":"Exponential Transformation of Base 10 — exp10","title":"Exponential Transformation of Base 10 — exp10","text":"Returns transformation 10^x.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp10.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Exponential Transformation of Base 10 — exp10","text":"","code":"exp10(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp10.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Exponential Transformation of Base 10 — exp10","text":"x numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp10.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Exponential Transformation of Base 10 — exp10","text":"numeric atomic object value 10^x.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp10.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Exponential Transformation of Base 10 — exp10","text":"","code":"x <- c(5, 10.5) exp10(x) #> [1] 100000 31622776602"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp2.html","id":null,"dir":"Reference","previous_headings":"","what":"Exponential Transformation of Base 2 — exp2","title":"Exponential Transformation of Base 2 — exp2","text":"Returns transformation 2^x.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Exponential Transformation of Base 2 — exp2","text":"","code":"exp2(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Exponential Transformation of Base 2 — exp2","text":"x numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Exponential Transformation of Base 2 — exp2","text":"numeric atomic object value 2^x.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/exp2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Exponential Transformation of Base 2 — exp2","text":"","code":"x <- c(5, 10.5) exp2(x) #> [1] 32.000 1448.155"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/extras-package.html","id":null,"dir":"Reference","previous_headings":"","what":"extras: Helper Functions for Bayesian Analyses — extras-package","title":"extras: Helper Functions for Bayesian Analyses — extras-package","text":"Functions 'numericise' 'R' objects (coerce numeric objects), summarise 'MCMC' (Monte Carlo Markov Chain) samples calculate deviance residuals well 'R' translations 'BUGS' (Bayesian Using Gibbs Sampling), 'JAGS' (Just Another Gibbs Sampler), 'STAN' 'TMB' (Template Model Builder) functions.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/extras-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"extras: Helper Functions for Bayesian Analyses — extras-package","text":"Maintainer: Nicole Hill nicole@poissonconsulting.ca (ORCID) Authors: Joe Thorley joe@poissonconsulting.ca (ORCID) contributors: Kirill Müller (ORCID) [contributor] Nadine Hussein (ORCID) [contributor] Poisson Consulting [copyright holder, funder]","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fabs.html","id":null,"dir":"Reference","previous_headings":"","what":"Absolute — fabs","title":"Absolute — fabs","text":"Computes absolute value x. Used TMB replacement abs() seemingly ambiguous.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fabs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Absolute — fabs","text":"","code":"fabs(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fabs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Absolute — fabs","text":"x existing R object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fabs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Absolute — fabs","text":"numeric vector corresponding absolute values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fabs.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Absolute — fabs","text":"wrapper abs().","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fabs.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Absolute — fabs","text":"","code":"fabs(c(0, -1, 2)) #> [1] 0 1 2"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_all.html","id":null,"dir":"Reference","previous_headings":"","what":"Fill All Values — fill_all","title":"Fill All Values — fill_all","text":"Fills object's (missing non-missing) values preserving object's dimensionality class.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_all.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Fill All Values — fill_all","text":"","code":"fill_all(x, value, ...) # S3 method for class 'logical' fill_all(x, value = FALSE, nas = TRUE, ...) # S3 method for class 'integer' fill_all(x, value = 0L, nas = TRUE, ...) # S3 method for class 'numeric' fill_all(x, value = 0, nas = TRUE, ...) # S3 method for class 'character' fill_all(x, value = \"0\", nas = TRUE, ...)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_all.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Fill All Values — fill_all","text":"x object. value scalar value replace values . ... arguments passed methods. nas flag specifying whether also fill missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_all.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Fill All Values — fill_all","text":"modified object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_all.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Fill All Values — fill_all","text":"defined objects values consistent class ie standard data.frames.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_all.html","id":"methods-by-class-","dir":"Reference","previous_headings":"","what":"Methods (by class)","title":"Fill All Values — fill_all","text":"fill_all(logical): Fill logical Objects fill_all(integer): Fill integer Objects fill_all(numeric): Fill numeric Objects fill_all(character): Fill character Objects","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_all.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Fill All Values — fill_all","text":"","code":"# logical fill_all(c(TRUE, NA, FALSE)) #> [1] FALSE FALSE FALSE fill_all(c(TRUE, NA, FALSE, nas = FALSE)) #> nas #> FALSE FALSE FALSE FALSE fill_all(c(TRUE, NA, FALSE, value = NA)) #> value #> FALSE FALSE FALSE FALSE # integer fill_all(matrix(1:4, nrow = 2), value = -1) #> [,1] [,2] #> [1,] -1 -1 #> [2,] -1 -1 # numeric fill_all(c(1, 4, NA), value = TRUE) #> [1] 1 1 1 fill_all(c(1, 4, NA), value = TRUE, nas = FALSE) #> [1] 1 1 NA # character fill_all(c(\"some\", \"words\"), value = TRUE) #> [1] \"TRUE\" \"TRUE\""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_na.html","id":null,"dir":"Reference","previous_headings":"","what":"Fill Missing Values — fill_na","title":"Fill Missing Values — fill_na","text":"Fills object's missing values preserving object's dimensionality class.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_na.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Fill Missing Values — fill_na","text":"","code":"fill_na(x, value, ...) # S3 method for class 'logical' fill_na(x, value = FALSE, ...) # S3 method for class 'integer' fill_na(x, value = 0L, ...) # S3 method for class 'numeric' fill_na(x, value = 0, ...) # S3 method for class 'character' fill_na(x, value = \"0\", ...)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_na.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Fill Missing Values — fill_na","text":"x object. value scalar value replace values . ... arguments passed methods.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_na.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Fill Missing Values — fill_na","text":"modified object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_na.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Fill Missing Values — fill_na","text":"defined objects values consistent class ie standard data.frames.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_na.html","id":"methods-by-class-","dir":"Reference","previous_headings":"","what":"Methods (by class)","title":"Fill Missing Values — fill_na","text":"fill_na(logical): Fill Missing Values logical Objects fill_na(integer): Fill Missing Values integer Objects fill_na(numeric): Fill Missing Values numeric Objects fill_na(character): Fill Missing Values character Objects","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/fill_na.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Fill Missing Values — fill_na","text":"","code":"# logical fill_na(c(TRUE, NA)) #> [1] TRUE FALSE # integer fill_na(c(1L, NA), 0) #> [1] 1 0 # numeric fill_na(c(1, NA), Inf) #> [1] 1 Inf # character fill_na(c(\"text\", NA)) #> [1] \"text\" \"0\" fill_na(matrix(c(\"text\", NA)), value = Inf) #> [,1] #> [1,] \"text\" #> [2,] \"Inf\""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog.html","id":null,"dir":"Reference","previous_headings":"","what":"Inverse Log Transformation — ilog","title":"Inverse Log Transformation — ilog","text":"Inverse log transforms numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Inverse Log Transformation — ilog","text":"","code":"ilog(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Inverse Log Transformation — ilog","text":"x object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Inverse Log Transformation — ilog","text":"numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Inverse Log Transformation — ilog","text":"wrapper exp(value).","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Inverse Log Transformation — ilog","text":"","code":"x <- 1 ilog(x) #> [1] 2.718282"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog10.html","id":null,"dir":"Reference","previous_headings":"","what":"Inverse Log Base 10 Transformation — ilog10","title":"Inverse Log Base 10 Transformation — ilog10","text":"Inverse log transforms numeric atomic object base 10.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog10.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Inverse Log Base 10 Transformation — ilog10","text":"","code":"ilog10(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog10.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Inverse Log Base 10 Transformation — ilog10","text":"x object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog10.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Inverse Log Base 10 Transformation — ilog10","text":"numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog10.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Inverse Log Base 10 Transformation — ilog10","text":"wrapper exp10(value).","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog10.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Inverse Log Base 10 Transformation — ilog10","text":"","code":"x <- c(2, 4.5) ilog10(x) #> [1] 100.00 31622.78"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog2.html","id":null,"dir":"Reference","previous_headings":"","what":"Inverse Log Base 2 Transformation — ilog2","title":"Inverse Log Base 2 Transformation — ilog2","text":"Inverse log transforms numeric atomic object base 2.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Inverse Log Base 2 Transformation — ilog2","text":"","code":"ilog2(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Inverse Log Base 2 Transformation — ilog2","text":"x object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Inverse Log Base 2 Transformation — ilog2","text":"numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog2.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Inverse Log Base 2 Transformation — ilog2","text":"wrapper exp2(value).","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilog2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Inverse Log Base 2 Transformation — ilog2","text":"","code":"x <- c(2, 4.5) ilog2(x) #> [1] 4.00000 22.62742"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilogit.html","id":null,"dir":"Reference","previous_headings":"","what":"Inverse Logistic Transformation — ilogit","title":"Inverse Logistic Transformation — ilogit","text":"Inverse logistically transforms numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilogit.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Inverse Logistic Transformation — ilogit","text":"","code":"ilogit(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilogit.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Inverse Logistic Transformation — ilogit","text":"x numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilogit.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Inverse Logistic Transformation — ilogit","text":"numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilogit.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Inverse Logistic Transformation — ilogit","text":"wrapper stats::plogis().","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ilogit.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Inverse Logistic Transformation — ilogit","text":"","code":"ilogit(c(-1, 0, 5)) #> [1] 0.2689414 0.5000000 0.9933071"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_logit.html","id":null,"dir":"Reference","previous_headings":"","what":"Inverse Logistic Transformation — inv_logit","title":"Inverse Logistic Transformation — inv_logit","text":"Inverse logistically transforms numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_logit.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Inverse Logistic Transformation — inv_logit","text":"","code":"inv_logit(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_logit.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Inverse Logistic Transformation — inv_logit","text":"x numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_logit.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Inverse Logistic Transformation — inv_logit","text":"numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_logit.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Inverse Logistic Transformation — inv_logit","text":"wrapper stats::plogis().","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_logit.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Inverse Logistic Transformation — inv_logit","text":"","code":"inv_logit(c(-1, 0, 5)) #> [1] 0.2689414 0.5000000 0.9933071"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_odds.html","id":null,"dir":"Reference","previous_headings":"","what":"Inverse Odds — inv_odds","title":"Inverse Odds — inv_odds","text":"Calculates probabilities odds.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_odds.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Inverse Odds — inv_odds","text":"","code":"inv_odds(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_odds.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Inverse Odds — inv_odds","text":"x numeric object (vector, matrix array) odds.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_odds.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Inverse Odds — inv_odds","text":"numeric object probabilities odd.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/inv_odds.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Inverse Odds — inv_odds","text":"","code":"inv_odds(c(0, 1, 9, 9999)) #> [1] 0.0000 0.5000 0.9000 0.9999"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/invlogit.html","id":null,"dir":"Reference","previous_headings":"","what":"Inverse Logistic Transformation — invlogit","title":"Inverse Logistic Transformation — invlogit","text":"Inverse logistically transforms numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/invlogit.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Inverse Logistic Transformation — invlogit","text":"","code":"invlogit(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/invlogit.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Inverse Logistic Transformation — invlogit","text":"x numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/invlogit.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Inverse Logistic Transformation — invlogit","text":"numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/invlogit.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Inverse Logistic Transformation — invlogit","text":"wrapper stats::plogis().","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/invlogit.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Inverse Logistic Transformation — invlogit","text":"","code":"invlogit(c(-1, 0, 5)) #> [1] 0.2689414 0.5000000 0.9933071"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/kurtosis.html","id":null,"dir":"Reference","previous_headings":"","what":"Kurtosis — kurtosis","title":"Kurtosis — kurtosis","text":"Kurtosis","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/kurtosis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Kurtosis — kurtosis","text":"","code":"kurtosis(x, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/kurtosis.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Kurtosis — kurtosis","text":"x numeric object MCMC values. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/kurtosis.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Kurtosis — kurtosis","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/kurtosis.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Kurtosis — kurtosis","text":"","code":"kurtosis(1:10) #> [1] -1.224242"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log-set.html","id":null,"dir":"Reference","previous_headings":"","what":"Log Transformation — log<-","title":"Log Transformation — log<-","text":"Replaces object exponent value.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log-set.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log Transformation — log<-","text":"","code":"log(x) <- value"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log-set.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log Transformation — log<-","text":"x object. value numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log-set.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log Transformation — log<-","text":"Called side effect updating x.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log-set.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Log Transformation — log<-","text":"wrapper exp(value).","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log-set.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log Transformation — log<-","text":"","code":"x <- NULL log(x) <- 0.5 x #> [1] 1.648721"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log10-set.html","id":null,"dir":"Reference","previous_headings":"","what":"Log Base 10 Transformation — log10<-","title":"Log Base 10 Transformation — log10<-","text":"Replaces object base 10 exponent value.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log10-set.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log Base 10 Transformation — log10<-","text":"","code":"log10(x) <- value"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log10-set.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log Base 10 Transformation — log10<-","text":"x object. value numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log10-set.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log Base 10 Transformation — log10<-","text":"Called side effect updating x.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log10-set.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Log Base 10 Transformation — log10<-","text":"wrapper exp10(value).","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log10-set.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log Base 10 Transformation — log10<-","text":"","code":"x <- NULL log10(x) <- c(0.5, 5) x #> [1] 3.162278e+00 1.000000e+05"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log2-set.html","id":null,"dir":"Reference","previous_headings":"","what":"Log Base 2 Transformation — log2<-","title":"Log Base 2 Transformation — log2<-","text":"Replaces object base 2 exponent value.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log2-set.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log Base 2 Transformation — log2<-","text":"","code":"log2(x) <- value"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log2-set.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log Base 2 Transformation — log2<-","text":"x object. value numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log2-set.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log Base 2 Transformation — log2<-","text":"Called side effect updating x.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log2-set.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Log Base 2 Transformation — log2<-","text":"wrapper exp2(value).","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log2-set.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log Base 2 Transformation — log2<-","text":"","code":"x <- NULL log2(x) <- c(0.5, 5) x #> [1] 1.414214 32.000000"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_bern.html","id":null,"dir":"Reference","previous_headings":"","what":"Bernoulli Log-Likelihood — log_lik_bern","title":"Bernoulli Log-Likelihood — log_lik_bern","text":"Bernoulli Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_bern.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bernoulli Log-Likelihood — log_lik_bern","text":"","code":"log_lik_bern(x, prob = 0.5)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_bern.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bernoulli Log-Likelihood — log_lik_bern","text":"x vector 0s 1s. prob numeric vector values 0 1 probability success.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_bern.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bernoulli Log-Likelihood — log_lik_bern","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_bern.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Bernoulli Log-Likelihood — log_lik_bern","text":"","code":"log_lik_bern(c(TRUE, FALSE), 0.7) #> [1] -0.3566749 -1.2039728"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_beta_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Beta-Binomial Log-Likelihood — log_lik_beta_binom","title":"Beta-Binomial Log-Likelihood — log_lik_beta_binom","text":"parameterization beta-binomial distribution uses expected probability parameter, prob, dispersion parameter, theta. parameters underlying beta mixture alpha = (2 * prob) / theta beta = (2 * (1 - prob)) / theta. parameterization theta unconventional, useful properties modelling. theta = 0, beta-binomial reverts binomial distribution. theta = 1 prob = 0.5, parameters beta distribution become alpha = 1 beta = 1, correspond uniform distribution beta-binomial probability parameter.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_beta_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Beta-Binomial Log-Likelihood — log_lik_beta_binom","text":"","code":"log_lik_beta_binom(x, size = 1, prob = 0.5, theta = 0, memoize = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_beta_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Beta-Binomial Log-Likelihood — log_lik_beta_binom","text":"x non-negative whole numeric vector values. size non-negative whole numeric vector number trials. prob numeric vector values 0 1 probability success. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). memoize Whether memoize function.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_beta_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Beta-Binomial Log-Likelihood — log_lik_beta_binom","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_beta_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Beta-Binomial Log-Likelihood — log_lik_beta_binom","text":"","code":"log_lik_beta_binom(c(0, 1, 2), 3, 0.5, 0) #> [1] -2.0794415 -0.9808293 -0.9808293"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Binomial Log-Likelihood — log_lik_binom","title":"Binomial Log-Likelihood — log_lik_binom","text":"Binomial Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Binomial Log-Likelihood — log_lik_binom","text":"","code":"log_lik_binom(x, size = 1, prob = 0.5)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Binomial Log-Likelihood — log_lik_binom","text":"x non-negative whole numeric vector values. size non-negative whole numeric vector number trials. prob numeric vector values 0 1 probability success.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Binomial Log-Likelihood — log_lik_binom","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Binomial Log-Likelihood — log_lik_binom","text":"","code":"log_lik_binom(c(0, 1, 2), 2, 0.3) #> [1] -0.7133499 -0.8675006 -2.4079456"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma.html","id":null,"dir":"Reference","previous_headings":"","what":"Gamma Log-Likelihood — log_lik_gamma","title":"Gamma Log-Likelihood — log_lik_gamma","text":"Gamma Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Gamma Log-Likelihood — log_lik_gamma","text":"","code":"log_lik_gamma(x, shape = 1, rate = 1)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Gamma Log-Likelihood — log_lik_gamma","text":"x numeric vector values. shape non-negative numeric vector shape. rate non-negative numeric vector rate.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Gamma Log-Likelihood — log_lik_gamma","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Gamma Log-Likelihood — log_lik_gamma","text":"","code":"log_lik_gamma(c(0, 1, 2), 1, 2) #> [1] 0.6931472 -1.3068528 -3.3068528"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Gamma-Poisson Log-Likelihood — log_lik_gamma_pois","title":"Gamma-Poisson Log-Likelihood — log_lik_gamma_pois","text":"Gamma-Poisson Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Gamma-Poisson Log-Likelihood — log_lik_gamma_pois","text":"","code":"log_lik_gamma_pois(x, lambda = 1, theta = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Gamma-Poisson Log-Likelihood — log_lik_gamma_pois","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Gamma-Poisson Log-Likelihood — log_lik_gamma_pois","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Gamma-Poisson Log-Likelihood — log_lik_gamma_pois","text":"","code":"log_lik_gamma_pois(c(0, 1, 2), 1, 1) #> [1] -0.6931472 -1.3862944 -2.0794415"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois_zi.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero-Inflated Gamma-Poisson Log-Likelihood — log_lik_gamma_pois_zi","title":"Zero-Inflated Gamma-Poisson Log-Likelihood — log_lik_gamma_pois_zi","text":"Zero-Inflated Gamma-Poisson Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois_zi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero-Inflated Gamma-Poisson Log-Likelihood — log_lik_gamma_pois_zi","text":"","code":"log_lik_gamma_pois_zi(x, lambda = 1, theta = 0, prob = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois_zi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero-Inflated Gamma-Poisson Log-Likelihood — log_lik_gamma_pois_zi","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). prob numeric vector values 0 1 probability success.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois_zi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero-Inflated Gamma-Poisson Log-Likelihood — log_lik_gamma_pois_zi","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois_zi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero-Inflated Gamma-Poisson Log-Likelihood — log_lik_gamma_pois_zi","text":"","code":"log_lik_gamma_pois_zi(c(1, 3, 4), 3, 1, prob = 0.5) #> [1] -2.367124 -2.942488 -3.230170"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_lnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Log-Normal Log-Likelihood — log_lik_lnorm","title":"Log-Normal Log-Likelihood — log_lik_lnorm","text":"Log-Normal Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_lnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log-Normal Log-Likelihood — log_lik_lnorm","text":"","code":"log_lik_lnorm(x, meanlog = 0, sdlog = 1)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_lnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log-Normal Log-Likelihood — log_lik_lnorm","text":"x numeric vector values. meanlog numeric vector means log scale. sdlog non-negative numeric vector standard deviations log scale.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_lnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log-Normal Log-Likelihood — log_lik_lnorm","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_lnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log-Normal Log-Likelihood — log_lik_lnorm","text":"","code":"log_lik_lnorm(10, 0, 2) #> [1] -4.577408"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_neg_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Negative Binomial Log-Likelihood — log_lik_neg_binom","title":"Negative Binomial Log-Likelihood — log_lik_neg_binom","text":"Negative Binomial Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_neg_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Negative Binomial Log-Likelihood — log_lik_neg_binom","text":"","code":"log_lik_neg_binom(x, lambda = 1, theta = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_neg_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Negative Binomial Log-Likelihood — log_lik_neg_binom","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_neg_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Negative Binomial Log-Likelihood — log_lik_neg_binom","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_neg_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Negative Binomial Log-Likelihood — log_lik_neg_binom","text":"","code":"log_lik_neg_binom(c(0, 1, 2), 2, 1) #> [1] -1.098612 -1.504077 -1.909543"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_norm.html","id":null,"dir":"Reference","previous_headings":"","what":"Normal Log-Likelihood — log_lik_norm","title":"Normal Log-Likelihood — log_lik_norm","text":"Normal Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_norm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Normal Log-Likelihood — log_lik_norm","text":"","code":"log_lik_norm(x, mean = 0, sd = 1)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_norm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Normal Log-Likelihood — log_lik_norm","text":"x numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_norm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Normal Log-Likelihood — log_lik_norm","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_norm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Normal Log-Likelihood — log_lik_norm","text":"","code":"log_lik_norm(c(-2:2)) #> [1] -2.9189385 -1.4189385 -0.9189385 -1.4189385 -2.9189385"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Poisson Log-Likelihood — log_lik_pois","title":"Poisson Log-Likelihood — log_lik_pois","text":"Poisson Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Poisson Log-Likelihood — log_lik_pois","text":"","code":"log_lik_pois(x, lambda = 1)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Poisson Log-Likelihood — log_lik_pois","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Poisson Log-Likelihood — log_lik_pois","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Poisson Log-Likelihood — log_lik_pois","text":"","code":"log_lik_pois(c(1, 3, 4), 3) #> [1] -1.901388 -1.495923 -1.783605"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois_zi.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero-Inflated Poisson Log-Likelihood — log_lik_pois_zi","title":"Zero-Inflated Poisson Log-Likelihood — log_lik_pois_zi","text":"Zero-Inflated Poisson Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois_zi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero-Inflated Poisson Log-Likelihood — log_lik_pois_zi","text":"","code":"log_lik_pois_zi(x, lambda = 1, prob = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois_zi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero-Inflated Poisson Log-Likelihood — log_lik_pois_zi","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. prob numeric vector values 0 1 probability success.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois_zi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero-Inflated Poisson Log-Likelihood — log_lik_pois_zi","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois_zi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero-Inflated Poisson Log-Likelihood — log_lik_pois_zi","text":"","code":"log_lik_pois_zi(c(1, 3, 4), 3, prob = 0.5) #> [1] -2.594535 -2.189070 -2.476752"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_skewnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Skew Normal Log-Likelihood — log_lik_skewnorm","title":"Skew Normal Log-Likelihood — log_lik_skewnorm","text":"Skew Normal Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_skewnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Skew Normal Log-Likelihood — log_lik_skewnorm","text":"","code":"log_lik_skewnorm(x, mean = 0, sd = 1, shape = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_skewnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Skew Normal Log-Likelihood — log_lik_skewnorm","text":"x numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations. shape numeric vector shape.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_skewnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Skew Normal Log-Likelihood — log_lik_skewnorm","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_skewnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Skew Normal Log-Likelihood — log_lik_skewnorm","text":"","code":"log_lik_skewnorm(c(-2:2)) #> [1] -2.9189385 -1.4189385 -0.9189385 -1.4189385 -2.9189385 log_lik_skewnorm(c(-2:2), shape = -2) #> [1] -2.2258230 -0.7488043 -0.9189385 -4.5089757 -12.5858928 log_lik_skewnorm(c(-2:2), shape = 2) #> [1] -12.5858928 -4.5089757 -0.9189385 -0.7488043 -2.2258230"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_student.html","id":null,"dir":"Reference","previous_headings":"","what":"Student's t Log-Likelihood — log_lik_student","title":"Student's t Log-Likelihood — log_lik_student","text":"Student's t Log-Likelihood","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_student.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Student's t Log-Likelihood — log_lik_student","text":"","code":"log_lik_student(x, mean = 0, sd = 1, theta = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_student.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Student's t Log-Likelihood — log_lik_student","text":"x numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_student.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Student's t Log-Likelihood — log_lik_student","text":"numeric vector corresponding log-likelihoods.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_lik_student.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Student's t Log-Likelihood — log_lik_student","text":"","code":"log_lik_student(c(1, 3.5, 4), mean = 1, sd = 2, theta = 1 / 3) #> [1] -1.694036 -2.532553 -2.813268"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds-set.html","id":null,"dir":"Reference","previous_headings":"","what":"Inverse Log Odds Transformation — log_odds<-","title":"Inverse Log Odds Transformation — log_odds<-","text":"Replaces object inverse log odds value.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds-set.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Inverse Log Odds Transformation — log_odds<-","text":"","code":"log_odds(x) <- value"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds-set.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Inverse Log Odds Transformation — log_odds<-","text":"x existing R object. value numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds-set.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Inverse Log Odds Transformation — log_odds<-","text":"Called side effect updating x.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds-set.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Inverse Log Odds Transformation — log_odds<-","text":"","code":"x <- NULL log_odds(x) <- 0.5 x #> [1] -1.098612"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds.html","id":null,"dir":"Reference","previous_headings":"","what":"Log Odds — log_odds","title":"Log Odds — log_odds","text":"Calculates log odds probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log Odds — log_odds","text":"","code":"log_odds(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log Odds — log_odds","text":"x numeric object (vector, matrix array) probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log Odds — log_odds","text":"numeric object log odds probability.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log Odds — log_odds","text":"","code":"log_odds(c(0, 0.5, 0.9, 1)) #> [1] -Inf 0.000000 2.197225 Inf"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio.html","id":null,"dir":"Reference","previous_headings":"","what":"Log-Odds Ratio — log_odds_ratio","title":"Log-Odds Ratio — log_odds_ratio","text":"Calculates log odds ratio two probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log-Odds Ratio — log_odds_ratio","text":"","code":"log_odds_ratio(x, x2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log-Odds Ratio — log_odds_ratio","text":"x numeric object (vector, matrix array) probabilities. x2 second numeric object probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log-Odds Ratio — log_odds_ratio","text":"numeric object log odds ratios.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log-Odds Ratio — log_odds_ratio","text":"","code":"log_odds_ratio(0.5, 0.75) #> [1] -1.098612"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio2.html","id":null,"dir":"Reference","previous_headings":"","what":"Log Odds Ratio2 — log_odds_ratio2","title":"Log Odds Ratio2 — log_odds_ratio2","text":"Calculates log odds ratio vector two probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log Odds Ratio2 — log_odds_ratio2","text":"","code":"log_odds_ratio2(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log Odds Ratio2 — log_odds_ratio2","text":"x numeric vector length 2.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log Odds Ratio2 — log_odds_ratio2","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log Odds Ratio2 — log_odds_ratio2","text":"","code":"log_odds_ratio2(c(0.5, 0.9)) #> [1] -2.197225 log_odds_ratio2(c(0.9, 0.5)) #> [1] 2.197225"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit-set.html","id":null,"dir":"Reference","previous_headings":"","what":"Logistic Transformation — logit<-","title":"Logistic Transformation — logit<-","text":"Logistic Transformation","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit-set.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Logistic Transformation — logit<-","text":"","code":"logit(x) <- value"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit-set.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Logistic Transformation — logit<-","text":"x existing object. value numeric atomic object value inverse logistically transform.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit-set.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Logistic Transformation — logit<-","text":"Called side effect updating x.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit-set.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Logistic Transformation — logit<-","text":"wrapper stats::plogis(value).","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit-set.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Logistic Transformation — logit<-","text":"","code":"x <- 1 logit(x) <- 0.5 x #> [1] 0.6224593"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit.html","id":null,"dir":"Reference","previous_headings":"","what":"Logistic Transformation — logit","title":"Logistic Transformation — logit","text":"Logistic transforms numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Logistic Transformation — logit","text":"","code":"logit(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Logistic Transformation — logit","text":"x numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Logistic Transformation — logit","text":"logistically transformed numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Logistic Transformation — logit","text":"wrapper stats::qlogis().","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/logit.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Logistic Transformation — logit","text":"","code":"logit(c(0.25, 0.5, 0.75)) #> [1] -1.098612 0.000000 1.098612"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/lower.html","id":null,"dir":"Reference","previous_headings":"","what":"Lower Credible Limit — lower","title":"Lower Credible Limit — lower","text":"Calculates quantile-based lower credible limit.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/lower.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Lower Credible Limit — lower","text":"","code":"lower(x, conf_level = 0.95, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/lower.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Lower Credible Limit — lower","text":"x numeric vector MCMC values. conf_level numeric scalar 0 1 specifying confidence level. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/lower.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Lower Credible Limit — lower","text":"number.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/lower.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Lower Credible Limit — lower","text":"default returns 95% credible limit corresponds 2.5% quantile.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/lower.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Lower Credible Limit — lower","text":"","code":"lower(as.numeric(0:100)) #> [1] 2.5"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/numericise.html","id":null,"dir":"Reference","previous_headings":"","what":"Numericise (or Numericize) — numericise","title":"Numericise (or Numericize) — numericise","text":"Coerce R object numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/numericise.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Numericise (or Numericize) — numericise","text":"","code":"numericise(x, ...) numericize(x, ...) # S3 method for class 'logical' numericise(x, ...) # S3 method for class 'integer' numericise(x, ...) # S3 method for class 'double' numericise(x, ...) # S3 method for class 'factor' numericise(x, ...) # S3 method for class 'Date' numericise(x, ...) # S3 method for class 'POSIXct' numericise(x, ...) # S3 method for class 'hms' numericise(x, ...) # S3 method for class 'matrix' numericise(x, ...) # S3 method for class 'array' numericise(x, ...) # S3 method for class 'data.frame' numericise(x, ...)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/numericise.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Numericise (or Numericize) — numericise","text":"x object. ... arguments passed methods.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/numericise.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Numericise (or Numericize) — numericise","text":"numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/numericise.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Numericise (or Numericize) — numericise","text":"numericize() alias numericise. want implement method class \"foo\", implement numericise.foo().","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/numericise.html","id":"methods-by-class-","dir":"Reference","previous_headings":"","what":"Methods (by class)","title":"Numericise (or Numericize) — numericise","text":"numericise(logical): Numericise logical Object numericise(integer): Numericise integer Object numericise(double): Numericise double Object numericise(factor): Numericise factor numericise(Date): Numericise Date vector numericise(POSIXct): Numericise POSIXct vector numericise(hms): Numericise hms vector numericise(matrix): Numericise matrix numericise(array): Numericise array numericise(data.frame): Numericise data.frame","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/numericise.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Numericise (or Numericize) — numericise","text":"","code":"# logical numericise(TRUE) #> [1] 1 numericise(matrix(c(TRUE, FALSE), nrow = 2)) #> [,1] #> [1,] 1 #> [2,] 0 # integer numericise(2L) #> [1] 2 # double numericise(c(1, 3)) #> [1] 1 3 # factor numericise(factor(c(\"c\", \"a\"))) #> [1] 2 1 # Date numericise(as.Date(\"1972-01-01\")) #> [1] 730 # POSIXct numericise(as.POSIXct(\"1972-01-01\", tz = \"UTC\")) #> [1] 63072000 # hms numericise(hms::as_hms(\"00:01:03\")) #> [1] 63 # matrix numericise(matrix(TRUE)) #> [,1] #> [1,] 1 # array numericise(array(TRUE)) #> [1] 1 # data.frame numericise(data.frame( logical = c(TRUE, FALSE, NA), integer = 1:3, numeric = c(4, 10, NA), factor = as.factor(c(\"c\", \"A\", \"green\")) )) #> logical integer numeric factor #> [1,] 1 1 4 2 #> [2,] 0 2 10 1 #> [3,] NA 3 NA 3"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds-set.html","id":null,"dir":"Reference","previous_headings":"","what":"Inverse Odds Transformation — odds<-","title":"Inverse Odds Transformation — odds<-","text":"Replaces object inverse odds value.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds-set.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Inverse Odds Transformation — odds<-","text":"","code":"odds(x) <- value"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds-set.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Inverse Odds Transformation — odds<-","text":"x existing R object. value numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds-set.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Inverse Odds Transformation — odds<-","text":"Called side effect updating x.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds-set.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Inverse Odds Transformation — odds<-","text":"","code":"x <- NULL odds(x) <- 0.5 x #> [1] 0.3333333"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds.html","id":null,"dir":"Reference","previous_headings":"","what":"Odds — odds","title":"Odds — odds","text":"Calculates odds probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Odds — odds","text":"","code":"odds(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Odds — odds","text":"x numeric object (vector, matrix array) probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Odds — odds","text":"numeric object odds probability.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Odds — odds","text":"","code":"odds(c(0, 0.5, 0.9, 1)) #> [1] 0 1 9 Inf"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio.html","id":null,"dir":"Reference","previous_headings":"","what":"Odds Ratio — odds_ratio","title":"Odds Ratio — odds_ratio","text":"Calculates odds ratio two probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Odds Ratio — odds_ratio","text":"","code":"odds_ratio(x, x2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Odds Ratio — odds_ratio","text":"x numeric object (vector, matrix array) probabilities. x2 second numeric object probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Odds Ratio — odds_ratio","text":"numeric object odds ratios.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Odds Ratio — odds_ratio","text":"","code":"odds_ratio(0.5, 0.75) #> [1] 0.3333333"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio2.html","id":null,"dir":"Reference","previous_headings":"","what":"Odds Ratio2 — odds_ratio2","title":"Odds Ratio2 — odds_ratio2","text":"Calculates odds ratio vector two probabilities.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Odds Ratio2 — odds_ratio2","text":"","code":"odds_ratio2(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Odds Ratio2 — odds_ratio2","text":"x numeric vector length 2.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Odds Ratio2 — odds_ratio2","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/odds_ratio2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Odds Ratio2 — odds_ratio2","text":"","code":"odds_ratio2(c(0.5, 0.9)) #> [1] 0.1111111 odds_ratio2(c(0.9, 0.5)) #> [1] 9"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/par_pattern.html","id":null,"dir":"Reference","previous_headings":"","what":"Parameter Pattern — par_pattern","title":"Parameter Pattern — par_pattern","text":"Parameter Pattern","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/par_pattern.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Parameter Pattern — par_pattern","text":"","code":"par_pattern()"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/par_pattern.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Parameter Pattern — par_pattern","text":"string regular expression parameter name.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/par_pattern.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Parameter Pattern — par_pattern","text":"","code":"par_pattern() #> [1] \"[[:alpha:]][[:alnum:]._]*\""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/params.html","id":null,"dir":"Reference","previous_headings":"","what":"Parameter Descriptions — params","title":"Parameter Descriptions — params","text":"Default parameter descriptions may overridden individual functions.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/params.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Parameter Descriptions — params","text":"... arguments passed methods. alpha first shape parameter Beta distribution. beta second shape parameter Beta distribution. conf_level numeric scalar 0 1 specifying confidence level. directional flag specifying whether probabilities less 0.5 returned negative values. lambda non-negative numeric vector means. log flag specifying whether return log-transformed value. lower.tail flag specifying whether return lower upper tail distribution. mean numeric vector means. meanlog numeric vector means log scale. n non-negative whole number number random samples generate. na_rm flag specifying whether remove missing values. nas flag specifying whether also fill missing values. p vector probabilities. prob numeric vector values 0 1 probability success. q vector quantiles. rate non-negative numeric vector rate. res flag specifying whether return deviance residual opposed deviance. sd non-negative numeric vector standard deviations. sd_mult non-negative multiplier standard deviation distribution. sdlog non-negative numeric vector standard deviations log scale. shape non-negative numeric vector shape. simulate flag specifying whether simulate residuals. size non-negative whole numeric vector number trials. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). threshold number threshold value. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. value scalar value replace values . x object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/params.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Parameter Descriptions — params","text":"flag non-missing logical scalar. string non-missing character scalar.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pextreme.html","id":null,"dir":"Reference","previous_headings":"","what":"Extreme Probability — pextreme","title":"Extreme Probability — pextreme","text":"Calculates probability cumulative distribution function probability least extreme.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pextreme.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extreme Probability — pextreme","text":"","code":"pextreme(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pextreme.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extreme Probability — pextreme","text":"x numeric vector values 0 1.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pextreme.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extreme Probability — pextreme","text":"numeric vector values 0 1.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pextreme.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Extreme Probability — pextreme","text":"","code":"pextreme(seq(0, 1, by = 0.1)) #> Warning: `pextreme()` was deprecated in extras 0.1.1. #> [1] 0.0 0.2 0.4 0.6 0.8 1.0 0.8 0.6 0.4 0.2 0.0"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/phi.html","id":null,"dir":"Reference","previous_headings":"","what":"Phi — phi","title":"Phi — phi","text":"standard normal cumulative density function.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/phi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Phi — phi","text":"","code":"phi(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/phi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Phi — phi","text":"x numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/phi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Phi — phi","text":"numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/phi.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Phi — phi","text":"wrapper stats::pnorm().","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/phi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Phi — phi","text":"","code":"phi(0:2) #> [1] 0.5000000 0.8413447 0.9772499"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pow.html","id":null,"dir":"Reference","previous_headings":"","what":"Power — pow","title":"Power — pow","text":"R equivalent power function.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pow.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Power — pow","text":"","code":"pow(x, n)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pow.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Power — pow","text":"x numeric atomic object base. n numeric atomic object exponent.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pow.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Power — pow","text":"numeric atomic object x raised n.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pow.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Power — pow","text":"Wrapper x^n.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pow.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Power — pow","text":"","code":"pow(10, 2) #> [1] 100"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change.html","id":null,"dir":"Reference","previous_headings":"","what":"Proportional Change — proportional_change","title":"Proportional Change — proportional_change","text":"Calculates proportional change two sets numbers.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Proportional Change — proportional_change","text":"","code":"proportional_change(x, x2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Proportional Change — proportional_change","text":"x numeric object (vector, matrix array) non-negative numbers. x2 second numeric object non-negative numbers.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Proportional Change — proportional_change","text":"numeric object proportional change.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Proportional Change — proportional_change","text":"","code":"proportional_change(1, 2) #> [1] 1 proportional_change(2, 1) #> [1] -0.5"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change2.html","id":null,"dir":"Reference","previous_headings":"","what":"Proportional Change2 — proportional_change2","title":"Proportional Change2 — proportional_change2","text":"Calculates proportional change vector two non-negative numbers.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Proportional Change2 — proportional_change2","text":"","code":"proportional_change2(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Proportional Change2 — proportional_change2","text":"x numeric vector length 2.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Proportional Change2 — proportional_change2","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_change2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Proportional Change2 — proportional_change2","text":"","code":"proportional_change2(c(1, 2)) #> [1] 1 proportional_change2(c(2, 1)) #> [1] -0.5"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference.html","id":null,"dir":"Reference","previous_headings":"","what":"Proportional Difference — proportional_difference","title":"Proportional Difference — proportional_difference","text":"Calculates proportional difference two sets numbers.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Proportional Difference — proportional_difference","text":"","code":"proportional_difference(x, x2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Proportional Difference — proportional_difference","text":"x numeric object (vector, matrix array) non-negative numbers. x2 second numeric object non-negative numbers.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Proportional Difference — proportional_difference","text":"numeric object proportional change.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Proportional Difference — proportional_difference","text":"","code":"proportional_difference(1, 2) #> [1] 0.6666667 proportional_difference(2, 1) #> [1] -0.6666667"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference2.html","id":null,"dir":"Reference","previous_headings":"","what":"Proportional Difference2 — proportional_difference2","title":"Proportional Difference2 — proportional_difference2","text":"Calculates proportional difference vector two non-negative numbers.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Proportional Difference2 — proportional_difference2","text":"","code":"proportional_difference2(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Proportional Difference2 — proportional_difference2","text":"x numeric vector length 2.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Proportional Difference2 — proportional_difference2","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/proportional_difference2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Proportional Difference2 — proportional_difference2","text":"","code":"proportional_difference2(c(1, 2)) #> [1] 0.6666667 proportional_difference2(c(2, 1)) #> [1] -0.6666667"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pvalue.html","id":null,"dir":"Reference","previous_headings":"","what":"Bayesian P-Value — pvalue","title":"Bayesian P-Value — pvalue","text":"Bayesian p-value (p) defined terms quantile-based (1-p) * 100% credible interval (CRI) just includes threshold (Kery Schaub 2011). default p-value 0.05 indicates 95% CRI just includes 0.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pvalue.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bayesian P-Value — pvalue","text":"","code":"pvalue(x, threshold = 0, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pvalue.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bayesian P-Value — pvalue","text":"x numeric vector MCMC values. threshold number threshold value. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pvalue.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bayesian P-Value — pvalue","text":"number 0 1.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pvalue.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Bayesian P-Value — pvalue","text":"Kery, M., Schaub, M. 2011. Bayesian population analysis using WinBUGS: hierarchical perspective. Academic Press, Boston. Available https://www.vogelwarte.ch/en/research/population-biology/book-bpa/.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pvalue.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Bayesian P-Value — pvalue","text":"","code":"pvalue(as.numeric(0:100)) #> [1] 0.01960784"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pzeros.html","id":null,"dir":"Reference","previous_headings":"","what":"Proportion of Zeros — pzeros","title":"Proportion of Zeros — pzeros","text":"proportion zeros numeric object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pzeros.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Proportion of Zeros — pzeros","text":"","code":"pzeros(x, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pzeros.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Proportion of Zeros — pzeros","text":"x numeric object MCMC values. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pzeros.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Proportion of Zeros — pzeros","text":"number 0 1.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/pzeros.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Proportion of Zeros — pzeros","text":"","code":"pzeros(c(0:2)) #> [1] 0.3333333"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_bern.html","id":null,"dir":"Reference","previous_headings":"","what":"Bernoulli Random Samples — ran_bern","title":"Bernoulli Random Samples — ran_bern","text":"Bernoulli Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_bern.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bernoulli Random Samples — ran_bern","text":"","code":"ran_bern(n = 1, prob = 0.5)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_bern.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bernoulli Random Samples — ran_bern","text":"n non-negative whole number number random samples generate. prob numeric vector values 0 1 probability success.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_bern.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bernoulli Random Samples — ran_bern","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_bern.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Bernoulli Random Samples — ran_bern","text":"","code":"ran_bern(10) #> [1] 1 1 0 0 0 0 0 1 1 1"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_beta_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Beta-Binomial Random Samples — ran_beta_binom","title":"Beta-Binomial Random Samples — ran_beta_binom","text":"parameterization beta-binomial distribution uses expected probability parameter, prob, dispersion parameter, theta. parameters underlying beta mixture alpha = (2 * prob) / theta beta = (2 * (1 - prob)) / theta. parameterization theta unconventional, useful properties modelling. theta = 0, beta-binomial reverts binomial distribution. theta = 1 prob = 0.5, parameters beta distribution become alpha = 1 beta = 1, correspond uniform distribution beta-binomial probability parameter.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_beta_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Beta-Binomial Random Samples — ran_beta_binom","text":"","code":"ran_beta_binom(n = 1, size = 1, prob = 0.5, theta = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_beta_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Beta-Binomial Random Samples — ran_beta_binom","text":"n non-negative whole number number random samples generate. size non-negative whole numeric vector number trials. prob numeric vector values 0 1 probability success. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_beta_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Beta-Binomial Random Samples — ran_beta_binom","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_beta_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Beta-Binomial Random Samples — ran_beta_binom","text":"","code":"ran_beta_binom(10, 1, 0.5, 0) #> [1] 0 0 0 0 0 0 0 0 1 0"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Binomial Random Samples — ran_binom","title":"Binomial Random Samples — ran_binom","text":"Binomial Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Binomial Random Samples — ran_binom","text":"","code":"ran_binom(n = 1, size = 1, prob = 0.5)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Binomial Random Samples — ran_binom","text":"n non-negative whole number number random samples generate. size non-negative whole numeric vector number trials. prob numeric vector values 0 1 probability success.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Binomial Random Samples — ran_binom","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Binomial Random Samples — ran_binom","text":"","code":"ran_binom(10) #> [1] 1 1 0 1 1 0 1 1 1 0"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma.html","id":null,"dir":"Reference","previous_headings":"","what":"Gamma Random Samples — ran_gamma","title":"Gamma Random Samples — ran_gamma","text":"Gamma Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Gamma Random Samples — ran_gamma","text":"","code":"ran_gamma(n = 1, shape = 1, rate = 1)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Gamma Random Samples — ran_gamma","text":"n non-negative whole number number random samples generate. shape non-negative numeric vector shape. rate non-negative numeric vector rate.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Gamma Random Samples — ran_gamma","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Gamma Random Samples — ran_gamma","text":"","code":"ran_gamma(10) #> [1] 0.109122156 0.463496573 2.318645089 0.099700437 0.789578698 0.003006878 #> [7] 3.549754306 0.320788501 0.057208557 1.192544692"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Gamma-Poisson Random Samples — ran_gamma_pois","title":"Gamma-Poisson Random Samples — ran_gamma_pois","text":"Gamma-Poisson Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Gamma-Poisson Random Samples — ran_gamma_pois","text":"","code":"ran_gamma_pois(n = 1, lambda = 1, theta = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Gamma-Poisson Random Samples — ran_gamma_pois","text":"n non-negative whole number number random samples generate. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Gamma-Poisson Random Samples — ran_gamma_pois","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Gamma-Poisson Random Samples — ran_gamma_pois","text":"","code":"ran_gamma_pois(10, theta = 1) #> [1] 0 1 1 0 0 0 1 0 0 4"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois_zi.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero-Inflated Gamma-Poisson Random Samples — ran_gamma_pois_zi","title":"Zero-Inflated Gamma-Poisson Random Samples — ran_gamma_pois_zi","text":"Zero-Inflated Gamma-Poisson Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois_zi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero-Inflated Gamma-Poisson Random Samples — ran_gamma_pois_zi","text":"","code":"ran_gamma_pois_zi(n = 1, lambda = 1, theta = 0, prob = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois_zi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero-Inflated Gamma-Poisson Random Samples — ran_gamma_pois_zi","text":"n non-negative whole number number random samples generate. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). prob numeric vector values 0 1 probability success.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois_zi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero-Inflated Gamma-Poisson Random Samples — ran_gamma_pois_zi","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois_zi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero-Inflated Gamma-Poisson Random Samples — ran_gamma_pois_zi","text":"","code":"ran_gamma_pois_zi(10, lambda = 3, theta = 1, prob = 0.5) #> [1] 0 0 0 0 0 0 5 1 3 4"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_lnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Log-Normal Random Samples — ran_lnorm","title":"Log-Normal Random Samples — ran_lnorm","text":"Log-Normal Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_lnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log-Normal Random Samples — ran_lnorm","text":"","code":"ran_lnorm(n = 1, meanlog = 0, sdlog = 1)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_lnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log-Normal Random Samples — ran_lnorm","text":"n non-negative whole number number random samples generate. meanlog numeric vector means log scale. sdlog non-negative numeric vector standard deviations log scale.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_lnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log-Normal Random Samples — ran_lnorm","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_lnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log-Normal Random Samples — ran_lnorm","text":"","code":"ran_lnorm(10) #> [1] 1.6300795 0.1827839 0.2297563 1.3286327 3.8088237 1.2670562 3.7370382 #> [8] 1.6886169 1.8344561 0.8958918"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_neg_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Negative Binomial Random Samples — ran_neg_binom","title":"Negative Binomial Random Samples — ran_neg_binom","text":"Identical Gamma-Poisson Random Samples.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_neg_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Negative Binomial Random Samples — ran_neg_binom","text":"","code":"ran_neg_binom(n = 1, lambda = 1, theta = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_neg_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Negative Binomial Random Samples — ran_neg_binom","text":"n non-negative whole number number random samples generate. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_neg_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Negative Binomial Random Samples — ran_neg_binom","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_neg_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Negative Binomial Random Samples — ran_neg_binom","text":"","code":"ran_neg_binom(10, theta = 1) #> [1] 0 3 3 2 0 2 0 3 1 5"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_norm.html","id":null,"dir":"Reference","previous_headings":"","what":"Normal Random Samples — ran_norm","title":"Normal Random Samples — ran_norm","text":"Normal Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_norm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Normal Random Samples — ran_norm","text":"","code":"ran_norm(n = 1, mean = 0, sd = 1)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_norm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Normal Random Samples — ran_norm","text":"n non-negative whole number number random samples generate. mean numeric vector means. sd non-negative numeric vector standard deviations.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_norm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Normal Random Samples — ran_norm","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_norm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Normal Random Samples — ran_norm","text":"","code":"ran_norm(10) #> [1] 2.1268505 0.4248584 -1.6842815 0.2494018 1.0728383 2.0393693 #> [7] 0.4494538 1.3918140 0.4265665 0.1075840"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Poisson Random Samples — ran_pois","title":"Poisson Random Samples — ran_pois","text":"Poisson Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Poisson Random Samples — ran_pois","text":"","code":"ran_pois(n = 1, lambda = 1)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Poisson Random Samples — ran_pois","text":"n non-negative whole number number random samples generate. lambda non-negative numeric vector means.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Poisson Random Samples — ran_pois","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Poisson Random Samples — ran_pois","text":"","code":"ran_pois(10) #> [1] 1 1 1 1 1 3 0 0 1 0"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois_zi.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero-Inflated Poisson Random Samples — ran_pois_zi","title":"Zero-Inflated Poisson Random Samples — ran_pois_zi","text":"Zero-Inflated Poisson Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois_zi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero-Inflated Poisson Random Samples — ran_pois_zi","text":"","code":"ran_pois_zi(n = 1, lambda = 1, prob = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois_zi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero-Inflated Poisson Random Samples — ran_pois_zi","text":"n non-negative whole number number random samples generate. lambda non-negative numeric vector means. prob numeric vector values 0 1 probability success.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois_zi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero-Inflated Poisson Random Samples — ran_pois_zi","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_pois_zi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero-Inflated Poisson Random Samples — ran_pois_zi","text":"","code":"ran_pois_zi(10, prob = 0.5) #> [1] 0 3 0 2 0 1 0 0 0 1"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_skewnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Skew Normal Random Samples — ran_skewnorm","title":"Skew Normal Random Samples — ran_skewnorm","text":"Skew Normal Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_skewnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Skew Normal Random Samples — ran_skewnorm","text":"","code":"ran_skewnorm(n = 1, mean = 0, sd = 1, shape = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_skewnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Skew Normal Random Samples — ran_skewnorm","text":"n non-negative whole number number random samples generate. mean numeric vector means. sd non-negative numeric vector standard deviations. shape numeric vector shape.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_skewnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Skew Normal Random Samples — ran_skewnorm","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_skewnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Skew Normal Random Samples — ran_skewnorm","text":"","code":"ran_skewnorm(10, shape = -1) #> [1] -0.70002617 -0.78493479 0.24170628 -0.42787810 0.01671717 -0.21711286 #> [7] -1.19927257 -0.26506244 -0.27922284 0.01525054 ran_skewnorm(10, shape = 0) #> [1] 0.9357843 0.2630667 -0.7882588 0.3636526 0.5176691 -0.9740696 #> [7] 0.9608648 1.0359308 -1.2753349 2.2117695 ran_skewnorm(10, shape = 1) #> [1] -0.07414401 2.26363687 1.80121012 1.92229035 1.55895409 0.51395162 #> [7] 0.17280030 1.34122708 1.07141313 1.31051920"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_student.html","id":null,"dir":"Reference","previous_headings":"","what":"Student's t Random Samples — ran_student","title":"Student's t Random Samples — ran_student","text":"Student's t Random Samples","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_student.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Student's t Random Samples — ran_student","text":"","code":"ran_student(n = 1, mean = 0, sd = 1, theta = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_student.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Student's t Random Samples — ran_student","text":"n non-negative whole number number random samples generate. mean numeric vector means. sd non-negative numeric vector standard deviations. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_student.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Student's t Random Samples — ran_student","text":"numeric vector random samples.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/ran_student.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Student's t Random Samples — ran_student","text":"","code":"ran_student(10, theta = 1 / 2) #> [1] -0.3094994 -0.1240871 -0.2873568 -0.4468556 1.7071837 -0.3961069 #> [7] 0.6339260 0.8147481 -2.0029255 -0.7542160"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_bern.html","id":null,"dir":"Reference","previous_headings":"","what":"Bernoulli Residuals — res_bern","title":"Bernoulli Residuals — res_bern","text":"Bernoulli Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_bern.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bernoulli Residuals — res_bern","text":"","code":"res_bern(x, prob = 0.5, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_bern.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bernoulli Residuals — res_bern","text":"x vector 0s 1s. prob numeric vector values 0 1 probability success. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_bern.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bernoulli Residuals — res_bern","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_bern.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Bernoulli Residuals — res_bern","text":"","code":"res_bern(c(TRUE, FALSE), 0.7) #> [1] 0.8446004 -1.5517557"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_beta_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Beta-Binomial Residuals — res_beta_binom","title":"Beta-Binomial Residuals — res_beta_binom","text":"parameterization beta-binomial distribution uses expected probability parameter, prob, dispersion parameter, theta. parameters underlying beta mixture alpha = (2 * prob) / theta beta = (2 * (1 - prob)) / theta. parameterization theta unconventional, useful properties modelling. theta = 0, beta-binomial reverts binomial distribution. theta = 1 prob = 0.5, parameters beta distribution become alpha = 1 beta = 1, correspond uniform distribution beta-binomial probability parameter.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_beta_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Beta-Binomial Residuals — res_beta_binom","text":"","code":"res_beta_binom( x, size = 1, prob = 0.5, theta = 0, type = \"dev\", simulate = FALSE )"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_beta_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Beta-Binomial Residuals — res_beta_binom","text":"x non-negative whole numeric vector values. size non-negative whole numeric vector number trials. prob numeric vector values 0 1 probability success. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_beta_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Beta-Binomial Residuals — res_beta_binom","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_beta_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Beta-Binomial Residuals — res_beta_binom","text":"","code":"res_beta_binom(c(0, 1, 2), 4, 0.5, 0.1) #> [1] -2.2434148 -0.9346019 0.0000000"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Binomial Residuals — res_binom","title":"Binomial Residuals — res_binom","text":"Binomial Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Binomial Residuals — res_binom","text":"","code":"res_binom(x, size = 1, prob = 0.5, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Binomial Residuals — res_binom","text":"x non-negative whole numeric vector values. size non-negative whole numeric vector number trials. prob numeric vector values 0 1 probability success. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Binomial Residuals — res_binom","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Binomial Residuals — res_binom","text":"","code":"res_binom(c(0, 1, 2), 2, 0.3) #> [1] -1.194445 0.590514 2.194514"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma.html","id":null,"dir":"Reference","previous_headings":"","what":"Gamma Residuals — res_gamma","title":"Gamma Residuals — res_gamma","text":"Gamma Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Gamma Residuals — res_gamma","text":"","code":"res_gamma(x, shape = 1, rate = 1, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Gamma Residuals — res_gamma","text":"x numeric vector values. shape non-negative numeric vector shape. rate non-negative numeric vector rate. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Gamma Residuals — res_gamma","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Gamma Residuals — res_gamma","text":"","code":"res_gamma(c(0, 1, 2), 1, 2) #> [1] -Inf 0.7833937 1.7964997"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Gamma-Poisson Residuals — res_gamma_pois","title":"Gamma-Poisson Residuals — res_gamma_pois","text":"Gamma-Poisson Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Gamma-Poisson Residuals — res_gamma_pois","text":"","code":"res_gamma_pois(x, lambda = 1, theta = 0, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Gamma-Poisson Residuals — res_gamma_pois","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Gamma-Poisson Residuals — res_gamma_pois","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Gamma-Poisson Residuals — res_gamma_pois","text":"","code":"res_gamma_pois(c(0, 1, 2), 1, 1) #> [1] -1.177410 0.000000 0.582922"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois_zi.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero-Inflated Gamma-Poisson Residuals — res_gamma_pois_zi","title":"Zero-Inflated Gamma-Poisson Residuals — res_gamma_pois_zi","text":"Zero-Inflated Gamma-Poisson Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois_zi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero-Inflated Gamma-Poisson Residuals — res_gamma_pois_zi","text":"","code":"res_gamma_pois_zi( x, lambda = 1, theta = 0, prob = 0, type = \"dev\", simulate = FALSE )"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois_zi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero-Inflated Gamma-Poisson Residuals — res_gamma_pois_zi","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). prob numeric vector values 0 1 probability zero-inflation. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois_zi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero-Inflated Gamma-Poisson Residuals — res_gamma_pois_zi","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois_zi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero-Inflated Gamma-Poisson Residuals — res_gamma_pois_zi","text":"","code":"res_gamma_pois_zi(c(0, 1, 2), 1, 1, 0.5) #> [1] -0.7585276 1.1774100 1.3138084"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_lnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Log-Normal Residuals — res_lnorm","title":"Log-Normal Residuals — res_lnorm","text":"Log-Normal Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_lnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log-Normal Residuals — res_lnorm","text":"","code":"res_lnorm(x, meanlog = 0, sdlog = 1, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_lnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log-Normal Residuals — res_lnorm","text":"x numeric vector values. meanlog numeric vector means log scale. sdlog non-negative numeric vector standard deviations log scale. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_lnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Log-Normal Residuals — res_lnorm","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_lnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Log-Normal Residuals — res_lnorm","text":"","code":"res_lnorm(10) #> [1] 2.302585"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_neg_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Negative Binomial Residuals — res_neg_binom","title":"Negative Binomial Residuals — res_neg_binom","text":"Negative Binomial Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_neg_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Negative Binomial Residuals — res_neg_binom","text":"","code":"res_neg_binom(x, lambda = 1, theta = 0, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_neg_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Negative Binomial Residuals — res_neg_binom","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_neg_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Negative Binomial Residuals — res_neg_binom","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_neg_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Negative Binomial Residuals — res_neg_binom","text":"","code":"res_neg_binom(c(0, 1, 5), 2, 3) #> [1] -1.1389791 -0.3255985 0.5873692"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_norm.html","id":null,"dir":"Reference","previous_headings":"","what":"Normal Residuals — res_norm","title":"Normal Residuals — res_norm","text":"Normal Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_norm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Normal Residuals — res_norm","text":"","code":"res_norm(x, mean = 0, sd = 1, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_norm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Normal Residuals — res_norm","text":"x numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_norm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Normal Residuals — res_norm","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_norm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Normal Residuals — res_norm","text":"","code":"res_norm(c(-2:2)) #> [1] -2 -1 0 1 2"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Poisson Residuals — res_pois","title":"Poisson Residuals — res_pois","text":"Poisson Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Poisson Residuals — res_pois","text":"","code":"res_pois(x, lambda = 1, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Poisson Residuals — res_pois","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Poisson Residuals — res_pois","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Poisson Residuals — res_pois","text":"","code":"res_pois(c(1, 3, 4), 3) #> [1] -1.3426747 0.0000000 0.5490506"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois_zi.html","id":null,"dir":"Reference","previous_headings":"","what":"Zero-Inflated Poisson Residuals — res_pois_zi","title":"Zero-Inflated Poisson Residuals — res_pois_zi","text":"Zero-Inflated Poisson Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois_zi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zero-Inflated Poisson Residuals — res_pois_zi","text":"","code":"res_pois_zi(x, lambda = 1, prob = 0, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois_zi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zero-Inflated Poisson Residuals — res_pois_zi","text":"x non-negative whole numeric vector values. lambda non-negative numeric vector means. prob numeric vector values 0 1 probability zero-inflation. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois_zi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zero-Inflated Poisson Residuals — res_pois_zi","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_pois_zi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zero-Inflated Poisson Residuals — res_pois_zi","text":"","code":"res_pois_zi(c(1, 3, 4), 6, 0.5, type = \"raw\") #> [1] -2 0 1"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_skewnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Skew Normal Residuals — res_skewnorm","title":"Skew Normal Residuals — res_skewnorm","text":"Skew Normal Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_skewnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Skew Normal Residuals — res_skewnorm","text":"","code":"res_skewnorm(x, mean = 0, sd = 1, shape = 0, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_skewnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Skew Normal Residuals — res_skewnorm","text":"x numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations. shape numeric vector shape. type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_skewnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Skew Normal Residuals — res_skewnorm","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_skewnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Skew Normal Residuals — res_skewnorm","text":"","code":"res_skewnorm(c(-2:2)) #> [1] -2 -1 0 1 2"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_student.html","id":null,"dir":"Reference","previous_headings":"","what":"Student's t Residuals — res_student","title":"Student's t Residuals — res_student","text":"Student's t Residuals","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_student.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Student's t Residuals — res_student","text":"","code":"res_student(x, mean = 0, sd = 1, theta = 0, type = \"dev\", simulate = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_student.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Student's t Residuals — res_student","text":"x non-negative whole numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). type string residual type. 'raw' raw residuals 'dev' deviance residuals 'data' data. simulate flag specifying whether simulate residuals.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_student.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Student's t Residuals — res_student","text":"numeric vector corresponding residuals.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/res_student.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Student's t Residuals — res_student","text":"","code":"res_student(c(1, 3.5, 4), mean = 6, sd = 0.5, theta = 1 / 3, type = \"raw\") #> [1] -5.0 -2.5 -2.0"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_beta.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Beta Distribution Parameters for Sensitivity Analyses — sens_beta","title":"Adjust Beta Distribution Parameters for Sensitivity Analyses — sens_beta","text":"Expands (sd_mult > 1) reduces (sd_mult < 1) standard deviation Beta distribution. Beta distribution maximum variance mean(x) * (1 - mean(x), mean(x) = alpha / (alpha + beta). inputs produce desired variance greater maximum possible variance, provides alpha /beta parameters < 1 thus push probability weight towards extreme probability values, function returns alpha = 1 beta = 1 (uniform distribution).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_beta.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Beta Distribution Parameters for Sensitivity Analyses — sens_beta","text":"","code":"sens_beta(alpha, beta, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_beta.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Beta Distribution Parameters for Sensitivity Analyses — sens_beta","text":"alpha first shape parameter Beta distribution. beta second shape parameter Beta distribution. sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_beta.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Beta Distribution Parameters for Sensitivity Analyses — sens_beta","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_beta.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Beta Distribution Parameters for Sensitivity Analyses — sens_beta","text":"","code":"sens_beta(10, 10, 2) #> $alpha #> [1] 2.125 #> #> $beta #> [1] 2.125 #> sens_beta(10, 10, 0.8) #> $alpha #> [1] 15.90625 #> #> $beta #> [1] 15.90625 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_exp.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Exponential Distribution Parameters for Sensitivity Analyses — sens_exp","title":"Adjust Exponential Distribution Parameters for Sensitivity Analyses — sens_exp","text":"Expands (sd_mult > 1) reduces (sd_mult < 1) standard deviation exponential distribution. Due parameterization distribution, adjusting standard deviation necessarily changes mean value.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_exp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Exponential Distribution Parameters for Sensitivity Analyses — sens_exp","text":"","code":"sens_exp(rate, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_exp.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Exponential Distribution Parameters for Sensitivity Analyses — sens_exp","text":"rate non-negative numeric vector rate. sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_exp.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Exponential Distribution Parameters for Sensitivity Analyses — sens_exp","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_exp.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Exponential Distribution Parameters for Sensitivity Analyses — sens_exp","text":"","code":"sens_exp(10, 2) #> $rate #> [1] 5 #> sens_exp(10, 0.8) #> $rate #> [1] 12.5 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Gamma Distribution Parameters for Sensitivity Analyses — sens_gamma","title":"Adjust Gamma Distribution Parameters for Sensitivity Analyses — sens_gamma","text":"Expands (sd_mult > 1) reduces (sd_mult < 1) standard deviation Gamma distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Gamma Distribution Parameters for Sensitivity Analyses — sens_gamma","text":"","code":"sens_gamma(shape, rate, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Gamma Distribution Parameters for Sensitivity Analyses — sens_gamma","text":"shape non-negative numeric vector shape. rate non-negative numeric vector rate. sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Gamma Distribution Parameters for Sensitivity Analyses — sens_gamma","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Gamma Distribution Parameters for Sensitivity Analyses — sens_gamma","text":"","code":"sens_gamma(10, 2, 2) #> $shape #> [1] 2.5 #> #> $rate #> [1] 0.5 #> sens_gamma(10, 2, 0.2) #> $shape #> [1] 250 #> #> $rate #> [1] 50 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois","title":"Adjust Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois","text":"Expands (sd_mult > 1) standard deviation Negative Binomial distribution. function currently option reduce standard deviation.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois","text":"","code":"sens_gamma_pois(lambda, theta, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois","text":"lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois","text":"","code":"sens_gamma_pois(10, 0.1, 2) #> $lambda #> [1] 10 #> #> $theta #> [1] 0.7 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois_zi.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Zero-Inflated Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois_zi","title":"Adjust Zero-Inflated Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois_zi","text":"Expands (sd_mult > 1) reduces (sd_mult < 1) standard deviation Zero-Inflated Gamma-Poisson distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois_zi.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Zero-Inflated Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois_zi","text":"","code":"sens_gamma_pois_zi(lambda, theta, prob, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois_zi.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Zero-Inflated Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois_zi","text":"lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). prob numeric vector values 0 1 probability success. sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois_zi.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Zero-Inflated Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois_zi","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois_zi.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Zero-Inflated Gamma-Poisson Distribution Parameters for Sensitivity Analyses — sens_gamma_pois_zi","text":"","code":"sens_gamma_pois_zi(10, 0.1, 0.3, 2) #> $lambda #> [1] 10 #> #> $theta #> [1] 1.6 #> #> $prob #> [1] 0.3 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_lnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Log-Normal Distribution Parameters for Sensitivity Analysis — sens_lnorm","title":"Adjust Log-Normal Distribution Parameters for Sensitivity Analysis — sens_lnorm","text":"Expands (sd_mult > 1) reduces (sd_mult < 1) standard deviation Log-Normal distribution. high values sdlog (.e., > 9), sd_mult > 1, mean adjusted distribution can expected mean value different original mean, however, proportional difference values different.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_lnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Log-Normal Distribution Parameters for Sensitivity Analysis — sens_lnorm","text":"","code":"sens_lnorm(meanlog, sdlog, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_lnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Log-Normal Distribution Parameters for Sensitivity Analysis — sens_lnorm","text":"meanlog numeric vector means log scale. sdlog non-negative numeric vector standard deviations log scale. sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_lnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Log-Normal Distribution Parameters for Sensitivity Analysis — sens_lnorm","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_lnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Log-Normal Distribution Parameters for Sensitivity Analysis — sens_lnorm","text":"","code":"sens_lnorm(0, 1, 2) #> $meanlog #> [1] -0.5317277 #> #> $sdlog #> [1] 1.436473 #> sens_lnorm(0, 1, 0.8) #> $meanlog #> [1] 0.1291027 #> #> $sdlog #> [1] 0.861275 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_neg_binom.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Negative Binomial Distribution Parameters for Sensitivity Analyses — sens_neg_binom","title":"Adjust Negative Binomial Distribution Parameters for Sensitivity Analyses — sens_neg_binom","text":"Expands (sd_mult > 1) standard deviation Negative Binomial distribution. function currently option reduce standard deviation.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_neg_binom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Negative Binomial Distribution Parameters for Sensitivity Analyses — sens_neg_binom","text":"","code":"sens_neg_binom(lambda, theta, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_neg_binom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Negative Binomial Distribution Parameters for Sensitivity Analyses — sens_neg_binom","text":"lambda non-negative numeric vector means. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_neg_binom.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Negative Binomial Distribution Parameters for Sensitivity Analyses — sens_neg_binom","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_neg_binom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Negative Binomial Distribution Parameters for Sensitivity Analyses — sens_neg_binom","text":"","code":"sens_neg_binom(10, 0.1, 2) #> $lambda #> [1] 10 #> #> $theta #> [1] 0.7 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_norm.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Normal Distribution Parameters for Sensitivity Analyses — sens_norm","title":"Adjust Normal Distribution Parameters for Sensitivity Analyses — sens_norm","text":"Expands (sd_mult > 1) reduces (sd_mult < 1) standard deviation Normal distribution without changing mean.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_norm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Normal Distribution Parameters for Sensitivity Analyses — sens_norm","text":"","code":"sens_norm(mean, sd, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_norm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Normal Distribution Parameters for Sensitivity Analyses — sens_norm","text":"mean numeric vector means. sd non-negative numeric vector standard deviations. sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_norm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Normal Distribution Parameters for Sensitivity Analyses — sens_norm","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_norm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Normal Distribution Parameters for Sensitivity Analyses — sens_norm","text":"","code":"sens_norm(10, 3, 2) #> $mean #> [1] 10 #> #> $sd #> [1] 6 #> sens_norm(10, 3, 0.8) #> $mean #> [1] 10 #> #> $sd #> [1] 2.4 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_pois.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Poisson Distribution Parameters for Sensitivity Analyses — sens_pois","title":"Adjust Poisson Distribution Parameters for Sensitivity Analyses — sens_pois","text":"Expands (sd_mult > 1) reduces (sd_mult < 1) standard deviation Poisson distribution. Due parameterization distribution, adjusting standard deviation necessarily changes mean value.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_pois.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Poisson Distribution Parameters for Sensitivity Analyses — sens_pois","text":"","code":"sens_pois(lambda, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_pois.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Poisson Distribution Parameters for Sensitivity Analyses — sens_pois","text":"lambda non-negative numeric vector means. sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_pois.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Poisson Distribution Parameters for Sensitivity Analyses — sens_pois","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_pois.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Poisson Distribution Parameters for Sensitivity Analyses — sens_pois","text":"","code":"sens_pois(10, 2) #> $lambda #> [1] 40 #> sens_pois(10, 0.8) #> $lambda #> [1] 6.4 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_skewnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Skew Normal Distribution Parameters for Sensitivity Analyses — sens_skewnorm","title":"Adjust Skew Normal Distribution Parameters for Sensitivity Analyses — sens_skewnorm","text":"Expands (sd_mult > 1) reduces (sd_mult < 1) standard deviation Skew Normal distribution without changing mean.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_skewnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Skew Normal Distribution Parameters for Sensitivity Analyses — sens_skewnorm","text":"","code":"sens_skewnorm(mean, sd, shape, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_skewnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Skew Normal Distribution Parameters for Sensitivity Analyses — sens_skewnorm","text":"mean numeric vector means. sd non-negative numeric vector standard deviations. shape non-negative numeric vector shape. sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_skewnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Skew Normal Distribution Parameters for Sensitivity Analyses — sens_skewnorm","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_skewnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Skew Normal Distribution Parameters for Sensitivity Analyses — sens_skewnorm","text":"","code":"sens_skewnorm(10, 3, -1, 2) #> $mean #> [1] 11.69257 #> #> $sd #> [1] 6 #> #> $shape #> [1] -1 #> sens_skewnorm(10, 3, 3, 0.8) #> $mean #> [1] 10.45416 #> #> $sd #> [1] 2.4 #> #> $shape #> [1] 3 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_student.html","id":null,"dir":"Reference","previous_headings":"","what":"Adjust Student's t Distribution Parameters for Sensitivity Analyses — sens_student","title":"Adjust Student's t Distribution Parameters for Sensitivity Analyses — sens_student","text":"Expands (sd_mult > 1) reduces (sd_mult < 1) standard deviation Student's t distribution. variance distribution defined every degree freedom, adjustment standard deviation approximate, mean adjusted distribution can expected shifted.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_student.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adjust Student's t Distribution Parameters for Sensitivity Analyses — sens_student","text":"","code":"sens_student(mean, sd, theta, sd_mult = 2)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_student.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adjust Student's t Distribution Parameters for Sensitivity Analyses — sens_student","text":"mean numeric vector means. sd non-negative numeric vector standard deviations. theta non-negative numeric vector dispersion mixture models (student, gamma-Poisson beta-binomial). sd_mult non-negative multiplier standard deviation distribution.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_student.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adjust Student's t Distribution Parameters for Sensitivity Analyses — sens_student","text":"named list adjusted distribution's parameters.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sens_student.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adjust Student's t Distribution Parameters for Sensitivity Analyses — sens_student","text":"","code":"sens_student(10, 3, 0.1, 2) #> $mean #> [1] 10 #> #> $sd #> [1] 6 #> #> $theta #> [1] 0.1 #> sens_student(10, 3, 0.1, 0.8) #> $mean #> [1] 10 #> #> $sd #> [1] 2.4 #> #> $theta #> [1] 0.1 #>"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sextreme.html","id":null,"dir":"Reference","previous_headings":"","what":"Extreme Surprisal — sextreme","title":"Extreme Surprisal — sextreme","text":"Calculates surprisal (bits) cumulative distribution function probability least extreme.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sextreme.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extreme Surprisal — sextreme","text":"","code":"sextreme(x, directional = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sextreme.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extreme Surprisal — sextreme","text":"x numeric vector values 0 1. directional flag specifying whether probabilities less 0.5 returned negative values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sextreme.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extreme Surprisal — sextreme","text":"numeric vector surprisal values.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/sextreme.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Extreme Surprisal — sextreme","text":"","code":"sextreme(seq(0.1, 0.9, by = 0.1)) #> [1] 2.3219281 1.3219281 0.7369656 0.3219281 0.0000000 0.3219281 0.7369656 #> [8] 1.3219281 2.3219281 sextreme(seq(0.1, 0.9, by = 0.1), directional = TRUE) #> [1] -2.3219281 -1.3219281 -0.7369656 -0.3219281 0.0000000 0.3219281 0.7369656 #> [8] 1.3219281 2.3219281"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewness.html","id":null,"dir":"Reference","previous_headings":"","what":"Skewness — skewness","title":"Skewness — skewness","text":"Skewness","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewness.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Skewness — skewness","text":"","code":"skewness(x, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewness.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Skewness — skewness","text":"x numeric object MCMC values. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewness.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Skewness — skewness","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewness.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Skewness — skewness","text":"","code":"skewness(1:10) #> [1] 0"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewnorm.html","id":null,"dir":"Reference","previous_headings":"","what":"Skew-Normal Distribution — dskewnorm","title":"Skew-Normal Distribution — dskewnorm","text":"Skew-Normal Distribution","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewnorm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Skew-Normal Distribution — dskewnorm","text":"","code":"dskewnorm(x, mean = 0, sd = 1, shape = 0, log = FALSE) pskewnorm(q, mean = 0, sd = 1, shape = 0) qskewnorm(p, mean = 0, sd = 1, shape = 0) rskewnorm(n = 1, mean = 0, sd = 1, shape = 0)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewnorm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Skew-Normal Distribution — dskewnorm","text":"x numeric vector values. mean numeric vector means. sd non-negative numeric vector standard deviations. shape numeric vector values. log flag specifying whether return log-transformed value. q vector quantiles. p vector probabilities. n non-negative whole number number random samples generate.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewnorm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Skew-Normal Distribution — dskewnorm","text":"dskewnorm gives density, pskewnorm gives distribution function, qskewnorm gives quantile function, rskewnorm generates random deviates. pskewnorm qskewnorm use lower tail probability.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/skewnorm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Skew-Normal Distribution — dskewnorm","text":"","code":"dskewnorm(x = -2:2, mean = 0, sd = 1, shape = 0.1) #> [1] 0.04543235 0.22269638 0.39894228 0.26124507 0.06254958 dskewnorm(x = -2:2, mean = 0, sd = 1, shape = -1) #> [1] 0.105525330 0.407161596 0.398942280 0.076779853 0.002456603 qskewnorm(p = c(0.1, 0.4), mean = 0, sd = 1, shape = 0.1) #> [1] -1.1980898 -0.1731883 qskewnorm(p = c(0.1, 0.4), mean = 0, sd = 1, shape = -1) #> [1] -1.6322188 -0.7540709 pskewnorm(q = -2:2, mean = 0, sd = 1, shape = 0.1) #> [1] 0.01848493 0.13944469 0.46827448 0.82213418 0.97298466 pskewnorm(q = -2:2, mean = 0, sd = 1, shape = -1) #> [1] 0.0449827 0.2921390 0.7500000 0.9748285 0.9994824 rskewnorm(n = 3, mean = 0, sd = 1, shape = 0.1) #> [1] -0.436483 -1.450847 -1.282674 rskewnorm(n = 3, mean = 0, sd = 1, shape = -1) #> [1] -1.6330964 -0.5024617 -0.1201735"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/step.html","id":null,"dir":"Reference","previous_headings":"","what":"Step — step","title":"Step — step","text":"Step","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/step.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Step — step","text":"","code":"step(x)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/step.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Step — step","text":"x numeric atomic object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/step.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Step — step","text":"logical value.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/step.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Step — step","text":"","code":"step(1) #> [1] TRUE"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/svalue.html","id":null,"dir":"Reference","previous_headings":"","what":"Surprisal Value — svalue","title":"Surprisal Value — svalue","text":"surprisal value (Greenland 2019) pvalue expressed terms many consecutive heads thrown fair coin single attempt achieve probability.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/svalue.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Surprisal Value — svalue","text":"","code":"svalue(x, threshold = 0, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/svalue.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Surprisal Value — svalue","text":"x numeric object MCMC values. threshold number threshold value. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/svalue.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Surprisal Value — svalue","text":"non-negative number.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/svalue.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Surprisal Value — svalue","text":"Greenland, S. 2019. Valid P -Values Behave Exactly : Misleading Criticisms P -Values Resolution S -Values. American Statistician 73(sup1): 106–114. doi:10.1080/00031305.2018.1529625 .","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/svalue.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Surprisal Value — svalue","text":"","code":"svalue(as.numeric(0:100)) #> [1] 5.672425"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/upper.html","id":null,"dir":"Reference","previous_headings":"","what":"Upper Credible Limit — upper","title":"Upper Credible Limit — upper","text":"Calculates quantile-based upper credible limit.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/upper.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Upper Credible Limit — upper","text":"","code":"upper(x, conf_level = 0.95, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/upper.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Upper Credible Limit — upper","text":"x numeric vector MCMC values. conf_level numeric scalar 0 1 specifying confidence level. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/upper.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Upper Credible Limit — upper","text":"number.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/upper.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Upper Credible Limit — upper","text":"default returns 95% credible limit corresponds 97.5% quantile.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/upper.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Upper Credible Limit — upper","text":"","code":"upper(as.numeric(0:100)) #> [1] 97.5"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/variance.html","id":null,"dir":"Reference","previous_headings":"","what":"Variance — variance","title":"Variance — variance","text":"Variance","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/variance.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Variance — variance","text":"","code":"variance(x, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/variance.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Variance — variance","text":"x numeric object MCMC values. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/variance.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Variance — variance","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/variance.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Variance — variance","text":"","code":"variance(1:10) #> [1] 9.166667"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_mean.html","id":null,"dir":"Reference","previous_headings":"","what":"Mean — xtr_mean","title":"Mean — xtr_mean","text":"Mean","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_mean.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Mean — xtr_mean","text":"","code":"xtr_mean(x, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_mean.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Mean — xtr_mean","text":"x numeric object MCMC values. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_mean.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Mean — xtr_mean","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_mean.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Mean — xtr_mean","text":"","code":"xtr_mean(1:10) #> [1] 5.5"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_median.html","id":null,"dir":"Reference","previous_headings":"","what":"Median — xtr_median","title":"Median — xtr_median","text":"Median","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_median.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Median — xtr_median","text":"","code":"xtr_median(x, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_median.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Median — xtr_median","text":"x numeric object MCMC values. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_median.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Median — xtr_median","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_median.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Median — xtr_median","text":"","code":"xtr_mean(1:10) #> [1] 5.5"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_sd.html","id":null,"dir":"Reference","previous_headings":"","what":"Standard Deviation — xtr_sd","title":"Standard Deviation — xtr_sd","text":"Standard Deviation","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_sd.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Standard Deviation — xtr_sd","text":"","code":"xtr_sd(x, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_sd.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Standard Deviation — xtr_sd","text":"x numeric object MCMC values. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_sd.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Standard Deviation — xtr_sd","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/xtr_sd.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Standard Deviation — xtr_sd","text":"","code":"xtr_sd(1:10) #> [1] 3.02765"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zeros.html","id":null,"dir":"Reference","previous_headings":"","what":"Zeros — zeros","title":"Zeros — zeros","text":"number zeros numeric object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zeros.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zeros — zeros","text":"","code":"zeros(x, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zeros.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Zeros — zeros","text":"x numeric object MCMC values. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zeros.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Zeros — zeros","text":"non-negative integer.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zeros.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Zeros — zeros","text":"","code":"zeros(c(0:2)) #> [1] 1"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zscore.html","id":null,"dir":"Reference","previous_headings":"","what":"Z-Score — zscore","title":"Z-Score — zscore","text":"Bayesian z-score defined number standard deviations mean estimate zero.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zscore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Z-Score — zscore","text":"","code":"zscore(x, na_rm = FALSE)"},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zscore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Z-Score — zscore","text":"x numeric object MCMC values. na_rm flag specifying whether remove missing values.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zscore.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Z-Score — zscore","text":"number.","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/reference/zscore.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Z-Score — zscore","text":"","code":"zscore(as.numeric(0:100)) #> [1] 1.706475"},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-080","dir":"Changelog","previous_headings":"","what":"extras 0.8.0","title":"extras 0.8.0","text":"Added scalar case log_lik_beta_binom() improve speed scalar inputs. Add memoization (memoize package installed) data > 800 rows gain speed repeated function calls. Use vectorized optimization improve speed optimization required deviance calculation.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-0739002","dir":"Changelog","previous_headings":"","what":"extras 0.7.3.9002","title":"extras 0.7.3.9002","text":"Remove dependency MASS package minimum R version can brought 4.0.0 4.3.0.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-0739001","dir":"Changelog","previous_headings":"","what":"extras 0.7.3.9001","title":"extras 0.7.3.9001","text":"Register poissontemplate usage. Fix actions. Perform upkeep package.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-073","dir":"Changelog","previous_headings":"","what":"extras 0.7.3","title":"extras 0.7.3","text":"CRAN release: 2024-08-27 Ensure tests, examples, vignettes run conditionally packages listed suggests.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-072","dir":"Changelog","previous_headings":"","what":"extras 0.7.2","title":"extras 0.7.2","text":"CRAN release: 2024-08-22 Fix behaviour dev_beta_binom() size < x.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-071","dir":"Changelog","previous_headings":"","what":"extras 0.7.1","title":"extras 0.7.1","text":"Refactored log_lik_beta_binom() speed optimization required dev_beta_binom(). Styled code package.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-070","dir":"Changelog","previous_headings":"","what":"extras 0.7.0","title":"extras 0.7.0","text":"Added sensitivity functions produce list new parameters vary standard deviations (sens_xxx()). Added Skew Normal family functions (ran_skewnorm(), log_lik_skewnorm(), res_skewnorm(), dev_skewnorm()). Added Skew Normal distribution functions (rskewnorm(), dskewnorm(), pskewnorm(), qskewnorm()). Added log2()<-, log10()<-, ilog2(), ilog10() functions. Added exp2() exp10() functions.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-061","dir":"Changelog","previous_headings":"","what":"extras 0.6.1","title":"extras 0.6.1","text":"CRAN release: 2023-05-10 Fixed M1mac test","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-060","dir":"Changelog","previous_headings":"","what":"extras 0.6.0","title":"extras 0.6.0","text":"CRAN release: 2023-04-28","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"new-features-0-6-0","dir":"Changelog","previous_headings":"","what":"New Features","title":"extras 0.6.0","text":"Added family functions following distributions xx_gamma() xx_student() xx_beta_binomial() Added standardized residuals residual functions distributions","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"bug-fixes-0-6-0","dir":"Changelog","previous_headings":"","what":"Bug Fixes","title":"extras 0.6.0","text":"Exported pbern(), qbern() rbern().","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"internal-0-6-0","dir":"Changelog","previous_headings":"","what":"Internal","title":"extras 0.6.0","text":"Fix dev testthat Fix tests dev waldo","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-050","dir":"Changelog","previous_headings":"","what":"extras 0.5.0","title":"extras 0.5.0","text":"CRAN release: 2022-10-30 log_lik_gamma_pois_zi() ran_gamma_pois_zi() dev_gamma_pois_zi() res_gamma_pois_zi() Fixed bugs dev_binom() dev_pois_zi() Set R >= 3.5","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-040","dir":"Changelog","previous_headings":"","what":"extras 0.4.0","title":"extras 0.4.0","text":"CRAN release: 2022-09-23 Added log_odds() log_odds()<-. Added dbern(), pbern(), qbern(), rbern().","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-030","dir":"Changelog","previous_headings":"","what":"extras 0.3.0","title":"extras 0.3.0","text":"CRAN release: 2022-06-08","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"added-0-3-0","dir":"Changelog","previous_headings":"","what":"Added","title":"extras 0.3.0","text":"Added following functions step() R version JAGS function. ilog(). inv_logit(). inv_odds() odds()<-. odds_ratio2() log_odds_ratio2(). proportional_change(), proportional_difference(). ran_pois_zi(), log_lik_pois_zi(), res_pois_zi() dev_pois_zi(). pzeros() calculate proportion zeros numeric object.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"modifications-0-3-0","dir":"Changelog","previous_headings":"","what":"Modifications","title":"extras 0.3.0","text":"res_xx() functions now return data (actual simulated) type = 'data'.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"bug-fixes-0-3-0","dir":"Changelog","previous_headings":"","what":"Bug Fixes","title":"extras 0.3.0","text":"Fixed normal log-normal deviances factor 2 1.41 respectively.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-020","dir":"Changelog","previous_headings":"","what":"extras 0.2.0","title":"extras 0.2.0","text":"CRAN release: 2021-08-05","code":""},{"path":[]},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"functions-0-2-0","dir":"Changelog","previous_headings":"Added","what":"Functions","title":"extras 0.2.0","text":"ran_xx() (random samples) log_lik_xx() (log-likelihood) dev_xx() (deviances) res_xx() (residuals) following distributions - _bern, (Bernoulli), - _binom (binomial) - _pois (Poisson) - _norm (normal) - _lnorm (log-normal) - _gamma (gamma) - _gamma_pois (gamma-Poisson) Added odds(), odd_ratio() log_odds_ratio() calculate odds, odds ratio log odds ratio. Added moments functions xtr_mean(), xtr_sd(), variance(), skewness() kurtosis(). Added xtr_median() calculate median. Added invlogit() calculate inverse logistic transform. Added fabs() calculate absolute value x. Used TMB replacement abs(). Added zeros() function sum number 0 values numeric (MCMC object).","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"arguments-0-2-0","dir":"Changelog","previous_headings":"Added","what":"Arguments","title":"extras 0.2.0","text":"Added threshold = 0 argument pvalue() svalue(). Added na_rm = FALSE argument lower(), upper(), pvalue(), svalue() zscore().","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"deprecated-0-2-0","dir":"Changelog","previous_headings":"","what":"Deprecated","title":"extras 0.2.0","text":"Soft-deprecated as_list_unnamed() as_list(). Soft-deprecated pextreme() sextreme().","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-010","dir":"Changelog","previous_headings":"","what":"extras 0.1.0","title":"extras 0.1.0","text":"CRAN release: 2020-09-26 Added chk_indices() vld_indices() check (validate) object list indices ie vector one positive integer values. Added par_pattern() provide string regular expression parameter name. Added as_list_unnamed() generic default strips attributes except names. Modified chk_pars() vld_pars() permit missing values duplicates.","code":""},{"path":"https://poissonconsulting.github.io/extras/dev/news/index.html","id":"extras-001","dir":"Changelog","previous_headings":"","what":"extras 0.0.1","title":"extras 0.0.1","text":"CRAN release: 2020-06-16 Initial submission CRAN.","code":""}] diff --git a/dev/sitemap.xml b/dev/sitemap.xml new file mode 100644 index 00000000..668b4ea7 --- /dev/null +++ b/dev/sitemap.xml @@ -0,0 +1,137 @@ + +https://poissonconsulting.github.io/extras/dev/CODE_OF_CONDUCT.html +https://poissonconsulting.github.io/extras/dev/CONTRIBUTING.html +https://poissonconsulting.github.io/extras/dev/ISSUE_TEMPLATE.html +https://poissonconsulting.github.io/extras/dev/LICENSE-text.html +https://poissonconsulting.github.io/extras/dev/LICENSE.html +https://poissonconsulting.github.io/extras/dev/SUPPORT.html +https://poissonconsulting.github.io/extras/dev/articles/beta-binomial-deviance-residuals.html +https://poissonconsulting.github.io/extras/dev/articles/deviance-residuals.html +https://poissonconsulting.github.io/extras/dev/articles/index.html +https://poissonconsulting.github.io/extras/dev/authors.html +https://poissonconsulting.github.io/extras/dev/index.html +https://poissonconsulting.github.io/extras/dev/news/index.html +https://poissonconsulting.github.io/extras/dev/reference/as_list.html +https://poissonconsulting.github.io/extras/dev/reference/as_list_unnamed.html +https://poissonconsulting.github.io/extras/dev/reference/bern.html +https://poissonconsulting.github.io/extras/dev/reference/chk_index.html +https://poissonconsulting.github.io/extras/dev/reference/chk_indices.html +https://poissonconsulting.github.io/extras/dev/reference/chk_pars.html +https://poissonconsulting.github.io/extras/dev/reference/dev_bern.html +https://poissonconsulting.github.io/extras/dev/reference/dev_beta_binom.html +https://poissonconsulting.github.io/extras/dev/reference/dev_binom.html +https://poissonconsulting.github.io/extras/dev/reference/dev_gamma.html +https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois.html +https://poissonconsulting.github.io/extras/dev/reference/dev_gamma_pois_zi.html +https://poissonconsulting.github.io/extras/dev/reference/dev_lnorm.html +https://poissonconsulting.github.io/extras/dev/reference/dev_neg_binom.html +https://poissonconsulting.github.io/extras/dev/reference/dev_norm.html +https://poissonconsulting.github.io/extras/dev/reference/dev_pois.html +https://poissonconsulting.github.io/extras/dev/reference/dev_pois_zi.html +https://poissonconsulting.github.io/extras/dev/reference/dev_skewnorm.html +https://poissonconsulting.github.io/extras/dev/reference/dev_student.html +https://poissonconsulting.github.io/extras/dev/reference/exp10.html +https://poissonconsulting.github.io/extras/dev/reference/exp2.html +https://poissonconsulting.github.io/extras/dev/reference/extras-package.html +https://poissonconsulting.github.io/extras/dev/reference/fabs.html +https://poissonconsulting.github.io/extras/dev/reference/fill_all.html +https://poissonconsulting.github.io/extras/dev/reference/fill_na.html +https://poissonconsulting.github.io/extras/dev/reference/ilog.html +https://poissonconsulting.github.io/extras/dev/reference/ilog10.html +https://poissonconsulting.github.io/extras/dev/reference/ilog2.html +https://poissonconsulting.github.io/extras/dev/reference/ilogit.html +https://poissonconsulting.github.io/extras/dev/reference/index.html +https://poissonconsulting.github.io/extras/dev/reference/inv_logit.html +https://poissonconsulting.github.io/extras/dev/reference/inv_odds.html +https://poissonconsulting.github.io/extras/dev/reference/invlogit.html +https://poissonconsulting.github.io/extras/dev/reference/kurtosis.html +https://poissonconsulting.github.io/extras/dev/reference/log-set.html +https://poissonconsulting.github.io/extras/dev/reference/log10-set.html +https://poissonconsulting.github.io/extras/dev/reference/log2-set.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_bern.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_beta_binom.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_binom.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_gamma_pois_zi.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_lnorm.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_neg_binom.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_norm.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_pois_zi.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_skewnorm.html +https://poissonconsulting.github.io/extras/dev/reference/log_lik_student.html +https://poissonconsulting.github.io/extras/dev/reference/log_odds-set.html +https://poissonconsulting.github.io/extras/dev/reference/log_odds.html +https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio.html +https://poissonconsulting.github.io/extras/dev/reference/log_odds_ratio2.html +https://poissonconsulting.github.io/extras/dev/reference/logit-set.html +https://poissonconsulting.github.io/extras/dev/reference/logit.html +https://poissonconsulting.github.io/extras/dev/reference/lower.html +https://poissonconsulting.github.io/extras/dev/reference/numericise.html +https://poissonconsulting.github.io/extras/dev/reference/odds-set.html +https://poissonconsulting.github.io/extras/dev/reference/odds.html +https://poissonconsulting.github.io/extras/dev/reference/odds_ratio.html +https://poissonconsulting.github.io/extras/dev/reference/odds_ratio2.html +https://poissonconsulting.github.io/extras/dev/reference/par_pattern.html +https://poissonconsulting.github.io/extras/dev/reference/params.html +https://poissonconsulting.github.io/extras/dev/reference/pextreme.html +https://poissonconsulting.github.io/extras/dev/reference/phi.html +https://poissonconsulting.github.io/extras/dev/reference/pow.html +https://poissonconsulting.github.io/extras/dev/reference/proportional_change.html +https://poissonconsulting.github.io/extras/dev/reference/proportional_change2.html +https://poissonconsulting.github.io/extras/dev/reference/proportional_difference.html +https://poissonconsulting.github.io/extras/dev/reference/proportional_difference2.html +https://poissonconsulting.github.io/extras/dev/reference/pvalue.html +https://poissonconsulting.github.io/extras/dev/reference/pzeros.html +https://poissonconsulting.github.io/extras/dev/reference/ran_bern.html +https://poissonconsulting.github.io/extras/dev/reference/ran_beta_binom.html +https://poissonconsulting.github.io/extras/dev/reference/ran_binom.html +https://poissonconsulting.github.io/extras/dev/reference/ran_gamma.html +https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois.html +https://poissonconsulting.github.io/extras/dev/reference/ran_gamma_pois_zi.html +https://poissonconsulting.github.io/extras/dev/reference/ran_lnorm.html +https://poissonconsulting.github.io/extras/dev/reference/ran_neg_binom.html +https://poissonconsulting.github.io/extras/dev/reference/ran_norm.html +https://poissonconsulting.github.io/extras/dev/reference/ran_pois.html +https://poissonconsulting.github.io/extras/dev/reference/ran_pois_zi.html +https://poissonconsulting.github.io/extras/dev/reference/ran_skewnorm.html +https://poissonconsulting.github.io/extras/dev/reference/ran_student.html +https://poissonconsulting.github.io/extras/dev/reference/res_bern.html +https://poissonconsulting.github.io/extras/dev/reference/res_beta_binom.html +https://poissonconsulting.github.io/extras/dev/reference/res_binom.html +https://poissonconsulting.github.io/extras/dev/reference/res_gamma.html +https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois.html +https://poissonconsulting.github.io/extras/dev/reference/res_gamma_pois_zi.html +https://poissonconsulting.github.io/extras/dev/reference/res_lnorm.html +https://poissonconsulting.github.io/extras/dev/reference/res_neg_binom.html +https://poissonconsulting.github.io/extras/dev/reference/res_norm.html +https://poissonconsulting.github.io/extras/dev/reference/res_pois.html +https://poissonconsulting.github.io/extras/dev/reference/res_pois_zi.html +https://poissonconsulting.github.io/extras/dev/reference/res_skewnorm.html +https://poissonconsulting.github.io/extras/dev/reference/res_student.html +https://poissonconsulting.github.io/extras/dev/reference/sens_beta.html +https://poissonconsulting.github.io/extras/dev/reference/sens_exp.html +https://poissonconsulting.github.io/extras/dev/reference/sens_gamma.html +https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois.html +https://poissonconsulting.github.io/extras/dev/reference/sens_gamma_pois_zi.html +https://poissonconsulting.github.io/extras/dev/reference/sens_lnorm.html +https://poissonconsulting.github.io/extras/dev/reference/sens_neg_binom.html +https://poissonconsulting.github.io/extras/dev/reference/sens_norm.html +https://poissonconsulting.github.io/extras/dev/reference/sens_pois.html +https://poissonconsulting.github.io/extras/dev/reference/sens_skewnorm.html +https://poissonconsulting.github.io/extras/dev/reference/sens_student.html +https://poissonconsulting.github.io/extras/dev/reference/sextreme.html +https://poissonconsulting.github.io/extras/dev/reference/skewness.html +https://poissonconsulting.github.io/extras/dev/reference/skewnorm.html +https://poissonconsulting.github.io/extras/dev/reference/step.html +https://poissonconsulting.github.io/extras/dev/reference/svalue.html +https://poissonconsulting.github.io/extras/dev/reference/upper.html +https://poissonconsulting.github.io/extras/dev/reference/variance.html +https://poissonconsulting.github.io/extras/dev/reference/xtr_mean.html +https://poissonconsulting.github.io/extras/dev/reference/xtr_median.html +https://poissonconsulting.github.io/extras/dev/reference/xtr_sd.html +https://poissonconsulting.github.io/extras/dev/reference/zeros.html +https://poissonconsulting.github.io/extras/dev/reference/zscore.html + +