From eddb397bc7cea6fa9480aab0f9873ff1de9ff18a Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Tue, 22 Feb 2022 20:45:18 +0100 Subject: [PATCH] =?UTF-8?q?Actualiza=20la=20estructura=20de=20los=20recurs?= =?UTF-8?q?os=20est=C3=A1ticos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se prepara PageTop para permitir en el futuro compilar los fuentes incluyendo los recursos estáticos dentro del ejecutable (tal y como está ahora), o usando una carpeta externa "static". --- CREDITS.md | 6 +- build.rs | 10 ++- src/base/theme/aliner/mod.rs | 6 +- .../theme/bootsier/assets/fonts/nunito.css | 70 ------------------ .../assets/fonts/nunito/cyrillic_400.woff2 | Bin 11248 -> 0 bytes .../assets/fonts/nunito/cyrillic_700.woff2 | Bin 11208 -> 0 bytes .../fonts/nunito/cyrillic_ext_400.woff2 | Bin 15308 -> 0 bytes .../fonts/nunito/cyrillic_ext_700.woff2 | Bin 15164 -> 0 bytes .../assets/fonts/nunito/latin_400.woff2 | Bin 18972 -> 0 bytes .../assets/fonts/nunito/latin_700.woff2 | Bin 19088 -> 0 bytes .../assets/fonts/nunito/latin_ext_400.woff2 | Bin 18380 -> 0 bytes .../assets/fonts/nunito/latin_ext_700.woff2 | Bin 18416 -> 0 bytes .../assets/fonts/nunito/vietnamese_400.woff2 | Bin 7568 -> 0 bytes .../assets/fonts/nunito/vietnamese_700.woff2 | Bin 7596 -> 0 bytes .../theme/bootsier/assets/js/bootstrap.min.js | 7 -- .../bootsier/assets/js/bootstrap.min.js.map | 1 - src/base/theme/bootsier/mod.rs | 12 +-- src/base/theme/minimal/mod.rs | 4 +- src/config/settings.rs | 30 +++----- src/core/all.rs | 7 ++ src/core/response/page/assets.rs | 2 +- .../core/server/figfonts}/slant.flf | 0 .../core/server/figfonts}/small.flf | 0 .../core/server/figfonts}/speed.flf | 0 .../core/server/figfonts}/starwars.flf | 0 src/core/server/main.rs | 10 +-- src/core/theme/api.rs | 8 +- .../assets => static/aliner}/css/styles.css | 0 .../bootsier}/css/bootstrap.min.css | 0 .../bootsier}/css/bootstrap.min.css.map | 0 .../bootsier}/images/caution.png | Bin .../bootsier}/js/bootstrap.bundle.min.js | 0 .../bootsier}/js/bootstrap.bundle.min.js.map | 0 .../assets => static/theme}/js/jquery.min.js | 0 .../assets => static/theme}/js/jquery.min.map | 0 35 files changed, 48 insertions(+), 125 deletions(-) delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito.css delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/cyrillic_400.woff2 delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/cyrillic_700.woff2 delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/cyrillic_ext_400.woff2 delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/cyrillic_ext_700.woff2 delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/latin_400.woff2 delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/latin_700.woff2 delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/latin_ext_400.woff2 delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/latin_ext_700.woff2 delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/vietnamese_400.woff2 delete mode 100644 src/base/theme/bootsier/assets/fonts/nunito/vietnamese_700.woff2 delete mode 100644 src/base/theme/bootsier/assets/js/bootstrap.min.js delete mode 100644 src/base/theme/bootsier/assets/js/bootstrap.min.js.map rename {resources => src/core/server/figfonts}/slant.flf (100%) rename {resources => src/core/server/figfonts}/small.flf (100%) rename {resources => src/core/server/figfonts}/speed.flf (100%) rename {resources => src/core/server/figfonts}/starwars.flf (100%) rename {src/base/theme/aliner/assets => static/aliner}/css/styles.css (100%) rename {src/base/theme/bootsier/assets => static/bootsier}/css/bootstrap.min.css (100%) rename {src/base/theme/bootsier/assets => static/bootsier}/css/bootstrap.min.css.map (100%) rename {src/base/theme/bootsier/assets => static/bootsier}/images/caution.png (100%) rename {src/base/theme/bootsier/assets => static/bootsier}/js/bootstrap.bundle.min.js (100%) rename {src/base/theme/bootsier/assets => static/bootsier}/js/bootstrap.bundle.min.js.map (100%) rename {resources/assets => static/theme}/js/jquery.min.js (100%) rename {resources/assets => static/theme}/js/jquery.min.map (100%) diff --git a/CREDITS.md b/CREDITS.md index bd737e27..5b9979f4 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,9 +1,9 @@ # FIGfonts PageTop utiliza el paquete [figlet-rs](https://crates.io/crates/figlet-rs) de -*yuanbohan* para mostrar al inicio un rótulo con el nombre de la aplicación -usando [FIGlet](http://www.figlet.org/). Las fuentes incluidas en `resources` -son: +*yuanbohan*, que muestra al inicio de la ejecución un rótulo con el nombre de +la aplicación usando caracteres [FIGlet](http://www.figlet.org/). Las fuentes +incluidas en `resources` son: * [slant.flf](http://www.figlet.org/fontdb_example.cgi?font=slant.flf) por *Glenn Chappell*. diff --git a/build.rs b/build.rs index 75aee1d5..9b252213 100644 --- a/build.rs +++ b/build.rs @@ -4,28 +4,30 @@ use std::env; use std::path::Path; fn main() { - resource_dir("./resources/assets") + resource_dir("./static/theme") .with_generated_filename( Path::new(env::var("OUT_DIR").unwrap().as_str()) - .join("assets.rs") + .join("theme.rs") ) .with_generated_fn("assets") .build() .unwrap(); - resource_dir("./src/base/theme/aliner/assets") + resource_dir("./static/aliner") .with_generated_filename( Path::new(env::var("OUT_DIR").unwrap().as_str()) .join("aliner.rs") ) + .with_generated_fn("assets") .build() .unwrap(); - resource_dir("./src/base/theme/bootsier/assets") + resource_dir("./static/bootsier") .with_generated_filename( Path::new(env::var("OUT_DIR").unwrap().as_str()) .join("bootsier.rs") ) + .with_generated_fn("assets") .build() .unwrap(); } diff --git a/src/base/theme/aliner/mod.rs b/src/base/theme/aliner/mod.rs index 8ad4e291..68e7d509 100644 --- a/src/base/theme/aliner/mod.rs +++ b/src/base/theme/aliner/mod.rs @@ -5,14 +5,14 @@ include!(concat!(env!("OUT_DIR"), "/aliner.rs")); pub struct AlinerTheme; impl Theme for AlinerTheme { - fn name(&self) -> &str { - "Aliner" + fn name(&self) -> String { + "Aliner".to_string() } fn configure_theme(&self, cfg: &mut server::web::ServiceConfig) { cfg.service(actix_web_static_files::ResourceFiles::new( "/aliner", - generate() + assets() )); } diff --git a/src/base/theme/bootsier/assets/fonts/nunito.css b/src/base/theme/bootsier/assets/fonts/nunito.css deleted file mode 100644 index f444a08f..00000000 --- a/src/base/theme/bootsier/assets/fonts/nunito.css +++ /dev/null @@ -1,70 +0,0 @@ -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 400; - src: url(/pagetop/fonts/nunito/cyrillic_ext_400.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 400; - src: url(/pagetop/fonts/nunito/cyrillic_400.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 400; - src: url(/pagetop/fonts/nunito/vietnamese_400.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 400; - src: url(/pagetop/fonts/nunito/latin_ext_400.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 400; - src: url(/pagetop/fonts/nunito/latin_400.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 700; - src: url(/pagetop/fonts/nunito/cyrillic_ext_700.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 700; - src: url(/pagetop/fonts/nunito/cyrillic_700.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 700; - src: url(/pagetop/fonts/nunito/vietnamese_700.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 700; - src: url(/pagetop/fonts/nunito/latin_ext_700.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -@font-face { - font-family: 'Nunito'; - font-style: normal; - font-weight: 700; - src: url(/pagetop/fonts/nunito/latin_700.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} diff --git a/src/base/theme/bootsier/assets/fonts/nunito/cyrillic_400.woff2 b/src/base/theme/bootsier/assets/fonts/nunito/cyrillic_400.woff2 deleted file mode 100644 index cadafd359ff244c60bc4ad72a6f06d38e8e31eba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11248 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⪚kd2Y&!R!`cW4 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 ax^!^s)asj|cl@`}rFsASFY(Yp?G6B4bx>*m diff --git a/src/base/theme/bootsier/assets/fonts/nunito/cyrillic_700.woff2 b/src/base/theme/bootsier/assets/fonts/nunito/cyrillic_700.woff2 deleted file mode 100644 index 2b4950ff24895b57fc66398bad2f892916d8bb00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11208 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 diff --git a/src/base/theme/bootsier/assets/fonts/nunito/cyrillic_ext_400.woff2 b/src/base/theme/bootsier/assets/fonts/nunito/cyrillic_ext_400.woff2 deleted file mode 100644 index 5539f2e13a28cb3ebe3d732580615fc471225e02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15308 zcmV;-J2S+0Pew8T0RR9106WY85dZ)H0FtZ#06S>_0RR9100000000000000000000 z0000Qfj%3QDjb1024Db#90-9V37;(y2nvD5D1od_3xg;C0X7081BNsNAO(aL2aq8Q zfmR#+f)|)x<;L9(Ae44}szxG&je`Ig?r|dnxgAi&eLfug|9?huGKPZ+rpxkW4-uh= zGgE1`)_SkAq6$W3g0FU}O76aG(RM*6KJJ*m$9M~GXlN8l&|^fB0d1d&Ckii??}lQ% zc3#8ua~c(23N>YB;oRXSFTS6m&<=?_A#V@}*Fr~XuWIBpSu4zDdTZfx@XP_uX5fT=n_+kd)r=RKTN0~1l z4r{9pXZIX+0uTfxjGj*Z7ybDBw~wcn!S?Px1QHvW(5ZAN#cVMc%#}H(DcahHDNahR zoVhW>f6{5aKf{s?EE&bNg9=KjeIAh4eHYOK8>o*Hv&Cvo+qGK5G-_~NF; zrnX62K%Q@>97c@^HD&n6?pUNt@9vEx8ED`8t3o&KTmg;|LLe~IaZ{#C)yZE4o?cz= z2a5_wfl(&B#}1K0gOb9AfTr>7sEL;_F?yDP8rca_7Es+gPJ9waMo) zWIN?r;pS`sZ#P2WfP}1@P-X<_WbyqYGu1fVS~>O=B*nd)Qz)Fo#Z3fzEE6@%*fJW^B8Z!fQ#A%>2&Hyc11iIiN&=psJuDb;U!T?M}D+pM6Jd}vj zL5FBEfq?f;kl|g<&GQ`k?#a(zRRb#>JH;=|_ZZj8(sP{mhD(+B)r-ygDaoIe zhkO7~7-2Xc^=F4aU>mi*SYFNlp++_z3HZzE5E!jQ^YMi~U1dJw@NZ2o`aP0Qy8yR)Nr4?sI_rzj;T-e+fEEnqT%rdnJl*)z98-oaaU6e8@dK2WoyMp^+OZRaAX+ zr($;o@s}PN))$X;z0Ey9h%a-s^0T`EmCwlqr~drkj8>XtyDNZ4#)&gE+<_YUW+5>a(4ac4ZFQOTUF7BeyVQgH=pt=Au{bayzG)GlT4n!aFsXfmNu zE)yH1*urtZG09{;kDEp^d>0qm8lZ5CORp%Y1-!OUKnB4VsWXrWAd9iTDnF1Kwd!1R z-3=fJM>vswgElKj(z*4lZn{MvC8t;J9EX%)E`YczvH^~4->7mrdgzbg>>CDuDE*p% zYt6Fs-TL$$0<>L)vlIXy$A{`tuny_Mm!8Sjw6j}vv$u_Hdz)>iJD)DNqjx-s^X~s``)L{g3Koipjwh4FzrmED zOb1}CZipVJUTl5HnpL=@(q$a|xCZd75pGa~wIZz(Wj($P1cnH06k`*S&0=jKwpE;A z65GVvPHIGg9ppwS?4qQyhuU6=_DQl|vI9~awAvxNr5d9#PHTeBB)!AZOfi_2ZbpV# znT{|zD$6k@$7MSq$DCXzna#^{O1{$yEGTqFkv9}O%VJT9b4s08=7Mq;MRSnZsmc}A zt~%mJXC#OD&RhNfq}t_td4EVniGe4@07+xMVr0|Dp|czIeJjGTY)HA-c}d1S`HQNoG)2gX}cCHMoHc*|1&KoQw=)5Y2@4{7LC{0;J z-e{T+AIQOE#~c@S*%uIU?FD6c#`-C$y%@rhEJ{+!2)czuVlEZABUujdUl z6or7ZqZ8N}~~DY}3rF)(*Hn3rbbs)t5BVZOG z%?*{SR=62DhX{5j^8WZi>tI(E)Sm)PHCa$qqoT;dBz;ReyWQlj1G~%&3Dlk+Drw zWh-6dYUq0YbX;%9J#TNe5WAQX(;bD%FMD9NG;xFl$5?QJ1*ceWh6U$X@DvN4VZn1O zcm>PI2Ba%ow3(eq3+Z*N_td7TV54@!1zcL(-#vN57DQH()wJfjI>Wmc6b=QnO?T;9 z?K`f#h1klg^vNPzjmerjFu4{T*@fInU|?44b-fu+MmGCcJJ$H!9*~hY>B3(K7>Ebvht=Vyuno?4D-CI^H@53h{`^9|{ z+5UxS9e2i|lteMC%j1bEPFs<>9{oAZBbY`-GLJPdjAWNY>Uc#}`?E@DnM{}Yu2UQ? zVRk3Zo@A1hP{!3E5-I)CvMkD-L}cDb#(5X)s0A*^W5Wq1T+F!4Sf6%xXBtkUIAYoo zU>&jBfN~UAg2eT%$^h4)Y$bxzj>5op) z*j1{hOQ^JHDst%_!`kh{AYE*0;b&&9&X*o~$E~YhHsMgj#zt z%YjT5iY-MDU5g^EQzOejU&cEq1aRI~rIS|gy2-tc>hze&UeTrfH?gW_NDcbg%XfO$ z`MQbw7%sXoh|L)~{HCg$aj)xOQVa@w%SfibHKEb91GaBJ-*a@c zbZ>7+7b>kROH!g{-A7?Zkoj+vWnm_&l7w~xoHd}^GWSGzY<{01SObPFzauO}8_$dd zl-7Y|1(iLbEvo`*>%h7)Z@6Z*W`96y4cKm(cSLz=-9AHa4cKqVL3j)$3=J6?F*Igq z!qAkV8RL77i5MbtF?x-##ggKD1^!^5G+j>=M6ofH8ps}rHO@R(7QyD04dk#ZaAI%Z zVBq*joLQcN<2g89g5!0B2HXtXjoAasJfFey6+GX;^D_c`4g3rd8o}g8bln2?`lA*n z5n9JVz4I~J4D$@{thZ4+u%VxlC6WAfxL1;H3q(C6jpFrxMiUUK24bedHc83@99R+k zyYdxC&QrhO9c~`-S7lYiGmW6o9*R4wX*2ct1q+`a8p@W27NM^;mnh_yv0t$gvwYp^ z;TJDXsgM4f4P6$8HevDqmG*#SU0_qna9lILwop>KZ}^>SoL0)^clckj!^oLuuSw)gr(J_1m%W`CN2kl+GDd>-bhHL&n7yUDDev9h?01%k3 z-{TWwrLjDJGhPQwe*tFy0_t)=TnkwF4`5*OGA4j0GDhWeC-P!~Qc$WJ<)BtIRN`ES z5t9|7NUu`v)a{9?-2&TSm?{{XBIB+o$989bMIdLLKw4B3aq=D7+5~T0?BWG=>+NBC z6yr51dW-1A((cD$zZbN_I&c?HJjj@Wu6~>BbvIm(@4I$3FB2K||LIQJPl`(`Ysz`7kr|k7J>;-McudNNm>gkz*_;q2GDYZ# z-2mM7Arhg7#Y@Ar?&35JueuIXEs-6?;%Oidc7v)n(#}hXLj(iwR(&3jp~{paM&+%N z<~EaqMO5qtgs9Z<>O>pE8?*dO>Rgcf1&E8Ia8FGoVbhMkp?pcHYI&l$pElJy6xuF$ zA5$T19dOXcv}(1xP~q+Utc+W>jI3wnxj(^R3}h??jKQ(!8cJjt*DDh^uY^l-N-?Q` z^Bw=|P_e%6rGsU#FoD4F9#y7}qvypubiI%YE)U?4GRVD#A*{9zNm-2 zV1tG>&JYbtP8_W*+BT&=VH#cpgpZ_7-3e{kxPXPwOs^edZR3?6nyx%EyveD6fo5d$ zSxEbIaiPOPOheda)GzhwuH5C}Y~G%xGmWP@?%_^>A;2dBybcroullZOWIxrd1lk2p47KMrqoJlM`}-lAIij;ND$UX;RIu2>0 zITa8tS1diLO6qA%Y-JcmfgUOx-KirY~$tRA%-N)9HtTBFgLCMUBx>nIb)W_~HT9Oen^;b|?ax z@6IIXC7Mn{skx7~(b^tEEcW3;o0%*g^rBY~kQin@q|qe8G+ut#0xNXd-2}|cV%Vk>2TR0|o}(Uydn z5om8#tY3D^mHl~%lZKk7J)0-&=gThB0{_LJGP2vetsDpTRk=HS2uAuD?}IzDF+NCM4_eB zoMI_)x@AE&|0r&Q_*A0hSjt?-BI@6J{e!1Y;pieZa1^tF8t%uNM-06tvm9Oa~^_FdI1wI?T1M`ET#9{xXX`#gh`O^5fq zp-1znAwQA4XWZR5yOk@w6fiT2am0&$X(_Ef=0c-PytL$AGLZj)8GQC4SpjS7Mne4PxUVYor3K4LdK67il{l#(8@ z8}|N&;+&4c`NX96Y;C`Ir6S0vcbt>N65?XL&!JJLB0sa>+@dF=Y&JAwGeSS{p=b3& zc{g?wV%+nYE_ZzTB>R_+TxcF{&X45ya?m6QPnz*-ct-K=YxHlJd5y>E#j>5&gq_cz z*WDF@-4)1a=+_H<9gm623@VMWiT_lU`?)Vg_@vQu>MEY)f)O=dPil&d~-delkNFI(KvJgQqs1fF@++cr76PL+Y=d&!Z*!gx+e~ z|L4OQ#MW)gO`fQulf1BP>-$?1EMf1s&wiZu^V2?hYSrGX%yFAdH@?MWNvdccbnW`Y zrKfcuRs>N#{Gz2S4o^OPiE|yfP4b~yuJW!&PLOfzvM*aK3V*+J%Vqjix+RLOg$Syr z4}~AoT~t8?@m1&wgc9&7mrv+F3cnW+2;ybjG7d!$2;m@)6COZ>V01a~UZ9wOfA;XP zjKyL6fQ`~Ixk^-6*ArY%CP|qhTB2_TwtBAiV!`%$?r97Uku)fFY6hc)yXQZ2SM78g; z`u75~K_&t_wJ!dcC|?$RQKmOQi4;tdI&HouKGmqeQw@2m9DS4QB4AUhq$0bvse7=V zt_^(U!Rwq!JwanA$T1m8H3a=6=QM5QRcav2#5S&7*OVG(uav4wtUXo|E!8RAl%=C6 zeV*5U>#TLnCB$4*>y40_g-J;?!~)ojt=mqdYMc$iA5WFv^ST=@lAs&{yJ>K3lQy=Y zT&jwb>(ZfQI%c&xEw&MY(Jll=5Vy`OPV|Xuo+yl6ZvO{*2z z`hldx$}t6Zfm)_A6y=%?g(`Jgp*c6Li2L9If;?KC6%{KliWk_lIyqD%k;m#kB(ng4 zVI&Lr;fdn+p7beXAMV((M;GMHP4BH;Q#(%~&-d5$TZ=i~_y=ou?086L-0sfl&iRn7 zbqR=K9=tQM$czf`5j*-O`X?M>Zyc31a`w=jz$jcupyTAmlN;lZ#S1}C)=GvJkBw47 zLf;v+?Xoq5`3C*9_O-r&OON`l>_UTofDm?QmMB$lKl?)e%4ctm6kO+58AHzcoZ58a z`PePAC^XDj`|%r{r_V@#p!+c!T}Kfqe}S@ZF< zd#1FfI9H+Q8Qa33QW-smIwYA&qtFs^(0%5v=BH;}R9Rlz2N5al#_cLj9X6`TZCclWGOUw)Mdsy^z=?lQvOFBdsb>c} z$1nPCk;?lSgoLW+m0}>2Z92=O(U{*v=lFEN@r(+^$n?W@@l8rwC=hng46!QVkPMg! zcnoL9mE<1Q_9%ky)2rBQH>#}fvc@@aHJbmqnGuw&AODnR<8puHa`oc)@7jSLZ0S~$ zcC5ZpJH9om1n2AP>{B#}y~a2M-p}0h3JD2%wt@_X>hz)jGJR6()6i}Dt-9@Q-5VX9 zb1Ds$8n@w#7i=$H?fYFg3E50S!;ZYphr-`qQ(2XTo9U}!vH3wGXDcGTbfaz!hVH-C z9ct|4m1AzZ0<%q7sbmxl4DfOH!}u4kQV=NC{<^O}^=OL!*3X)#CYgk>fuGcx)1@;dug(&0EfVBjX}gMAA6 z4(}A*T+<;wKUBDH^dkeSISyrI2qxCUi~6RKl@AZ;g#mhck^k2687{Zooqhs@lorZw zSNg){BPklb@d%^VU!>M{(6c+&L@`Za=1J7bY33JqRj(Xrw*a*@&{6RTnk3 zQNK(ixW&M?NA1sEUjG<>m~nv_Ot=?j`fz$MkHAMgp}q{*ywu+SvtzLOe&*!Q+PgC= z@05{b#kq2YJR`nHM_3ko`?8!xqp{8e->>}UIliH%u+TD4Cnzsx4^^}eU|T+PZMm;d zDXZz&;L`aq)X_d9eQdE~N`zg5uF+(nNq;JgEen)T&j<4PrcXo)1i=Sj{%>Tzd=_V2 z+b%EAP9_uv!owV1ys>}Y_MNlD5B~lK8Ds-Rv06{WCSf=9*A^&L#&;BP2C=E9s#DfZ zbAHwG@wEHFl2D;BQz_{<)DyAxZOd4uX;#}*_BZ+iOQYL&ZTIatvClc# zxA*vm!?7>H4Zk4?i>UEW>_%}AGtPOT_Gy|wobnmWN{TSiNJN^J&7?D`6W~N2OxJ>w zSj(x&Hz&y%vzlcIS6-zRH$e=}7|dY6Cb!ZKogafe{_=z8URtGRG3YTl!o=enOv@Ba zhMuZfu4vnzlp|Q!QRvut+d$3_hEbhFB|lxabbyQ(HP@VkVD@-JN@a+Fh|TXn(Y>FSbByE{rmaq~Wae@p7#%mhxR7!5vCJX*gCF&EtfOQJ%Qg{i zhw@K{F39|eDVdp&_7et)$oK?O=uNsXncuC@`6%v(S;45aXRt{tvR6w5ODNjcLnRWa zJ?EVEo!dasR-tTY7|Ab4Tb)vznY%sKPWlg#L!JY4`rpeJd-Q#WKG?i>SZ&*Lstn~g z#=pH3>vl-}5*vJLM&aO;r1Z_gJ&)pP%s+ zco=D8jy`cv=tZaXK@TdYPF&V%BUDUp#jFb`Kj`-At_@$JnnjD^U{KL%vs09J=;ZDL zgN`aq6Z=?$I-ieDc+6+juqVzTdqXS(G3Yjs%M#pny8m*d~BL|KpwhT`k zl`X`lZJ;qr!eMmYEeSDRk;z%N*(%H(WWaDIb0qlS`}BSu?|WjR*9M>utj6=nW?DL- z0d1#K)9iYifj``9BC)OOhgvkT^_7yufGOPFd{Xrdy7Q`}42!WKza-oD&oHKepQz7L zDD+v0d`5ccH@<;)VgggMXP*5fkkDwsUs^OQEz1(VgGM{7!aJyRi`k=MeI*qqJxVfC zh~I!O9FeST$JqzPbWZpNI#slvI+-7CPofgT zsEI|+q!;vA$taJOl@?ONh}5Ef@A`}K9~(nup?3mc!B`I?imrZ9HwQ=7{}}yN?%RcJ z80^8+tWw3P`F><7h3rfJh6O?L_#%rSfvX=v)i}!!&z(aMT};%QT$I0DwV}&Re+sv$ zZTIu{nffIERHZVp!PUVQ|4ewlNb^qHo)iy*B@1VkHOfJ&e&5;;4di?xjCS6VRt9gD zf`rc)T`Zkf@oSa;1+uA5o%={mBKleJd~57~^F{+8T&%`co8! zhs(0^H_({%FwEHgI=Kf$xFxe8^PnjBFLa_2=cHv1&*h{MX9bH+XHBr_e&Mx8ct?1( z;l6bC02ME4&cl9xsWmm?)12wHpJYgWT3SkCf?k=Dfh+uT=?fn^g-p)~J~zNS9H${-|TMH!g~~|HjB7 zlZx{eJNhU3CiaQFETw!fOS|u|lHu6ZiA1;8H>uLfxsnT#S%%z_lwYdli0KQp-|MBv z=yWDWJN=qXk*FpjwkfD^;hoQz8WtKREL|>ZoMSb-fmL*zV?mr z03^PzM3Ar79&T||vUA&@sA5g-&;LJx`wwxrVc5bdtvXEAPWSd*y6VNATr*FH6=&A8vQVKDNosFEKns-_WX`|Q63SP^s25mf2#OAS6$~YZVXG!R)l8; z*A={{{5PTl)tK@lc;Qzc?@JzDt{ab^&CRnAxtzm_{bxTax-p@#6XS=zeN&&G*fv{O zNNCs-VrU4Fg}Lfi`r;u1K4+-GPy9le*l)KzYbv99==gKPZjA5Aj4xz2T^NLq*{6G`MMGKokgF@)K|to?1KWvV7EjjCBTO*ZDY8U>`kKNy-d zFlky6zKo3ABaEfv#?((22ubY$!vq41yjki2Y#zOhe$WV#n_RR?ru5QFzP}vRiR~%u z^+EZ89MV~f`vaYv9SYSH$)oi0zwO4pUqn`7k?#2`!qLRHiM!ZxsWQ znyKTUqwwALz(U-kre`Bph5r?Wse5)sWzqkp=iQO~gp;obzyp)V6$t3Pf>D&y<#IRw z&EOvF@cLdE8dEm5GXQt`R_lDKL6~7Z`JW$_uXr^v_8m0Ni)8n?P}9y*p-))faf?E_ zk4M+KPpZvKu5Md^?^XxoUY$@~wNK;3BPV5Gb_&XFXi%G@aoyi;MaaKw1v}3rg)gPoTga4=EZaG5U*22g4}9|c8P^H;#(cr6 zz9;t^_O3LAm~796eRa=V;YFd3 z&AJ(vrR}RT%vmxnjxPiX^4%i!srYG8`QZV;Zq_~l*!bL77^7J&fLP(NX_fpRu}>_a zZPVS1FE=Uh$|Tvh(0*|MH8@=WQ%alw6T7};*AU7th;su6|9W*-Opbs<_z&`%GEd;o z{FCWTF&cQ;(WV{jZTa#x`}xw;FvL}xTogRIzPUU^!ELrhT1|kn2?&b%5Rk3M3qj8qbE; zH}?S;o2)E!tmYpL^HkQVuJ(`iKH}R)T1GrfO+P-nO=A{Stk*Uk0Yq8lIuD3vvt!6m ztSvYjLx+RdYQ+^J_!NT$!F?C-lR{1&U{9Ee6|B~C2Qfs3mC`<7;9ov&xLn0eR{7O; zNodh>o2xsIfK1X5s*-y6=|K&JvR=fsW+}kRrI?rVScPoh%`y^_#&wO(65>0QvmN;~ z`}xvTmSkak+WRD-W~;HjY_-Xhu+;6^D=j1jDP>g~WN+UqQ=i`sdw{E#Z@12G9Utwl zhwEz5R7Iwxe=oStey<$68W!-U75vn=RsK^GtH(6li?u-q~{&zgl|N{)-mJp$Q3-u zgY*-rcfI2sI<95qO~;IL{UV1JQCfp84T&dZ#jEO>-RD@#h_gpt0*z7M$;B#QDviOY zoFqPKHwqF<1FPf*5e7aQxHA+Ki_K}f>$9;*Ov>SApR<#pN6*h^d`uEcS)#pme*}00 zg7`>cwoz;ZyopcM{RQPjh)YmxYueiTCmBlEds)s$O_^)ibD*(A!`H!+H&P}Lk96re zkg_^}Q{@IpPZKzMmr~ZelFYubzT0sULH`~WkPuXvre=lw5{8V;nx$2hkgxwjQwG!! zya?%vfc!Q>XFeu-ED)9s@={i9!8B4obG|u_BGbzS%nV4oUV7ZPe95> zBrzF3s!IwWCO<0T5y(o?csZT_5>7S)bK*CeTJt49J%t2oDP?5)M9Xl`M?KI98)bV$kQy&7z5ONucSnte#)DRRv}$uPpsb5rH4o)7!3 zDfZZFxSkUO?^TS5u^Z3iS*lt(Yk#brJJA<^q8$W_ya=kVG0v#3j?|2q$w!ZSKnAE& zX7NPtTR?%Yqng(w&FW3063}+RTbkBchf&(bKqtHVw`-_V2+y!~!z@3w!3G>tw1H4o z7B!Je*Wn~7_P_$0Kg_4+Z7I-`GU8Lqa!_O}qAPXlWR11B0cu`@Kb(pM;O%F#(+scaSj9K|mx0fS! zbiMfG*waKb8SU&&k7pk3+=sm27!koPCJ%dSo5QP8VX&BShA;tv>3J~?0Z#acW8nlD z#nU#2*Z%&3$rq>d|H8Aw{gaHl+h@h)`e(LY6;s>JEomy^OQC2x@`)iP;7qjl3Itom zqaG)m6Xi&7YXO5$5A`L8fskqK;3L;0hph@j#zzYm8p8ujt8Y&}lbvvm$K6f%N0T1rT*=pu_xDwUwauxRg9!)Ck@r5!`h;@E4(ft#`p z9fi(blPH$BdeHa9><<1!dK#~WG6WIS$E9V&h^lV!2m#Gx>QLPnX4cABm{Y3(z#J=5 zoo5f^tz78ly1E7>#|H7%6jBk@Sm{8*w8zS31s05FVd91J8x(vi~)9xu~?= z>`1$cAN=12POa=v$Jw3ovaCMqnwjEakK1T&1F|YD`b2z4tvUJkaSTI7eHtM*HmtYh z_j2Jq4wg)DMSK{bfQ|uarC(63YR>J0k_LGBWps8 z9x{UDEQ4Cu_W}G9FJ(x5oBENp=I+8!RchoXiylkf&kFbe446BxeYyly)B%7fkn$p( zkc5}xYGe_y(-SZt-d_m?L9R4t;jJ`opKI?WiIoWXv%O$Jp1Y1miV}?A;YP-NHu4>7 zEVRS}P3{eSuO)6-^j#@eH62$)8b{nUXwZ->*^wT5gC!|iG`gwe*r+#hoagHYL7cma zfv9Ho%Ysq)nZ;X@=mA@*RIUFh%MS$kfZm~|x1S~>8mh!8#h_Op?oqQHB3*fB*QzUq z+?{%L`4|xBCjh}m;m@q8deIf}x)?v|r}D8&STJ@P^eWwb1P1S63w<EwGpn~a*e<(%`BaqpY+cM{3ZC8FY$f{2gFttXJsmTV$&FHD{$=jTL6Rl}^? zEiE`b-Ma=V>5+tWYDb{jeJ5^23ty^-LlvjJ$#lnf4Gn3jDbotMSfDAYBJve9F{d$L zB&FJlOh>Wu3WOw=q`Y(GcCP#E6F4 zx5{ummF?M)BzL3Ui|W*+1Myri-#*Z`+)og$$&L7s#FQ1ze%H&kO5=$6sH^xfG5E|p z=`b|DNH5+SNK|QA%x}NHa%5zF>x{}3F1#9qw|f=--qNuthm;y?pYb+r$BMlgH}xnw zfy8@))i1@g5HP4p3=D*1JJptfq5S1%mEINBxXJnd@1%+J#6QS`@U(QXVUo z?-kG+2NK-9`fQj2e6~{!FN?)Bt+Fhqj@}eAh$HOsS1Hh{A%AvXbF%3w($izA$zcEw zW0TFUs(-j>4GFL5a+~O`FuxyK+}N&i>hT*bQgHpCX6nWfKyjaLvW<+G3Jg|Rm}ob` zYekL1*6j?=LIg%88^M!!GA0Ixf5?z)*BR?AZrNCoB6u(3;9O)u>E$r`cH!%VrT07i z3Rf;&kN4ZnYBs4$Ew2@k|6AB_hyE#>Nh_V|OAnI46)b>qQU&F(??+6lK!y{xST$jo zGHyy&xt3Ai?UI1%XL{c?V*3zQsM>det5#SLNFM;I+{#cZ(tbub7sRykB2jPkZ!&^( z(mKmgr2lRFEJ1-@tHuv(oYzAcK~awAxvsd#V0lfnY<12nWJhSU!omnF+czu%Tz@UD z{}8lz1xu7$VE}QG{|*qCxx)UJuO#}8f4koLuC$YTht1@;5B%cyY7^%|zsd%{={~DZ ze)|Z24Jxcj{=VMzF96@pnfj*P|6kt!y|(vDaV-d-hXJ4fenL^C+u}lP(6R3>`&D_y z_I`?3FEJki;wkY>Vk%ww0v^@Zz}{~lPx8ssx#YLa-eXrXavKgfr>h#+135w|!%a1Sue zyHkrnWOh!7QGL3C0pbdj_Vx#m5!oUd&6 z=KkNkd2*c#jDu*by>21mO2i*u{`rd)O_tVTc}z5ZKD|Zt6x<-}!s7awwEQfn75V>s z;iMU53dvo48(GpO&I$`LcW3YXU330t3GgFcB#-UK&xibyy*wnSFr*9lzcO)+!IXlb z8h^5hAJYDEl*dRztw|GHQvtTb7dj3xppH#NoB*V7HP%S}uqv7-SuGF;BB}*!eOZ90 zBvvvAH+}&1H&+T*1O8-SWe_n9$<(~%3$!o}qCrctTP|BXAUism)y?Lh@|pglxin>t zQ+g^ufH9d|S-8NU%QXsc{rLoE7=S@JCtw=~@HF7;M3AS66EVEZo#-UWr4yZn`u#)~ zS#duR5}KmB$BQ6cl&oyp*;T1fsR>z>2$2NHG7Vgot<$Vtm1{LCvNU#9)ykCUxE#DG zz^(R7BQn@dsobVsTr6C;3RS{|npyCau&V23TUk}8WnSKRy_YxIrS(J05f3~)z$>V~ zR&kl(?pHVHYRNyM@lCH?9EM+nDDo5qyAv!r$s$6kkZmpuqH34sN_Vb7& zj^e^N=JuB=(`!atv9#!Es!_=_bXyua&ryFZ9%K6g;q($|VC)`Y&Y}A+-59`1_X@@^ zCK!SviXcwJ;z+2BNt7ICsnTW2WtR8cydn@08Z>FqrbCw=eF)|wr~t!-B7&r7u|z79 zE0ij=Mr&kjVrph?VQFP;V{2#c;OOM+;_BwkP{xH+j!w=l4nU(bm@GDj%i{}#BC(RP zimIBrhNhObj;@}*fyB_r*u>P#+``hz+D0mqD{SrT9UPsUUBD11430pe&=@QZPau-W z6eE2V&#nhB8J5xdNhc2lk&)&kWxx1rBX^MrJ@dj3y`M#Gm*N&iOQGxzh8fW=522$ zewgR{zRR9|de3r|qSg}KSZf`IFvb`^7%@c9BEw>07XTu}VnQKeSj-S=5yZMl`Az^t z42uZ`5HTz!6hOqVm{0&Qv9Jr4n$c{{Y_Y%7 zzBh^sfF8Vx{X8{I)dT}`gde$#ziENANDfKQ?MU6x@}38LKEpKjtH{P(>t$ScWaOJ5 zs|Z&7h!fzT*GjPAsCa(A&xt%LmDX-LHvlI&z(H>zZ>>4YxG?kqn?G@m{~fTq)-q3B eBt~=(cfp;@09G(eXBWIRk&3PC4Gw>qa)NP2?dE@ggXNfljJBuZnxDa+7^wO8bW%W-( zxBAh2blj{R?wqk?rQCSRk9>G@$Z}zl)6bBEAm<&O(vg?-Vm19yb7I4zIn=yler4Q7 zdE=;gq?o1{Py~F_ss16i(xMeA*G8dJA%4f(y~a(Q(vMm zg7VZ!grodPqQoN9F4a{@^#as@HB0J1{a)t*np+z+2E7C}*oaZfzTLJXY6Au>xlu79 zrBX2xjO4|@Lj4ybF|e=#?GJnmOibYa;huTkz5o3Zt0-^{g2n@$z+^T)JYS80zWsM0 zQn8sxRwMx}C?GN_!erus6q2pbb#c>Hn45%%YEFeQg}*RZ^j@3 zlA+}`Z_OCFXTf-9v-(i-j(-qu5bGd{pT>Nj&bOIemSiFk8Dx;{PoNO^=K!k!H_g3N zM_d)$CjeH5%Fah@iv0uQr}Ak4UfgYKOdt9cfdUInLe}@HfmGSp{A41`ERiys-w&c% z(z++@eu(ZfoX3ddlBG`J6ocF3b*sqacSKvHBu+?A0o|4myJ^4ut2!yIQp*oN@?agq zQtDA!ksb1OSVlIc&17OyXLZi9LjnuQ4$`sa+Mh3~9ta|`^Cs+`+y`T|U54_kWY07A zUI;lr-@yrbcfZ97i7TdEJ3!D4Q?tVtLi2y7YVFJ}R{|X=(YhzmQRhpE7h8~yxu~vb z7Jmj9%*-wXEJz9j7{PE7=z!orL6VJKz2J$t;qpF-(gY0A9+?bK_E3F-#7K(?}uH2?Z`v!=e|%WFfl$@i^g2 zRR$gQC?*R>FazP~Vh&_Z9v{6MlhBLf-%XpkXWh2oFUGh~xUu+bb-zK^x z2&H!-!`-sh)xiAwG_V|-jYax=x|d-!UFz_sG7i#iO1Bx(gQY9X=6s_u`D*k(_*i7V1I=7i{H#Il0 z3-r`jj*kk?0o8YO`+~CGrq{S+FH_ivSytedcaG0-fEt8{$+{M;|;m9Fudn}UN zRU6Y31}4XBX+fOlB<|=JVEUT>`q}}4xVrnH?y{zH#*yMo+Bei!PG6*`YJz`o?UyrekyYY&B-dj!E$CV?v|(z;(t)iL zM;EScJU#e&2`wbjM{E&^#iW*ySxRmhz;X&JC@oM~q!wjafE9sO1z8hpU5E{#HuVd$ zCET_MJ2ZA_?TNH6%7JKybdJP07VAWuQ}NCuIG5-`l1s_1%yTWp4XJKQb4$A0GTf2r zF1>pU?#uE(wub~30L{zuM82mk{Nojs!hD6iZIBG*vR~#S9~45b=nc@+JIe%{y`6up zXk6#sr@VYaiJ=-o&zt@s>$X4B}QCZ-x7PXOrG+V)K4EF zuKZM{LV9cc7-9sT0P1`KOPH+#K^V3=2sCQ!ppfx19ox6f20E0St&y?8T9zk-Z#ROa z5DsO8U2Z0l%P|{K|44*znCj!(ca8{zYE#FK4%rmAOrLz}+ZU%k# z-XNp!-hxHHO%vPXV!c4@r3iKY`uAi?4fPA*gUfHcsuo8R`yM^HG}d26CYN_oKT}Fk zDxmjCvL*HVWQ7c#1rdq}V?sGV2a)V=wQ*SlwXGO+LL;8p}I*VLVCPDEviET&DjLGd?S^t)l`7itU%H& zu$P65J2WKd)H>Hcm`SysXS52=!g+pPnt@5T3>S7jA_$pwL>ZQ`)uUH{FqdUflSD?) zEtt*B0fe(uz(t_$(3sn*rlu!E>c)_FKy{c|(&t*k`~A&0 zs@*qb1TjQBJ$aesG`LDSdPIk;6_U%9HZW+Ng9J7vwD$Q0*2A_&j(?kItI2}88a0In zll(pHZa2f*_G~k=M4;}t!K8I7o*(?|3Ge8m!T79WFqbfDXrhs+Y%@9LaxLUp%C}Nr zeO*Ay@GT-ddz(~x@NLly(&sr>wVz+@i)x*K$)EeBpv3 zBmr&cL%h{Xd&C=yb=cwN z*PCt6j>mkR96;{MDvk)i_+iv>i2lIcjw6{Mc;K;(K1L&E;*|6u3h1Jl^`w4(pk1O! z`WU+JXtn9c+VQ>TuhbI&6AWG<<~|AkvYTagFgg2Fmnw3%9z9w)ZIj;YFhWf!Dm>{e zqpPd*naOSmQzF_ug}x1;8`9QKa0lyDK-dBh@m z_oimzc^E^?zXY%j#SC1CkXg}$>q4{J)XQCs!S^U6Jd<&Tgxi)pIl|Cv<|VziXhN}H zd>K%Hc@uf3<2ZL;t`ikh`ef?;vIk5r!)s4+*ZWr5vDs0}YkPbhURJ(tqF}|#d;^?# z%gHyvsjp!LsvXaIB$I+*Pw7Or!Z1NoBPu|oU=<1hy!zETB)#5rlX@G?C^&-!j_p5+ z6`3J6=w}zbt2aZWO?&ik(VZSxnI(tc-RiYH>gbJ%L4ofXi#vKt52R2`GlEl52REM`u+UfT~^9M3Gz{F*O>1rd_wfgNrs5 z9k}RH(W9bI#ej+-^)|vx-kDsFCy!7mC(x@Y_~R4IVy4(aRP%yZ6li%xKE_$)hjo6| z8#aDpJAKoxK>LE_;Z^-|%rB?>a?UT8Dbuw;w}Ryzsy`n2->t+TG;wSPi3BABj; znGd#6QdY3XB8GSUC$Krs{uzH@^ss-`t-@cZ2MSftk5jS^^H6TE7~UQldb89w3qHwQ zys*D)`vrlR^=sw_k5Pj9yZjYHhsBOfF#G?kqY=UaOzF#EE&RfvQ+(+7?N;LfrC$F7 z`%U{D|COnImfBcG|6nFF&7K{#{4#&w_rU;jGgqeBpde4L!HX*9$hduWpK5y=CWcY6~EabU%5OzbY(>d_WK%U=KLRd*U%3cu*}0#ymw z8`CdG3ARZAyEo zf%mEkg7t!g2pq)MM~l0=3|Yv+#F2kZSST&1dmC3Fpw+gs9oOF%Pl0y z^W5OC1#dX)dAI^RnE4X$(i@kRCmmMrGAJL!Uj*LTn%JTj-(>q?QphQ1KG z9wa|UV&Bl@QL-~AUch)M1zz8vo8O9^EtM7 z^CqfD2H6WCp8Msf*W$XmHL1z8HoCXU)ro?}kNf2FNGa&mdCLM5?<<;b{=hNWLZ9x5 zuwlf1j$+F{1B_Tw7?NLO+pGhyXf(i?-~fks8v_Sl1c}aaQsXI5>RmdF1hAxyICq_l zG0i%405ET?UTBIZE=TT}7*iv#ZXp{v0yweCYTr%kcpKv&_p)y+GXK3+`_7xfMm=hv zO@A^pNgcDEfstk70 zRsN0hYLXkau$%(Pfh}P9Po!8mY(pMZnyxULlnN#|4R~SJQ?QbqAhU%T;EcqeB9hF+ zltdND%J!a++^z@;>PVg?Ib`ED+=XN0jCPA!$6e6oYNQk^bv*A!ZYK%u3{Zf>x!%bA z@nTP7mUUlc2!_6GA-V(&=WXiVQUFx~HBEJVG)}3g>e)hLz0lK>1=%)TIbBqgj0+dq z-{w?VVi{FM=8epKxHe1PT_^|m9b85%>of2=L&|~wE4?X*|L}TvAPML%Sz#%*1zd}} zY9PK_LHSWCO;+@#IavvsLE_7NHB!1{Z0_pfv>#uj(1Zhy#e)` zN`EXNou!{-$&UyTckjrM=1ocIZDZM!fu8nB&N_MM`*t|Y2XhS9^bZewChZ9wLZ1soO@OJ{MAAnc(Kg%_7_-I+xNaR4MuKjIp6mE^iA#$F7SIw5q`~>q2s@rw zB_DT6;u##@AKO@q)mXn@9cDPJyIB$JJ49##oeRba3E#mz6)OkSDYc-=;ep~5Z8Rh- z7W8B2wAmU_!2b~ZYb;j54qElk=|f`(Ge$*m_#@1kuH?m>vF6P357ev;PRy;Tr8W1S z{gACUvM{k=vnPp^VJqM9C`1pG_cMh%Wu4EU>%o5tx`8#Q?+1$_hdlxl6VKUfrP^|R zj*l!*ZUQXq)y_~~=B0);m-^tYRvBGU9_L_8hjgc|>gK8|(%qK57J^nLSumlg-_%hV z5SF*q*nXsr&EOl;(ikC-1*Xy4)I`;`J0zQ;xMqsaCyJzj+V+HX)B;RrT)h}4SMJ?> z$jq8s_;o~-pRauJ`2o-Fj2}4dzXR9R=mEVP*u|T>23jB#AFC$|fd~!*ps;FW-n2jO zUx|Ig`V$A*5}FJ%$*^4p=-G`|L8h%=4a0!1YYC!2d}2|#K2v$q9cg}rlP~IkqL^DQ zy%DxxerusX8_HYEmRk#1G;%MN>mz2;aUH^_aa~Lm#;}8UXpwUF_mLaeD$}<-^16UT z8+7qm3h_F9@}Nrk4&_|9wZLQqW`G5w^AnUbsOYyXCJS?O>n2-=;*;nIN?qctwk+in zUO_c2S$+fQ%`So|j=hVzfsVFTn+Kx+*3!(#tpznFS9K2+ZrXch`O_YCz6h%a=L0CO zYt|VYQ$v@1xS#e)zsBbJLWIBi1G$pZxK38kP9(%_E-r-W9RRkg2;WohJjC_?JeXMI zz5ZxVX?Nn$AvEH&yqhWdXHIt96#E84fabQgQ+8&%3n(P7hPDzj}{M5(17u?W0<=H zkldD}Ri55tSGs%SJ?;4 zX4A$-Sa=5f;v1ArWmrWW<8wT|q3$&00GG?R8(sPO{)Xzs+>`ssVCn7)w1~j(H9~>RfGz>Tc%4lGP^%f zx23p5w|R9!P7dj_XLr|IRwrf`WfXK&*W|ZlLZq#x8a|QqRi#$12a#4#@o_b*nMi+t zYBG1l`NT7=UMzWh8>B5pmJOstY%8YweX>cf&C1J;^55Nu-C39=Sy{X}K5?_LM7McG zLT+AMZZ6WW8hup^A-I(5n!W#12={w8J{o%HMRyuqJNRtyMb85l@}s>swQIf+2;bIj zxwds;%@oyuaQ+_rX#zWj_$>PFM7h7=QI~Yz+xeTwLWo?$ev0oPE?!eZe{cJH%8!Qt z)yO-v)4r1gpNoT2e@uP8iSy|$xlOZFQ=TLF(Y}lTnxL_Pknf4*9Ob#HY{9zsgMa7V zjIsAD$jQuo4@#sU&N77I6w3zHJe)^rFwxunf$D#xB+i$qV`?Lzki5gooL5slHT+zX zH#57swamnW>R$Rzyj{_=J}5&+F!i1VcPfQSeT>acvX_fP^S3zZedA zAR~-`yj-J^ml|ae?%|FYX_mch*aNCEFfuGOFh)teANK2d1=Tdf(U*Yi%bHF&5?ywEfu`T`TkCA2z~Zvis55ybeO!X5DbkG z0k(!2nP41^2mp*$01Cx_T{>Ux?(q-cZoJ^Mcq?59LgGgtn}iH6k;}_88o6;6;S3v5 z*@mS2jWAds(P1Y#8cpkOM#I4HiY zDSsh&+$F{{6BOLRbw#vN-Zwx0sZwDvXU$8rSMB@qp}{6GMz88uf$E7R<_Lb?$?XAdzlBHY)!Axw76S`9mf zeNX~&<%h6gN2}S6Ny6GUMj2QdH8dA~!+uh;qg+MhsAp7MCNg9``EBulXZ@lGTE0%h z7wX#^1YC}wuq}fL2|}rH819B5(;X>4tB62zQ+}LS5{25NiczL^l}cI>0;Ntalgf`8 zZob@ycREQ(0HiYDnBmsP7N5$m0qJ6W+2L2??w(*=oG0i${_1d?7uU! zD4C#=#Y9oto=^L=F8eG5-2xB%(QoPbCjwM`q;r@I4*j!Al_BH{gq~MgISeMJ^`nZr z?Km3p>O@sshF7eOz5n9=rK{p<>zV_ACA-Cv za)KjkMff0Ys*z)FPhBQEH|m^p`3gE{ImPw2>judt(Xd#aTZzVfe0;a*$~y^1R7h`)+9lA%E@(kKKS|gVz*PDB zF;#&r!(w@13wFt|Wru=He1hxCT)8HHV=y2HbzCIii(oU#dgmt5}Y=}UVDcvL< zQnWvd0tYe}t(yD#R1?wSq=i*K4%Lkmg*BELyuy5K9_-fH`S&hgwla@|A}Lh*?6|~O zuOORe<|?k~x{GB&xe}Qd?;Q)Xk;Pj=GJ26|L@<`_7tX@Vm0s&`R*n_{^`17!)Px1g z!ZYF;B$0aW#sDuT&wIA%4Ou131oY6J#xGa;zLyjA1<6Hu)`kt}Ya!c?qcPkL_w0)? zH%A=!vfw~LR$6M>{I3gT-#gEb zI7?*SPR2Wri43VHA1hvqPFd8M=)}`$_mTI^cIU4}m;qMHxFeNDwJo1m*y zo>Vr|n7&$NkN(s!y9(3V`fOrfoBtXE-Xe$(Oc!GxZOreIa<0oK- z)`ywyEFPXumP{Vof7nybK6rtV@^j(A4NNQM6onb~|GcO^k>(cQB^Gpd($oFBG3N`Ook=1OP7MxW}_q6;rR5TTV%H$%Xm) zPJ9o34Bs#$?bso{qjgB<58==G^xzF$_4)3S+$qcD52sWW?$u<@GLZWN$xTB=CB53` zy5P6Qjsm8VrBR9aek_e0;W?k+`cCetwE0zQ^K^g6fmBC+W_GZW(l2{RV5lp#l4gWN zT_+QZWT;8X?r%h~s$M1%UmWN9DIdBwkSy}NV>OPl4-K_Pja%LE%(YMTRYm0}dY!|~ z0nmcKoU5i4M>=>O+Eg%#0Mu2(3*GMB3O@P;<)Cu8grl@IDg~gbP;)x~ph6+9sGuby zGfEqlo0Kd=0AQWMTWKBmGqIQ{^7j)ki}e#oS_1BdG}Cn&x$z`X9s%q+%%{`&fAxpU z0OHBL$VWdjWvAotw3-E-m0F;z9N^sr09`JdMq}r0R00a+#s(IR#%c(4*U=nhMJO|X zI$vLdlCN~C3J}*V!oy6x>1U;>^H;`*oIiC|yP0p&oz~2Hk zTX3OHKmDBP=PS95!=vo8gQ8a_WDHp)N1}$r441bgg)(2}Ss36)mL$aM^Eok!YCjIS zo7m?PX>0#Isi^VI>Iky^Xu<)!zPlil+>_mb5SxP?%%D;k!6tgwA)gwCuK9holH4ie zGF-<=!Kb45Qli+)K(NcZ!vEMz8jZ=u6YSjFeiQJkCi_->4r=(xV~%uN zf_D&UY1&K?n=RT50L?*(=q)H<)z36?4H+1V+v9wc7)=4d-usb=I$}mU?{|{%usXb0 zQZ3SVAbyTl2L?VUPhDIBK;#}aFDl6)r#<`n^^iplZCV~Jz&}yvxiEeS*ZBr_lT5@>g<{dJg;#0~W6tgw z!#&Fsl)3ySEPa>cwq4ha1CP6p!}jiMT!%%B|Lxbbe1hPN54MV=?eCqJYwMta5 zL5mkTC#lt*9@!ld*^Mt~jd%gHIfA^i$!nmGNH%6f1qS~93_-Tf4~j?fvHcghboN*e z?FIp_VoyeLJc+I|KS@E~hd^9<4_}ll5#x&iK6D8Pct#VC0?j6o`MBR#T?!_n(2haX zmwriwLTMc&cD=l0*^lnWye;DdF{D9z9@;d|^1tKNT59sP8QZYyAt-7{kW9i45(Nej zPsAQP`ku>XbG5`xa^995ned{_xa{s~p7);?Ptkf7D5?8U2TGU#3zXJ>sQ&>xDPvq8 z7&wO<<03_$Qd-%es1Ypf!?TYt*Ts@%7KcXTu$DGPqq2wIWdeqD)rAxtnH6avF+Pc9 zV=cC^U$44g*53|JD(ITHj>nH8%>K6UAKuM5aZ2Bq*?4^d$2z{Xtj})P>IwPCqQc#f zR>+b{t(rl2DC?&v%YzM!c*m_F`=8p>{+jfVM!E{aBG@!+KRz)^Oo{?28r$CsT=(6| zSEi#Rky)%_QK{26W+ca>+mHSSCQA+|uz@;;;18Pb#Zs-xJBQVHBc=J}#6j~o3@@4% zdtOoNfaB9nMi`%;nypg(RWq~A!d~$x0*tyIB+gUC@O>?iax}T&4#eg{6aEY~cCqMm zR#%mh?u|4QYXfnUUoqHzH2Sb}LWFvF;%V&1T0+mUvUEV{SwMSlpgt-gN|Mt9R77|P z3bXy}K-)37q3Q!{+%}C~qz)k^5KT!TItCK!%iP;iBLP6(={)tjtGyd{U9ON@#5H18 zs=fLX6nTnOcb5O#g3=$)O3bpX%kiO5e7?T^(D#9z!7I!KQ8~gKqQDJLK|C|w>a6mx z3R4e6n)_ire3Xn5%o*XoEPr9p&5#~n7w2zI_Ajf%Wx~%UH1m%r_isp4Q?BW;Q|Wnq z5oNcH7OgXm2(-zBsm)Sl&0xUuB`^OiJdKjHNNWcLu>CJBXO*dtz1r`(l0)r3E$j5Xo|@cbEcux?9q5cU%qzlY?uZ)A(3OK0BokKC+-6jer*SEW^DHCL+GRb}Ic3`n__>Kgk|KZ-_huRtG( zO_kD!GMH3FQ>!m-bk;taZlcOlNxT1ARoX|*UF~cculcBK)6-4WXr4A`pG^wXFwI*% zi@cD`{jDMx#{vquq*A5Is;`#Pkr+f&>E9MWkw|+N!#$kMt0cX9lF@aY3t) zO#e_Xos|YHRE7}yUK{$DrJ}nVdIMhTQZtQ8>Df{>jY0iFzTvFBLFGa;ljdNnRy4jV z1{Jk8T9xY4a=32(x?Y+!ZpHR!`9^zd)r0>%NR{XL0*C7}H<2{>uJzUrA8J%$=05`;vDd;bm%w^zq z?xRDstj$p}&X{i3^7f&KdafRr*q{2an|)c`(AQrEdnl*-Y|zaVx{lgC#9d?@$RntG z<0z#-pPm7G;WBOu)JMVONu&5ip2ocx>s?x&*2^UDo8Pd^D%O z%=COjFYCv&&b@x_q~aQirTn)=e#|d0-AHiH1~slOewyTZ&iQdPSg%a@vs$^*(ZGJ5 z!u^3@w0MZxCtbm9anEyupq>pjBV=6Zp9_R?%`F;J*HiMz&9s1L&(2ryQBTKy#4N`o zC~k-pEJQ2mIpFb(wNq%J$HJ%Fl6y7+Gpm==3_}KTRAwy+a63$@sY_QF1E_pr2NeZvq5919 z^>JKsTxqM>z`z9xst<{V!>6m74jUlu$f``j@PvA93VJX@e}B<4MLhuFB_3u-Yt&s+ zrDle(iFQ(nhik?12^yMCzBB)s5umPF zj9@dXoKhnWtD5aI61|1Ox$|;SQ^v`c=ru~uV#3>-O;=Vq&Z=KB1n!X6cq~4Z=rN_C z2xN=kPXEn9mgVs5eOZUgACG$jH?RM=dwKWtgj#hhr_5%(YXl-ppKX+jW zs3xcE187J(n|#_N9Wt8;I>5Ol#+(VEtvG9d>X;df#g_^VcVrnYrHVBXD?3Vylz|K9 zR%txDgCkJAO;?_Pi&n#_BE}uMS*K3eEUm{oKheu&k5(CGBFjwhycQiphKSw12i#Yh zoRDCkA!WM@*sN|vxlQw83>#zO;mBef)D`7b-_jfV^r5QNC3nHGcA0|_Qg%wZ)GTgw zizaHZcXU=u&R!@9>ZME^77fwbe(E498>+mfdua!Xrv_G%*GfNWmG_{T7{5r))Oh<)vg?cAY*cvX-PY+|e_)lWy;( z+^rTyae{!gY0g}oT4*55ZB4C-Q#Qnr!T1iUD8yt%lcq;82j?8Ro~%#o1X6N`fn;Dy zw;fP5mwO5cmP$6}xQX5>PBEMqJ_6a$bpzrxfU{ zpk#B9I(ik0^DQo{c&SFq?BOvGP9MANdO7s4^O71bxpbLdf_f7Nfw2=pl{WX(`V5DY zEA=8TC9>JoSuw(-EmU(1rY82;mka&tFd4%2Z9F|xz0i%r&Po$MdvTDNS%t!UBq_Xd zOoJe#8{&-M6f{kls_^-soj;LxQnrZ^b6QKnq22a0P1ayG3?;>>SyYJ+e_NdTjSP0& zZz2&ZpiB%D1EWiY;;d=GLdVN)!y29M(A1!8jF?j-5zEvnWqVW7%BPXzb@VZfuC-dK zGFhBGGZo5|NLjA6kvtCJh*+B&?I=A2zHJ^5XrY=7MzB@Mtj8E%9DAKA5Q5*?B4mOj zQ{hq25-8B#g~%G68P!K)riWuYo8d)m@iK8>$n)$@h4WH|#)`0>0%(Yh7&WyTH@;2P z6OH!}8uY;nnHJj}3N&eW?ht#cc|xvN_x;T(1<5gJC5}1P-9YqL5WsMlLG`fX4fSoa%m=>;g|d6G;ltX zIvQSK*EeIv-iK;DA`u{@^JNAw3%n&TG@6e2U2n4%`Ps*LRZ#HqH{x92toBG^{`l02 zZ*rli>&Wtn&>$+?d0$p(8Ld{8Rf>*)RGjk&JHL#8L8=SUoh91?5H{f9iC7-)0fCMf zRD%dhjWlEOv) zcbzfy<+z4U)5yL%o&vsN)2STl+3%?zN1jUGj|eCsZtNYIiPR3GlF}-{FsKZ~XSeqv%;Ft_dYCq^ z^-@!ho(SI@5k_lVmt!U+c8-(`SjNFqa7Igxb(;!i##K0(=_ZVNN;obfo9v$CZ1HC! zM+<*lVdkOO=#^#*(F@&2z)dpIM-L{iS${QKTY%ypItPC|Ta4s1zMkheZ>S9jWdr}qScF>UoW=Z6b`H~1HwY2*nDFN zi8_^X3}vHRZnl5&&M3h*I^=Mxm#yWrX=gPj`F;>vw&2!v&+E30#sPy}ws5ymZauGh zz1yz)9Gv8>LW`Edh>ns_dGD6vLl1!mV5UOUHpp8u?+UTBmb;RITc9X&98skgHfwR? zG>oZSWxp58Yi~JOK2093D0HjRHiym1>YV@&8ka2VJi$~0S`!#lgi2iQvwZ~ z3KYC4N2$?Gp?CcaL~qWh>H*jAyGu9@jF%vH$#a*uz*XQ${dc!>_9TxU9QV zkT^pbq{x`wO4h-dg(HsM?q1Wyt(eLkZskzV{uIQNfabjeJ^eFgQp+trSTQd8oHkmp zXeHFzR@&%tEtnpH1oo<=oX~Egs-j^>Y-aMaC+7!Z^Lepgq(fk8r#U2)PFp8W%-c#; zRY&mT)Se}>g%oNyEuIub|pK*+2aA;1vYHD>NGt$@*R}v z9;N4Ia!!8ibuMGHszcfM*OVz>781KW9!i>C3R+PWtlLKSdlR(oa zMspF?1c{CQQ=pCH#`BQmkE6XJ8ik|`cTvWEaS2Bx8(VVAujvE<(%&5*P&lh-nO*ZD zYqeb;H^<=qAp|i3%QXT4r2RRPZ`~{z+awGdXaW*Oj^99JuIc(&&J{J_5n446U!cBV zz^&(K%o9JZLd5?<`NKBJTbb+7`lmy>@`_ju$wLYtnY(nx3HFI?x7#3ZRaVPY{n_xy zk8X2=39VbDWRXZTSp@z1IxQKQ+LrRM)+z1Ji4S@J>gz#MpT77aIHZVsutS)n58!M1 z@2e;HIqp7&Q;gyAA(x8kj4h%0N=EUNe6l~S-@09=*7By)E{Dbqn+Z)+@e81tC#|J0 z$i;NTd})N9sOiqnKgQqlmN;hqff=d8c?;`HjvSCmWcuehxb;tfE371vPrYTtYq}cc zh36a*X}aH9VKaeqYzA)L_Mz%TBH!O&wQ5~R9L1^DMk7m+9;N-OjcfS`q286%OSAhs zxVpL&3#QFycY0LkM$@JSd#M$FSslWSYu``r*UM?Q8A|$re}ea)0v_V8n-}Vzudjd9 z1w{dHrXqOC!xYGedJ7siX;im3g*1k8^Wx_Js3yr9byymXuD`4vkBLAYAtIqosz86> zUxtKBU^1VFN~(RJZ>WVKNRGlYBo3l`{MbJc9u>DkO18ye`1pe)gS*Ng1!b$WO5#ZU zIy?IMxIktA%v-Y#g8zZ~_geOw`7g4h@P-RHw`bL^L=>il&QxJ~%~Zp(ry*}E4`6Jx zY3B#}8x8=@Pc(^!KKWbz!LLrUm;G;h{Ra&Au{Qttw0_e6dAZkDIx;Tz zSNHLb8z*UIhX@ZSJs}BfMl8K}z>FPK{YTjc{O@LbK}4Gt560-(O;ny^qfr z=^yzUehyPZME-6XXR&LqxrqE&J>3eb!#PQN^%vofCaI$;iX9KjrE_7D4M5rk3Xlgf zGJ*(*30WZ*WG7sw1HAH{{kX-Gubc8vx_x)0uGr57`aw2UKYnaDp+O%KaIu6*=7~)m z-$KK={t1QHZq7mw0Pe7iz+g<*tmi6$5Dk(qrk?vVpxBY;g_CjVoNTAk)W6dx@oya0 zPaj3E7yburnD273%PWtZ%RHV*qv`SDQaE`fyMY=&TtqJM;N>mjhf>5#$P47#w zzzY2!8>#U>%S+%2))`!BssmQ8ukLBr8>&{U0ZM@b9E%}~MH*ox$pRSqt9CO(01`F^ z&H{ihVC%h+k{wR8+Qq#YPX4^N6df<_EiK2-d&|%%&C{>Ks|+Gh63uGxaB$Tz!@kOQ>M{1ez_0v}_5jz7gnauIvT>ab?TLr6jd5jp0%6OSziZ@?=XgGLfiU3kFkS&4Y$_$AzWGPUn=zWkCQfb4q zY{&IL2-YDeh7%-3Gc3moq9iMNgN3D)wT-Qvy@R8Zvx}>nyNA!d`0AVQe)y@PF<2a) zKqQeVR2rSZWU)D19$z37i6wIK3W`d~DynMg8k$<#I=XuL28Kq)CZ=ZQ7M51lHnw*5 z4vtRFUJqc5J_YTl}2YUS!@oM#}^1iVu@5HS146#jaH{O7)@r2)n<1% zU2c!p=NI5F%c@fA^R}}1cY#km3T5By8Q1HT+Ek#~1rnxw9pBl`A}Ut_h%j43wOSBU?#SrX&{}J)wK2vRV`46W z0qCUu>quLnqxyCJpSNF3xa0jIKlqs6Z{3}jkEB6Gt0t7qV;zAo#u%TB1R{tqTPOn% zA+}Hk5oQaf%ml=gJ90GuBFq-b07RHAlmUn^TPOpNP!nrln;!LcFM9ha3fIf0P0L9H zH?;C6{p&yL|ND}m|Nr~^|N7szrv@vDt%a(rKDbD%;I-DTLdbK{C3gq%WEHT)FL3cl z+K=$h$Nu;mhgNWRKOpve0@%vd$HE+LUCl0=@Ci-c)%)UfF)!~LBQn8}o%AK`W%)LH zesw6vUAEwoQzuB8;uSfz1IQ>=_=PFhe4C>CaI~*_e<7nPWzuz6!LDhrd5rM(xh5S^ q&EQkt@!Y!y?8Xh+Xc8E~>ANm#K6K$Ta~&`1d&~Q!zvqU9u&90R2Q3i* diff --git a/src/base/theme/bootsier/assets/fonts/nunito/latin_400.woff2 b/src/base/theme/bootsier/assets/fonts/nunito/latin_400.woff2 deleted file mode 100644 index 2f9cc5964455b8f5ca989db989250dbebb1a5f66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18972 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 Tc07qv40RR9100000000000000000000 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 O#wJ^t_sl^H8{Ggk@tke| diff --git a/src/base/theme/bootsier/assets/js/bootstrap.min.js b/src/base/theme/bootsier/assets/js/bootstrap.min.js deleted file mode 100644 index d155068c..00000000 --- a/src/base/theme/bootsier/assets/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 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(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){if(t&&t.__esModule)return t;const e=Object.create(null);if(t)for(const i in t)if("default"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const i=e(t),s="transitionend",n=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},o=t=>{const e=n(t);return e&&document.querySelector(e)?e:null},r=t=>{const e=n(t);return e?document.querySelector(e):null},a=t=>{t.dispatchEvent(new Event(s))},l=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),c=t=>l(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,h=(t,e,i)=>{Object.keys(i).forEach((s=>{const n=i[s],o=e[s],r=o&&l(o)?"element":null==(a=o)?`${a}`:{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase();var a;if(!new RegExp(n).test(r))throw new TypeError(`${t.toUpperCase()}: Option "${s}" provided type "${r}" but expected type "${n}".`)}))},d=t=>!(!l(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),u=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),g=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?g(t.parentNode):null},_=()=>{},f=t=>{t.offsetHeight},p=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},m=[],b=()=>"rtl"===document.documentElement.dir,v=t=>{var e;e=()=>{const e=p();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",(()=>{m.forEach((t=>t()))})),m.push(e)):e()},y=t=>{"function"==typeof t&&t()},E=(t,e,i=!0)=>{if(!i)return void y(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let o=!1;const r=({target:i})=>{i===e&&(o=!0,e.removeEventListener(s,r),y(t))};e.addEventListener(s,r),setTimeout((()=>{o||a(e)}),n)},w=(t,e,i,s)=>{let n=t.indexOf(e);if(-1===n)return t[!i&&s?t.length-1:0];const o=t.length;return n+=i?1:-1,s&&(n=(n+o)%o),t[Math.max(0,Math.min(n,o-1))]},A=/[^.]*(?=\..*)\.|.*/,T=/\..*/,C=/::\d+$/,k={};let L=1;const S={mouseenter:"mouseover",mouseleave:"mouseout"},O=/^(mouseenter|mouseleave)/i,N=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 D(t,e){return e&&`${e}::${L++}`||t.uidEvent||L++}function I(t){const e=D(t);return t.uidEvent=e,k[e]=k[e]||{},k[e]}function P(t,e,i=null){const s=Object.keys(t);for(let n=0,o=s.length;nfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};s?s=t(s):i=t(i)}const[o,r,a]=x(e,i,s),l=I(t),c=l[a]||(l[a]={}),h=P(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=D(r,e.replace(A,"")),u=o?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return n.delegateTarget=r,s.oneOff&&$.off(t,n.type,e,i),i.apply(r,[n]);return null}}(t,i,s):function(t,e){return function i(s){return s.delegateTarget=t,i.oneOff&&$.off(t,s.type,e),e.apply(t,[s])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function j(t,e,i,s,n){const o=P(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function H(t){return t=t.replace(T,""),S[t]||t}const $={on(t,e,i,s){M(t,e,i,s,!1)},one(t,e,i,s){M(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,o,r]=x(e,i,s),a=r!==e,l=I(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void j(t,l,r,o,n?i:null)}c&&Object.keys(l).forEach((i=>{!function(t,e,i,s){const n=e[i]||{};Object.keys(n).forEach((o=>{if(o.includes(s)){const s=n[o];j(t,e,i,s.originalHandler,s.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h=l[r]||{};Object.keys(h).forEach((i=>{const s=i.replace(C,"");if(!a||e.includes(s)){const e=h[i];j(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=p(),n=H(e),o=e!==n,r=N.has(n);let a,l=!0,c=!0,h=!1,d=null;return o&&s&&(a=s.Event(e,i),s(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(n,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach((t=>{Object.defineProperty(d,t,{get:()=>i[t]})})),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},B=new Map,z={set(t,e,i){B.has(t)||B.set(t,new Map);const s=B.get(t);s.has(e)||0===s.size?s.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(t,e)=>B.has(t)&&B.get(t).get(e)||null,remove(t,e){if(!B.has(t))return;const i=B.get(t);i.delete(e),0===i.size&&B.delete(t)}};class R{constructor(t){(t=c(t))&&(this._element=t,z.set(this._element,this.constructor.DATA_KEY,this))}dispose(){z.remove(this._element,this.constructor.DATA_KEY),$.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,i=!0){E(t,e,i)}static getInstance(t){return z.get(c(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.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const F=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;$.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),u(this))return;const n=r(this)||this.closest(`.${s}`);t.getOrCreateInstance(n)[e]()}))};class q extends R{static get NAME(){return"alert"}close(){if($.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),$.trigger(this._element,"closed.bs.alert"),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)}}))}}F(q,"close"),v(q);const W='[data-bs-toggle="button"]';class U extends R{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=U.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function K(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function V(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}$.on(document,"click.bs.button.data-api",W,(t=>{t.preventDefault();const e=t.target.closest(W);U.getOrCreateInstance(e).toggle()})),v(U);const X={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${V(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${V(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((i=>{let s=i.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),e[s]=K(t.dataset[i])})),e},getDataAttribute:(t,e)=>K(t.getAttribute(`data-bs-${V(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},Y={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 s=t.parentNode;for(;s&&s.nodeType===Node.ELEMENT_NODE&&3!==s.nodeType;)s.matches(e)&&i.push(s),s=s.parentNode;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=>!u(t)&&d(t)))}},Q="carousel",G={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Z={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},J="next",tt="prev",et="left",it="right",st={ArrowLeft:it,ArrowRight:et},nt="slid.bs.carousel",ot="active",rt=".active.carousel-item";class at extends R{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=Y.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return G}static get NAME(){return Q}next(){this._slide(J)}nextWhenVisible(){!document.hidden&&d(this._element)&&this.next()}prev(){this._slide(tt)}pause(t){t||(this._isPaused=!0),Y.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(a(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=Y.findOne(rt,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void $.one(this._element,nt,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const i=t>e?J:tt;this._slide(i,this._items[t])}_getConfig(t){return t={...G,...X.getDataAttributes(this._element),..."object"==typeof t?t:{}},h(Q,t,Z),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?it:et)}_addEventListeners(){this._config.keyboard&&$.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&($.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),$.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},s=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};Y.find(".carousel-item img",this._element).forEach((t=>{$.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?($.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),$.on(this._element,"pointerup.bs.carousel",(t=>s(t))),this._element.classList.add("pointer-event")):($.on(this._element,"touchstart.bs.carousel",(t=>e(t))),$.on(this._element,"touchmove.bs.carousel",(t=>i(t))),$.on(this._element,"touchend.bs.carousel",(t=>s(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=st[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?Y.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===J;return w(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),s=this._getItemIndex(Y.findOne(rt,this._element));return $.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:s,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=Y.findOne(".active",this._indicatorsElement);e.classList.remove(ot),e.removeAttribute("aria-current");const i=Y.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{$.trigger(this._element,nt,{relatedTarget:o,direction:d,from:n,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),f(o),s.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add(ot),s.classList.remove(ot,h,c),this._isSliding=!1,setTimeout(u,0)};this._queueCallback(t,s,!0)}else s.classList.remove(ot),o.classList.add(ot),this._isSliding=!1,u();a&&this.cycle()}_directionToOrder(t){return[it,et].includes(t)?b()?t===et?tt:J:t===et?J:tt:t}_orderToDirection(t){return[J,tt].includes(t)?b()?t===tt?et:it:t===tt?it:et:t}static carouselInterface(t,e){const i=at.getOrCreateInstance(t,e);let{_config:s}=i;"object"==typeof e&&(s={...s,...e});const n="string"==typeof e?e:s.slide;if("number"==typeof e)i.to(e);else if("string"==typeof n){if(void 0===i[n])throw new TypeError(`No method named "${n}"`);i[n]()}else s.interval&&s.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){at.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=r(this);if(!e||!e.classList.contains("carousel"))return;const i={...X.getDataAttributes(e),...X.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),at.carouselInterface(e,i),s&&at.getInstance(e).to(s),t.preventDefault()}}$.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",at.dataApiClickHandler),$.on(window,"load.bs.carousel.data-api",(()=>{const t=Y.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element));null!==s&&n.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return ct}static get NAME(){return lt}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=Y.find(ft,this._config.parent);e=Y.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const i=Y.findOne(this._selector);if(e.length){const s=e.find((t=>i!==t));if(t=s?mt.getInstance(s):null,t&&t._isTransitioning)return}if($.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{i!==e&&mt.getOrCreateInstance(e,{toggle:!1}).hide(),t||z.set(e,"bs.collapse",null)}));const s=this._getDimension();this._element.classList.remove(ut),this._element.classList.add(gt),this._element.style[s]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${s[0].toUpperCase()+s.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(gt),this._element.classList.add(ut,dt),this._element.style[s]="",$.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[s]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if($.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,f(this._element),this._element.classList.add(gt),this._element.classList.remove(ut,dt);const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove(gt),this._element.classList.add(ut),$.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(dt)}_getConfig(t){return(t={...ct,...X.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=c(t.parent),h(lt,t,ht),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=Y.find(ft,this._config.parent);Y.find(pt,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=r(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(_t):t.classList.add(_t),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=mt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}$.on(document,"click.bs.collapse.data-api",pt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=o(this);Y.find(e).forEach((t=>{mt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),v(mt);const bt="dropdown",vt="Escape",yt="Space",Et="ArrowUp",wt="ArrowDown",At=new RegExp("ArrowUp|ArrowDown|Escape"),Tt="click.bs.dropdown.data-api",Ct="keydown.bs.dropdown.data-api",kt="show",Lt='[data-bs-toggle="dropdown"]',St=".dropdown-menu",Ot=b()?"top-end":"top-start",Nt=b()?"top-start":"top-end",Dt=b()?"bottom-end":"bottom-start",It=b()?"bottom-start":"bottom-end",Pt=b()?"left-start":"right-start",xt=b()?"right-start":"left-start",Mt={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},jt={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class Ht extends R{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar()}static get Default(){return Mt}static get DefaultType(){return jt}static get NAME(){return bt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(u(this._element)||this._isShown(this._menu))return;const t={relatedTarget:this._element};if($.trigger(this._element,"show.bs.dropdown",t).defaultPrevented)return;const e=Ht.getParentFromElement(this._element);this._inNavbar?X.setDataAttribute(this._menu,"popper","none"):this._createPopper(e),"ontouchstart"in document.documentElement&&!e.closest(".navbar-nav")&&[].concat(...document.body.children).forEach((t=>$.on(t,"mouseover",_))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(kt),this._element.classList.add(kt),$.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(u(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){$.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>$.off(t,"mouseover",_))),this._popper&&this._popper.destroy(),this._menu.classList.remove(kt),this._element.classList.remove(kt),this._element.setAttribute("aria-expanded","false"),X.removeDataAttribute(this._menu,"popper"),$.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...X.getDataAttributes(this._element),...t},h(bt,t,this.constructor.DefaultType),"object"==typeof t.reference&&!l(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${bt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===i)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:l(this._config.reference)?e=c(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const s=this._getPopperConfig(),n=s.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=i.createPopper(e,this._menu,s),n&&X.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(kt)}_getMenuElement(){return Y.next(this._element,St)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return Pt;if(t.classList.contains("dropstart"))return xt;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Nt:Ot:e?It:Dt}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=Y.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(d);i.length&&w(i,e,t===wt,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Ht.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(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=Y.find(Lt);for(let i=0,s=e.length;ie+t)),this._setElementAttributes($t,"paddingRight",(e=>e+t)),this._setElementAttributes(Bt,"marginRight",(e=>e-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t)[e];t.style[e]=`${i(Number.parseFloat(n))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes($t,"paddingRight"),this._resetElementAttributes(Bt,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&X.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=X.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(X.removeDataAttribute(t,e),t.style[e]=i)}))}_applyManipulationCallback(t,e){l(t)?e(t):Y.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const Rt={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},Ft={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},qt="show",Wt="mousedown.bs.backdrop";class Ut{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&f(this._getElement()),this._getElement().classList.add(qt),this._emulateAnimation((()=>{y(t)}))):y(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(qt),this._emulateAnimation((()=>{this.dispose(),y(t)}))):y(t)}_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}_getConfig(t){return(t={...Rt,..."object"==typeof t?t:{}}).rootElement=c(t.rootElement),h("backdrop",t,Ft),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),$.on(this._getElement(),Wt,(()=>{y(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&($.off(this._element,Wt),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){E(t,this._getElement(),this._config.isAnimated)}}const Kt={trapElement:null,autofocus:!0},Vt={trapElement:"element",autofocus:"boolean"},Xt=".bs.focustrap",Yt="backward";class Qt{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),$.off(document,Xt),$.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),$.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,$.off(document,Xt))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const s=Y.focusableChildren(i);0===s.length?i.focus():this._lastTabNavDirection===Yt?s[s.length-1].focus():s[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Yt:"forward")}_getConfig(t){return t={...Kt,..."object"==typeof t?t:{}},h("focustrap",t,Vt),t}}const Gt="modal",Zt="Escape",Jt={backdrop:!0,keyboard:!0,focus:!0},te={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},ee="hidden.bs.modal",ie="show.bs.modal",se="resize.bs.modal",ne="click.dismiss.bs.modal",oe="keydown.dismiss.bs.modal",re="mousedown.dismiss.bs.modal",ae="modal-open",le="show",ce="modal-static";class he extends R{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=Y.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new zt}static get Default(){return Jt}static get NAME(){return Gt}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||$.trigger(this._element,ie,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(ae),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),$.on(this._dialog,re,(()=>{$.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if($.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(le),$.off(this._element,ne),$.off(this._dialog,re),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>$.off(t,".bs.modal"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ut({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Qt({trapElement:this._element})}_getConfig(t){return t={...Jt,...X.getDataAttributes(this._element),..."object"==typeof t?t:{}},h(Gt,t,te),t}_showElement(t){const e=this._isAnimated(),i=Y.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||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,i&&(i.scrollTop=0),e&&f(this._element),this._element.classList.add(le),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,$.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?$.on(this._element,oe,(t=>{this._config.keyboard&&t.key===Zt?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Zt||this._triggerBackdropTransition()})):$.off(this._element,oe)}_setResizeEvent(){this._isShown?$.on(window,se,(()=>this._adjustDialog())):$.off(window,se)}_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(ae),this._resetAdjustments(),this._scrollBar.reset(),$.trigger(this._element,ee)}))}_showBackdrop(t){$.on(this._element,ne,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if($.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,s=e>document.documentElement.clientHeight;!s&&"hidden"===i.overflowY||t.contains(ce)||(s||(i.overflowY="hidden"),t.add(ce),this._queueCallback((()=>{t.remove(ce),s||this._queueCallback((()=>{i.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!b()||i&&!t&&b())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!b()||!i&&t&&b())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=he.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}$.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=r(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),$.one(e,ie,(t=>{t.defaultPrevented||$.one(e,ee,(()=>{d(this)&&this.focus()}))}));const i=Y.findOne(".modal.show");i&&he.getInstance(i).hide(),he.getOrCreateInstance(e).toggle(this)})),F(he),v(he);const de="offcanvas",ue={backdrop:!0,keyboard:!0,scroll:!1},ge={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},_e="show",fe=".offcanvas.show",pe="hidden.bs.offcanvas";class me extends R{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return de}static get Default(){return ue}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||$.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new zt).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(_e),this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),$.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&($.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove(_e),this._backdrop.hide(),this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new zt).reset(),$.trigger(this._element,pe)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...ue,...X.getDataAttributes(this._element),..."object"==typeof t?t:{}},h(de,t,ge),t}_initializeBackDrop(){return new Ut({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Qt({trapElement:this._element})}_addEventListeners(){$.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=me.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)}}))}}$.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=r(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),u(this))return;$.one(e,pe,(()=>{d(this)&&this.focus()}));const i=Y.findOne(fe);i&&i!==e&&me.getInstance(i).hide(),me.getOrCreateInstance(e).toggle(this)})),$.on(window,"load.bs.offcanvas.data-api",(()=>Y.find(fe).forEach((t=>me.getOrCreateInstance(t).show())))),F(me),v(me);const be=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),ve=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,ye=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ee=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!be.has(i)||Boolean(ve.test(t.nodeValue)||ye.test(t.nodeValue));const s=e.filter((t=>t instanceof RegExp));for(let t=0,e=s.length;t{Ee(t,r)||i.removeAttribute(t.nodeName)}))}return s.body.innerHTML}const Ae="tooltip",Te=new Set(["sanitize","allowList","sanitizeFn"]),Ce={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},ke={AUTO:"auto",TOP:"top",RIGHT:b()?"left":"right",BOTTOM:"bottom",LEFT:b()?"right":"left"},Le={animation:!0,template:'

',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["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:[]},popperConfig:null},Se={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Oe="fade",Ne="show",De="show",Ie="out",Pe=".tooltip-inner",xe=".modal",Me="hide.bs.modal",je="hover",He="focus";class $e extends R{constructor(t,e){if(void 0===i)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return Le}static get NAME(){return Ae}static get Event(){return Se}static get DefaultType(){return Ce}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(Ne))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),$.off(this._element.closest(xe),Me,this._hideModalHandler),this.tip&&this.tip.remove(),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=$.trigger(this._element,this.constructor.Event.SHOW),e=g(this._element),s=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!s)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(Pe).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),o=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",o),this._element.setAttribute("aria-describedby",o),this._config.animation&&n.classList.add(Oe);const r="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,a=this._getAttachment(r);this._addAttachmentClass(a);const{container:l}=this._config;z.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.append(n),$.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=i.createPopper(this._element,n,this._getPopperConfig(a)),n.classList.add(Ne);const c=this._resolvePossibleFunction(this._config.customClass);c&&n.classList.add(...c.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{$.on(t,"mouseover",_)}));const h=this.tip.classList.contains(Oe);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,$.trigger(this._element,this.constructor.Event.SHOWN),t===Ie&&this._leave(null,this)}),this.tip,h)}hide(){if(!this._popper)return;const t=this.getTipElement();if($.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(Ne),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>$.off(t,"mouseover",_))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(Oe);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==De&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),$.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(Oe,Ne),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),Pe)}_sanitizeAndSetContent(t,e,i){const s=Y.findOne(i,t);e||!s?this.setElementContent(s,e):s.remove()}setElementContent(t,e){if(null!==t)return l(e)?(e=c(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=we(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return ke[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)$.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===je?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i=t===je?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;$.on(this._element,e,this._config.selector,(t=>this._enter(t))),$.on(this._element,i,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},$.on(this._element.closest(xe),Me,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?He:je]=!0),e.getTipElement().classList.contains(Ne)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===De&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?He:je]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ie,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===Ie&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=X.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{Te.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:c(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()),h(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=$e.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}v($e);const Be={...$e.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},ze={...$e.DefaultType,content:"(string|element|function)"},Re={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Fe extends $e{static get Default(){return Be}static get NAME(){return"popover"}static get Event(){return Re}static get DefaultType(){return ze}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=Fe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}v(Fe);const qe="scrollspy",We={offset:10,method:"auto",target:""},Ue={offset:"number",method:"string",target:"(string|element)"},Ke="active",Ve=".nav-link, .list-group-item, .dropdown-item",Xe="position";class Ye extends R{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,$.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return We}static get NAME(){return qe}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":Xe,e="auto"===this._config.method?t:this._config.method,i=e===Xe?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),Y.find(Ve,this._config.target).map((t=>{const s=o(t),n=s?Y.findOne(s):null;if(n){const t=n.getBoundingClientRect();if(t.width||t.height)return[X[e](n).top+i,s]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){$.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...We,...X.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=c(t.target)||document.documentElement,h(qe,t,Ue),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),i=Y.findOne(e.join(","),this._config.target);i.classList.add(Ke),i.classList.contains("dropdown-item")?Y.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add(Ke):Y.parents(i,".nav, .list-group").forEach((t=>{Y.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(Ke))),Y.prev(t,".nav-item").forEach((t=>{Y.children(t,".nav-link").forEach((t=>t.classList.add(Ke)))}))})),$.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){Y.find(Ve,this._config.target).filter((t=>t.classList.contains(Ke))).forEach((t=>t.classList.remove(Ke)))}static jQueryInterface(t){return this.each((function(){const e=Ye.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}$.on(window,"load.bs.scrollspy.data-api",(()=>{Y.find('[data-bs-spy="scroll"]').forEach((t=>new Ye(t)))})),v(Ye);const Qe="active",Ge="fade",Ze="show",Je=".active",ti=":scope > li > .active";class ei extends R{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Qe))return;let t;const e=r(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?ti:Je;t=Y.find(e,i),t=t[t.length-1]}const s=t?$.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if($.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const n=()=>{$.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),$.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,n):n()}_activate(t,e,i){const s=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?Y.children(e,Je):Y.find(ti,e))[0],n=i&&s&&s.classList.contains(Ge),o=()=>this._transitionComplete(t,s,i);s&&n?(s.classList.remove(Ze),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Qe);const t=Y.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Qe),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Qe),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),f(t),t.classList.contains(Ge)&&t.classList.add(Ze);let s=t.parentNode;if(s&&"LI"===s.nodeName&&(s=s.parentNode),s&&s.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&Y.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Qe))),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=ei.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}$.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),u(this)||ei.getOrCreateInstance(this).show()})),v(ei);const ii="toast",si="hide",ni="show",oi="showing",ri={animation:"boolean",autohide:"boolean",delay:"number"},ai={animation:!0,autohide:!0,delay:5e3};class li extends R{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return ri}static get Default(){return ai}static get NAME(){return ii}show(){$.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(si),f(this._element),this._element.classList.add(ni),this._element.classList.add(oi),this._queueCallback((()=>{this._element.classList.remove(oi),$.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(ni)&&($.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(oi),this._queueCallback((()=>{this._element.classList.add(si),this._element.classList.remove(oi),this._element.classList.remove(ni),$.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(ni)&&this._element.classList.remove(ni),super.dispose()}_getConfig(t){return t={...ai,...X.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},h(ii,t,this.constructor.DefaultType),t}_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(){$.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),$.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),$.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),$.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=li.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return F(li),v(li),{Alert:q,Button:U,Carousel:at,Collapse:mt,Dropdown:Ht,Modal:he,Offcanvas:me,Popover:Fe,ScrollSpy:Ye,Tab:ei,Toast:li,Tooltip:$e}})); -//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/src/base/theme/bootsier/assets/js/bootstrap.min.js.map b/src/base/theme/bootsier/assets/js/bootstrap.min.js.map deleted file mode 100644 index 835a3d6b..00000000 --- a/src/base/theme/bootsier/assets/js/bootstrap.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/data.js","../../js/src/base-component.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","jquery","nodeType","getElement","length","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","getComputedStyle","getPropertyValue","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","noop","reflow","offsetHeight","getjQuery","jQuery","window","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","index","indexOf","listLength","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","uid","getEvent","findHandler","events","delegationSelector","uidEventList","i","len","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","has","addHandler","oneOff","wrapFn","relatedTarget","delegateTarget","this","handlers","previousFn","replace","domElements","querySelectorAll","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","inNamespace","isNamespace","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","isNative","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","key","defineProperty","get","preventDefault","elementMap","Map","Data","set","instance","instanceMap","size","console","error","Array","from","remove","delete","BaseComponent","constructor","_element","DATA_KEY","dispose","EVENT_KEY","getOwnPropertyNames","propertyName","_queueCallback","isAnimated","static","getInstance","VERSION","Error","enableDismissTrigger","component","method","clickEvent","tagName","closest","getOrCreateInstance","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","normalizeData","val","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","filter","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","pageYOffset","left","pageXOffset","position","offsetTop","offsetLeft","SelectorEngine","find","concat","Element","prototype","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","EVENT_SLID","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE_ITEM","Carousel","super","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","activeIndex","_getItemIndex","order","_handleSwipe","absDeltax","abs","direction","_keydown","_addTouchEventListeners","hasPointerPenTouch","pointerType","start","clientX","touches","move","end","clearTimeout","itemImg","add","_getItemByOrder","isNext","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","_setActiveIndicatorElement","activeIndicator","indicators","parseInt","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","triggerSlidEvent","completeCallBack","action","ride","carouselInterface","slideIndex","dataApiClickHandler","carousels","parent","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activesData","actives","container","tempActiveData","elemActive","dimension","_getDimension","style","scrollSize","triggerArrayLength","selected","triggerArray","isOpen","ESCAPE_KEY","SPACE_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","REGEXP_KEYDOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","boundary","reference","display","popperConfig","autoClose","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","getParentFromElement","_createPopper","focus","_completeHide","destroy","update","Popper","referenceElement","_getPopperConfig","isDisplayStatic","modifiers","modifier","enabled","createPopper","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","options","_selectMenuItem","items","toggles","context","composedPath","isMenuTarget","isActive","stopPropagation","getToggleButton","clearMenus","dataApiKeydownHandler","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","_saveInitialAttribute","overflow","styleProp","scrollbarWidth","_applyManipulationCallback","reset","_resetElementAttributes","actualValue","removeProperty","callBack","isOverflowing","className","rootElement","clickCallback","EVENT_MOUSEDOWN","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","trapElement","autofocus","TAB_NAV_BACKWARD","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","EVENT_HIDDEN","EVENT_SHOW","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_ignoreBackdropClick","_scrollBar","_isAnimated","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","scrollTop","_triggerBackdropTransition","_resetAdjustments","currentTarget","scrollHeight","isModalOverflowing","clientHeight","overflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","allReadyOpen","scroll","OPEN_SELECTOR","Offcanvas","visibility","blur","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","regExp","attributeRegex","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacements","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","_initializeOnDelegatedTarget","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","_disposePopper","isWithContent","shadowRoot","isInTheDom","ownerDocument","getTitle","tipId","prefix","floor","random","getElementById","getUID","attachment","_getAttachment","_addAttachmentClass","_resolvePossibleFunction","prevHoverState","_cleanTipClass","setContent","_sanitizeAndSetContent","content","templateElement","setElementContent","textContent","updateAttachment","_getDelegateConfig","phase","_handlePopperPlacementChange","onFirstUpdate","_getBasicClassPrefix","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","basicClassPrefixRegex","tabClass","token","tClass","state","popper","Popover","_getContent","SELECTOR_LINK_ITEMS","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","listGroup","navItem","node","spy","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","Tab","listElement","itemSelector","hideEvent","complete","active","isTransitioning","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","_onInteraction","isInteracting"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = 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 (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\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 // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return 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 DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\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 getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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}\nconst customEventsRegex = /^(mouseenter|mouseleave)/i\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 * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(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 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 (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n 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 // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n let typeEvent = getTypeEvent(originalTypeEvent)\n const isNative = nativeEvents.has(typeEvent)\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\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 (customEventsRegex.test(originalTypeEvent)) {\n const wrapFn = 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 if (delegationFn) {\n delegationFn = wrapFn(delegationFn)\n } else {\n handler = wrapFn(handler)\n }\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\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 Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, 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, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, 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 const isNative = nativeEvents.has(typeEvent)\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\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 if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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 (v5.1.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport {\n executeAfterTransition,\n getElement\n} from './util/index'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.1.3'\n\nclass BaseComponent {\n constructor(element) {\n element = getElement(element)\n\n if (!element) {\n return\n }\n\n this._element = element\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n Object.getOwnPropertyNames(this).forEach(propertyName => {\n this[propertyName] = null\n })\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n /** Static */\n\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 NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\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\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): 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'\nimport { getElementFromSelector, isDisabled } from './index'\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 = 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 (v5.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\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\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 * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\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\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 * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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 * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\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\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\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 offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible } from '../util/index'\n\nconst NODE_TEXT = 3\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)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\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\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\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n getNextActiveElement,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\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_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 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'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_INDICATOR = '[data-bs-target]'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\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(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._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 if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const order = index > activeIndex ?\n ORDER_NEXT :\n ORDER_PREV\n\n this._slide(order, this._items[index])\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n if (!direction) {\n return\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\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, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const hasPointerPenTouch = event => {\n return this._pointerEvent &&\n (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n const start = event => {\n if (hasPointerPenTouch(event)) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this.touchStartX\n }\n\n const end = event => {\n if (hasPointerPenTouch(event)) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\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(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, event => event.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\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(direction)\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByOrder(order, activeElement) {\n const isNext = order === ORDER_NEXT\n return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap)\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\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 indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\n indicators[i].setAttribute('aria-current', 'true')\n break\n }\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || this._getItemByOrder(order, activeElement)\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const isNext = order === ORDER_NEXT\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = this._orderToDirection(order)\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n if (this._isSliding) {\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const triggerSlidEvent = () => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\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 setTimeout(triggerSlidEvent, 0)\n }\n\n this._queueCallback(completeCallBack, activeElement, true)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n triggerSlidEvent()\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction\n }\n\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 (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order\n }\n\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\n static carouselInterface(element, config) {\n const data = Carousel.getOrCreateInstance(element, config)\n\n let { _config } = data\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Carousel.getInstance(target).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n getElementFromSelector,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: null\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(null|element)'\n}\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\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\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\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\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 actives = []\n let activesData\n\n if (this._config.parent) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)) // remove children if greater depth\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives.length) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.getOrCreateInstance(elemActive, { toggle: false }).hide()\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\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 const triggerArrayLength = this._triggerArray.length\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !this._isShown(elem)) {\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\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n typeCheckConfig(NAME, config, DefaultType)\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 = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n SelectorEngine.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n })\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\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 * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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 const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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 SPACE_KEY = 'Space'\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 REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\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_NAVBAR = 'navbar'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\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'\n\nconst Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n\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\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown(this._menu)) {\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 const parent = Dropdown.getParentFromElement(this._element)\n // Totally disable Popper for Dropdowns in Navbar\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\n } else {\n this._createPopper(parent)\n }\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 !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\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(this._menu)) {\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\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 [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\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 = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\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(parent) {\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 = 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 const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n }\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\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 // 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(`.${CLASS_NAME_NAVBAR}`) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 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\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\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\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 && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const context = Dropdown.getInstance(toggles[i])\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._isShown()) {\n continue\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n }\n\n if (event) {\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 if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && event.key === ESCAPE_KEY) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (event.key === ESCAPE_KEY) {\n instance.hide()\n return\n }\n\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\n if (!isActive) {\n instance.show()\n }\n\n instance._selectMenuItem(event)\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\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 * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\nimport { isElement } from './index'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\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, 'paddingRight', 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, 'paddingRight', calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\n }\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProp, 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, styleProp)\n const calculatedValue = window.getComputedStyle(element)[styleProp]\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, 'paddingRight')\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n }\n\n _saveInitialAttribute(element, styleProp) {\n const actualValue = element.style[styleProp]\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProp, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProp) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp)\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n } else {\n SelectorEngine.find(selector, this._element).forEach(callBack)\n }\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index'\n\nconst Default = {\n className: 'modal-backdrop',\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: 'body', // give the choice to place backdrop under different elements\n clickCallback: null\n}\n\nconst DefaultType = {\n className: 'string',\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: '(element|string)',\n clickCallback: '(function|null)'\n}\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nclass Backdrop {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n if (this._config.isAnimated) {\n reflow(this._getElement())\n }\n\n this._getElement().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 // Private\n\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 _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n this._config.rootElement.append(this._getElement())\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\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 _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\nimport { typeCheckConfig } from './index'\n\nconst Default = {\n trapElement: null, // The element to trap focus inside of\n autofocus: true\n}\n\nconst DefaultType = {\n trapElement: 'element',\n autofocus: 'boolean'\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\nclass FocusTrap {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n activate() {\n const { trapElement, autofocus } = this._config\n\n if (this._isActive) {\n return\n }\n\n if (autofocus) {\n 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\n _handleFocusin(event) {\n const { target } = event\n const { trapElement } = this._config\n\n if (target === document || target === trapElement || trapElement.contains(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 _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport ScrollBarHelper from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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 Default = {\n backdrop: true,\n keyboard: true,\n focus: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean'\n}\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_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.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\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\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._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\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\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => 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 const isAnimated = this._isAnimated()\n\n if (isAnimated) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n this._queueCallback(() => this._hideModal(), this._element, isAnimated)\n }\n\n dispose() {\n [window, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\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 _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const isAnimated = this._isAnimated()\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\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 if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (isAnimated) {\n reflow(this._element)\n }\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, isAnimated)\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\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 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 _showBackdrop(callback) {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === true) {\n this.hide()\n } else if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n }\n })\n\n this._backdrop.show(callback)\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 { classList, scrollHeight, style } = this._element\n const isModalOverflowing = scrollHeight > document.documentElement.clientHeight\n\n // return if the following background transition hasn't yet completed\n if ((!isModalOverflowing && style.overflowY === 'hidden') || classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n style.overflowY = 'hidden'\n }\n\n classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n this._queueCallback(() => {\n style.overflowY = ''\n }, this._dialog)\n }\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 && !isRTL()) || (isBodyOverflowing && !isModalOverflowing && isRTL())) {\n this._element.style.paddingLeft = `${scrollbarWidth}px`\n }\n\n if ((isBodyOverflowing && !isModalOverflowing && !isRTL()) || (!isBodyOverflowing && isModalOverflowing && isRTL())) {\n this._element.style.paddingRight = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n\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 * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = 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 moddal toggler while another one is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen) {\n Modal.getInstance(allReadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n isVisible,\n typeCheckConfig\n} from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport SelectorEngine from './dom/selector-engine'\nimport Manipulator from './dom/manipulator'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\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 Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\nconst CLASS_NAME_SHOW = 'show'\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_HIDDEN = `hidden${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\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\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._element.style.visibility = 'visible'\n\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const completeCallBack = () => {\n if (!this._config.scroll) {\n this._focustrap.activate()\n }\n\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.remove(CLASS_NAME_SHOW)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._element.style.visibility = 'hidden'\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\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _initializeBackDrop() {\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\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 (this._config.keyboard && event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n }\n\n // Static\n\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 * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = 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 allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen && allReadyOpen !== target) {\n Offcanvas.getInstance(allReadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () =>\n SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())\n)\n\nenableDismissTrigger(Offcanvas)\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/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) || DATA_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attributeName)) {\n return true\n }\n }\n\n return false\n}\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(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 (let i = 0, len = elements.length; i < len; i++) {\n const element = elements[i]\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n attributeList.forEach(attribute => {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n findShadowRoot,\n getElement,\n getUID,\n isElement,\n isRTL,\n noop,\n typeCheckConfig\n} from './util/index'\nimport { DefaultAllowlist, sanitizeHtml } from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(array|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacements: 'array',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object|function)'\n}\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 animation: true,\n template: '
' +\n '
' +\n '
' +\n '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: [0, 0],\n container: false,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n boundary: 'clippingParents',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\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\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\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)\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this._config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\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(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const context = this._initializeOnDelegatedTarget(event)\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\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.tip) {\n this.tip.remove()\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.Event.SHOW)\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = shadowRoot === null ?\n this._element.ownerDocument.documentElement.contains(this._element) :\n shadowRoot.contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // A trick to recreate a tooltip in case a new title is given by using the NOT documented `data-bs-original-title`\n // This will be removed later in favor of a `setContent` method\n if (this.constructor.NAME === 'tooltip' && this.tip && this.getTitle() !== this.tip.querySelector(SELECTOR_TOOLTIP_INNER).innerHTML) {\n this._disposePopper()\n this.tip.remove()\n this.tip = null\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this._element.setAttribute('aria-describedby', tipId)\n\n if (this._config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this._config.placement === 'function' ?\n this._config.placement.call(this, tip, this._element) :\n this._config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const { container } = this._config\n Data.set(tip, this.constructor.DATA_KEY, this)\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n }\n\n if (this._popper) {\n this._popper.update()\n } else {\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n const customClass = this._resolvePossibleFunction(this._config.customClass)\n if (customClass) {\n tip.classList.add(...customClass.split(' '))\n }\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop)\n })\n }\n\n const complete = () => {\n const prevHoverState = this._hoverState\n\n this._hoverState = null\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (this._hoverState !== HOVER_STATE_SHOW) {\n tip.remove()\n }\n\n this._cleanTipClass()\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN)\n\n this._disposePopper()\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.update()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this._config.template\n\n const tip = element.children[0]\n this.setContent(tip)\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n\n this.tip = tip\n return this.tip\n }\n\n setContent(tip) {\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TOOLTIP_INNER)\n }\n\n _sanitizeAndSetContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!content && templateElement) {\n templateElement.remove()\n return\n }\n\n // we use append for html objects to maintain js events\n this.setElementContent(templateElement, content)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (isElement(content)) {\n content = getElement(content)\n\n // content is a DOM node or a jQuery\n if (this._config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.append(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this._config.html) {\n if (this._config.sanitize) {\n content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n const title = this._element.getAttribute('data-bs-original-title') || this._config.title\n\n return this._resolvePossibleFunction(title)\n }\n\n updateAttachment(attachment) {\n if (attachment === 'right') {\n return 'end'\n }\n\n if (attachment === 'left') {\n return 'start'\n }\n\n return attachment\n }\n\n // Private\n\n _initializeOnDelegatedTarget(event, context) {\n return context || this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(content) {\n return typeof content === 'function' ? content.call(this._element) : content\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: 'onChange',\n enabled: true,\n phase: 'afterWrite',\n fn: data => this._handlePopperPlacementChange(data)\n }\n ],\n onFirstUpdate: data => {\n if (data.options.placement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n }\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(attachment)}`)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event => this.toggle(event))\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => this._enter(event))\n EventHandler.on(this._element, eventOut, this._config.selector, event => this._leave(event))\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 if (this._config.selector) {\n this._config = {\n ...this._config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n const originalTitleType = typeof this._element.getAttribute('data-bs-original-title')\n\n if (title || originalTitleType !== 'string') {\n this._element.setAttribute('data-bs-original-title', title || '')\n if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context._config.delay || !context._config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context._config.delay.show)\n }\n\n _leave(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = context._element.contains(event.relatedTarget)\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context._config.delay || !context._config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context._config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key]\n }\n }\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 _cleanTipClass() {\n const tip = this.getTipElement()\n const basicClassPrefixRegex = new RegExp(`(^|\\\\s)${this._getBasicClassPrefix()}\\\\S+`, 'g')\n const tabClass = tip.getAttribute('class').match(basicClassPrefixRegex)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _getBasicClassPrefix() {\n return CLASS_PREFIX\n }\n\n _handlePopperPlacementChange(popperData) {\n const { state } = popperData\n\n if (!state) {\n return\n }\n\n this.tip = state.elements.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(state.placement))\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.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 * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n offset: [0, 8],\n trigger: 'click',\n content: '',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent(tip) {\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE)\n this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT)\n }\n\n // Private\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n _getBasicClassPrefix() {\n return CLASS_PREFIX\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.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 * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${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_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_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._scrollElement = this._element.tagName === 'BODY' ? window : this._element\n this._config = this._getConfig(config)\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process())\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n EventHandler.off(this._scrollElement, EVENT_KEY)\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n config.target = getElement(config.target) || document.documentElement\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = SELECTOR_LINK_ITEMS.split(',')\n .map(selector => `${selector}[data-bs-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','), this._config.target)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n } else {\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both
    and