From 25501408115f464b123defc5a0c52011f55950ee Mon Sep 17 00:00:00 2001 From: Baer Date: Fri, 16 Aug 2024 10:50:57 +0200 Subject: [PATCH] Initial commit --- .gitignore | 41 + build.gradle.kts | 67 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43453 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 249 + gradlew.bat | 92 + settings.gradle.kts | 1 + .../eisibaer/jbear2/JeobeardyApplication.kt | 13 + .../jbear2/config/ApplicationProperties.kt | 12 + .../jbear2/config/SpringConfiguration.kt | 51 + .../eisibaer/jbear2/config/WebSocketConfig.kt | 21 + .../at/eisibaer/jbear2/dto/auth/LoginDto.kt | 6 + .../jbear2/dto/auth/LoginResponseDto.kt | 6 + .../jbear2/dto/message/GenericMessage.kt | 11 + .../eisibaer/jbear2/endpoint/AuthEndpoint.kt | 87 + .../eisibaer/jbear2/endpoint/BoardEndpoint.kt | 9 + .../eisibaer/jbear2/endpoint/GameEndpoint.kt | 19 + .../eisibaer/jbear2/endpoint/UserEndpoint.kt | 23 + .../kotlin/at/eisibaer/jbear2/model/Answer.kt | 25 + .../kotlin/at/eisibaer/jbear2/model/Board.kt | 24 + .../at/eisibaer/jbear2/model/BoardEntry.kt | 27 + .../at/eisibaer/jbear2/model/Category.kt | 27 + .../kotlin/at/eisibaer/jbear2/model/Game.kt | 51 + .../at/eisibaer/jbear2/model/ImageFile.kt | 34 + .../kotlin/at/eisibaer/jbear2/model/Player.kt | 28 + .../at/eisibaer/jbear2/model/Question.kt | 31 + .../at/eisibaer/jbear2/model/QuestionType.kt | 21 + .../kotlin/at/eisibaer/jbear2/model/User.kt | 28 + .../jbear2/repository/UserRepository.kt | 14 + .../jbear2/security/SecurityConfiguration.kt | 126 + .../jbear2/security/jwt/AuthEntryPointJwt.kt | 23 + .../jbear2/security/jwt/AuthTokenFilter.kt | 51 + .../eisibaer/jbear2/security/jwt/JwtUtils.kt | 75 + .../userdetail/UserDetailServiceImpl.kt | 28 + .../security/userdetail/UserDetailsImpl.kt | 67 + src/main/resources/config/application-dev.yml | 13 + .../resources/config/application-prod.yml | 8 + src/main/resources/config/application.yml | 23 + .../OldInGameBlurredRotated-Bc8vmN0_.jpeg | Bin 0 -> 131365 bytes .../static/assets/index-21nzev1V.css | 5 + .../resources/static/assets/index-CPLpx4lq.js | 813 ++ src/main/resources/static/favicon.ico | Bin 0 -> 4286 bytes src/main/resources/static/index.html | 14 + src/main/webapp/.eslintrc.cjs | 14 + src/main/webapp/.gitignore | 30 + src/main/webapp/README.md | 45 + src/main/webapp/env.d.ts | 1 + src/main/webapp/index.html | 13 + src/main/webapp/package-lock.json | 6807 +++++++++++++++++ src/main/webapp/package.json | 50 + src/main/webapp/public/favicon.ico | Bin 0 -> 4286 bytes src/main/webapp/src/App.vue | 37 + src/main/webapp/src/Env.ts | 8 + src/main/webapp/src/assets/css/main.css | 3 + .../images/OldInGameBlurredRotated.jpeg | Bin 0 -> 131365 bytes .../webapp/src/assets/images/PFP_BearHead.svg | 89 + .../src/assets/scss/customized_bootstrap.scss | 113 + .../webapp/src/assets/scss/exotic_theme.scss | 23 + .../components/__tests__/HelloWorld.spec.ts | 14 + .../src/components/blocks/BoardSelector.vue | 48 + .../src/components/blocks/FooterBlock.vue | 23 + .../src/components/blocks/LocaleChanger.vue | 38 + .../webapp/src/components/blocks/NavBar.vue | 75 + .../src/components/blocks/ThemeChanger.vue | 25 + .../src/components/icons/IconCommunity.vue | 7 + .../components/icons/IconDocumentation.vue | 7 + .../src/components/icons/IconEcosystem.vue | 7 + .../src/components/icons/IconJeobeardy.vue | 38 + .../src/components/icons/IconSupport.vue | 7 + .../src/components/icons/IconTooling.vue | 19 + .../components/modals/GenericInfoModal.vue | 66 + .../webapp/src/components/pages/AboutPage.vue | 12 + .../webapp/src/components/pages/GamePage.vue | 12 + .../webapp/src/components/pages/HomePage.vue | 123 + .../webapp/src/components/pages/LoginPage.vue | 113 + .../src/components/pages/ProfilePage.vue | 47 + .../src/components/pages/SignupPage.vue | 126 + src/main/webapp/src/composables/colorTheme.ts | 57 + src/main/webapp/src/locales/de.json | 38 + src/main/webapp/src/locales/en.json | 90 + src/main/webapp/src/main.ts | 47 + src/main/webapp/src/models/dto/LoginDto.ts | 14 + src/main/webapp/src/models/user/User.ts | 5 + src/main/webapp/src/router/index.ts | 53 + src/main/webapp/src/services/AuthService.ts | 61 + src/main/webapp/src/services/UserService.ts | 26 + src/main/webapp/src/services/UtilService.ts | 8 + src/main/webapp/src/stores/UserStore.ts | 38 + src/main/webapp/tsconfig.app.json | 14 + src/main/webapp/tsconfig.json | 18 + src/main/webapp/tsconfig.node.json | 18 + src/main/webapp/tsconfig.vitest.json | 10 + src/main/webapp/vite.config.ts | 22 + src/main/webapp/vitest.config.ts | 14 + 94 files changed, 10844 insertions(+) create mode 100644 .gitignore create mode 100644 build.gradle.kts create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts create mode 100644 src/main/kotlin/at/eisibaer/jbear2/JeobeardyApplication.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/config/ApplicationProperties.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/config/SpringConfiguration.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/config/WebSocketConfig.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/dto/auth/LoginDto.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/dto/auth/LoginResponseDto.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/dto/message/GenericMessage.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/endpoint/AuthEndpoint.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/endpoint/BoardEndpoint.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/endpoint/GameEndpoint.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/endpoint/UserEndpoint.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/Answer.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/Board.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/BoardEntry.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/Category.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/Game.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/ImageFile.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/Player.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/Question.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/QuestionType.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/model/User.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/repository/UserRepository.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/security/SecurityConfiguration.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/security/jwt/AuthEntryPointJwt.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/security/jwt/AuthTokenFilter.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/security/jwt/JwtUtils.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/security/userdetail/UserDetailServiceImpl.kt create mode 100644 src/main/kotlin/at/eisibaer/jbear2/security/userdetail/UserDetailsImpl.kt create mode 100644 src/main/resources/config/application-dev.yml create mode 100644 src/main/resources/config/application-prod.yml create mode 100644 src/main/resources/config/application.yml create mode 100644 src/main/resources/static/assets/OldInGameBlurredRotated-Bc8vmN0_.jpeg create mode 100644 src/main/resources/static/assets/index-21nzev1V.css create mode 100644 src/main/resources/static/assets/index-CPLpx4lq.js create mode 100644 src/main/resources/static/favicon.ico create mode 100644 src/main/resources/static/index.html create mode 100644 src/main/webapp/.eslintrc.cjs create mode 100644 src/main/webapp/.gitignore create mode 100644 src/main/webapp/README.md create mode 100644 src/main/webapp/env.d.ts create mode 100644 src/main/webapp/index.html create mode 100644 src/main/webapp/package-lock.json create mode 100644 src/main/webapp/package.json create mode 100644 src/main/webapp/public/favicon.ico create mode 100644 src/main/webapp/src/App.vue create mode 100644 src/main/webapp/src/Env.ts create mode 100644 src/main/webapp/src/assets/css/main.css create mode 100644 src/main/webapp/src/assets/images/OldInGameBlurredRotated.jpeg create mode 100644 src/main/webapp/src/assets/images/PFP_BearHead.svg create mode 100644 src/main/webapp/src/assets/scss/customized_bootstrap.scss create mode 100644 src/main/webapp/src/assets/scss/exotic_theme.scss create mode 100644 src/main/webapp/src/components/__tests__/HelloWorld.spec.ts create mode 100644 src/main/webapp/src/components/blocks/BoardSelector.vue create mode 100644 src/main/webapp/src/components/blocks/FooterBlock.vue create mode 100644 src/main/webapp/src/components/blocks/LocaleChanger.vue create mode 100644 src/main/webapp/src/components/blocks/NavBar.vue create mode 100644 src/main/webapp/src/components/blocks/ThemeChanger.vue create mode 100644 src/main/webapp/src/components/icons/IconCommunity.vue create mode 100644 src/main/webapp/src/components/icons/IconDocumentation.vue create mode 100644 src/main/webapp/src/components/icons/IconEcosystem.vue create mode 100644 src/main/webapp/src/components/icons/IconJeobeardy.vue create mode 100644 src/main/webapp/src/components/icons/IconSupport.vue create mode 100644 src/main/webapp/src/components/icons/IconTooling.vue create mode 100644 src/main/webapp/src/components/modals/GenericInfoModal.vue create mode 100644 src/main/webapp/src/components/pages/AboutPage.vue create mode 100644 src/main/webapp/src/components/pages/GamePage.vue create mode 100644 src/main/webapp/src/components/pages/HomePage.vue create mode 100644 src/main/webapp/src/components/pages/LoginPage.vue create mode 100644 src/main/webapp/src/components/pages/ProfilePage.vue create mode 100644 src/main/webapp/src/components/pages/SignupPage.vue create mode 100644 src/main/webapp/src/composables/colorTheme.ts create mode 100644 src/main/webapp/src/locales/de.json create mode 100644 src/main/webapp/src/locales/en.json create mode 100644 src/main/webapp/src/main.ts create mode 100644 src/main/webapp/src/models/dto/LoginDto.ts create mode 100644 src/main/webapp/src/models/user/User.ts create mode 100644 src/main/webapp/src/router/index.ts create mode 100644 src/main/webapp/src/services/AuthService.ts create mode 100644 src/main/webapp/src/services/UserService.ts create mode 100644 src/main/webapp/src/services/UtilService.ts create mode 100644 src/main/webapp/src/stores/UserStore.ts create mode 100644 src/main/webapp/tsconfig.app.json create mode 100644 src/main/webapp/tsconfig.json create mode 100644 src/main/webapp/tsconfig.node.json create mode 100644 src/main/webapp/tsconfig.vitest.json create mode 100644 src/main/webapp/vite.config.ts create mode 100644 src/main/webapp/vitest.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dd75d0d --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +HELP.md +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Kotlin ### +.kotlin +.env* \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..3cc8c6b --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,67 @@ +plugins { + id("org.springframework.boot") version "3.3.0" + id("io.spring.dependency-management") version "1.1.5" + kotlin("plugin.jpa") version "1.9.24" + kotlin("jvm") version "1.9.24" + kotlin("plugin.spring") version "1.9.24" + kotlin("plugin.allopen") version "1.9.22" +} + +group = "at.eisibaer" +version = "0.0.1-SNAPSHOT" + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } +} + +configurations { + compileOnly { + extendsFrom(configurations.annotationProcessor.get()) + } +} + +repositories { + mavenCentral() +} + +val jjwtVersion: String = "0.12.6"; +val bcVersion: String = "1.78.1"; + +dependencies { + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + implementation("org.springframework.boot:spring-boot-starter-security") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-websocket") + implementation("com.fasterxml.jackson.module:jackson-module-kotlin") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation("io.jsonwebtoken:jjwt-api:$jjwtVersion") + implementation("org.bouncycastle:bcprov-jdk18on:$bcVersion") + compileOnly("org.projectlombok:lombok") + developmentOnly("org.springframework.boot:spring-boot-devtools") + runtimeOnly("org.postgresql:postgresql") + runtimeOnly("io.jsonwebtoken:jjwt-impl:$jjwtVersion") + runtimeOnly("io.jsonwebtoken:jjwt-jackson:$jjwtVersion") + annotationProcessor("org.projectlombok:lombok") + testImplementation("org.springframework.boot:spring-boot-starter-test") + testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") + testImplementation("org.springframework.security:spring-security-test") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") +} + +kotlin { + compilerOptions { + freeCompilerArgs.addAll("-Xjsr305=strict") + } +} + +tasks.withType { + useJUnitPlatform() +} + +allOpen { + annotation("jakarta.persistence.Entity") + annotation("jakarta.persistence.Embeddable") + annotation("jakarta.persistence.MappedSuperclass") +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e6441136f3d4ba8a0da8d277868979cfbc8ad796 GIT binary patch literal 43453 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 yu?e%!_ptzGB|8GrCfu%p?(_ zQccdaaVK$5bz;*rnyK{_SQYM>;aES6Qs^lj9lEs6_J+%nIiuQC*fN;z8md>r_~Mfl zU%p5Dt_YT>gQqfr@`cR!$NWr~+`CZb%dn;WtzrAOI>P_JtsB76PYe*<%H(y>qx-`Kq!X_; z<{RpAqYhE=L1r*M)gNF3B8r(<%8mo*SR2hu zccLRZwGARt)Hlo1euqTyM>^!HK*!Q2P;4UYrysje@;(<|$&%vQekbn|0Ruu_Io(w4#%p6ld2Yp7tlA`Y$cciThP zKzNGIMPXX%&Ud0uQh!uQZz|FB`4KGD?3!ND?wQt6!n*f4EmCoJUh&b?;B{|lxs#F- z31~HQ`SF4x$&v00@(P+j1pAaj5!s`)b2RDBp*PB=2IB>oBF!*6vwr7Dp%zpAx*dPr zb@Zjq^XjN?O4QcZ*O+8>)|HlrR>oD*?WQl5ri3R#2?*W6iJ>>kH%KnnME&TT@ZzrHS$Q%LC?n|e>V+D+8D zYc4)QddFz7I8#}y#Wj6>4P%34dZH~OUDb?uP%-E zwjXM(?Sg~1!|wI(RVuxbu)-rH+O=igSho_pDCw(c6b=P zKk4ATlB?bj9+HHlh<_!&z0rx13K3ZrAR8W)!@Y}o`?a*JJsD+twZIv`W)@Y?Amu_u zz``@-e2X}27$i(2=9rvIu5uTUOVhzwu%mNazS|lZb&PT;XE2|B&W1>=B58#*!~D&) zfVmJGg8UdP*fx(>Cj^?yS^zH#o-$Q-*$SnK(ZVFkw+er=>N^7!)FtP3y~Xxnu^nzY zikgB>Nj0%;WOltWIob|}%lo?_C7<``a5hEkx&1ku$|)i>Rh6@3h*`slY=9U}(Ql_< zaNG*J8vb&@zpdhAvv`?{=zDedJ23TD&Zg__snRAH4eh~^oawdYi6A3w8<Ozh@Kw)#bdktM^GVb zrG08?0bG?|NG+w^&JvD*7LAbjED{_Zkc`3H!My>0u5Q}m!+6VokMLXxl`Mkd=g&Xx z-a>m*#G3SLlhbKB!)tnzfWOBV;u;ftU}S!NdD5+YtOjLg?X}dl>7m^gOpihrf1;PY zvll&>dIuUGs{Qnd- zwIR3oIrct8Va^Tm0t#(bJD7c$Z7DO9*7NnRZorrSm`b`cxz>OIC;jSE3DO8`hX955ui`s%||YQtt2 z5DNA&pG-V+4oI2s*x^>-$6J?p=I>C|9wZF8z;VjR??Icg?1w2v5Me+FgAeGGa8(3S z4vg*$>zC-WIVZtJ7}o9{D-7d>zCe|z#<9>CFve-OPAYsneTb^JH!Enaza#j}^mXy1 z+ULn^10+rWLF6j2>Ya@@Kq?26>AqK{A_| zQKb*~F1>sE*=d?A?W7N2j?L09_7n+HGi{VY;MoTGr_)G9)ot$p!-UY5zZ2Xtbm=t z@dpPSGwgH=QtIcEulQNI>S-#ifbnO5EWkI;$A|pxJd885oM+ zGZ0_0gDvG8q2xebj+fbCHYfAXuZStH2j~|d^sBAzo46(K8n59+T6rzBwK)^rfPT+B zyIFw)9YC-V^rhtK`!3jrhmW-sTmM+tPH+;nwjL#-SjQPUZ53L@A>y*rt(#M(qsiB2 zx6B)dI}6Wlsw%bJ8h|(lhkJVogQZA&n{?Vgs6gNSXzuZpEyu*xySy8ro07QZ7Vk1!3tJphN_5V7qOiyK8p z#@jcDD8nmtYi1^l8ml;AF<#IPK?!pqf9D4moYk>d99Im}Jtwj6c#+A;f)CQ*f-hZ< z=p_T86jog%!p)D&5g9taSwYi&eP z#JuEK%+NULWus;0w32-SYFku#i}d~+{Pkho&^{;RxzP&0!RCm3-9K6`>KZpnzS6?L z^H^V*s!8<>x8bomvD%rh>Zp3>Db%kyin;qtl+jAv8Oo~1g~mqGAC&Qi_wy|xEt2iz zWAJEfTV%cl2Cs<1L&DLRVVH05EDq`pH7Oh7sR`NNkL%wi}8n>IXcO40hp+J+sC!W?!krJf!GJNE8uj zg-y~Ns-<~D?yqbzVRB}G>0A^f0!^N7l=$m0OdZuqAOQqLc zX?AEGr1Ht+inZ-Qiwnl@Z0qukd__a!C*CKuGdy5#nD7VUBM^6OCpxCa2A(X;e0&V4 zM&WR8+wErQ7UIc6LY~Q9x%Sn*Tn>>P`^t&idaOEnOd(Ufw#>NoR^1QdhJ8s`h^|R_ zXX`c5*O~Xdvh%q;7L!_!ohf$NfEBmCde|#uVZvEo>OfEq%+Ns7&_f$OR9xsihRpBb z+cjk8LyDm@U{YN>+r46?nn{7Gh(;WhFw6GAxtcKD+YWV?uge>;+q#Xx4!GpRkVZYu zzsF}1)7$?%s9g9CH=Zs+B%M_)+~*j3L0&Q9u7!|+T`^O{xE6qvAP?XWv9_MrZKdo& z%IyU)$Q95AB4!#hT!_dA>4e@zjOBD*Y=XjtMm)V|+IXzjuM;(l+8aA5#Kaz_$rR6! zj>#&^DidYD$nUY(D$mH`9eb|dtV0b{S>H6FBfq>t5`;OxA4Nn{J(+XihF(stSche7$es&~N$epi&PDM_N`As;*9D^L==2Q7Z2zD+CiU(|+-kL*VG+&9!Yb3LgPy?A zm7Z&^qRG_JIxK7-FBzZI3Q<;{`DIxtc48k> zc|0dmX;Z=W$+)qE)~`yn6MdoJ4co;%!`ddy+FV538Y)j(vg}5*k(WK)KWZ3WaOG!8 z!syGn=s{H$odtpqFrT#JGM*utN7B((abXnpDM6w56nhw}OY}0TiTG1#f*VFZr+^-g zbP10`$LPq_;PvrA1XXlyx2uM^mrjTzX}w{yuLo-cOClE8MMk47T25G8M!9Z5ypOSV zAJUBGEg5L2fY)ZGJb^E34R2zJ?}Vf>{~gB!8=5Z) z9y$>5c)=;o0HeHHSuE4U)#vG&KF|I%-cF6f$~pdYJWk_dD}iOA>iA$O$+4%@>JU08 zS`ep)$XLPJ+n0_i@PkF#ri6T8?ZeAot$6JIYHm&P6EB=BiaNY|aA$W0I+nz*zkz_z zkEru!tj!QUffq%)8y0y`T&`fuus-1p>=^hnBiBqD^hXrPs`PY9tU3m0np~rISY09> z`P3s=-kt_cYcxWd{de@}TwSqg*xVhp;E9zCsnXo6z z?f&Sv^U7n4`xr=mXle94HzOdN!2kB~4=%)u&N!+2;z6UYKUDqi-s6AZ!haB;@&B`? z_TRX0%@suz^TRdCb?!vNJYPY8L_}&07uySH9%W^Tc&1pia6y1q#?*Drf}GjGbPjBS zbOPcUY#*$3sL2x4v_i*Y=N7E$mR}J%|GUI(>WEr+28+V z%v5{#e!UF*6~G&%;l*q*$V?&r$Pp^sE^i-0$+RH3ERUUdQ0>rAq2(2QAbG}$y{de( z>{qD~GGuOk559Y@%$?N^1ApVL_a704>8OD%8Y%8B;FCt%AoPu8*D1 zLB5X>b}Syz81pn;xnB}%0FnwazlWfUV)Z-~rZg6~b z6!9J$EcE&sEbzcy?CI~=boWA&eeIa%z(7SE^qgVLz??1Vbc1*aRvc%Mri)AJaAG!p z$X!_9Ds;Zz)f+;%s&dRcJt2==P{^j3bf0M=nJd&xwUGlUFn?H=2W(*2I2Gdu zv!gYCwM10aeus)`RIZSrCK=&oKaO_Ry~D1B5!y0R=%!i2*KfXGYX&gNv_u+n9wiR5 z*e$Zjju&ODRW3phN925%S(jL+bCHv6rZtc?!*`1TyYXT6%Ju=|X;6D@lq$8T zW{Y|e39ioPez(pBH%k)HzFITXHvnD6hw^lIoUMA;qAJ^CU?top1fo@s7xT13Fvn1H z6JWa-6+FJF#x>~+A;D~;VDs26>^oH0EI`IYT2iagy23?nyJ==i{g4%HrAf1-*v zK1)~@&(KkwR7TL}L(A@C_S0G;-GMDy=MJn2$FP5s<%wC)4jC5PXoxrQBFZ_k0P{{s@sz+gX`-!=T8rcB(=7vW}^K6oLWMmp(rwDh}b zwaGGd>yEy6fHv%jM$yJXo5oMAQ>c9j`**}F?MCry;T@47@r?&sKHgVe$MCqk#Z_3S z1GZI~nOEN*P~+UaFGnj{{Jo@16`(qVNtbU>O0Hf57-P>x8Jikp=`s8xWs^dAJ9lCQ z)GFm+=OV%AMVqVATtN@|vp61VVAHRn87}%PC^RAzJ%JngmZTasWBAWsoAqBU+8L8u z4A&Pe?fmTm0?mK-BL9t+{y7o(7jm+RpOhL9KnY#E&qu^}B6=K_dB}*VlSEiC9fn)+V=J;OnN)Ta5v66ic1rG+dGAJ1 z1%Zb_+!$=tQ~lxQrzv3x#CPb?CekEkA}0MYSgx$Jdd}q8+R=ma$|&1a#)TQ=l$1tQ z=tL9&_^vJ)Pk}EDO-va`UCT1m#Uty1{v^A3P~83_#v^ozH}6*9mIjIr;t3Uv%@VeW zGL6(CwCUp)Jq%G0bIG%?{_*Y#5IHf*5M@wPo6A{$Um++Co$wLC=J1aoG93&T7Ho}P z=mGEPP7GbvoG!uD$k(H3A$Z))+i{Hy?QHdk>3xSBXR0j!11O^mEe9RHmw!pvzv?Ua~2_l2Yh~_!s1qS`|0~0)YsbHSz8!mG)WiJE| z2f($6TQtt6L_f~ApQYQKSb=`053LgrQq7G@98#igV>y#i==-nEjQ!XNu9 z~;mE+gtj4IDDNQJ~JVk5Ux6&LCSFL!y=>79kE9=V}J7tD==Ga+IW zX)r7>VZ9dY=V&}DR))xUoV!u(Z|%3ciQi_2jl}3=$Agc(`RPb z8kEBpvY>1FGQ9W$n>Cq=DIpski};nE)`p3IUw1Oz0|wxll^)4dq3;CCY@RyJgFgc# zKouFh!`?Xuo{IMz^xi-h=StCis_M7yq$u) z?XHvw*HP0VgR+KR6wI)jEMX|ssqYvSf*_3W8zVTQzD?3>H!#>InzpSO)@SC8q*ii- z%%h}_#0{4JG;Jm`4zg};BPTGkYamx$Xo#O~lBirRY)q=5M45n{GCfV7h9qwyu1NxOMoP4)jjZMxmT|IQQh0U7C$EbnMN<3)Kk?fFHYq$d|ICu>KbY_hO zTZM+uKHe(cIZfEqyzyYSUBZa8;Fcut-GN!HSA9ius`ltNebF46ZX_BbZNU}}ZOm{M2&nANL9@0qvih15(|`S~z}m&h!u4x~(%MAO$jHRWNfuxWF#B)E&g3ghSQ9|> z(MFaLQj)NE0lowyjvg8z0#m6FIuKE9lDO~Glg}nSb7`~^&#(Lw{}GVOS>U)m8bF}x zVjbXljBm34Cs-yM6TVusr+3kYFjr28STT3g056y3cH5Tmge~ASxBj z%|yb>$eF;WgrcOZf569sDZOVwoo%8>XO>XQOX1OyN9I-SQgrm;U;+#3OI(zrWyow3 zk==|{lt2xrQ%FIXOTejR>;wv(Pb8u8}BUpx?yd(Abh6? zsoO3VYWkeLnF43&@*#MQ9-i-d0t*xN-UEyNKeyNMHw|A(k(_6QKO=nKMCxD(W(Yop zsRQ)QeL4X3Lxp^L%wzi2-WVSsf61dqliPUM7srDB?Wm6Lzn0&{*}|IsKQW;02(Y&| zaTKv|`U(pSzuvR6Rduu$wzK_W-Y-7>7s?G$)U}&uK;<>vU}^^ns@Z!p+9?St1s)dG zK%y6xkPyyS1$~&6v{kl?Md6gwM|>mt6Upm>oa8RLD^8T{0?HC!Z>;(Bob7el(DV6x zi`I)$&E&ngwFS@bi4^xFLAn`=fzTC;aimE^!cMI2n@Vo%Ae-ne`RF((&5y6xsjjAZ zVguVoQ?Z9uk$2ON;ersE%PU*xGO@T*;j1BO5#TuZKEf(mB7|g7pcEA=nYJ{s3vlbg zd4-DUlD{*6o%Gc^N!Nptgay>j6E5;3psI+C3Q!1ZIbeCubW%w4pq9)MSDyB{HLm|k zxv-{$$A*pS@csolri$Ge<4VZ}e~78JOL-EVyrbxKra^d{?|NnPp86!q>t<&IP07?Z z^>~IK^k#OEKgRH+LjllZXk7iA>2cfH6+(e&9ku5poo~6y{GC5>(bRK7hwjiurqAiZ zg*DmtgY}v83IjE&AbiWgMyFbaRUPZ{lYiz$U^&Zt2YjG<%m((&_JUbZcfJ22(>bi5 z!J?<7AySj0JZ&<-qXX;mcV!f~>G=sB0KnjWca4}vrtunD^1TrpfeS^4dvFr!65knK zZh`d;*VOkPs4*-9kL>$GP0`(M!j~B;#x?Ba~&s6CopvO86oM?-? zOw#dIRc;6A6T?B`Qp%^<U5 z19x(ywSH$_N+Io!6;e?`tWaM$`=Db!gzx|lQ${DG!zb1Zl&|{kX0y6xvO1o z220r<-oaS^^R2pEyY;=Qllqpmue|5yI~D|iI!IGt@iod{Opz@*ml^w2bNs)p`M(Io z|E;;m*Xpjd9l)4G#KaWfV(t8YUn@A;nK^#xgv=LtnArX|vWQVuw3}B${h+frU2>9^ z!l6)!Uo4`5k`<<;E(ido7M6lKTgWezNLq>U*=uz&s=cc$1%>VrAeOoUtA|T6gO4>UNqsdK=NF*8|~*sl&wI=x9-EGiq*aqV!(VVXA57 zw9*o6Ir8Lj1npUXvlevtn(_+^X5rzdR>#(}4YcB9O50q97%rW2me5_L=%ffYPUSRc z!vv?Kv>dH994Qi>U(a<0KF6NH5b16enCp+mw^Hb3Xs1^tThFpz!3QuN#}KBbww`(h z7GO)1olDqy6?T$()R7y%NYx*B0k_2IBiZ14&8|JPFxeMF{vSTxF-Vi3+ZOI=Thq2} zyQgjYY1_7^ZQHh{?P))4+qUiQJLi1&{yE>h?~jU%tjdV0h|FENbM3X(KnJdPKc?~k zh=^Ixv*+smUll!DTWH!jrV*wSh*(mx0o6}1@JExzF(#9FXgmTXVoU+>kDe68N)dkQ zH#_98Zv$}lQwjKL@yBd;U(UD0UCl322=pav<=6g>03{O_3oKTq;9bLFX1ia*lw;#K zOiYDcBJf)82->83N_Y(J7Kr_3lE)hAu;)Q(nUVydv+l+nQ$?|%MWTy`t>{havFSQloHwiIkGK9YZ79^9?AZo0ZyQlVR#}lF%dn5n%xYksXf8gnBm=wO7g_^! zauQ-bH1Dc@3ItZ-9D_*pH}p!IG7j8A_o94#~>$LR|TFq zZ-b00*nuw|-5C2lJDCw&8p5N~Z1J&TrcyErds&!l3$eSz%`(*izc;-?HAFD9AHb-| z>)id`QCrzRws^9(#&=pIx9OEf2rmlob8sK&xPCWS+nD~qzU|qG6KwA{zbikcfQrdH z+ zQg>O<`K4L8rN7`GJB0*3<3`z({lWe#K!4AZLsI{%z#ja^OpfjU{!{)x0ZH~RB0W5X zTwN^w=|nA!4PEU2=LR05x~}|B&ZP?#pNgDMwD*ajI6oJqv!L81gu=KpqH22avXf0w zX3HjbCI!n9>l046)5rr5&v5ja!xkKK42zmqHzPx$9Nn_MZk`gLeSLgC=LFf;H1O#B zn=8|^1iRrujHfbgA+8i<9jaXc;CQBAmQvMGQPhFec2H1knCK2x!T`e6soyrqCamX% zTQ4dX_E*8so)E*TB$*io{$c6X)~{aWfaqdTh=xEeGvOAN9H&-t5tEE-qso<+C!2>+ zskX51H-H}#X{A75wqFe-J{?o8Bx|>fTBtl&tcbdR|132Ztqu5X0i-pisB-z8n71%q%>EF}yy5?z=Ve`}hVh{Drv1YWL zW=%ug_&chF11gDv3D6B)Tz5g54H0mDHNjuKZ+)CKFk4Z|$RD zfRuKLW`1B>B?*RUfVd0+u8h3r-{@fZ{k)c!93t1b0+Q9vOaRnEn1*IL>5Z4E4dZ!7 ztp4GP-^1d>8~LMeb}bW!(aAnB1tM_*la=Xx)q(I0Y@__Zd$!KYb8T2VBRw%e$iSdZ zkwdMwd}eV9q*;YvrBFTv1>1+}{H!JK2M*C|TNe$ZSA>UHKk);wz$(F$rXVc|sI^lD zV^?_J!3cLM;GJuBMbftbaRUs$;F}HDEDtIeHQ)^EJJ1F9FKJTGH<(Jj`phE6OuvE) zqK^K`;3S{Y#1M@8yRQwH`?kHMq4tHX#rJ>5lY3DM#o@or4&^_xtBC(|JpGTfrbGkA z2Tu+AyT^pHannww!4^!$5?@5v`LYy~T`qs7SYt$JgrY(w%C+IWA;ZkwEF)u5sDvOK zGk;G>Mh&elvXDcV69J_h02l&O;!{$({fng9Rlc3ID#tmB^FIG^w{HLUpF+iB`|
NnX)EH+Nua)3Y(c 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..7101f8e --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..5ee53a6 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "jeobeardy" diff --git a/src/main/kotlin/at/eisibaer/jbear2/JeobeardyApplication.kt b/src/main/kotlin/at/eisibaer/jbear2/JeobeardyApplication.kt new file mode 100644 index 0000000..5f0290f --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/JeobeardyApplication.kt @@ -0,0 +1,13 @@ +package at.eisibaer.jbear2 + +import org.springframework.boot.autoconfigure.SpringBootApplication +import org.springframework.boot.context.properties.ConfigurationPropertiesScan +import org.springframework.boot.runApplication + +@SpringBootApplication +@ConfigurationPropertiesScan(basePackages = ["at.eisibaer.jbear2.config"]) +class JeobeardyApplication + +fun main(args: Array) { + runApplication(*args) +} diff --git a/src/main/kotlin/at/eisibaer/jbear2/config/ApplicationProperties.kt b/src/main/kotlin/at/eisibaer/jbear2/config/ApplicationProperties.kt new file mode 100644 index 0000000..acb54f1 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/config/ApplicationProperties.kt @@ -0,0 +1,12 @@ +package at.eisibaer.jbear2.config + +import org.springframework.boot.context.properties.ConfigurationProperties + +@ConfigurationProperties("application") +data class ApplicationProperties( + val corsAllowedOrigins: List, + val corsAllowedMethods: List, + val jwtCookieName: String, + val jwtExpirationMs: Long, + val jwtSecret: String, +) diff --git a/src/main/kotlin/at/eisibaer/jbear2/config/SpringConfiguration.kt b/src/main/kotlin/at/eisibaer/jbear2/config/SpringConfiguration.kt new file mode 100644 index 0000000..2c09877 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/config/SpringConfiguration.kt @@ -0,0 +1,51 @@ +package at.eisibaer.jbear2.config + +import jakarta.servlet.http.HttpServletRequest +import org.springframework.context.annotation.Configuration +import org.springframework.core.io.Resource +import org.springframework.lang.Nullable +import org.springframework.web.servlet.config.annotation.CorsRegistry +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer +import org.springframework.web.servlet.resource.PathResourceResolver +import org.springframework.web.servlet.resource.ResourceResolverChain + +@Configuration +class SpringConfiguration( + private val applicationProperties: ApplicationProperties +) : WebMvcConfigurer { + + override fun addResourceHandlers(registry: ResourceHandlerRegistry) { + this.serveDirectory(registry, "/", "classpath:/static/") + } + + private fun serveDirectory(registry: ResourceHandlerRegistry, endpoint: String, location: String){ + val endpointPatterns: Array; + if (endpoint.endsWith("/") ){ + endpointPatterns = arrayOf(endpoint.substring(0, endpoint.length - 1), endpoint, "$endpoint**") + } else { + endpointPatterns = arrayOf(endpoint, "$endpoint/", "$endpoint/**") + } + registry + .addResourceHandler(*endpointPatterns) + .addResourceLocations( if( location.endsWith("/") ) location else "$location/") + .resourceChain(true) + .addResolver(object : PathResourceResolver(){ + override fun resolveResource( @Nullable request: HttpServletRequest?, requestPath: String, locations: MutableList, chain: ResourceResolverChain ): Resource? { + val resource: Resource? = super.resolveResource(request, requestPath, locations, chain); + if( resource != null ){ + return resource; + } + return super.resolveResource(request, "/index.html", locations, chain); + } + }) + } + + + override fun addCorsMappings(registry: CorsRegistry) { + registry + .addMapping("/api/**") + .allowedOrigins(*applicationProperties.corsAllowedOrigins.map { it }.toTypedArray()) + .allowedMethods(*applicationProperties.corsAllowedMethods.map { it }.toTypedArray()) + } +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/config/WebSocketConfig.kt b/src/main/kotlin/at/eisibaer/jbear2/config/WebSocketConfig.kt new file mode 100644 index 0000000..a3662ea --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/config/WebSocketConfig.kt @@ -0,0 +1,21 @@ +package at.eisibaer.jbear2.config + +import org.springframework.context.annotation.Configuration +import org.springframework.messaging.simp.config.MessageBrokerRegistry +import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker +import org.springframework.web.socket.config.annotation.StompEndpointRegistry +import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer + +@Configuration +@EnableWebSocketMessageBroker +class WebSocketConfig : WebSocketMessageBrokerConfigurer { + + override fun configureMessageBroker(registry: MessageBrokerRegistry) { + registry.enableSimpleBroker("/game"); + registry.setApplicationDestinationPrefixes("/app"); + } + + override fun registerStompEndpoints(registry: StompEndpointRegistry) { + registry.addEndpoint("/websocket") + } +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/dto/auth/LoginDto.kt b/src/main/kotlin/at/eisibaer/jbear2/dto/auth/LoginDto.kt new file mode 100644 index 0000000..e799896 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/dto/auth/LoginDto.kt @@ -0,0 +1,6 @@ +package at.eisibaer.jbear2.dto.auth + +data class LoginDto( + val username: String, + val password: String, +) diff --git a/src/main/kotlin/at/eisibaer/jbear2/dto/auth/LoginResponseDto.kt b/src/main/kotlin/at/eisibaer/jbear2/dto/auth/LoginResponseDto.kt new file mode 100644 index 0000000..9ce5597 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/dto/auth/LoginResponseDto.kt @@ -0,0 +1,6 @@ +package at.eisibaer.jbear2.dto.auth + +data class LoginResponseDto( + val username: String, + val profilePicture: String, +) diff --git a/src/main/kotlin/at/eisibaer/jbear2/dto/message/GenericMessage.kt b/src/main/kotlin/at/eisibaer/jbear2/dto/message/GenericMessage.kt new file mode 100644 index 0000000..29015b7 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/dto/message/GenericMessage.kt @@ -0,0 +1,11 @@ +package at.eisibaer.jbear2.dto.message + +import lombok.AllArgsConstructor + +@AllArgsConstructor +data class GenericMessage ( + + var name: String? = "", + + var content: String? = "", +) \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/endpoint/AuthEndpoint.kt b/src/main/kotlin/at/eisibaer/jbear2/endpoint/AuthEndpoint.kt new file mode 100644 index 0000000..8b731c1 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/endpoint/AuthEndpoint.kt @@ -0,0 +1,87 @@ +package at.eisibaer.jbear2.endpoint + +import at.eisibaer.jbear2.dto.auth.LoginDto +import at.eisibaer.jbear2.dto.auth.LoginResponseDto +import at.eisibaer.jbear2.model.Board +import at.eisibaer.jbear2.model.User +import at.eisibaer.jbear2.repository.UserRepository +import at.eisibaer.jbear2.security.jwt.JwtUtils +import at.eisibaer.jbear2.security.userdetail.UserDetailsImpl +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.http.HttpHeaders +import org.springframework.http.ResponseCookie +import org.springframework.http.ResponseEntity +import org.springframework.security.authentication.AuthenticationManager +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken +import org.springframework.security.core.context.SecurityContextHolder +import org.springframework.security.crypto.password.PasswordEncoder +import org.springframework.stereotype.Controller +import org.springframework.web.bind.annotation.PostMapping +import org.springframework.web.bind.annotation.RequestBody +import org.springframework.web.bind.annotation.RequestMapping + +@Controller +@RequestMapping("/api/auth") +class AuthEndpoint( + val authenticationManager: AuthenticationManager, + val userRepository: UserRepository, + val encoder: PasswordEncoder, + val jwtUtils: JwtUtils, +) { + + private val log: Logger = LoggerFactory.getLogger(AuthEndpoint::class.java); + + val strResponseSuccess: String = "Sending back success response"; + + @PostMapping("/signup") + fun signupUser(@RequestBody loginDto: LoginDto): ResponseEntity{ + log.info("Endpoint singupUser called"); + log.debug("signup Request with username: {}", loginDto.username); + if( userRepository.existsByUsername(loginDto.username)){ + log.info("Username was already taken"); + ResponseEntity.badRequest().body("Username already taken"); + } + + val user = User(loginDto.username, encoder.encode( loginDto.password), ArrayList(), null, null ); + + userRepository.save(user); + + log.info(strResponseSuccess); + return ResponseEntity.ok().body("User registered successfully"); + } + + @PostMapping("/login") + fun loginUser(@RequestBody loginDto: LoginDto): ResponseEntity{ + log.info("Endpoint loginUser called"); + log.debug("login Request with username: {}", loginDto.username); + val authentication = authenticationManager.authenticate( + UsernamePasswordAuthenticationToken( + loginDto.username, + loginDto.password + ) + ) + + SecurityContextHolder.getContext().authentication = authentication; + + val userDetails: UserDetailsImpl = authentication.principal as UserDetailsImpl; + + val jwtCookie = jwtUtils.generateJwtCookie(userDetails); + + log.info(strResponseSuccess); + return ResponseEntity.ok() + .header( HttpHeaders.SET_COOKIE, jwtCookie.toString() ) + .body( LoginResponseDto(userDetails.username, userDetails.getProfilePictureFilename())) + } + + @PostMapping("signout") + fun logoutUser(): ResponseEntity{ + log.info("Endpoint logoutUser called"); + val cookie: ResponseCookie = jwtUtils.getCleanJwtCookie(); + + log.info(strResponseSuccess); + return ResponseEntity.ok() + .header(HttpHeaders.SET_COOKIE, cookie.toString()) + .body("Logged out"); + } +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/endpoint/BoardEndpoint.kt b/src/main/kotlin/at/eisibaer/jbear2/endpoint/BoardEndpoint.kt new file mode 100644 index 0000000..5dee92d --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/endpoint/BoardEndpoint.kt @@ -0,0 +1,9 @@ +package at.eisibaer.jbear2.endpoint + +import org.springframework.stereotype.Controller +import org.springframework.web.bind.annotation.RequestMapping + +@Controller +@RequestMapping("/api/board") +class BoardEndpoint { +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/endpoint/GameEndpoint.kt b/src/main/kotlin/at/eisibaer/jbear2/endpoint/GameEndpoint.kt new file mode 100644 index 0000000..69fdc0c --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/endpoint/GameEndpoint.kt @@ -0,0 +1,19 @@ +package at.eisibaer.jbear2.endpoint + +import org.springframework.messaging.handler.annotation.MessageMapping +import org.springframework.messaging.handler.annotation.SendTo + +import at.eisibaer.jbear2.dto.message.GenericMessage +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController + +@RestController +@RequestMapping("/api/game") +class GameEndpoint { + + @MessageMapping("/player/join") + @SendTo("/player/joined") + fun playerJoining(playerJoiningMessage: GenericMessage): GenericMessage{ + return playerJoiningMessage.copy(playerJoiningMessage.name, "Joined"); + } +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/endpoint/UserEndpoint.kt b/src/main/kotlin/at/eisibaer/jbear2/endpoint/UserEndpoint.kt new file mode 100644 index 0000000..3e698c8 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/endpoint/UserEndpoint.kt @@ -0,0 +1,23 @@ +package at.eisibaer.jbear2.endpoint + +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.http.ResponseEntity +import org.springframework.web.bind.annotation.GetMapping +import org.springframework.web.bind.annotation.PathVariable +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RequestParam +import org.springframework.web.bind.annotation.RestController + +@RestController +@RequestMapping("/api/user") +class UserEndpoint { + + val log: Logger = LoggerFactory.getLogger(UserEndpoint::class.java); + + @GetMapping("/test/{pathVar}") + fun testEndpoint(@PathVariable pathVar: String, @RequestParam param1: String): ResponseEntity{ + log.info("test Endpoint!"); + return ResponseEntity.ok(param1); + } +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/Answer.kt b/src/main/kotlin/at/eisibaer/jbear2/model/Answer.kt new file mode 100644 index 0000000..839f845 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/Answer.kt @@ -0,0 +1,25 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* + +@Entity +@Table(name = "answers", indexes = [ + Index(name = "fk_board_entry_to_answer", columnList = "fk_board_entry") +]) +data class Answer( + + @Column(name = "text", nullable = false, unique = false) + val text: String, + + @OneToOne + @JoinColumn(name = "fk_image_file", referencedColumnName = "id") + val image: ImageFile?, + + @OneToOne + @JoinColumn(name="fk_board_entry", referencedColumnName = "id") + val boardEntry: BoardEntry?, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/Board.kt b/src/main/kotlin/at/eisibaer/jbear2/model/Board.kt new file mode 100644 index 0000000..d836d68 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/Board.kt @@ -0,0 +1,24 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* + +@Entity +@Table(name = "boards", indexes = [ + Index(name = "fk_owner_of_board", columnList = "fk_owned_by") +]) +data class Board( + + @OneToMany(mappedBy = "board") + val categories: List, + + @Column(name = "board_name", nullable = false, unique = false) + val boardName: String, + + @ManyToOne + @JoinColumn(name="fk_owned_by", referencedColumnName = "id") + val owner: User, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/BoardEntry.kt b/src/main/kotlin/at/eisibaer/jbear2/model/BoardEntry.kt new file mode 100644 index 0000000..2f96bed --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/BoardEntry.kt @@ -0,0 +1,27 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* + +@Entity +@Table(name = "board_entries", indexes = [ + Index(name = "fk_category_to_board_entry", columnList = "fk_category") +]) +data class BoardEntry( + + @Column(name = "name", nullable = false, unique = false) + val name: String, + + @OneToMany(mappedBy = "boardEntry") + val questions: List, + + @OneToOne + val answer: Answer, + + @ManyToOne + @JoinColumn(name = "fk_category", referencedColumnName = "id") + val category: Category?, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/Category.kt b/src/main/kotlin/at/eisibaer/jbear2/model/Category.kt new file mode 100644 index 0000000..61d571a --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/Category.kt @@ -0,0 +1,27 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* + +@Entity +@Table(name = "categories", indexes = [ + Index(name = "fk_category_to_board", columnList = "fk_board") +]) +data class Category ( + + @Column(name = "name", nullable = false, unique = false) + val name: String, + + @Column(name = "description", nullable = false, unique = false) + val description: String, + + @OneToMany(mappedBy = "category") + val boardEntries: List, + + @ManyToOne + @JoinColumn(name = "fk_board", referencedColumnName = "id") + val board: Board, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/Game.kt b/src/main/kotlin/at/eisibaer/jbear2/model/Game.kt new file mode 100644 index 0000000..198f292 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/Game.kt @@ -0,0 +1,51 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* +import org.springframework.data.annotation.CreatedDate +import java.time.Instant + +@Entity +@Table(name = "games", indexes = [ + Index(name = "fk_board_to_game", columnList = "fk_board"), + Index(name = "fk_host_to_game", columnList = "fk_host_user"), + Index(name = "fk_choosing_player_to_game", columnList = "fk_player_currently_choosing") +]) +data class Game( + + @Column(name = "invite_code", nullable = false, unique = true) + val inviteCode: String, + + @ManyToOne + @JoinColumn(name = "fk_board", referencedColumnName = "id") + val board: Board, + + @OneToOne + @JoinColumn(name="fk_host_user", referencedColumnName = "id") + val host: User, + + @OneToMany(mappedBy = "currentGame") + val players: List, + + @OneToOne + @JoinColumn(name="fk_player_currently_choosing", referencedColumnName = "id") + val currentlyChoosingPlayer: Player, + + @ManyToMany + @JoinTable( + name = "answered_board_entries_in_games", + joinColumns = [JoinColumn(name = "fk_game")], + inverseJoinColumns = [JoinColumn(name = "fk_board_entry")] + ) + val alreadyAnsweredEntries: List, + + @Column(name = "accepting_answers", nullable = false, unique = false) + val acceptingAnswers: Boolean? = false, + + @CreatedDate + @Column(name = "created_timestamp", nullable = false, unique = false) + val createdTimestamp: Instant, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/ImageFile.kt b/src/main/kotlin/at/eisibaer/jbear2/model/ImageFile.kt new file mode 100644 index 0000000..b19138d --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/ImageFile.kt @@ -0,0 +1,34 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* +import java.util.UUID + +@Entity +@Table(name = "image_files", indexes = [ + Index(name = "fk_owner_to_image_file", columnList = "fk_owned_by") +]) +data class ImageFile ( + + @Column(name = "uuid", nullable = false, unique = true) + val uuid: UUID, + + @Column(name = "filename", nullable = false, unique = false) + val filename: String, + + @Column(name = "hash", nullable = false, unique = false) + val hash: String, + + @ManyToOne + @JoinColumn(name="fk_owned_by", referencedColumnName = "id") + val owner: User, + + @OneToOne + val question: Question?, + + @OneToOne + val answer: Answer?, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/Player.kt b/src/main/kotlin/at/eisibaer/jbear2/model/Player.kt new file mode 100644 index 0000000..53009d6 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/Player.kt @@ -0,0 +1,28 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* + +@Entity +@Table(name = "players", indexes = [ + Index(name = "fk_current_game_to_player", columnList = "fk_current_game"), + Index(name = "fk_name_to_player", columnList = "name"), +]) +data class Player( + + @Column(name = "name", nullable = false, unique = false) + val name: String, + + @ManyToOne + @JoinColumn(name = "fk_current_game", referencedColumnName = "id") + val currentGame: Game, + + @Column(name = "is_allowed_to_answer", nullable = false, unique = false) + val allowedToAnswer: Boolean? = false, + + @Column(name = "points", nullable = false, unique = false) + val points: Int? = 0, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/Question.kt b/src/main/kotlin/at/eisibaer/jbear2/model/Question.kt new file mode 100644 index 0000000..253415b --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/Question.kt @@ -0,0 +1,31 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* + +@Entity +@Table(name = "questions", indexes = [ + Index(name = "fk_board_entry_to_question", columnList = "fk_board_entry"), + Index(name = "fk_image_file_to_question", columnList = "fk_image"), + Index(name = "fk_question_type_to_question", columnList = "fk_question_type"), +]) +data class Question( + + @Column(name = "text", nullable = false, unique = false) + val text: String, + + @ManyToOne + @JoinColumn(name = "fk_question_type", referencedColumnName = "id") + val questionType: QuestionType, + + @OneToOne + @JoinColumn(name = "fk_image", referencedColumnName = "id") + val image: ImageFile?, + + @ManyToOne + @JoinColumn(name = "fk_board_entry", referencedColumnName = "id") + val boardEntry: BoardEntry?, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/QuestionType.kt b/src/main/kotlin/at/eisibaer/jbear2/model/QuestionType.kt new file mode 100644 index 0000000..ece15b7 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/QuestionType.kt @@ -0,0 +1,21 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* + +@Entity +@Table(name = "question_types") +data class QuestionType( + + @Column(name = "title", nullable = false, unique = true) + val title: String, + + @Column(name = "description", nullable = false, unique = true) + val description: String, + + @Column(name = "active", nullable = false, unique = false) + val active: Boolean, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) diff --git a/src/main/kotlin/at/eisibaer/jbear2/model/User.kt b/src/main/kotlin/at/eisibaer/jbear2/model/User.kt new file mode 100644 index 0000000..9e59179 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/model/User.kt @@ -0,0 +1,28 @@ +package at.eisibaer.jbear2.model + +import jakarta.persistence.* + +@Entity +@Table(name = "users", indexes = [ + Index(name = "fk_profile_picture_to_user", columnList = "fk_profile_picture"), + Index(name = "username_to_user", columnList = "username"), +]) +data class User( + + @Column(name = "username", nullable = false, unique = true) + var username: String, + + @Column(name = "password", nullable = false, unique = false) + var password: String, + + @OneToMany(mappedBy = "owner") + val boards: List, + + @OneToOne + @JoinColumn(name = "fk_profile_picture", referencedColumnName = "id") + var profilePicture: ImageFile?, + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") + val id: Long? = null, +) diff --git a/src/main/kotlin/at/eisibaer/jbear2/repository/UserRepository.kt b/src/main/kotlin/at/eisibaer/jbear2/repository/UserRepository.kt new file mode 100644 index 0000000..bc69466 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/repository/UserRepository.kt @@ -0,0 +1,14 @@ +package at.eisibaer.jbear2.repository + +import at.eisibaer.jbear2.model.User +import org.springframework.data.jpa.repository.JpaRepository +import org.springframework.stereotype.Repository +import java.util.* + +@Repository +interface UserRepository : JpaRepository { + + fun findUserByUsername(username: String): Optional; + + fun existsByUsername(username: String): Boolean; +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/security/SecurityConfiguration.kt b/src/main/kotlin/at/eisibaer/jbear2/security/SecurityConfiguration.kt new file mode 100644 index 0000000..976be8d --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/security/SecurityConfiguration.kt @@ -0,0 +1,126 @@ +package at.eisibaer.jbear2.security + +import at.eisibaer.jbear2.security.jwt.AuthTokenFilter +import jakarta.servlet.FilterChain +import jakarta.servlet.ServletException +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration +import org.springframework.security.authentication.AuthenticationManager +import org.springframework.security.authentication.dao.DaoAuthenticationProvider +import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration +import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity +import org.springframework.security.config.annotation.web.builders.HttpSecurity +import org.springframework.security.config.annotation.web.configurers.SessionManagementConfigurer +import org.springframework.security.config.http.SessionCreationPolicy +import org.springframework.security.core.userdetails.UserDetailsService +import org.springframework.security.crypto.argon2.Argon2PasswordEncoder +import org.springframework.security.crypto.password.PasswordEncoder +import org.springframework.security.web.SecurityFilterChain +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter +import org.springframework.security.web.authentication.www.BasicAuthenticationFilter +import org.springframework.security.web.csrf.* +import org.springframework.util.StringUtils +import org.springframework.web.filter.OncePerRequestFilter +import java.io.IOException +import java.util.function.Supplier + +@Configuration +@EnableMethodSecurity +class SecurityConfiguration( + private val userDetailService: UserDetailsService, + private val unauthorizedHandler: AuthTokenFilter, +) { + + final val log: Logger = LoggerFactory.getLogger(SecurityConfiguration::class.java); + + @Bean + fun securityFilterChain(httpSecurity: HttpSecurity): SecurityFilterChain { + return httpSecurity + .csrf { config -> + config + .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()) + .csrfTokenRequestHandler(SpaCsrfTokenRequestHandler()) + } + .addFilterAfter(CsrfCookieFilter(), BasicAuthenticationFilter::class.java) + .authorizeHttpRequests { config -> + config + .requestMatchers("/api/auth/*").permitAll() + .requestMatchers("/api/**").authenticated() + .requestMatchers("/profile").authenticated() + .requestMatchers("/**").permitAll() + } + .sessionManagement { config: SessionManagementConfigurer -> + config.sessionCreationPolicy(SessionCreationPolicy.STATELESS) + } + .authenticationProvider(authenticationProvider()) + .addFilterBefore(unauthorizedHandler, UsernamePasswordAuthenticationFilter::class.java) + .build() + } + + class SpaCsrfTokenRequestHandler : CsrfTokenRequestAttributeHandler() { + private val delegate: CsrfTokenRequestHandler = XorCsrfTokenRequestAttributeHandler() + + override fun handle(request: HttpServletRequest, response: HttpServletResponse, csrfToken: Supplier) { + /* + * Always use XorCsrfTokenRequestAttributeHandler to provide BREACH protection of + * the CsrfToken when it is rendered in the response body. + */ + delegate.handle(request, response, csrfToken) + } + + override fun resolveCsrfTokenValue(request: HttpServletRequest, csrfToken: CsrfToken): String? { + /* + * If the request contains a request header, use CsrfTokenRequestAttributeHandler + * to resolve the CsrfToken. This applies when a single-page application includes + * the header value automatically, which was obtained via a cookie containing the + * raw CsrfToken. + */ + return if (StringUtils.hasText(request.getHeader(csrfToken.headerName))) { + super.resolveCsrfTokenValue(request, csrfToken) + } else { + /* + * In all other cases (e.g. if the request contains a request parameter), use + * XorCsrfTokenRequestAttributeHandler to resolve the CsrfToken. This applies + * when a server-side rendered form includes the _csrf request parameter as a + * hidden input. + */ + delegate.resolveCsrfTokenValue(request, csrfToken) + } + } + } + + class CsrfCookieFilter : OncePerRequestFilter() { + + @Throws(ServletException::class, IOException::class) + override fun doFilterInternal(request: HttpServletRequest, response: HttpServletResponse, filterChain: FilterChain) { + val csrfToken = request.getAttribute("_csrf") as CsrfToken + // Render the token value to a cookie by causing the deferred token to be loaded + csrfToken.token + filterChain.doFilter(request, response) + } + } + + @Bean + fun passwordEncoder() : PasswordEncoder { + return Argon2PasswordEncoder.defaultsForSpringSecurity_v5_8(); + } + + @Bean + fun authenticationProvider(): DaoAuthenticationProvider{ + val authProvider: DaoAuthenticationProvider = DaoAuthenticationProvider() + + authProvider.setUserDetailsService(userDetailService) + authProvider.setPasswordEncoder(passwordEncoder()); + + return authProvider; + } + + @Bean + fun authenticationManager(authConfig: AuthenticationConfiguration): AuthenticationManager{ + return authConfig.authenticationManager; + } +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/security/jwt/AuthEntryPointJwt.kt b/src/main/kotlin/at/eisibaer/jbear2/security/jwt/AuthEntryPointJwt.kt new file mode 100644 index 0000000..19246dd --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/security/jwt/AuthEntryPointJwt.kt @@ -0,0 +1,23 @@ +package at.eisibaer.jbear2.security.jwt + +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.security.core.AuthenticationException +import org.springframework.security.web.AuthenticationEntryPoint + +class AuthEntryPointJwt: AuthenticationEntryPoint { + + val log: Logger = LoggerFactory.getLogger(AuthEntryPointJwt::class.java); + + override fun commence( + request: HttpServletRequest?, + response: HttpServletResponse?, + authException: AuthenticationException? + ) { + log.error("Unauthorized error: {}", authException?.message); + response?.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Error: Unauthorized"); + } + +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/security/jwt/AuthTokenFilter.kt b/src/main/kotlin/at/eisibaer/jbear2/security/jwt/AuthTokenFilter.kt new file mode 100644 index 0000000..26961a8 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/security/jwt/AuthTokenFilter.kt @@ -0,0 +1,51 @@ +package at.eisibaer.jbear2.security.jwt + +import jakarta.servlet.FilterChain +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken +import org.springframework.security.core.context.SecurityContextHolder +import org.springframework.security.core.userdetails.UserDetails +import org.springframework.security.core.userdetails.UserDetailsService +import org.springframework.security.web.authentication.WebAuthenticationDetailsSource +import org.springframework.stereotype.Component +import org.springframework.web.filter.OncePerRequestFilter + +@Component +class AuthTokenFilter( + private var jwtUtils: JwtUtils?, + private var userDetailService: UserDetailsService?, +): OncePerRequestFilter() { + + val log: Logger = LoggerFactory.getLogger(AuthTokenFilter::class.java); + + override fun doFilterInternal( + request: HttpServletRequest, + response: HttpServletResponse, + filterChain: FilterChain + ) { + try{ + val jwt: String? = parseJwt(request); + if( jwt != null && jwtUtils!!.validateJwt(jwt) ){ + val username: String = jwtUtils!!.getUserNameFromJwt(jwt); + + val userDetails: UserDetails = userDetailService!!.loadUserByUsername( username ); + + val authentication = UsernamePasswordAuthenticationToken(userDetails, null, userDetails.authorities); + authentication.details = WebAuthenticationDetailsSource().buildDetails(request); + + SecurityContextHolder.getContext().authentication = authentication; + } + } catch ( e: Exception ){ + log.error("Cannot set user authentication", e); + } + filterChain.doFilter(request, response); + } + + private fun parseJwt(request: HttpServletRequest): String?{ + return jwtUtils!!.getJwtFromCookies(request); + } + +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/security/jwt/JwtUtils.kt b/src/main/kotlin/at/eisibaer/jbear2/security/jwt/JwtUtils.kt new file mode 100644 index 0000000..bce1a34 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/security/jwt/JwtUtils.kt @@ -0,0 +1,75 @@ +package at.eisibaer.jbear2.security.jwt + +import at.eisibaer.jbear2.config.ApplicationProperties +import at.eisibaer.jbear2.security.userdetail.UserDetailsImpl +import io.jsonwebtoken.JwtException +import io.jsonwebtoken.Jwts +import io.jsonwebtoken.UnsupportedJwtException +import io.jsonwebtoken.io.Decoders +import io.jsonwebtoken.security.Keys +import jakarta.servlet.http.HttpServletRequest +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.http.ResponseCookie +import org.springframework.stereotype.Component +import org.springframework.web.util.WebUtils +import java.util.Date +import javax.crypto.SecretKey + +@Component +class JwtUtils( + private val applicationProperties: ApplicationProperties +) { + + private val log: Logger = LoggerFactory.getLogger(JwtUtils::class.java); + + fun getJwtFromCookies(request: HttpServletRequest): String?{ + return WebUtils.getCookie(request, applicationProperties.jwtCookieName)?.value; + } + + fun generateJwtCookie(userPrincipal: UserDetailsImpl): ResponseCookie{ + val jwt: String = generateTokenFromUsername(userPrincipal.username) + return ResponseCookie.from(applicationProperties.jwtCookieName, jwt) + .path("/api") + .maxAge(applicationProperties.jwtExpirationMs/1000) + .httpOnly(true) + .build(); + } + + fun getCleanJwtCookie(): ResponseCookie { + return ResponseCookie.from(applicationProperties.jwtCookieName, "") + .path("/api") + .build(); + } + + fun getUserNameFromJwt(token: String): String{ + return Jwts.parser().verifyWith(key()).build().parseSignedClaims(token).payload.subject; + } + + fun key(): SecretKey{ + return Keys.hmacShaKeyFor(Decoders.BASE64.decode(applicationProperties.jwtSecret)); + } + + fun generateTokenFromUsername(username: String): String{ + return Jwts.builder() + .subject(username) + .issuedAt(Date()) + .expiration(Date(Date().time + applicationProperties.jwtExpirationMs)) + .signWith(key()) + .compact(); + } + + fun validateJwt(authToken: String): Boolean{ + try { + Jwts.parser().verifyWith(key()).build().parseSignedClaims(authToken); + return true; + } catch (e: UnsupportedJwtException) { + log.error("UnsupportedJwtException {}", e.message); + } catch (e: IllegalArgumentException) { + log.error("IllegalArgumentException {}", e.message); + } catch (e: JwtException) { + log.error("JwtException {}", e.message); + } + return false; + } +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/security/userdetail/UserDetailServiceImpl.kt b/src/main/kotlin/at/eisibaer/jbear2/security/userdetail/UserDetailServiceImpl.kt new file mode 100644 index 0000000..b96855c --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/security/userdetail/UserDetailServiceImpl.kt @@ -0,0 +1,28 @@ +package at.eisibaer.jbear2.security.userdetail + +import at.eisibaer.jbear2.repository.UserRepository +import at.eisibaer.jbear2.model.User +import lombok.AllArgsConstructor +import lombok.NoArgsConstructor +import org.springframework.security.core.userdetails.UserDetailsService +import org.springframework.security.core.userdetails.UsernameNotFoundException +import org.springframework.stereotype.Component + +@AllArgsConstructor +@NoArgsConstructor +@Component +class UserDetailServiceImpl( + val userRepository: UserRepository, +): UserDetailsService { + + override fun loadUserByUsername(username: String?): UserDetailsImpl { + val user: User = userRepository.findUserByUsername( username ?: "" ).orElseThrow { UsernameNotFoundException("User not found by username \"$username\"") } + + return UserDetailsImpl( + user.id!!, + user.username, + user.password, + user.profilePicture?.filename, + ); + } +} \ No newline at end of file diff --git a/src/main/kotlin/at/eisibaer/jbear2/security/userdetail/UserDetailsImpl.kt b/src/main/kotlin/at/eisibaer/jbear2/security/userdetail/UserDetailsImpl.kt new file mode 100644 index 0000000..df5af75 --- /dev/null +++ b/src/main/kotlin/at/eisibaer/jbear2/security/userdetail/UserDetailsImpl.kt @@ -0,0 +1,67 @@ +package at.eisibaer.jbear2.security.userdetail + +import com.fasterxml.jackson.annotation.JsonIgnore +import lombok.Data +import org.springframework.security.core.GrantedAuthority +import org.springframework.security.core.userdetails.UserDetails +import java.util.Collections + +@Data +class UserDetailsImpl( + private val id: Long, + private val username: String, + @JsonIgnore + private val password: String, + private val profilePictureFilename: String?, +): UserDetails { + + override fun getAuthorities(): MutableCollection { + return Collections.emptyList(); + } + + override fun getPassword(): String { + return password; + } + + override fun getUsername(): String { + return username; + } + + fun getProfilePictureFilename(): String { + return profilePictureFilename ?: ""; + } + + fun getId(): Long{ + return id; + } + + override fun isAccountNonExpired(): Boolean { + return true + } + + override fun isAccountNonLocked(): Boolean { + return true + } + + override fun isCredentialsNonExpired(): Boolean { + return true + } + + override fun isEnabled(): Boolean { + return true + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as UserDetailsImpl + + return id == other.id + } + + override fun hashCode(): Int { + return id.hashCode() + } + +} \ No newline at end of file diff --git a/src/main/resources/config/application-dev.yml b/src/main/resources/config/application-dev.yml new file mode 100644 index 0000000..bb615c4 --- /dev/null +++ b/src/main/resources/config/application-dev.yml @@ -0,0 +1,13 @@ +logging: + level: + org: + springframework: + security: "DEBUG" +spring: + datasource: + url: jdbc:postgresql://localhost:5499/jeobeardy?currentSchema=jeobeardy-app + username: ${PG_USER} + password: ${PG_PASSWORD} + +application: + cors-allowed-origins: [ "http://localhost:5173/" ] \ No newline at end of file diff --git a/src/main/resources/config/application-prod.yml b/src/main/resources/config/application-prod.yml new file mode 100644 index 0000000..0b9f9e8 --- /dev/null +++ b/src/main/resources/config/application-prod.yml @@ -0,0 +1,8 @@ +spring: + datasource: + url: jdbc:postgresql://localhost:5499/jeobeardy?currentSchema=jeobeardy-app + username: ${PG_USER} + password: ${PG_PASSWORD} + +application: + cors-allowed-origins: [] \ No newline at end of file diff --git a/src/main/resources/config/application.yml b/src/main/resources/config/application.yml new file mode 100644 index 0000000..b02868d --- /dev/null +++ b/src/main/resources/config/application.yml @@ -0,0 +1,23 @@ +spring: + application: + name: "jeobeardy" + jpa: + show-sql: true + hibernate: + auto-ddl: create + generate-ddl: true + properties: + hibernate: + dialect: org.hibernate.dialect.PostgreSQLDialect + default-schema: jeobeardy-app + open-in-view: false + +server: + address: localhost + port: 8008 + +application: + cors-allowed-methods: ["GET", "POST", "DELETE", "OPTIONS"] + jwt-cookie-name: "user_jwt" + jwt-expiration-ms: 86400000 #1000 * 60 * 60 * 24 = 1 day + jwt-secret: ${JWT_SECRET} \ No newline at end of file diff --git a/src/main/resources/static/assets/OldInGameBlurredRotated-Bc8vmN0_.jpeg b/src/main/resources/static/assets/OldInGameBlurredRotated-Bc8vmN0_.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c0d373b212e904b49ddf8d40e220ea947d083b91 GIT binary patch literal 131365 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 V20U2code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #fae1e9;--bs-table-border-color: #c8b4ba;--bs-table-striped-bg: #eed6dd;--bs-table-striped-color: #000;--bs-table-active-bg: #e1cbd2;--bs-table-active-color: #000;--bs-table-hover-bg: #e7d0d8;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #d8e9f5;--bs-table-border-color: #adbac4;--bs-table-striped-bg: #cddde9;--bs-table-striped-color: #000;--bs-table-active-bg: #c2d2dd;--bs-table-active-color: #000;--bs-table-hover-bg: #c8d8e3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #a7b9b1;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #a6c3ca;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #ccc2a4;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #c6acae;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #edf2f4;--bs-table-border-color: #bec2c3;--bs-table-striped-bg: #e1e6e8;--bs-table-striped-color: #000;--bs-table-active-bg: #d5dadc;--bs-table-active-color: #000;--bs-table-hover-bg: #dbe0e2;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #2b2d42;--bs-table-border-color: #555768;--bs-table-striped-bg: #36384b;--bs-table-striped-color: #fff;--bs-table-active-bg: #404255;--bs-table-active-color: #fff;--bs-table-hover-bg: #3b3d50;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#f4b5c9;outline:0;box-shadow:0 0 0 .25rem #e86a9240}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#f4b5c9;outline:0;box-shadow:0 0 0 .25rem #e86a9240}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#f4b5c9;outline:0;box-shadow:0 0 0 .25rem #e86a9240}.form-check-input:checked{background-color:#e86a92;border-color:#e86a92}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#e86a92;border-color:#e86a92;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23f4b5c9'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #edf2f4,0 0 0 .25rem #e86a9240}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #edf2f4,0 0 0 .25rem #e86a9240}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#e86a92;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#f8d2de}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#e86a92;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#f8d2de}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #000;--bs-btn-bg: #e86a92;--bs-btn-border-color: #e86a92;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #eb80a2;--bs-btn-hover-border-color: #ea799d;--bs-btn-focus-shadow-rgb: 197, 90, 124;--bs-btn-active-color: #000;--bs-btn-active-bg: #ed88a8;--bs-btn-active-border-color: #ea799d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #e86a92;--bs-btn-disabled-border-color: #e86a92}.btn-secondary{--bs-btn-color: #000;--bs-btn-bg: #3e92cc;--bs-btn-border-color: #3e92cc;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #5ba2d4;--bs-btn-hover-border-color: #519dd1;--bs-btn-focus-shadow-rgb: 53, 124, 173;--bs-btn-active-color: #000;--bs-btn-active-bg: #65a8d6;--bs-btn-active-border-color: #519dd1;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #3e92cc;--bs-btn-disabled-border-color: #3e92cc}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #edf2f4;--bs-btn-border-color: #edf2f4;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #c9cecf;--bs-btn-hover-border-color: #bec2c3;--bs-btn-focus-shadow-rgb: 201, 206, 207;--bs-btn-active-color: #000;--bs-btn-active-bg: #bec2c3;--bs-btn-active-border-color: #b2b6b7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #edf2f4;--bs-btn-disabled-border-color: #edf2f4}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #2b2d42;--bs-btn-border-color: #2b2d42;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #4b4d5e;--bs-btn-hover-border-color: #404255;--bs-btn-focus-shadow-rgb: 75, 77, 94;--bs-btn-active-color: #fff;--bs-btn-active-bg: #555768;--bs-btn-active-border-color: #404255;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #2b2d42;--bs-btn-disabled-border-color: #2b2d42}.btn-gray{--bs-btn-color: #000;--bs-btn-bg: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #b9c0c7;--bs-btn-hover-border-color: #b5bcc4;--bs-btn-focus-shadow-rgb: 147, 154, 161;--bs-btn-active-color: #000;--bs-btn-active-bg: #bdc4ca;--bs-btn-active-border-color: #b5bcc4;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #adb5bd;--bs-btn-disabled-border-color: #adb5bd}.btn-dark-accented{--bs-btn-color: #fff;--bs-btn-bg: #252638;--bs-btn-border-color: #252638;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #1f2030;--bs-btn-hover-border-color: #1e1e2d;--bs-btn-focus-shadow-rgb: 70, 71, 86;--bs-btn-active-color: #fff;--bs-btn-active-bg: #1e1e2d;--bs-btn-active-border-color: #1c1d2a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #252638;--bs-btn-disabled-border-color: #252638}.btn-rich-black{--bs-btn-color: #fff;--bs-btn-bg: #2d3543;--bs-btn-border-color: #2d3543;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #262d39;--bs-btn-hover-border-color: #242a36;--bs-btn-focus-shadow-rgb: 77, 83, 95;--bs-btn-active-color: #fff;--bs-btn-active-bg: #242a36;--bs-btn-active-border-color: #222832;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #2d3543;--bs-btn-disabled-border-color: #2d3543}.btn-outline-primary{--bs-btn-color: #e86a92;--bs-btn-border-color: #e86a92;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e86a92;--bs-btn-hover-border-color: #e86a92;--bs-btn-focus-shadow-rgb: 232, 106, 146;--bs-btn-active-color: #000;--bs-btn-active-bg: #e86a92;--bs-btn-active-border-color: #e86a92;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #e86a92;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #e86a92;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #3e92cc;--bs-btn-border-color: #3e92cc;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #3e92cc;--bs-btn-hover-border-color: #3e92cc;--bs-btn-focus-shadow-rgb: 62, 146, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3e92cc;--bs-btn-active-border-color: #3e92cc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #3e92cc;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #3e92cc;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #edf2f4;--bs-btn-border-color: #edf2f4;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #edf2f4;--bs-btn-hover-border-color: #edf2f4;--bs-btn-focus-shadow-rgb: 237, 242, 244;--bs-btn-active-color: #000;--bs-btn-active-bg: #edf2f4;--bs-btn-active-border-color: #edf2f4;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #edf2f4;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #edf2f4;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #2b2d42;--bs-btn-border-color: #2b2d42;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #2b2d42;--bs-btn-hover-border-color: #2b2d42;--bs-btn-focus-shadow-rgb: 43, 45, 66;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2b2d42;--bs-btn-active-border-color: #2b2d42;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #2b2d42;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2b2d42;--bs-gradient: none}.btn-outline-gray{--bs-btn-color: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #adb5bd;--bs-btn-hover-border-color: #adb5bd;--bs-btn-focus-shadow-rgb: 173, 181, 189;--bs-btn-active-color: #000;--bs-btn-active-bg: #adb5bd;--bs-btn-active-border-color: #adb5bd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #adb5bd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #adb5bd;--bs-gradient: none}.btn-outline-dark-accented{--bs-btn-color: #252638;--bs-btn-border-color: #252638;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #252638;--bs-btn-hover-border-color: #252638;--bs-btn-focus-shadow-rgb: 37, 38, 56;--bs-btn-active-color: #fff;--bs-btn-active-bg: #252638;--bs-btn-active-border-color: #252638;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #252638;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #252638;--bs-gradient: none}.btn-outline-rich-black{--bs-btn-color: #2d3543;--bs-btn-border-color: #2d3543;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #2d3543;--bs-btn-hover-border-color: #2d3543;--bs-btn-focus-shadow-rgb: 45, 53, 67;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2d3543;--bs-btn-active-border-color: #2d3543;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #2d3543;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2d3543;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 197, 90, 124;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #e86a92;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #e86a92;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #e86a9240}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #e86a92}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235d2a3a' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(232, 106, 146, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23f1a6be'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23f1a6be'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(232, 106, 146, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #e86a92;--bs-pagination-active-border-color: #e86a92;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}.alert-gray{--bs-alert-color: var(--bs-gray-text-emphasis);--bs-alert-bg: var(--bs-gray-bg-subtle);--bs-alert-border-color: var(--bs-gray-border-subtle);--bs-alert-link-color: var(--bs-gray-text-emphasis)}.alert-dark-accented{--bs-alert-color: var(--bs-dark-accented-text-emphasis);--bs-alert-bg: var(--bs-dark-accented-bg-subtle);--bs-alert-border-color: var(--bs-dark-accented-border-subtle);--bs-alert-link-color: var(--bs-dark-accented-text-emphasis)}.alert-rich-black{--bs-alert-color: var(--bs-rich-black-text-emphasis);--bs-alert-bg: var(--bs-rich-black-bg-subtle);--bs-alert-border-color: var(--bs-rich-black-border-subtle);--bs-alert-link-color: var(--bs-rich-black-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #e86a92;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #e86a92;--bs-list-group-active-border-color: #e86a92;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.list-group-item-gray{--bs-list-group-color: var(--bs-gray-text-emphasis);--bs-list-group-bg: var(--bs-gray-bg-subtle);--bs-list-group-border-color: var(--bs-gray-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-gray-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-gray-border-subtle);--bs-list-group-active-color: var(--bs-gray-bg-subtle);--bs-list-group-active-bg: var(--bs-gray-text-emphasis);--bs-list-group-active-border-color: var(--bs-gray-text-emphasis)}.list-group-item-dark-accented{--bs-list-group-color: var(--bs-dark-accented-text-emphasis);--bs-list-group-bg: var(--bs-dark-accented-bg-subtle);--bs-list-group-border-color: var(--bs-dark-accented-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-accented-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-accented-border-subtle);--bs-list-group-active-color: var(--bs-dark-accented-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-accented-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-accented-text-emphasis)}.list-group-item-rich-black{--bs-list-group-color: var(--bs-rich-black-text-emphasis);--bs-list-group-bg: var(--bs-rich-black-bg-subtle);--bs-list-group-border-color: var(--bs-rich-black-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-rich-black-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-rich-black-border-subtle);--bs-list-group-active-color: var(--bs-rich-black-bg-subtle);--bs-list-group-active-bg: var(--bs-rich-black-text-emphasis);--bs-list-group-active-border-color: var(--bs-rich-black-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(232, 106, 146, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas-sm,.offcanvas-md,.offcanvas-lg,.offcanvas-xl,.offcanvas-xxl,.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#000!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#000!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-gray{color:#000!important;background-color:RGBA(var(--bs-gray-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark-accented{color:#fff!important;background-color:RGBA(var(--bs-dark-accented-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-rich-black{color:#fff!important;background-color:RGBA(var(--bs-rich-black-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(237,136,168,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(237,136,168,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(101,168,214,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(101,168,214,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(20,108,67,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(61,213,243,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,205,57,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(176,42,55,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(241,245,246,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(241,245,246,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(34,36,53,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(34,36,53,var(--bs-link-underline-opacity, 1))!important}.link-gray{color:RGBA(var(--bs-gray-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-gray-rgb),var(--bs-link-underline-opacity, 1))!important}.link-gray:hover,.link-gray:focus{color:RGBA(189,196,202,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(189,196,202,var(--bs-link-underline-opacity, 1))!important}.link-dark-accented{color:RGBA(var(--bs-dark-accented-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-accented-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark-accented:hover,.link-dark-accented:focus{color:RGBA(30,30,45,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(30,30,45,var(--bs-link-underline-opacity, 1))!important}.link-rich-black{color:RGBA(var(--bs-rich-black-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-rich-black-rgb),var(--bs-link-underline-opacity, 1))!important}.link-rich-black:hover,.link-rich-black:focus{color:RGBA(36,42,54,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(36,42,54,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.focus-ring-gray{--bs-focus-ring-color: rgba(var(--bs-gray-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark-accented{--bs-focus-ring-color: rgba(var(--bs-dark-accented-rgb), var(--bs-focus-ring-opacity))}.focus-ring-rich-black{--bs-focus-ring-color: rgba(var(--bs-rich-black-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-gray{--bs-border-opacity: 1;border-color:rgba(var(--bs-gray-rgb),var(--bs-border-opacity))!important}.border-dark-accented{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-accented-rgb),var(--bs-border-opacity))!important}.border-rich-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-rich-black-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.w-fit-content{width:fit-content!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-gray{--bs-text-opacity: 1;color:rgba(var(--bs-gray-rgb),var(--bs-text-opacity))!important}.text-dark-accented{--bs-text-opacity: 1;color:rgba(var(--bs-dark-accented-rgb),var(--bs-text-opacity))!important}.text-rich-black{--bs-text-opacity: 1;color:rgba(var(--bs-rich-black-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline-gray{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-gray-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark-accented{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-accented-rgb),var(--bs-link-underline-opacity))!important}.link-underline-rich-black{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-rich-black-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-gray{--bs-bg-opacity: 1;background-color:rgba(var(--bs-gray-rgb),var(--bs-bg-opacity))!important}.bg-dark-accented{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-accented-rgb),var(--bs-bg-opacity))!important}.bg-rich-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-rich-black-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} diff --git a/src/main/resources/static/assets/index-CPLpx4lq.js b/src/main/resources/static/assets/index-CPLpx4lq.js new file mode 100644 index 0000000..54bb794 --- /dev/null +++ b/src/main/resources/static/assets/index-CPLpx4lq.js @@ -0,0 +1,813 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();/** +* @vue/shared v3.4.29 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Fl(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const ke={},Mr=[],Ct=()=>{},h_=()=>!1,go=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),jl=e=>e.startsWith("onUpdate:"),Ze=Object.assign,Ul=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},p_=Object.prototype.hasOwnProperty,we=(e,t)=>p_.call(e,t),ce=Array.isArray,Fr=e=>_o(e)==="[object Map]",mm=e=>_o(e)==="[object Set]",he=e=>typeof e=="function",Ge=e=>typeof e=="string",br=e=>typeof e=="symbol",Fe=e=>e!==null&&typeof e=="object",hm=e=>(Fe(e)||he(e))&&he(e.then)&&he(e.catch),pm=Object.prototype.toString,_o=e=>pm.call(e),g_=e=>_o(e).slice(8,-1),gm=e=>_o(e)==="[object Object]",Hl=e=>Ge(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Es=Fl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),vo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},__=/-(\w)/g,Xt=vo(e=>e.replace(__,(t,n)=>n?n.toUpperCase():"")),v_=/\B([A-Z])/g,rs=vo(e=>e.replace(v_,"-$1").toLowerCase()),bo=vo(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qo=vo(e=>e?`on${bo(e)}`:""),Rn=(e,t)=>!Object.is(e,t),Di=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Fa=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let tu;const vm=()=>tu||(tu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Zn(e){if(ce(e)){const t={};for(let n=0;n{if(n){const r=n.split(y_);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Nt(e){let t="";if(Ge(e))t=e;else if(ce(e))for(let n=0;nGe(e)?e:e==null?"":ce(e)||Fe(e)&&(e.toString===pm||!he(e.toString))?JSON.stringify(e,ym,2):String(e),ym=(e,t)=>t&&t.__v_isRef?ym(e,t.value):Fr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[Zo(r,i)+" =>"]=s,n),{})}:mm(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Zo(n))}:br(t)?Zo(t):Fe(t)&&!ce(t)&&!gm(t)?String(t):t,Zo=(e,t="")=>{var n;return br(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.29 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let yt;class Em{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=yt,!t&&yt&&(this.index=(yt.scopes||(yt.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=yt;try{return yt=this,t()}finally{yt=n}}}on(){yt=this}off(){yt=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=5)break}}this._dirtyLevel===1&&(this._dirtyLevel=0),Hn()}return this._dirtyLevel>=5}set dirty(t){this._dirtyLevel=t?5:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ln,n=ar;try{return Ln=!0,ar=this,this._runnings++,nu(this),this.fn()}finally{ru(this),this._runnings--,ar=n,Ln=t}}stop(){this.active&&(nu(this),ru(this),this.onStop&&this.onStop(),this.active=!1)}}function C_(e){return e.value}function nu(e){e._trackId++,e._depsLength=0}function ru(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t0){r._dirtyLevel=2;continue}let s;r._dirtyLevel{const n=new Map;return n.cleanup=e,n.computed=t,n},Xi=new WeakMap,lr=Symbol(""),Ha=Symbol("");function _t(e,t,n){if(Ln&&ar){let r=Xi.get(e);r||Xi.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=Cm(()=>r.delete(n))),Om(ar,s)}}function on(e,t,n,r,s,i){const o=Xi.get(e);if(!o)return;let a=[];if(t==="clear")a=[...o.values()];else if(n==="length"&&ce(e)){const l=Number(r);o.forEach((u,c)=>{(c==="length"||!br(c)&&c>=l)&&a.push(u)})}else switch(n!==void 0&&a.push(o.get(n)),t){case"add":ce(e)?Hl(n)&&a.push(o.get("length")):(a.push(o.get(lr)),Fr(e)&&a.push(o.get(Ha)));break;case"delete":ce(e)||(a.push(o.get(lr)),Fr(e)&&a.push(o.get(Ha)));break;case"set":Fr(e)&&a.push(o.get(lr));break}Wl();for(const l of a)l&&Sm(l,5);Yl()}function N_(e,t){const n=Xi.get(e);return n&&n.get(t)}const L_=Fl("__proto__,__v_isRef,__isVue"),Nm=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(br)),su=I_();function I_(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=Ae(this);for(let i=0,o=this.length;i{e[t]=function(...n){Un(),Wl();const r=Ae(this)[t].apply(this,n);return Yl(),Hn(),r}}),e}function P_(e){br(e)||(e=String(e));const t=Ae(this);return _t(t,"has",e),t.hasOwnProperty(e)}class Lm{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?W_:xm:i?Rm:Pm).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=ce(t);if(!s){if(o&&we(su,n))return Reflect.get(su,n,r);if(n==="hasOwnProperty")return P_}const a=Reflect.get(t,n,r);return(br(n)?Nm.has(n):L_(n))||(s||_t(t,"get",n),i)?a:He(a)?o&&Hl(n)?a:a.value:Fe(a)?s?$m(a):Vn(a):a}}class Im extends Lm{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];if(!this._isShallow){const l=Vr(i);if(!Ji(r)&&!Vr(r)&&(i=Ae(i),r=Ae(r)),!ce(t)&&He(i)&&!He(r))return l?!1:(i.value=r,!0)}const o=ce(t)&&Hl(n)?Number(n)e,yo=e=>Reflect.getPrototypeOf(e);function mi(e,t,n=!1,r=!1){e=e.__v_raw;const s=Ae(e),i=Ae(t);n||(Rn(t,i)&&_t(s,"get",t),_t(s,"get",i));const{has:o}=yo(s),a=r?Kl:n?Xl:$s;if(o.call(s,t))return a(e.get(t));if(o.call(s,i))return a(e.get(i));e!==s&&e.get(t)}function hi(e,t=!1){const n=this.__v_raw,r=Ae(n),s=Ae(e);return t||(Rn(e,s)&&_t(r,"has",e),_t(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function pi(e,t=!1){return e=e.__v_raw,!t&&_t(Ae(e),"iterate",lr),Reflect.get(e,"size",e)}function iu(e){e=Ae(e);const t=Ae(this);return yo(t).has.call(t,e)||(t.add(e),on(t,"add",e,e)),this}function ou(e,t){t=Ae(t);const n=Ae(this),{has:r,get:s}=yo(n);let i=r.call(n,e);i||(e=Ae(e),i=r.call(n,e));const o=s.call(n,e);return n.set(e,t),i?Rn(t,o)&&on(n,"set",e,t):on(n,"add",e,t),this}function au(e){const t=Ae(this),{has:n,get:r}=yo(t);let s=n.call(t,e);s||(e=Ae(e),s=n.call(t,e)),r&&r.call(t,e);const i=t.delete(e);return s&&on(t,"delete",e,void 0),i}function lu(){const e=Ae(this),t=e.size!==0,n=e.clear();return t&&on(e,"clear",void 0,void 0),n}function gi(e,t){return function(r,s){const i=this,o=i.__v_raw,a=Ae(o),l=t?Kl:e?Xl:$s;return!e&&_t(a,"iterate",lr),o.forEach((u,c)=>r.call(s,l(u),l(c),i))}}function _i(e,t,n){return function(...r){const s=this.__v_raw,i=Ae(s),o=Fr(i),a=e==="entries"||e===Symbol.iterator&&o,l=e==="keys"&&o,u=s[e](...r),c=n?Kl:t?Xl:$s;return!t&&_t(i,"iterate",l?Ha:lr),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:a?[c(f[0]),c(f[1])]:c(f),done:d}},[Symbol.iterator](){return this}}}}function gn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function D_(){const e={get(i){return mi(this,i)},get size(){return pi(this)},has:hi,add:iu,set:ou,delete:au,clear:lu,forEach:gi(!1,!1)},t={get(i){return mi(this,i,!1,!0)},get size(){return pi(this)},has:hi,add:iu,set:ou,delete:au,clear:lu,forEach:gi(!1,!0)},n={get(i){return mi(this,i,!0)},get size(){return pi(this,!0)},has(i){return hi.call(this,i,!0)},add:gn("add"),set:gn("set"),delete:gn("delete"),clear:gn("clear"),forEach:gi(!0,!1)},r={get(i){return mi(this,i,!0,!0)},get size(){return pi(this,!0)},has(i){return hi.call(this,i,!0)},add:gn("add"),set:gn("set"),delete:gn("delete"),clear:gn("clear"),forEach:gi(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=_i(i,!1,!1),n[i]=_i(i,!0,!1),t[i]=_i(i,!1,!0),r[i]=_i(i,!0,!0)}),[e,n,t,r]}const[M_,F_,j_,U_]=D_();function zl(e,t){const n=t?e?U_:j_:e?F_:M_;return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(we(n,s)&&s in r?n:r,s,i)}const H_={get:zl(!1,!1)},V_={get:zl(!1,!0)},B_={get:zl(!0,!1)};const Pm=new WeakMap,Rm=new WeakMap,xm=new WeakMap,W_=new WeakMap;function Y_(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function K_(e){return e.__v_skip||!Object.isExtensible(e)?0:Y_(g_(e))}function Vn(e){return Vr(e)?e:Gl(e,!1,x_,H_,Pm)}function km(e){return Gl(e,!1,$_,V_,Rm)}function $m(e){return Gl(e,!0,k_,B_,xm)}function Gl(e,t,n,r,s){if(!Fe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=s.get(e);if(i)return i;const o=K_(e);if(o===0)return e;const a=new Proxy(e,o===2?r:n);return s.set(e,a),a}function In(e){return Vr(e)?In(e.__v_raw):!!(e&&e.__v_isReactive)}function Vr(e){return!!(e&&e.__v_isReadonly)}function Ji(e){return!!(e&&e.__v_isShallow)}function Dm(e){return e?!!e.__v_raw:!1}function Ae(e){const t=e&&e.__v_raw;return t?Ae(t):e}function ql(e){return Object.isExtensible(e)&&_m(e,"__v_skip",!0),e}const $s=e=>Fe(e)?Vn(e):e,Xl=e=>Fe(e)?$m(e):e;class Mm{constructor(t,n,r,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Bl(()=>t(this._value),()=>Mi(this,this.effect._dirtyLevel===3?3:4)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=Ae(this);return(!t._cacheable||t.effect.dirty)&&Rn(t._value,t._value=t.effect.run())&&Mi(t,5),Fm(t),t.effect._dirtyLevel>=2&&Mi(t,3),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function z_(e,t,n=!1){let r,s;const i=he(e);return i?(r=e,s=Ct):(r=e.get,s=e.set),new Mm(r,s,i||!s,n)}function Fm(e){var t;Ln&&ar&&(e=Ae(e),Om(ar,(t=e.dep)!=null?t:e.dep=Cm(()=>e.dep=void 0,e instanceof Mm?e:void 0)))}function Mi(e,t=5,n,r){e=Ae(e);const s=e.dep;s&&Sm(s,t)}function He(e){return!!(e&&e.__v_isRef===!0)}function ge(e){return jm(e,!1)}function Jl(e){return jm(e,!0)}function jm(e,t){return He(e)?e:new G_(e,t)}class G_{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Ae(t),this._value=n?t:$s(t)}get value(){return Fm(this),this._value}set value(t){const n=this.__v_isShallow||Ji(t)||Vr(t);t=n?t:Ae(t),Rn(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:$s(t),Mi(this,5))}}function V(e){return He(e)?e.value:e}const q_={get:(e,t,n)=>V(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return He(s)&&!He(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Um(e){return In(e)?e:new Proxy(e,q_)}function X_(e){const t=ce(e)?new Array(e.length):{};for(const n in e)t[n]=Q_(e,n);return t}class J_{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return N_(Ae(this._object),this._key)}}function Q_(e,t,n){const r=e[t];return He(r)?r:new J_(e,t,n)}/** +* @vue/runtime-core v3.4.29 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Pn(e,t,n,r){try{return r?e(...r):e()}catch(s){Eo(s,t,n)}}function Mt(e,t,n,r){if(he(e)){const s=Pn(e,t,n,r);return s&&hm(s)&&s.catch(i=>{Eo(i,t,n)}),s}if(ce(e)){const s=[];for(let i=0;i>>1,s=rt[r],i=Fs(s);iYt&&rt.splice(t,1)}function nv(e){ce(e)?jr.push(...e):(!An||!An.includes(e,e.allowRecurse?Qn+1:Qn))&&jr.push(e),Vm()}function cu(e,t,n=Ds?Yt+1:0){for(;nFs(n)-Fs(r));if(jr.length=0,An){An.push(...t);return}for(An=t,Qn=0;Qne.id==null?1/0:e.id,rv=(e,t)=>{const n=Fs(e)-Fs(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Wm(e){Va=!1,Ds=!0,rt.sort(rv);try{for(Yt=0;YtGe(m)?m.trim():m)),f&&(s=n.map(Fa))}let a,l=r[a=Qo(t)]||r[a=Qo(Xt(t))];!l&&i&&(l=r[a=Qo(rs(t))]),l&&Mt(l,e,6,s);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Mt(u,e,6,s)}}function Ym(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let o={},a=!1;if(!he(e)){const l=u=>{const c=Ym(u,t,!0);c&&(a=!0,Ze(o,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!a?(Fe(e)&&r.set(e,null),null):(ce(i)?i.forEach(l=>o[l]=null):Ze(o,i),Fe(e)&&r.set(e,o),o)}function wo(e,t){return!e||!go(t)?!1:(t=t.slice(2).replace(/Once$/,""),we(e,t[0].toLowerCase()+t.slice(1))||we(e,rs(t))||we(e,t))}let ct=null,Ao=null;function Qi(e){const t=ct;return ct=e,Ao=e&&e.type.__scopeId||null,t}function iv(e){Ao=e}function ov(){Ao=null}function er(e,t=ct,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&Eu(-1);const i=Qi(t);let o;try{o=e(...s)}finally{Qi(i),r._d&&Eu(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function ea(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:o,attrs:a,emit:l,render:u,renderCache:c,props:f,data:d,setupState:m,ctx:p,inheritAttrs:v}=e,y=Qi(e);let w,S;try{if(n.shapeFlag&4){const A=s||r,C=A;w=Wt(u.call(C,A,c,f,m,d,p)),S=a}else{const A=t;w=Wt(A.length>1?A(f,{attrs:a,slots:o,emit:l}):A(f,null)),S=t.props?a:av(a)}}catch(A){Ts.length=0,Eo(A,e,1),w=ye(dr)}let E=w;if(S&&v!==!1){const A=Object.keys(S),{shapeFlag:C}=E;A.length&&C&7&&(i&&A.some(jl)&&(S=lv(S,i)),E=Br(E,S,!1,!0))}return n.dirs&&(E=Br(E,null,!1,!0),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&(E.transition=n.transition),w=E,Qi(y),w}const av=e=>{let t;for(const n in e)(n==="class"||n==="style"||go(n))&&((t||(t={}))[n]=e[n]);return t},lv=(e,t)=>{const n={};for(const r in e)(!jl(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function cv(e,t,n){const{props:r,children:s,component:i}=e,{props:o,children:a,patchFlag:l}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?uu(r,o,u):!!o;if(l&8){const c=t.dynamicProps;for(let f=0;fe.__isSuspense;function pv(e,t){t&&t.pendingBranch?ce(e)?t.effects.push(...e):t.effects.push(e):nv(e)}function To(e,t,n=Je,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Un();const a=Qs(n),l=Mt(t,n,e,o);return a(),Hn(),l});return r?s.unshift(i):s.push(i),i}}const mn=e=>(t,n=Je)=>{(!So||e==="sp")&&To(e,(...r)=>t(...r),n)},tc=mn("bm"),ss=mn("m"),gv=mn("bu"),_v=mn("u"),Km=mn("bum"),Oo=mn("um"),vv=mn("sp"),bv=mn("rtg"),yv=mn("rtc");function Ev(e,t=Je){To("ec",e,t)}function ws(e,t){if(ct===null)return e;const n=Co(ct),r=e.dirs||(e.dirs=[]);for(let s=0;st(o,a,void 0,i));else{const o=Object.keys(e);s=new Array(o.length);for(let a=0,l=o.length;a!!e.type.__asyncLoader,Ba=e=>e?mh(e)?Co(e):Ba(e.parent):null,As=Ze(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ba(e.parent),$root:e=>Ba(e.root),$emit:e=>e.emit,$options:e=>rc(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Zl(e.update)}),$nextTick:e=>e.n||(e.n=Ms.bind(e.proxy)),$watch:e=>Vv.bind(e)}),ta=(e,t)=>e!==ke&&!e.__isScriptSetup&&we(e,t),wv={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:o,type:a,appContext:l}=e;let u;if(t[0]!=="$"){const m=o[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(ta(r,t))return o[t]=1,r[t];if(s!==ke&&we(s,t))return o[t]=2,s[t];if((u=e.propsOptions[0])&&we(u,t))return o[t]=3,i[t];if(n!==ke&&we(n,t))return o[t]=4,n[t];Wa&&(o[t]=0)}}const c=As[t];let f,d;if(c)return t==="$attrs"&&_t(e.attrs,"get",""),c(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==ke&&we(n,t))return o[t]=4,n[t];if(d=l.config.globalProperties,we(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return ta(s,t)?(s[t]=n,!0):r!==ke&&we(r,t)?(r[t]=n,!0):we(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:i}},o){let a;return!!n[o]||e!==ke&&we(e,o)||ta(t,o)||(a=i[0])&&we(a,o)||we(r,o)||we(As,o)||we(s.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:we(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function du(e){return ce(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Wa=!0;function Av(e){const t=rc(e),n=e.proxy,r=e.ctx;Wa=!1,t.beforeCreate&&mu(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:o,watch:a,provide:l,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:m,updated:p,activated:v,deactivated:y,beforeDestroy:w,beforeUnmount:S,destroyed:E,unmounted:A,render:C,renderTracked:O,renderTriggered:I,errorCaptured:$,serverPrefetch:P,expose:q,inheritAttrs:ie,components:Q,directives:le,filters:je}=t;if(u&&Tv(u,r,null),o)for(const ae in o){const de=o[ae];he(de)&&(r[ae]=de.bind(n))}if(s){const ae=s.call(n,n);Fe(ae)&&(e.data=Vn(ae))}if(Wa=!0,i)for(const ae in i){const de=i[ae],xe=he(de)?de.bind(n,n):he(de.get)?de.get.bind(n,n):Ct,pe=!he(de)&&he(de.set)?de.set.bind(n):Ct,Ee=ne({get:xe,set:pe});Object.defineProperty(r,ae,{enumerable:!0,configurable:!0,get:()=>Ee.value,set:be=>Ee.value=be})}if(a)for(const ae in a)zm(a[ae],r,n,ae);if(l){const ae=he(l)?l.call(n):l;Reflect.ownKeys(ae).forEach(de=>{cr(de,ae[de])})}c&&mu(c,e,"c");function ee(ae,de){ce(de)?de.forEach(xe=>ae(xe.bind(n))):de&&ae(de.bind(n))}if(ee(tc,f),ee(ss,d),ee(gv,m),ee(_v,p),ee(Bv,v),ee(Wv,y),ee(Ev,$),ee(yv,O),ee(bv,I),ee(Km,S),ee(Oo,A),ee(vv,P),ce(q))if(q.length){const ae=e.exposed||(e.exposed={});q.forEach(de=>{Object.defineProperty(ae,de,{get:()=>n[de],set:xe=>n[de]=xe})})}else e.exposed||(e.exposed={});C&&e.render===Ct&&(e.render=C),ie!=null&&(e.inheritAttrs=ie),Q&&(e.components=Q),le&&(e.directives=le)}function Tv(e,t,n=Ct){ce(e)&&(e=Ya(e));for(const r in e){const s=e[r];let i;Fe(s)?"default"in s?i=st(s.from||r,s.default,!0):i=st(s.from||r):i=st(s),He(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function mu(e,t,n){Mt(ce(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function zm(e,t,n,r){const s=r.includes(".")?oh(n,r):()=>n[r];if(Ge(e)){const i=t[e];he(i)&&it(s,i)}else if(he(e))it(s,e.bind(n));else if(Fe(e))if(ce(e))e.forEach(i=>zm(i,t,n,r));else{const i=he(e.handler)?e.handler.bind(n):t[e.handler];he(i)&&it(s,i,e)}}function rc(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,a=i.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(u=>Zi(l,u,o,!0)),Zi(l,t,o)),Fe(t)&&i.set(t,l),l}function Zi(e,t,n,r=!1){const{mixins:s,extends:i}=t;i&&Zi(e,i,n,!0),s&&s.forEach(o=>Zi(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const a=Ov[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}const Ov={data:hu,props:pu,emits:pu,methods:bs,computed:bs,beforeCreate:ot,created:ot,beforeMount:ot,mounted:ot,beforeUpdate:ot,updated:ot,beforeDestroy:ot,beforeUnmount:ot,destroyed:ot,unmounted:ot,activated:ot,deactivated:ot,errorCaptured:ot,serverPrefetch:ot,components:bs,directives:bs,watch:Cv,provide:hu,inject:Sv};function hu(e,t){return t?e?function(){return Ze(he(e)?e.call(this,this):e,he(t)?t.call(this,this):t)}:t:e}function Sv(e,t){return bs(Ya(e),Ya(t))}function Ya(e){if(ce(e)){const t={};for(let n=0;n1)return n&&he(t)?t.call(r&&r.proxy):t}}function Iv(){return!!(Je||ct||Ur)}const qm={},Xm=()=>Object.create(qm),Jm=e=>Object.getPrototypeOf(e)===qm;function Pv(e,t,n,r=!1){const s={},i=Xm();e.propsDefaults=Object.create(null),Qm(e,t,s,i);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);n?e.props=r?s:km(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Rv(e,t,n,r){const{props:s,attrs:i,vnode:{patchFlag:o}}=e,a=Ae(s),[l]=e.propsOptions;let u=!1;if((r||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,m]=Zm(f,t,!0);Ze(o,d),m&&a.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!l)return Fe(e)&&r.set(e,Mr),Mr;if(ce(i))for(let c=0;c-1,m[1]=v<0||p-1||we(m,"default"))&&a.push(f)}}}const u=[o,a];return Fe(e)&&r.set(e,u),u}function gu(e){return e[0]!=="$"&&!Es(e)}function _u(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function vu(e,t){return _u(e)===_u(t)}function bu(e,t){return ce(t)?t.findIndex(n=>vu(n,e)):he(t)&&vu(t,e)?0:-1}const eh=e=>e[0]==="_"||e==="$stable",sc=e=>ce(e)?e.map(Wt):[Wt(e)],xv=(e,t,n)=>{if(t._n)return t;const r=er((...s)=>sc(t(...s)),n);return r._c=!1,r},th=(e,t,n)=>{const r=e._ctx;for(const s in e){if(eh(s))continue;const i=e[s];if(he(i))t[s]=xv(s,i,r);else if(i!=null){const o=sc(i);t[s]=()=>o}}},nh=(e,t)=>{const n=sc(t);e.slots.default=()=>n},kv=(e,t)=>{const n=e.slots=Xm();if(e.vnode.shapeFlag&32){const r=t._;r?(Ze(n,t),_m(n,"_",r,!0)):th(t,n)}else t&&nh(e,t)},$v=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,o=ke;if(r.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:(Ze(s,t),!n&&a===1&&delete s._):(i=!t.$stable,th(t,s)),o=t}else t&&(nh(e,t),o={default:1});if(i)for(const a in s)!eh(a)&&o[a]==null&&delete s[a]};function za(e,t,n,r,s=!1){if(ce(e)){e.forEach((d,m)=>za(d,t&&(ce(t)?t[m]:t),n,r,s));return}if(Fi(r)&&!s)return;const i=r.shapeFlag&4?Co(r.component):r.el,o=s?null:i,{i:a,r:l}=e,u=t&&t.r,c=a.refs===ke?a.refs={}:a.refs,f=a.setupState;if(u!=null&&u!==l&&(Ge(u)?(c[u]=null,we(f,u)&&(f[u]=null)):He(u)&&(u.value=null)),he(l))Pn(l,a,12,[o,c]);else{const d=Ge(l),m=He(l);if(d||m){const p=()=>{if(e.f){const v=d?we(f,l)?f[l]:c[l]:l.value;s?ce(v)&&Ul(v,i):ce(v)?v.includes(i)||v.push(i):d?(c[l]=[i],we(f,l)&&(f[l]=c[l])):(l.value=[i],e.k&&(c[e.k]=l.value))}else d?(c[l]=o,we(f,l)&&(f[l]=o)):m&&(l.value=o,e.k&&(c[e.k]=o))};o?(p.id=-1,ht(p,n)):p()}}}const ht=pv;function Dv(e){return Mv(e)}function Mv(e,t){const n=vm();n.__VUE__=!0;const{insert:r,remove:s,patchProp:i,createElement:o,createText:a,createComment:l,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:m=Ct,insertStaticContent:p}=e,v=(b,g,N,j=null,D=null,B=null,z=void 0,h=null,_=!!g.dynamicChildren)=>{if(b===g)return;b&&!ms(b,g)&&(j=F(b),be(b,D,B,!0),b=null),g.patchFlag===-2&&(_=!1,g.dynamicChildren=null);const{type:T,ref:M,shapeFlag:K}=g;switch(T){case Js:y(b,g,N,j);break;case dr:w(b,g,N,j);break;case ra:b==null&&S(g,N,j,z);break;case lt:Q(b,g,N,j,D,B,z,h,_);break;default:K&1?C(b,g,N,j,D,B,z,h,_):K&6?le(b,g,N,j,D,B,z,h,_):(K&64||K&128)&&T.process(b,g,N,j,D,B,z,h,_,J)}M!=null&&D&&za(M,b&&b.ref,B,g||b,!g)},y=(b,g,N,j)=>{if(b==null)r(g.el=a(g.children),N,j);else{const D=g.el=b.el;g.children!==b.children&&u(D,g.children)}},w=(b,g,N,j)=>{b==null?r(g.el=l(g.children||""),N,j):g.el=b.el},S=(b,g,N,j)=>{[b.el,b.anchor]=p(b.children,g,N,j,b.el,b.anchor)},E=({el:b,anchor:g},N,j)=>{let D;for(;b&&b!==g;)D=d(b),r(b,N,j),b=D;r(g,N,j)},A=({el:b,anchor:g})=>{let N;for(;b&&b!==g;)N=d(b),s(b),b=N;s(g)},C=(b,g,N,j,D,B,z,h,_)=>{g.type==="svg"?z="svg":g.type==="math"&&(z="mathml"),b==null?O(g,N,j,D,B,z,h,_):P(b,g,D,B,z,h,_)},O=(b,g,N,j,D,B,z,h)=>{let _,T;const{props:M,shapeFlag:K,transition:U,dirs:L}=b;if(_=b.el=o(b.type,B,M&&M.is,M),K&8?c(_,b.children):K&16&&$(b.children,_,null,j,D,na(b,B),z,h),L&&Gn(b,null,j,"created"),I(_,b,b.scopeId,z,j),M){for(const te in M)te!=="value"&&!Es(te)&&i(_,te,null,M[te],B,b.children,j,D,Le);"value"in M&&i(_,"value",null,M.value,B),(T=M.onVnodeBeforeMount)&&Bt(T,j,b)}L&&Gn(b,null,j,"beforeMount");const R=Fv(D,U);R&&U.beforeEnter(_),r(_,g,N),((T=M&&M.onVnodeMounted)||R||L)&&ht(()=>{T&&Bt(T,j,b),R&&U.enter(_),L&&Gn(b,null,j,"mounted")},D)},I=(b,g,N,j,D)=>{if(N&&m(b,N),j)for(let B=0;B{for(let T=_;T{const h=g.el=b.el;let{patchFlag:_,dynamicChildren:T,dirs:M}=g;_|=b.patchFlag&16;const K=b.props||ke,U=g.props||ke;let L;if(N&&qn(N,!1),(L=U.onVnodeBeforeUpdate)&&Bt(L,N,g,b),M&&Gn(g,b,N,"beforeUpdate"),N&&qn(N,!0),T?q(b.dynamicChildren,T,h,N,j,na(g,D),B):z||de(b,g,h,null,N,j,na(g,D),B,!1),_>0){if(_&16)ie(h,g,K,U,N,j,D);else if(_&2&&K.class!==U.class&&i(h,"class",null,U.class,D),_&4&&i(h,"style",K.style,U.style,D),_&8){const R=g.dynamicProps;for(let te=0;te{L&&Bt(L,N,g,b),M&&Gn(g,b,N,"updated")},j)},q=(b,g,N,j,D,B,z)=>{for(let h=0;h{if(N!==j){if(N!==ke)for(const h in N)!Es(h)&&!(h in j)&&i(b,h,N[h],null,z,g.children,D,B,Le);for(const h in j){if(Es(h))continue;const _=j[h],T=N[h];_!==T&&h!=="value"&&i(b,h,T,_,z,g.children,D,B,Le)}"value"in j&&i(b,"value",N.value,j.value,z)}},Q=(b,g,N,j,D,B,z,h,_)=>{const T=g.el=b?b.el:a(""),M=g.anchor=b?b.anchor:a("");let{patchFlag:K,dynamicChildren:U,slotScopeIds:L}=g;L&&(h=h?h.concat(L):L),b==null?(r(T,N,j),r(M,N,j),$(g.children||[],N,M,D,B,z,h,_)):K>0&&K&64&&U&&b.dynamicChildren?(q(b.dynamicChildren,U,N,D,B,z,h),(g.key!=null||D&&g===D.subTree)&&rh(b,g,!0)):de(b,g,N,M,D,B,z,h,_)},le=(b,g,N,j,D,B,z,h,_)=>{g.slotScopeIds=h,b==null?g.shapeFlag&512?D.ctx.activate(g,N,j,z,_):je(g,N,j,D,B,z,_):Ce(b,g,_)},je=(b,g,N,j,D,B,z)=>{const h=b.component=Zv(b,j,D);if(ah(b)&&(h.ctx.renderer=J),eb(h),h.asyncDep){if(D&&D.registerDep(h,ee,z),!b.el){const _=h.subTree=ye(dr);w(null,_,g,N)}}else ee(h,b,g,N,D,B,z)},Ce=(b,g,N)=>{const j=g.component=b.component;if(cv(b,g,N))if(j.asyncDep&&!j.asyncResolved){ae(j,g,N);return}else j.next=g,tv(j.update),j.effect.dirty=!0,j.update();else g.el=b.el,j.vnode=g},ee=(b,g,N,j,D,B,z)=>{const h=()=>{if(b.isMounted){let{next:M,bu:K,u:U,parent:L,vnode:R}=b;{const vt=sh(b);if(vt){M&&(M.el=R.el,ae(b,M,z)),vt.asyncDep.then(()=>{b.isUnmounted||h()});return}}let te=M,se;qn(b,!1),M?(M.el=R.el,ae(b,M,z)):M=R,K&&Di(K),(se=M.props&&M.props.onVnodeBeforeUpdate)&&Bt(se,L,M,R),qn(b,!0);const Pe=ea(b),nt=b.subTree;b.subTree=Pe,v(nt,Pe,f(nt.el),F(nt),b,D,B),M.el=Pe.el,te===null&&uv(b,Pe.el),U&&ht(U,D),(se=M.props&&M.props.onVnodeUpdated)&&ht(()=>Bt(se,L,M,R),D)}else{let M;const{el:K,props:U}=g,{bm:L,m:R,parent:te}=b,se=Fi(g);if(qn(b,!1),L&&Di(L),!se&&(M=U&&U.onVnodeBeforeMount)&&Bt(M,te,g),qn(b,!0),K&&Te){const Pe=()=>{b.subTree=ea(b),Te(K,b.subTree,b,D,null)};se?g.type.__asyncLoader().then(()=>!b.isUnmounted&&Pe()):Pe()}else{const Pe=b.subTree=ea(b);v(null,Pe,N,j,b,D,B),g.el=Pe.el}if(R&&ht(R,D),!se&&(M=U&&U.onVnodeMounted)){const Pe=g;ht(()=>Bt(M,te,Pe),D)}(g.shapeFlag&256||te&&Fi(te.vnode)&&te.vnode.shapeFlag&256)&&b.a&&ht(b.a,D),b.isMounted=!0,g=N=j=null}},_=b.effect=new Bl(h,Ct,()=>Zl(T),b.scope),T=b.update=()=>{_.dirty&&_.run()};T.id=b.uid,qn(b,!0),T()},ae=(b,g,N)=>{g.component=b;const j=b.vnode.props;b.vnode=g,b.next=null,Rv(b,g.props,j,N),$v(b,g.children,N),Un(),cu(b),Hn()},de=(b,g,N,j,D,B,z,h,_=!1)=>{const T=b&&b.children,M=b?b.shapeFlag:0,K=g.children,{patchFlag:U,shapeFlag:L}=g;if(U>0){if(U&128){pe(T,K,N,j,D,B,z,h,_);return}else if(U&256){xe(T,K,N,j,D,B,z,h,_);return}}L&8?(M&16&&Le(T,D,B),K!==T&&c(N,K)):M&16?L&16?pe(T,K,N,j,D,B,z,h,_):Le(T,D,B,!0):(M&8&&c(N,""),L&16&&$(K,N,j,D,B,z,h,_))},xe=(b,g,N,j,D,B,z,h,_)=>{b=b||Mr,g=g||Mr;const T=b.length,M=g.length,K=Math.min(T,M);let U;for(U=0;UM?Le(b,D,B,!0,!1,K):$(g,N,j,D,B,z,h,_,K)},pe=(b,g,N,j,D,B,z,h,_)=>{let T=0;const M=g.length;let K=b.length-1,U=M-1;for(;T<=K&&T<=U;){const L=b[T],R=g[T]=_?Tn(g[T]):Wt(g[T]);if(ms(L,R))v(L,R,N,null,D,B,z,h,_);else break;T++}for(;T<=K&&T<=U;){const L=b[K],R=g[U]=_?Tn(g[U]):Wt(g[U]);if(ms(L,R))v(L,R,N,null,D,B,z,h,_);else break;K--,U--}if(T>K){if(T<=U){const L=U+1,R=LU)for(;T<=K;)be(b[T],D,B,!0),T++;else{const L=T,R=T,te=new Map;for(T=R;T<=U;T++){const bt=g[T]=_?Tn(g[T]):Wt(g[T]);bt.key!=null&&te.set(bt.key,T)}let se,Pe=0;const nt=U-R+1;let vt=!1,di=0;const Ar=new Array(nt);for(T=0;T=nt){be(bt,D,B,!0);continue}let Vt;if(bt.key!=null)Vt=te.get(bt.key);else for(se=R;se<=U;se++)if(Ar[se-R]===0&&ms(bt,g[se])){Vt=se;break}Vt===void 0?be(bt,D,B,!0):(Ar[Vt-R]=T+1,Vt>=di?di=Vt:vt=!0,v(bt,g[Vt],N,null,D,B,z,h,_),Pe++)}const Zc=vt?jv(Ar):Mr;for(se=Zc.length-1,T=nt-1;T>=0;T--){const bt=R+T,Vt=g[bt],eu=bt+1{const{el:B,type:z,transition:h,children:_,shapeFlag:T}=b;if(T&6){Ee(b.component.subTree,g,N,j);return}if(T&128){b.suspense.move(g,N,j);return}if(T&64){z.move(b,g,N,J);return}if(z===lt){r(B,g,N);for(let K=0;K<_.length;K++)Ee(_[K],g,N,j);r(b.anchor,g,N);return}if(z===ra){E(b,g,N);return}if(j!==2&&T&1&&h)if(j===0)h.beforeEnter(B),r(B,g,N),ht(()=>h.enter(B),D);else{const{leave:K,delayLeave:U,afterLeave:L}=h,R=()=>r(B,g,N),te=()=>{K(B,()=>{R(),L&&L()})};U?U(B,R,te):te()}else r(B,g,N)},be=(b,g,N,j=!1,D=!1)=>{const{type:B,props:z,ref:h,children:_,dynamicChildren:T,shapeFlag:M,patchFlag:K,dirs:U,memoIndex:L}=b;if(h!=null&&za(h,null,N,b,!0),L!=null&&(g.renderCache[L]=void 0),M&256){g.ctx.deactivate(b);return}const R=M&1&&U,te=!Fi(b);let se;if(te&&(se=z&&z.onVnodeBeforeUnmount)&&Bt(se,g,b),M&6)We(b.component,N,j);else{if(M&128){b.suspense.unmount(N,j);return}R&&Gn(b,null,g,"beforeUnmount"),M&64?b.type.remove(b,g,N,D,J,j):T&&(B!==lt||K>0&&K&64)?Le(T,g,N,!1,!0):(B===lt&&K&384||!D&&M&16)&&Le(_,g,N),j&&et(b)}(te&&(se=z&&z.onVnodeUnmounted)||R)&&ht(()=>{se&&Bt(se,g,b),R&&Gn(b,null,g,"unmounted")},N)},et=b=>{const{type:g,el:N,anchor:j,transition:D}=b;if(g===lt){Be(N,j);return}if(g===ra){A(b);return}const B=()=>{s(N),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(b.shapeFlag&1&&D&&!D.persisted){const{leave:z,delayLeave:h}=D,_=()=>z(N,B);h?h(b.el,B,_):_()}else B()},Be=(b,g)=>{let N;for(;b!==g;)N=d(b),s(b),b=N;s(g)},We=(b,g,N)=>{const{bum:j,scope:D,update:B,subTree:z,um:h,m:_,a:T}=b;yu(_),yu(T),j&&Di(j),D.stop(),B&&(B.active=!1,be(z,b,g,N)),h&&ht(h,g),ht(()=>{b.isUnmounted=!0},g),g&&g.pendingBranch&&!g.isUnmounted&&b.asyncDep&&!b.asyncResolved&&b.suspenseId===g.pendingId&&(g.deps--,g.deps===0&&g.resolve())},Le=(b,g,N,j=!1,D=!1,B=0)=>{for(let z=B;zb.shapeFlag&6?F(b.component.subTree):b.shapeFlag&128?b.suspense.next():d(b.anchor||b.el);let Y=!1;const W=(b,g,N)=>{b==null?g._vnode&&be(g._vnode,null,null,!0):v(g._vnode||null,b,g,null,null,null,N),Y||(Y=!0,cu(),Bm(),Y=!1),g._vnode=b},J={p:v,um:be,m:Ee,r:et,mt:je,mc:$,pc:de,pbc:q,n:F,o:e};let _e,Te;return{render:W,hydrate:_e,createApp:Lv(W,_e)}}function na({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function qn({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Fv(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function rh(e,t,n=!1){const r=e.children,s=t.children;if(ce(r)&&ce(s))for(let i=0;i>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function sh(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:sh(t)}function yu(e){if(e)for(let t=0;tst(Uv),vi={};function it(e,t,n){return ih(e,t,n)}function ih(e,t,{immediate:n,deep:r,flush:s,once:i,onTrack:o,onTrigger:a}=ke){if(t&&i){const O=t;t=(...I)=>{O(...I),C()}}const l=Je,u=O=>r===!0?O:Cn(O,r===!1?1:void 0);let c,f=!1,d=!1;if(He(e)?(c=()=>e.value,f=Ji(e)):In(e)?(c=()=>u(e),f=!0):ce(e)?(d=!0,f=e.some(O=>In(O)||Ji(O)),c=()=>e.map(O=>{if(He(O))return O.value;if(In(O))return u(O);if(he(O))return Pn(O,l,2)})):he(e)?t?c=()=>Pn(e,l,2):c=()=>(m&&m(),Mt(e,l,3,[p])):c=Ct,t&&r){const O=c;c=()=>Cn(O())}let m,p=O=>{m=E.onStop=()=>{Pn(O,l,4),m=E.onStop=void 0}},v;if(So)if(p=Ct,t?n&&Mt(t,l,3,[c(),d?[]:void 0,p]):c(),s==="sync"){const O=Hv();v=O.__watcherHandles||(O.__watcherHandles=[])}else return Ct;let y=d?new Array(e.length).fill(vi):vi;const w=()=>{if(!(!E.active||!E.dirty))if(t){const O=E.run();(r||f||(d?O.some((I,$)=>Rn(I,y[$])):Rn(O,y)))&&(m&&m(),Mt(t,l,3,[O,y===vi?void 0:d&&y[0]===vi?[]:y,p]),y=O)}else E.run()};w.allowRecurse=!!t;let S;s==="sync"?S=w:s==="post"?S=()=>ht(w,l&&l.suspense):(w.pre=!0,l&&(w.id=l.uid),S=()=>Zl(w));const E=new Bl(c,Ct,S),A=wm(),C=()=>{E.stop(),A&&Ul(A.effects,E)};return t?n?w():y=E.run():s==="post"?ht(E.run.bind(E),l&&l.suspense):E.run(),v&&v.push(C),C}function Vv(e,t,n){const r=this.proxy,s=Ge(e)?e.includes(".")?oh(r,e):()=>r[e]:e.bind(r,r);let i;he(t)?i=t:(i=t.handler,n=t);const o=Qs(this),a=ih(s,i.bind(r),n);return o(),a}function oh(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s{Cn(r,t,n)});else if(gm(e)){for(const r in e)Cn(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Cn(e[r],t,n)}return e}const ah=e=>e.type.__isKeepAlive;function Bv(e,t){lh(e,"a",t)}function Wv(e,t){lh(e,"da",t)}function lh(e,t,n=Je){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(To(t,r,n),n){let s=n.parent;for(;s&&s.parent;)ah(s.parent.vnode)&&Yv(r,t,n,s),s=s.parent}}function Yv(e,t,n,r){const s=To(t,e,r,!0);Oo(()=>{Ul(r[t],s)},n)}function ch(e,t){e.shapeFlag&6&&e.component?ch(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}const Kv=e=>e.__isTeleport,lt=Symbol.for("v-fgt"),Js=Symbol.for("v-txt"),dr=Symbol.for("v-cmt"),ra=Symbol.for("v-stc"),Ts=[];let kt=null;function Oe(e=!1){Ts.push(kt=e?null:[])}function zv(){Ts.pop(),kt=Ts[Ts.length-1]||null}let js=1;function Eu(e){js+=e}function uh(e){return e.dynamicChildren=js>0?kt||Mr:null,zv(),js>0&&kt&&kt.push(e),e}function Ie(e,t,n,r,s,i){return uh(k(e,t,n,r,s,i,!0))}function fh(e,t,n,r,s){return uh(ye(e,t,n,r,s,!0))}function Ga(e){return e?e.__v_isVNode===!0:!1}function ms(e,t){return e.type===t.type&&e.key===t.key}const dh=({key:e})=>e??null,ji=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ge(e)||He(e)||he(e)?{i:ct,r:e,k:t,f:!!n}:e:null);function k(e,t=null,n=null,r=0,s=null,i=e===lt?0:1,o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&dh(t),ref:t&&ji(t),scopeId:Ao,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:ct};return a?(ic(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=Ge(n)?8:16),js>0&&!o&&kt&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&kt.push(l),l}const ye=Gv;function Gv(e,t=null,n=null,r=0,s=null,i=!1){if((!e||e===dv)&&(e=dr),Ga(e)){const a=Br(e,t,!0);return n&&ic(a,n),js>0&&!i&&kt&&(a.shapeFlag&6?kt[kt.indexOf(e)]=a:kt.push(a)),a.patchFlag=-2,a}if(ib(e)&&(e=e.__vccOpts),t){t=qv(t);let{class:a,style:l}=t;a&&!Ge(a)&&(t.class=Nt(a)),Fe(l)&&(Dm(l)&&!ce(l)&&(l=Ze({},l)),t.style=Zn(l))}const o=Ge(e)?1:hv(e)?128:Kv(e)?64:Fe(e)?4:he(e)?2:0;return k(e,t,n,r,s,o,i,!0)}function qv(e){return e?Dm(e)||Jm(e)?Ze({},e):e:null}function Br(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:a,transition:l}=e,u=t?Xv(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&dh(u),ref:t&&t.ref?n&&i?ce(i)?i.concat(ji(t)):[i,ji(t)]:ji(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==lt?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Br(e.ssContent),ssFallback:e.ssFallback&&Br(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&ch(c,l.clone(c)),c}function Ye(e=" ",t=0){return ye(Js,null,e,t)}function Nn(e="",t=!1){return t?(Oe(),fh(dr,null,e)):ye(dr,null,e)}function Wt(e){return e==null||typeof e=="boolean"?ye(dr):ce(e)?ye(lt,null,e.slice()):typeof e=="object"?Tn(e):ye(Js,null,String(e))}function Tn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Br(e)}function ic(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ce(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),ic(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Jm(t)?t._ctx=ct:s===3&&ct&&(ct.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else he(t)?(t={default:t,_ctx:ct},n=32):(t=String(t),r&64?(n=16,t=[Ye(t)]):n=8);e.children=t,e.shapeFlag|=n}function Xv(...e){const t={};for(let n=0;nJe||ct;let eo,qa;{const e=vm(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};eo=t("__VUE_INSTANCE_SETTERS__",n=>Je=n),qa=t("__VUE_SSR_SETTERS__",n=>So=n)}const Qs=e=>{const t=Je;return eo(e),e.scope.on(),()=>{e.scope.off(),eo(t)}},wu=()=>{Je&&Je.scope.off(),eo(null)};function mh(e){return e.vnode.shapeFlag&4}let So=!1;function eb(e,t=!1){t&&qa(t);const{props:n,children:r}=e.vnode,s=mh(e);Pv(e,n,s,t),kv(e,r);const i=s?tb(e,t):void 0;return t&&qa(!1),i}function tb(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,wv);const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?rb(e):null,i=Qs(e);Un();const o=Pn(r,e,0,[e.props,s]);if(Hn(),i(),hm(o)){if(o.then(wu,wu),t)return o.then(a=>{Au(e,a,t)}).catch(a=>{Eo(a,e,0)});e.asyncDep=o}else Au(e,o,t)}else hh(e,t)}function Au(e,t,n){he(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Fe(t)&&(e.setupState=Um(t)),hh(e,n)}let Tu;function hh(e,t,n){const r=e.type;if(!e.render){if(!t&&Tu&&!r.render){const s=r.template||rc(e).template;if(s){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:a,compilerOptions:l}=r,u=Ze(Ze({isCustomElement:i,delimiters:a},o),l);r.render=Tu(s,u)}}e.render=r.render||Ct}{const s=Qs(e);Un();try{Av(e)}finally{Hn(),s()}}}const nb={get(e,t){return _t(e,"get",""),e[t]}};function rb(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,nb),slots:e.slots,emit:e.emit,expose:t}}function Co(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Um(ql(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in As)return As[n](e)},has(t,n){return n in t||n in As}})):e.proxy}function sb(e,t=!0){return he(e)?e.displayName||e.name:e.name||t&&e.__name}function ib(e){return he(e)&&"__vccOpts"in e}const ne=(e,t)=>z_(e,t,So);function Zs(e,t,n){const r=arguments.length;return r===2?Fe(t)&&!ce(t)?Ga(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ga(n)&&(n=[n]),ye(e,t,n))}const ob="3.4.29";/** +* @vue/runtime-dom v3.4.29 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const ab="http://www.w3.org/2000/svg",lb="http://www.w3.org/1998/Math/MathML",nn=typeof document<"u"?document:null,Ou=nn&&nn.createElement("template"),cb={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?nn.createElementNS(ab,e):t==="mathml"?nn.createElementNS(lb,e):n?nn.createElement(e,{is:n}):nn.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>nn.createTextNode(e),createComment:e=>nn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>nn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,i){const o=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{Ou.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const a=Ou.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ub=Symbol("_vtc");function fb(e,t,n){const r=e[ub];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Su=Symbol("_vod"),db=Symbol("_vsh"),mb=Symbol(""),hb=/(^|;)\s*display\s*:/;function pb(e,t,n){const r=e.style,s=Ge(n);let i=!1;if(n&&!s){if(t)if(Ge(t))for(const o of t.split(";")){const a=o.slice(0,o.indexOf(":")).trim();n[a]==null&&Ui(r,a,"")}else for(const o in t)n[o]==null&&Ui(r,o,"");for(const o in n)o==="display"&&(i=!0),Ui(r,o,n[o])}else if(s){if(t!==n){const o=r[mb];o&&(n+=";"+o),r.cssText=n,i=hb.test(n)}}else t&&e.removeAttribute("style");Su in e&&(e[Su]=i?r.display:"",e[db]&&(r.display="none"))}const Cu=/\s*!important$/;function Ui(e,t,n){if(ce(n))n.forEach(r=>Ui(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=gb(e,t);Cu.test(n)?e.setProperty(rs(r),n.replace(Cu,""),"important"):e[r]=n}}const Nu=["Webkit","Moz","ms"],sa={};function gb(e,t){const n=sa[t];if(n)return n;let r=Xt(t);if(r!=="filter"&&r in e)return sa[t]=r;r=bo(r);for(let s=0;sia||(Eb.then(()=>ia=0),ia=Date.now());function Ab(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Mt(Tb(r,n.value),t,5,[r])};return n.value=e,n.attached=wb(),n}function Tb(e,t){if(ce(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const xu=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ob=(e,t,n,r,s,i,o,a,l)=>{const u=s==="svg";t==="class"?fb(e,r,u):t==="style"?pb(e,n,r):go(t)?jl(t)||bb(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Sb(e,t,r,u))?(_b(e,t,r,i,o,a,l),(t==="value"||t==="checked"||t==="selected")&&Iu(e,t,r,u,o,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Iu(e,t,r,u))};function Sb(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&xu(t)&&he(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return xu(t)&&Ge(n)?!1:t in e}const ku=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ce(t)?n=>Di(t,n):t};function Cb(e){e.target.composing=!0}function $u(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const oa=Symbol("_assign"),Os={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[oa]=ku(s);const i=r||s.props&&s.props.type==="number";Cr(e,t?"change":"input",o=>{if(o.target.composing)return;let a=e.value;n&&(a=a.trim()),i&&(a=Fa(a)),e[oa](a)}),n&&Cr(e,"change",()=>{e.value=e.value.trim()}),t||(Cr(e,"compositionstart",Cb),Cr(e,"compositionend",$u),Cr(e,"change",$u))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:i}},o){if(e[oa]=ku(o),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?Fa(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l))}},Nb=Ze({patchProp:Ob},cb);let Du;function Lb(){return Du||(Du=Dv(Nb))}const Ib=(...e)=>{const t=Lb().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Rb(r);if(!s)return;const i=t._component;!he(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.innerHTML="";const o=n(s,!1,Pb(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t};function Pb(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Rb(e){return Ge(e)?document.querySelector(e):e}var xb=!1;/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let ph;const No=e=>ph=e,gh=Symbol();function Xa(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ss;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ss||(Ss={}));function kb(){const e=Vl(!0),t=e.run(()=>ge({}));let n=[],r=[];const s=ql({install(i){No(s),s._a=i,i.provide(gh,s),i.config.globalProperties.$pinia=s,r.forEach(o=>n.push(o)),r=[]},use(i){return!this._a&&!xb?r.push(i):n.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const _h=()=>{};function Mu(e,t,n,r=_h){e.push(t);const s=()=>{const i=e.indexOf(t);i>-1&&(e.splice(i,1),r())};return!n&&wm()&&S_(s),s}function Tr(e,...t){e.slice().forEach(n=>{n(...t)})}const $b=e=>e();function Ja(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,r)=>e.set(r,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];Xa(s)&&Xa(r)&&e.hasOwnProperty(n)&&!He(r)&&!In(r)?e[n]=Ja(s,r):e[n]=r}return e}const Db=Symbol();function Mb(e){return!Xa(e)||!e.hasOwnProperty(Db)}const{assign:wn}=Object;function Fb(e){return!!(He(e)&&e.effect)}function jb(e,t,n,r){const{state:s,actions:i,getters:o}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=s?s():{});const c=X_(n.state.value[e]);return wn(c,i,Object.keys(o||{}).reduce((f,d)=>(f[d]=ql(ne(()=>{No(n);const m=n._s.get(e);return o[d].call(m,m)})),f),{}))}return l=vh(e,u,t,n,r,!0),l}function vh(e,t,n={},r,s,i){let o;const a=wn({actions:{}},n),l={deep:!0};let u,c,f=[],d=[],m;const p=r.state.value[e];!i&&!p&&(r.state.value[e]={}),ge({});let v;function y($){let P;u=c=!1,typeof $=="function"?($(r.state.value[e]),P={type:Ss.patchFunction,storeId:e,events:m}):(Ja(r.state.value[e],$),P={type:Ss.patchObject,payload:$,storeId:e,events:m});const q=v=Symbol();Ms().then(()=>{v===q&&(u=!0)}),c=!0,Tr(f,P,r.state.value[e])}const w=i?function(){const{state:P}=n,q=P?P():{};this.$patch(ie=>{wn(ie,q)})}:_h;function S(){o.stop(),f=[],d=[],r._s.delete(e)}function E($,P){return function(){No(r);const q=Array.from(arguments),ie=[],Q=[];function le(ee){ie.push(ee)}function je(ee){Q.push(ee)}Tr(d,{args:q,name:$,store:C,after:le,onError:je});let Ce;try{Ce=P.apply(this&&this.$id===e?this:C,q)}catch(ee){throw Tr(Q,ee),ee}return Ce instanceof Promise?Ce.then(ee=>(Tr(ie,ee),ee)).catch(ee=>(Tr(Q,ee),Promise.reject(ee))):(Tr(ie,Ce),Ce)}}const A={_p:r,$id:e,$onAction:Mu.bind(null,d),$patch:y,$reset:w,$subscribe($,P={}){const q=Mu(f,$,P.detached,()=>ie()),ie=o.run(()=>it(()=>r.state.value[e],Q=>{(P.flush==="sync"?c:u)&&$({storeId:e,type:Ss.direct,events:m},Q)},wn({},l,P)));return q},$dispose:S},C=Vn(A);r._s.set(e,C);const I=(r._a&&r._a.runWithContext||$b)(()=>r._e.run(()=>(o=Vl()).run(t)));for(const $ in I){const P=I[$];if(He(P)&&!Fb(P)||In(P))i||(p&&Mb(P)&&(He(P)?P.value=p[$]:Ja(P,p[$])),r.state.value[e][$]=P);else if(typeof P=="function"){const q=E($,P);I[$]=q,a.actions[$]=P}}return wn(C,I),wn(Ae(C),I),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:$=>{y(P=>{wn(P,$)})}}),r._p.forEach($=>{wn(C,o.run(()=>$({store:C,app:r._a,pinia:r,options:a})))}),p&&i&&n.hydrate&&n.hydrate(C.$state,p),u=!0,c=!0,C}function Ub(e,t,n){let r,s;const i=typeof t=="function";r=e,s=i?n:t;function o(a,l){const u=Iv();return a=a||(u?st(gh,null):null),a&&No(a),a=ph,a._s.has(r)||(i?vh(r,t,s,a):jb(r,s,a)),a._s.get(r)}return o.$id=r,o}/*! + * shared v9.13.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */const to=typeof window<"u",Bn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Hb=(e,t,n)=>Vb({l:e,k:t,s:n}),Vb=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ke=e=>typeof e=="number"&&isFinite(e),Bb=e=>yh(e)==="[object Date]",xn=e=>yh(e)==="[object RegExp]",Lo=e=>fe(e)&&Object.keys(e).length===0,tt=Object.assign;let Fu;const rn=()=>Fu||(Fu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ju(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const Wb=Object.prototype.hasOwnProperty;function no(e,t){return Wb.call(e,t)}const De=Array.isArray,Re=e=>typeof e=="function",G=e=>typeof e=="string",ve=e=>typeof e=="boolean",Se=e=>e!==null&&typeof e=="object",Yb=e=>Se(e)&&Re(e.then)&&Re(e.catch),bh=Object.prototype.toString,yh=e=>bh.call(e),fe=e=>{if(!Se(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Kb=e=>e==null?"":De(e)||fe(e)&&e.toString===bh?JSON.stringify(e,null,2):String(e);function zb(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}function Io(e){let t=e;return()=>++t}function Gb(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const bi=e=>!Se(e)||De(e);function Hi(e,t){if(bi(e)||bi(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:s}=n.pop();Object.keys(r).forEach(i=>{bi(r[i])||bi(s[i])?s[i]=r[i]:n.push({src:r[i],des:s[i]})})}}/*! + * message-compiler v9.13.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */function qb(e,t,n){return{line:e,column:t,offset:n}}function ro(e,t,n){return{start:e,end:t}}const Xb=/\{([0-9a-zA-Z]+)\}/g;function Eh(e,...t){return t.length===1&&Jb(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Xb,(n,r)=>t.hasOwnProperty(r)?t[r]:"")}const wh=Object.assign,Uu=e=>typeof e=="string",Jb=e=>e!==null&&typeof e=="object";function Ah(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}const oc={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Qb={[oc.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Zb(e,t,...n){const r=Eh(Qb[e],...n||[]),s={message:String(r),code:e};return t&&(s.location=t),s}const oe={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},ey={[oe.EXPECTED_TOKEN]:"Expected token: '{0}'",[oe.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[oe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[oe.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[oe.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[oe.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[oe.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[oe.EMPTY_PLACEHOLDER]:"Empty placeholder",[oe.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[oe.INVALID_LINKED_FORMAT]:"Invalid linked format",[oe.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[oe.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[oe.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[oe.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[oe.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[oe.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function is(e,t,n={}){const{domain:r,messages:s,args:i}=n,o=Eh((s||ey)[e]||"",...i||[]),a=new SyntaxError(String(o));return a.code=e,t&&(a.location=t),a.domain=r,a}function ty(e){throw e}const Zt=" ",ny="\r",at=` +`,ry="\u2028",sy="\u2029";function iy(e){const t=e;let n=0,r=1,s=1,i=0;const o=I=>t[I]===ny&&t[I+1]===at,a=I=>t[I]===at,l=I=>t[I]===sy,u=I=>t[I]===ry,c=I=>o(I)||a(I)||l(I)||u(I),f=()=>n,d=()=>r,m=()=>s,p=()=>i,v=I=>o(I)||l(I)||u(I)?at:t[I],y=()=>v(n),w=()=>v(n+i);function S(){return i=0,c(n)&&(r++,s=0),o(n)&&n++,n++,s++,t[n]}function E(){return o(n+i)&&i++,i++,t[n+i]}function A(){n=0,r=1,s=1,i=0}function C(I=0){i=I}function O(){const I=n+i;for(;I!==n;)S();i=0}return{index:f,line:d,column:m,peekOffset:p,charAt:v,currentChar:y,currentPeek:w,next:S,peek:E,reset:A,resetPeek:C,skipToPeek:O}}const _n=void 0,oy=".",Hu="'",ay="tokenizer";function ly(e,t={}){const n=t.location!==!1,r=iy(e),s=()=>r.index(),i=()=>qb(r.line(),r.column(),r.index()),o=i(),a=s(),l={currentType:14,offset:a,startLoc:o,endLoc:o,lastType:14,lastOffset:a,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function f(h,_,T,...M){const K=u();if(_.column+=T,_.offset+=T,c){const U=n?ro(K.startLoc,_):null,L=is(h,U,{domain:ay,args:M});c(L)}}function d(h,_,T){h.endLoc=i(),h.currentType=_;const M={type:_};return n&&(M.loc=ro(h.startLoc,h.endLoc)),T!=null&&(M.value=T),M}const m=h=>d(h,14);function p(h,_){return h.currentChar()===_?(h.next(),_):(f(oe.EXPECTED_TOKEN,i(),0,_),"")}function v(h){let _="";for(;h.currentPeek()===Zt||h.currentPeek()===at;)_+=h.currentPeek(),h.peek();return _}function y(h){const _=v(h);return h.skipToPeek(),_}function w(h){if(h===_n)return!1;const _=h.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_===95}function S(h){if(h===_n)return!1;const _=h.charCodeAt(0);return _>=48&&_<=57}function E(h,_){const{currentType:T}=_;if(T!==2)return!1;v(h);const M=w(h.currentPeek());return h.resetPeek(),M}function A(h,_){const{currentType:T}=_;if(T!==2)return!1;v(h);const M=h.currentPeek()==="-"?h.peek():h.currentPeek(),K=S(M);return h.resetPeek(),K}function C(h,_){const{currentType:T}=_;if(T!==2)return!1;v(h);const M=h.currentPeek()===Hu;return h.resetPeek(),M}function O(h,_){const{currentType:T}=_;if(T!==8)return!1;v(h);const M=h.currentPeek()===".";return h.resetPeek(),M}function I(h,_){const{currentType:T}=_;if(T!==9)return!1;v(h);const M=w(h.currentPeek());return h.resetPeek(),M}function $(h,_){const{currentType:T}=_;if(!(T===8||T===12))return!1;v(h);const M=h.currentPeek()===":";return h.resetPeek(),M}function P(h,_){const{currentType:T}=_;if(T!==10)return!1;const M=()=>{const U=h.currentPeek();return U==="{"?w(h.peek()):U==="@"||U==="%"||U==="|"||U===":"||U==="."||U===Zt||!U?!1:U===at?(h.peek(),M()):Q(h,!1)},K=M();return h.resetPeek(),K}function q(h){v(h);const _=h.currentPeek()==="|";return h.resetPeek(),_}function ie(h){const _=v(h),T=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:T,hasSpace:_.length>0}}function Q(h,_=!0){const T=(K=!1,U="",L=!1)=>{const R=h.currentPeek();return R==="{"?U==="%"?!1:K:R==="@"||!R?U==="%"?!0:K:R==="%"?(h.peek(),T(K,"%",!0)):R==="|"?U==="%"||L?!0:!(U===Zt||U===at):R===Zt?(h.peek(),T(!0,Zt,L)):R===at?(h.peek(),T(!0,at,L)):!0},M=T();return _&&h.resetPeek(),M}function le(h,_){const T=h.currentChar();return T===_n?_n:_(T)?(h.next(),T):null}function je(h){const _=h.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36}function Ce(h){return le(h,je)}function ee(h){const _=h.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36||_===45}function ae(h){return le(h,ee)}function de(h){const _=h.charCodeAt(0);return _>=48&&_<=57}function xe(h){return le(h,de)}function pe(h){const _=h.charCodeAt(0);return _>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102}function Ee(h){return le(h,pe)}function be(h){let _="",T="";for(;_=xe(h);)T+=_;return T}function et(h){y(h);const _=h.currentChar();return _!=="%"&&f(oe.EXPECTED_TOKEN,i(),0,_),h.next(),"%"}function Be(h){let _="";for(;;){const T=h.currentChar();if(T==="{"||T==="}"||T==="@"||T==="|"||!T)break;if(T==="%")if(Q(h))_+=T,h.next();else break;else if(T===Zt||T===at)if(Q(h))_+=T,h.next();else{if(q(h))break;_+=T,h.next()}else _+=T,h.next()}return _}function We(h){y(h);let _="",T="";for(;_=ae(h);)T+=_;return h.currentChar()===_n&&f(oe.UNTERMINATED_CLOSING_BRACE,i(),0),T}function Le(h){y(h);let _="";return h.currentChar()==="-"?(h.next(),_+=`-${be(h)}`):_+=be(h),h.currentChar()===_n&&f(oe.UNTERMINATED_CLOSING_BRACE,i(),0),_}function F(h){return h!==Hu&&h!==at}function Y(h){y(h),p(h,"'");let _="",T="";for(;_=le(h,F);)_==="\\"?T+=W(h):T+=_;const M=h.currentChar();return M===at||M===_n?(f(oe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,i(),0),M===at&&(h.next(),p(h,"'")),T):(p(h,"'"),T)}function W(h){const _=h.currentChar();switch(_){case"\\":case"'":return h.next(),`\\${_}`;case"u":return J(h,_,4);case"U":return J(h,_,6);default:return f(oe.UNKNOWN_ESCAPE_SEQUENCE,i(),0,_),""}}function J(h,_,T){p(h,_);let M="";for(let K=0;K{const M=h.currentChar();return M==="{"||M==="%"||M==="@"||M==="|"||M==="("||M===")"||!M||M===Zt?T:(T+=M,h.next(),_(T))};return _("")}function N(h){y(h);const _=p(h,"|");return y(h),_}function j(h,_){let T=null;switch(h.currentChar()){case"{":return _.braceNest>=1&&f(oe.NOT_ALLOW_NEST_PLACEHOLDER,i(),0),h.next(),T=d(_,2,"{"),y(h),_.braceNest++,T;case"}":return _.braceNest>0&&_.currentType===2&&f(oe.EMPTY_PLACEHOLDER,i(),0),h.next(),T=d(_,3,"}"),_.braceNest--,_.braceNest>0&&y(h),_.inLinked&&_.braceNest===0&&(_.inLinked=!1),T;case"@":return _.braceNest>0&&f(oe.UNTERMINATED_CLOSING_BRACE,i(),0),T=D(h,_)||m(_),_.braceNest=0,T;default:{let K=!0,U=!0,L=!0;if(q(h))return _.braceNest>0&&f(oe.UNTERMINATED_CLOSING_BRACE,i(),0),T=d(_,1,N(h)),_.braceNest=0,_.inLinked=!1,T;if(_.braceNest>0&&(_.currentType===5||_.currentType===6||_.currentType===7))return f(oe.UNTERMINATED_CLOSING_BRACE,i(),0),_.braceNest=0,B(h,_);if(K=E(h,_))return T=d(_,5,We(h)),y(h),T;if(U=A(h,_))return T=d(_,6,Le(h)),y(h),T;if(L=C(h,_))return T=d(_,7,Y(h)),y(h),T;if(!K&&!U&&!L)return T=d(_,13,Te(h)),f(oe.INVALID_TOKEN_IN_PLACEHOLDER,i(),0,T.value),y(h),T;break}}return T}function D(h,_){const{currentType:T}=_;let M=null;const K=h.currentChar();switch((T===8||T===9||T===12||T===10)&&(K===at||K===Zt)&&f(oe.INVALID_LINKED_FORMAT,i(),0),K){case"@":return h.next(),M=d(_,8,"@"),_.inLinked=!0,M;case".":return y(h),h.next(),d(_,9,".");case":":return y(h),h.next(),d(_,10,":");default:return q(h)?(M=d(_,1,N(h)),_.braceNest=0,_.inLinked=!1,M):O(h,_)||$(h,_)?(y(h),D(h,_)):I(h,_)?(y(h),d(_,12,b(h))):P(h,_)?(y(h),K==="{"?j(h,_)||M:d(_,11,g(h))):(T===8&&f(oe.INVALID_LINKED_FORMAT,i(),0),_.braceNest=0,_.inLinked=!1,B(h,_))}}function B(h,_){let T={type:14};if(_.braceNest>0)return j(h,_)||m(_);if(_.inLinked)return D(h,_)||m(_);switch(h.currentChar()){case"{":return j(h,_)||m(_);case"}":return f(oe.UNBALANCED_CLOSING_BRACE,i(),0),h.next(),d(_,3,"}");case"@":return D(h,_)||m(_);default:{if(q(h))return T=d(_,1,N(h)),_.braceNest=0,_.inLinked=!1,T;const{isModulo:K,hasSpace:U}=ie(h);if(K)return U?d(_,0,Be(h)):d(_,4,et(h));if(Q(h))return d(_,0,Be(h));break}}return T}function z(){const{currentType:h,offset:_,startLoc:T,endLoc:M}=l;return l.lastType=h,l.lastOffset=_,l.lastStartLoc=T,l.lastEndLoc=M,l.offset=s(),l.startLoc=i(),r.currentChar()===_n?d(l,14):B(r,l)}return{nextToken:z,currentOffset:s,currentPosition:i,context:u}}const cy="parser",uy=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fy(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function dy(e={}){const t=e.location!==!1,{onError:n,onWarn:r}=e;function s(E,A,C,O,...I){const $=E.currentPosition();if($.offset+=O,$.column+=O,n){const P=t?ro(C,$):null,q=is(A,P,{domain:cy,args:I});n(q)}}function i(E,A,C,O,...I){const $=E.currentPosition();if($.offset+=O,$.column+=O,r){const P=t?ro(C,$):null;r(Zb(A,P,I))}}function o(E,A,C){const O={type:E};return t&&(O.start=A,O.end=A,O.loc={start:C,end:C}),O}function a(E,A,C,O){t&&(E.end=A,E.loc&&(E.loc.end=C))}function l(E,A){const C=E.context(),O=o(3,C.offset,C.startLoc);return O.value=A,a(O,E.currentOffset(),E.currentPosition()),O}function u(E,A){const C=E.context(),{lastOffset:O,lastStartLoc:I}=C,$=o(5,O,I);return $.index=parseInt(A,10),E.nextToken(),a($,E.currentOffset(),E.currentPosition()),$}function c(E,A,C){const O=E.context(),{lastOffset:I,lastStartLoc:$}=O,P=o(4,I,$);return P.key=A,C===!0&&(P.modulo=!0),E.nextToken(),a(P,E.currentOffset(),E.currentPosition()),P}function f(E,A){const C=E.context(),{lastOffset:O,lastStartLoc:I}=C,$=o(9,O,I);return $.value=A.replace(uy,fy),E.nextToken(),a($,E.currentOffset(),E.currentPosition()),$}function d(E){const A=E.nextToken(),C=E.context(),{lastOffset:O,lastStartLoc:I}=C,$=o(8,O,I);return A.type!==12?(s(E,oe.UNEXPECTED_EMPTY_LINKED_MODIFIER,C.lastStartLoc,0),$.value="",a($,O,I),{nextConsumeToken:A,node:$}):(A.value==null&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,xt(A)),$.value=A.value||"",a($,E.currentOffset(),E.currentPosition()),{node:$})}function m(E,A){const C=E.context(),O=o(7,C.offset,C.startLoc);return O.value=A,a(O,E.currentOffset(),E.currentPosition()),O}function p(E){const A=E.context(),C=o(6,A.offset,A.startLoc);let O=E.nextToken();if(O.type===9){const I=d(E);C.modifier=I.node,O=I.nextConsumeToken||E.nextToken()}switch(O.type!==10&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,xt(O)),O=E.nextToken(),O.type===2&&(O=E.nextToken()),O.type){case 11:O.value==null&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,xt(O)),C.key=m(E,O.value||"");break;case 5:O.value==null&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,xt(O)),C.key=c(E,O.value||"");break;case 6:O.value==null&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,xt(O)),C.key=u(E,O.value||"");break;case 7:O.value==null&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,xt(O)),C.key=f(E,O.value||"");break;default:{s(E,oe.UNEXPECTED_EMPTY_LINKED_KEY,A.lastStartLoc,0);const I=E.context(),$=o(7,I.offset,I.startLoc);return $.value="",a($,I.offset,I.startLoc),C.key=$,a(C,I.offset,I.startLoc),{nextConsumeToken:O,node:C}}}return a(C,E.currentOffset(),E.currentPosition()),{node:C}}function v(E){const A=E.context(),C=A.currentType===1?E.currentOffset():A.offset,O=A.currentType===1?A.endLoc:A.startLoc,I=o(2,C,O);I.items=[];let $=null,P=null;do{const Q=$||E.nextToken();switch($=null,Q.type){case 0:Q.value==null&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,xt(Q)),I.items.push(l(E,Q.value||""));break;case 6:Q.value==null&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,xt(Q)),I.items.push(u(E,Q.value||""));break;case 4:P=!0;break;case 5:Q.value==null&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,xt(Q)),I.items.push(c(E,Q.value||"",!!P)),P&&(i(E,oc.USE_MODULO_SYNTAX,A.lastStartLoc,0,xt(Q)),P=null);break;case 7:Q.value==null&&s(E,oe.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,xt(Q)),I.items.push(f(E,Q.value||""));break;case 8:{const le=p(E);I.items.push(le.node),$=le.nextConsumeToken||null;break}}}while(A.currentType!==14&&A.currentType!==1);const q=A.currentType===1?A.lastOffset:E.currentOffset(),ie=A.currentType===1?A.lastEndLoc:E.currentPosition();return a(I,q,ie),I}function y(E,A,C,O){const I=E.context();let $=O.items.length===0;const P=o(1,A,C);P.cases=[],P.cases.push(O);do{const q=v(E);$||($=q.items.length===0),P.cases.push(q)}while(I.currentType!==14);return $&&s(E,oe.MUST_HAVE_MESSAGES_IN_PLURAL,C,0),a(P,E.currentOffset(),E.currentPosition()),P}function w(E){const A=E.context(),{offset:C,startLoc:O}=A,I=v(E);return A.currentType===14?I:y(E,C,O,I)}function S(E){const A=ly(E,wh({},e)),C=A.context(),O=o(0,C.offset,C.startLoc);return t&&O.loc&&(O.loc.source=E),O.body=w(A),e.onCacheKey&&(O.cacheKey=e.onCacheKey(E)),C.currentType!==14&&s(A,oe.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,E[C.offset]||""),a(O,A.currentOffset(),A.currentPosition()),O}return{parse:S}}function xt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function my(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:i=>(n.helpers.add(i),i)}}function Vu(e,t){for(let n=0;nBu(n)),e}function Bu(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;na;function u(y,w){a.code+=y}function c(y,w=!0){const S=w?s:"";u(i?S+" ".repeat(y):S)}function f(y=!0){const w=++a.indentLevel;y&&c(w)}function d(y=!0){const w=--a.indentLevel;y&&c(w)}function m(){c(a.indentLevel)}return{context:l,push:u,indent:f,deindent:d,newline:m,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function by(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),Yr(e,t.key),t.modifier?(e.push(", "),Yr(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function yy(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let i=0;i1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let i=0;i{const n=Uu(t.mode)?t.mode:"normal",r=Uu(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,i=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,o=t.needIndent?t.needIndent:n!=="arrow",a=e.helpers||[],l=vy(e,{mode:n,filename:r,sourceMap:s,breakLineCode:i,needIndent:o});l.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(o),a.length>0&&(l.push(`const { ${Ah(a.map(f=>`${f}: _${f}`),", ")} } = ctx`),l.newline()),l.push("return "),Yr(l,e),l.deindent(o),l.push("}"),delete e.helpers;const{code:u,map:c}=l.context();return{ast:e,code:u,map:c?c.toJSON():void 0}};function Ty(e,t={}){const n=wh({},t),r=!!n.jit,s=!!n.minify,i=n.optimize==null?!0:n.optimize,a=dy(n).parse(e);return r?(i&&py(a),s&&Nr(a),{ast:a,code:""}):(hy(a,n),Ay(a,n))}/*! + * core-base v9.13.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */function Oy(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(rn().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(rn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(rn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}const Wn=[];Wn[0]={w:[0],i:[3,0],"[":[4],o:[7]};Wn[1]={w:[1],".":[2],"[":[4],o:[7]};Wn[2]={w:[2],i:[3,0],0:[3,0]};Wn[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};Wn[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};Wn[5]={"'":[4,0],o:8,l:[5,0]};Wn[6]={'"':[4,0],o:8,l:[6,0]};const Sy=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function Cy(e){return Sy.test(e)}function Ny(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function Ly(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function Iy(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:Cy(t)?Ny(t):"*"+t}function Py(e){const t=[];let n=-1,r=0,s=0,i,o,a,l,u,c,f;const d=[];d[0]=()=>{o===void 0?o=a:o+=a},d[1]=()=>{o!==void 0&&(t.push(o),o=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,r=4,d[0]();else{if(s=0,o===void 0||(o=Iy(o),o===!1))return!1;d[1]()}};function m(){const p=e[n+1];if(r===5&&p==="'"||r===6&&p==='"')return n++,a="\\"+p,d[0](),!0}for(;r!==null;)if(n++,i=e[n],!(i==="\\"&&m())){if(l=Ly(i),f=Wn[r],u=f[l]||f.l||8,u===8||(r=u[0],u[1]!==void 0&&(c=d[u[1]],c&&(a=i,c()===!1))))return;if(r===7)return t}}const Wu=new Map;function Ry(e,t){return Se(e)?e[t]:null}function xy(e,t){if(!Se(e))return null;let n=Wu.get(t);if(n||(n=Py(t),n&&Wu.set(t,n)),!n)return null;const r=n.length;let s=e,i=0;for(;ie,$y=e=>"",Dy="text",My=e=>e.length===0?"":zb(e),Fy=Kb;function Yu(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function jy(e){const t=Ke(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ke(e.named.count)||Ke(e.named.n))?Ke(e.named.count)?e.named.count:Ke(e.named.n)?e.named.n:t:t}function Uy(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Hy(e={}){const t=e.locale,n=jy(e),r=Se(e.pluralRules)&&G(t)&&Re(e.pluralRules[t])?e.pluralRules[t]:Yu,s=Se(e.pluralRules)&&G(t)&&Re(e.pluralRules[t])?Yu:void 0,i=w=>w[r(n,w.length,s)],o=e.list||[],a=w=>o[w],l=e.named||{};Ke(e.pluralIndex)&&Uy(n,l);const u=w=>l[w];function c(w){const S=Re(e.messages)?e.messages(w):Se(e.messages)?e.messages[w]:!1;return S||(e.parent?e.parent.message(w):$y)}const f=w=>e.modifiers?e.modifiers[w]:ky,d=fe(e.processor)&&Re(e.processor.normalize)?e.processor.normalize:My,m=fe(e.processor)&&Re(e.processor.interpolate)?e.processor.interpolate:Fy,p=fe(e.processor)&&G(e.processor.type)?e.processor.type:Dy,y={list:a,named:u,plural:i,linked:(w,...S)=>{const[E,A]=S;let C="text",O="";S.length===1?Se(E)?(O=E.modifier||O,C=E.type||C):G(E)&&(O=E||O):S.length===2&&(G(E)&&(O=E||O),G(A)&&(C=A||C));const I=c(w)(y),$=C==="vnode"&&De(I)&&O?I[0]:I;return O?f(O)($,C):$},message:c,type:p,interpolate:m,normalize:d,values:tt({},o,l)};return y}let Us=null;function Vy(e){Us=e}function By(e,t,n){Us&&Us.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Wy=Yy("function:translate");function Yy(e){return t=>Us&&Us.emit(e,t)}const Th=oc.__EXTEND_POINT__,Xn=Io(Th),Ky={NOT_FOUND_KEY:Th,FALLBACK_TO_TRANSLATE:Xn(),CANNOT_FORMAT_NUMBER:Xn(),FALLBACK_TO_NUMBER_FORMAT:Xn(),CANNOT_FORMAT_DATE:Xn(),FALLBACK_TO_DATE_FORMAT:Xn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Xn(),__EXTEND_POINT__:Xn()},Oh=oe.__EXTEND_POINT__,Jn=Io(Oh),$t={INVALID_ARGUMENT:Oh,INVALID_DATE_ARGUMENT:Jn(),INVALID_ISO_DATE_ARGUMENT:Jn(),NOT_SUPPORT_NON_STRING_MESSAGE:Jn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Jn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Jn(),NOT_SUPPORT_LOCALE_TYPE:Jn(),__EXTEND_POINT__:Jn()};function Kt(e){return is(e,null,void 0)}function lc(e,t){return t.locale!=null?Ku(t.locale):Ku(e.locale)}let aa;function Ku(e){if(G(e))return e;if(Re(e)){if(e.resolvedOnce&&aa!=null)return aa;if(e.constructor.name==="Function"){const t=e();if(Yb(t))throw Kt($t.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return aa=t}else throw Kt($t.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Kt($t.NOT_SUPPORT_LOCALE_TYPE)}function zy(e,t,n){return[...new Set([n,...De(t)?t:Se(t)?Object.keys(t):G(t)?[t]:[n]])]}function Sh(e,t,n){const r=G(n)?n:Kr,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let i=s.__localeChainCache.get(r);if(!i){i=[];let o=[n];for(;De(o);)o=zu(i,o,t);const a=De(t)||!fe(t)?t:t.default?t.default:null;o=G(a)?[a]:a,De(o)&&zu(i,o,!1),s.__localeChainCache.set(r,i)}return i}function zu(e,t,n){let r=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Jy(){return{upper:(e,t)=>t==="text"&&G(e)?e.toUpperCase():t==="vnode"&&Se(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&G(e)?e.toLowerCase():t==="vnode"&&Se(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&G(e)?qu(e):t==="vnode"&&Se(e)&&"__v_isVNode"in e?qu(e.children):e}}let Ch;function Xu(e){Ch=e}let Nh;function Qy(e){Nh=e}let Lh;function Zy(e){Lh=e}let Ih=null;const eE=e=>{Ih=e},tE=()=>Ih;let Ph=null;const Ju=e=>{Ph=e},nE=()=>Ph;let Qu=0;function rE(e={}){const t=Re(e.onWarn)?e.onWarn:Gb,n=G(e.version)?e.version:Xy,r=G(e.locale)||Re(e.locale)?e.locale:Kr,s=Re(r)?Kr:r,i=De(e.fallbackLocale)||fe(e.fallbackLocale)||G(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,o=fe(e.messages)?e.messages:{[s]:{}},a=fe(e.datetimeFormats)?e.datetimeFormats:{[s]:{}},l=fe(e.numberFormats)?e.numberFormats:{[s]:{}},u=tt({},e.modifiers||{},Jy()),c=e.pluralRules||{},f=Re(e.missing)?e.missing:null,d=ve(e.missingWarn)||xn(e.missingWarn)?e.missingWarn:!0,m=ve(e.fallbackWarn)||xn(e.fallbackWarn)?e.fallbackWarn:!0,p=!!e.fallbackFormat,v=!!e.unresolving,y=Re(e.postTranslation)?e.postTranslation:null,w=fe(e.processor)?e.processor:null,S=ve(e.warnHtmlMessage)?e.warnHtmlMessage:!0,E=!!e.escapeParameter,A=Re(e.messageCompiler)?e.messageCompiler:Ch,C=Re(e.messageResolver)?e.messageResolver:Nh||Ry,O=Re(e.localeFallbacker)?e.localeFallbacker:Lh||zy,I=Se(e.fallbackContext)?e.fallbackContext:void 0,$=e,P=Se($.__datetimeFormatters)?$.__datetimeFormatters:new Map,q=Se($.__numberFormatters)?$.__numberFormatters:new Map,ie=Se($.__meta)?$.__meta:{};Qu++;const Q={version:n,cid:Qu,locale:r,fallbackLocale:i,messages:o,modifiers:u,pluralRules:c,missing:f,missingWarn:d,fallbackWarn:m,fallbackFormat:p,unresolving:v,postTranslation:y,processor:w,warnHtmlMessage:S,escapeParameter:E,messageCompiler:A,messageResolver:C,localeFallbacker:O,fallbackContext:I,onWarn:t,__meta:ie};return Q.datetimeFormats=a,Q.numberFormats=l,Q.__datetimeFormatters=P,Q.__numberFormatters=q,__INTLIFY_PROD_DEVTOOLS__&&By(Q,n,ie),Q}function cc(e,t,n,r,s){const{missing:i,onWarn:o}=e;if(i!==null){const a=i(e,n,t,s);return G(a)?a:t}else return t}function hs(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function sE(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function iE(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;roE(n,e)}function oE(e,t){const n=t.b||t.body;if((n.t||n.type)===1){const r=n,s=r.c||r.cases;return e.plural(s.reduce((i,o)=>[...i,Zu(e,o)],[]))}else return Zu(e,n)}function Zu(e,t){const n=t.s||t.static;if(n)return e.type==="text"?n:e.normalize([n]);{const r=(t.i||t.items).reduce((s,i)=>[...s,Qa(e,i)],[]);return e.normalize(r)}}function Qa(e,t){const n=t.t||t.type;switch(n){case 3:{const r=t;return r.v||r.value}case 9:{const r=t;return r.v||r.value}case 4:{const r=t;return e.interpolate(e.named(r.k||r.key))}case 5:{const r=t;return e.interpolate(e.list(r.i!=null?r.i:r.index))}case 6:{const r=t,s=r.m||r.modifier;return e.linked(Qa(e,r.k||r.key),s?Qa(e,s):void 0,e.type)}case 7:{const r=t;return r.v||r.value}case 8:{const r=t;return r.v||r.value}default:throw new Error(`unhandled node type on format message part: ${n}`)}}const Rh=e=>e;let xr=Object.create(null);const zr=e=>Se(e)&&(e.t===0||e.type===0)&&("b"in e||"body"in e);function xh(e,t={}){let n=!1;const r=t.onError||ty;return t.onError=s=>{n=!0,r(s)},{...Ty(e,t),detectError:n}}const aE=(e,t)=>{if(!G(e))throw Kt($t.NOT_SUPPORT_NON_STRING_MESSAGE);{ve(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||Rh)(e),s=xr[r];if(s)return s;const{code:i,detectError:o}=xh(e,t),a=new Function(`return ${i}`)();return o?a:xr[r]=a}};function lE(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&G(e)){ve(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||Rh)(e),s=xr[r];if(s)return s;const{ast:i,detectError:o}=xh(e,{...t,location:!1,jit:!0}),a=la(i);return o?a:xr[r]=a}else{const n=e.cacheKey;if(n){const r=xr[n];return r||(xr[n]=la(e))}else return la(e)}}const ef=()=>"",St=e=>Re(e);function tf(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,messageCompiler:i,fallbackLocale:o,messages:a}=e,[l,u]=Za(...t),c=ve(u.missingWarn)?u.missingWarn:e.missingWarn,f=ve(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=ve(u.escapeParameter)?u.escapeParameter:e.escapeParameter,m=!!u.resolvedMessage,p=G(u.default)||ve(u.default)?ve(u.default)?i?l:()=>l:u.default:n?i?l:()=>l:"",v=n||p!=="",y=lc(e,u);d&&cE(u);let[w,S,E]=m?[l,y,a[y]||{}]:kh(e,l,y,o,f,c),A=w,C=l;if(!m&&!(G(A)||zr(A)||St(A))&&v&&(A=p,C=A),!m&&(!(G(A)||zr(A)||St(A))||!G(S)))return s?Po:l;let O=!1;const I=()=>{O=!0},$=St(A)?A:$h(e,l,S,A,C,I);if(O)return A;const P=dE(e,S,E,u),q=Hy(P),ie=uE(e,$,q),Q=r?r(ie,l):ie;if(__INTLIFY_PROD_DEVTOOLS__){const le={timestamp:Date.now(),key:G(l)?l:St(A)?A.key:"",locale:S||(St(A)?A.locale:""),format:G(A)?A:St(A)?A.source:"",message:Q};le.meta=tt({},e.__meta,tE()||{}),Wy(le)}return Q}function cE(e){De(e.list)?e.list=e.list.map(t=>G(t)?ju(t):t):Se(e.named)&&Object.keys(e.named).forEach(t=>{G(e.named[t])&&(e.named[t]=ju(e.named[t]))})}function kh(e,t,n,r,s,i){const{messages:o,onWarn:a,messageResolver:l,localeFallbacker:u}=e,c=u(e,r,n);let f={},d,m=null;const p="translate";for(let v=0;vr;return u.locale=n,u.key=t,u}const l=o(r,fE(e,n,s,r,a,i));return l.locale=n,l.key=t,l.source=r,l}function uE(e,t,n){return t(n)}function Za(...e){const[t,n,r]=e,s={};if(!G(t)&&!Ke(t)&&!St(t)&&!zr(t))throw Kt($t.INVALID_ARGUMENT);const i=Ke(t)?String(t):(St(t),t);return Ke(n)?s.plural=n:G(n)?s.default=n:fe(n)&&!Lo(n)?s.named=n:De(n)&&(s.list=n),Ke(r)?s.plural=r:G(r)?s.default=r:fe(r)&&tt(s,r),[i,s]}function fE(e,t,n,r,s,i){return{locale:t,key:n,warnHtmlMessage:s,onError:o=>{throw i&&i(o),o},onCacheKey:o=>Hb(t,n,o)}}function dE(e,t,n,r){const{modifiers:s,pluralRules:i,messageResolver:o,fallbackLocale:a,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,d={locale:t,modifiers:s,pluralRules:i,messages:m=>{let p=o(n,m);if(p==null&&c){const[,,v]=kh(c,m,t,a,l,u);p=o(v,m)}if(G(p)||zr(p)){let v=!1;const w=$h(e,m,t,p,m,()=>{v=!0});return v?ef:w}else return St(p)?p:ef}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),Ke(r.plural)&&(d.pluralIndex=r.plural),d}function nf(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:s,onWarn:i,localeFallbacker:o}=e,{__datetimeFormatters:a}=e,[l,u,c,f]=el(...t),d=ve(c.missingWarn)?c.missingWarn:e.missingWarn;ve(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const m=!!c.part,p=lc(e,c),v=o(e,s,p);if(!G(l)||l==="")return new Intl.DateTimeFormat(p,f).format(u);let y={},w,S=null;const E="datetime format";for(let O=0;O{Dh.includes(l)?o[l]=n[l]:i[l]=n[l]}),G(r)?i.locale=r:fe(r)&&(o=r),fe(s)&&(o=s),[i.key||"",a,i,o]}function rf(e,t,n){const r=e;for(const s in n){const i=`${t}__${s}`;r.__datetimeFormatters.has(i)&&r.__datetimeFormatters.delete(i)}}function sf(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:s,onWarn:i,localeFallbacker:o}=e,{__numberFormatters:a}=e,[l,u,c,f]=tl(...t),d=ve(c.missingWarn)?c.missingWarn:e.missingWarn;ve(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const m=!!c.part,p=lc(e,c),v=o(e,s,p);if(!G(l)||l==="")return new Intl.NumberFormat(p,f).format(u);let y={},w,S=null;const E="number format";for(let O=0;O{Mh.includes(l)?o[l]=n[l]:i[l]=n[l]}),G(r)?i.locale=r:fe(r)&&(o=r),fe(s)&&(o=s),[i.key||"",a,i,o]}function of(e,t,n){const r=e;for(const s in n){const i=`${t}__${s}`;r.__numberFormatters.has(i)&&r.__numberFormatters.delete(i)}}Oy();/*! + * vue-i18n v9.13.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */const mE="9.13.1";function hE(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(rn().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(rn().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(rn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(rn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(rn().__INTLIFY_PROD_DEVTOOLS__=!1)}const Fh=Ky.__EXTEND_POINT__,en=Io(Fh);en(),en(),en(),en(),en(),en(),en(),en(),en();const jh=$t.__EXTEND_POINT__,dt=Io(jh),ze={UNEXPECTED_RETURN_TYPE:jh,INVALID_ARGUMENT:dt(),MUST_BE_CALL_SETUP_TOP:dt(),NOT_INSTALLED:dt(),NOT_AVAILABLE_IN_LEGACY_MODE:dt(),REQUIRED_VALUE:dt(),INVALID_VALUE:dt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:dt(),NOT_INSTALLED_WITH_PROVIDE:dt(),UNEXPECTED_ERROR:dt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:dt(),BRIDGE_SUPPORT_VUE_2_ONLY:dt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:dt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:dt(),__EXTEND_POINT__:dt()};function Qe(e,...t){return is(e,null,void 0)}const nl=Bn("__translateVNode"),rl=Bn("__datetimeParts"),sl=Bn("__numberParts"),Uh=Bn("__setPluralRules"),Hh=Bn("__injectWithOption"),il=Bn("__dispose");function Hs(e){if(!Se(e))return e;for(const t in e)if(no(e,t))if(!t.includes("."))Se(e[t])&&Hs(e[t]);else{const n=t.split("."),r=n.length-1;let s=e,i=!1;for(let o=0;o{if("locale"in a&&"resource"in a){const{locale:l,resource:u}=a;l?(o[l]=o[l]||{},Hi(u,o[l])):Hi(u,o)}else G(a)&&Hi(JSON.parse(a),o)}),s==null&&i)for(const a in o)no(o,a)&&Hs(o[a]);return o}function Vh(e){return e.type}function Bh(e,t,n){let r=Se(t.messages)?t.messages:{};"__i18nGlobal"in n&&(r=Ro(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const s=Object.keys(r);s.length&&s.forEach(i=>{e.mergeLocaleMessage(i,r[i])});{if(Se(t.datetimeFormats)){const i=Object.keys(t.datetimeFormats);i.length&&i.forEach(o=>{e.mergeDateTimeFormat(o,t.datetimeFormats[o])})}if(Se(t.numberFormats)){const i=Object.keys(t.numberFormats);i.length&&i.forEach(o=>{e.mergeNumberFormat(o,t.numberFormats[o])})}}}function af(e){return ye(Js,null,e,0)}const lf="__INTLIFY_META__",cf=()=>[],pE=()=>!1;let uf=0;function ff(e){return(t,n,r,s)=>e(n,r,Wr()||void 0,s)}const gE=()=>{const e=Wr();let t=null;return e&&(t=Vh(e)[lf])?{[lf]:t}:null};function uc(e={},t){const{__root:n,__injectWithOption:r}=e,s=n===void 0,i=e.flatJson,o=to?ge:Jl,a=!!e.translateExistCompatible;let l=ve(e.inheritLocale)?e.inheritLocale:!0;const u=o(n&&l?n.locale.value:G(e.locale)?e.locale:Kr),c=o(n&&l?n.fallbackLocale.value:G(e.fallbackLocale)||De(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),f=o(Ro(u.value,e)),d=o(fe(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),m=o(fe(e.numberFormats)?e.numberFormats:{[u.value]:{}});let p=n?n.missingWarn:ve(e.missingWarn)||xn(e.missingWarn)?e.missingWarn:!0,v=n?n.fallbackWarn:ve(e.fallbackWarn)||xn(e.fallbackWarn)?e.fallbackWarn:!0,y=n?n.fallbackRoot:ve(e.fallbackRoot)?e.fallbackRoot:!0,w=!!e.fallbackFormat,S=Re(e.missing)?e.missing:null,E=Re(e.missing)?ff(e.missing):null,A=Re(e.postTranslation)?e.postTranslation:null,C=n?n.warnHtmlMessage:ve(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter;const I=n?n.modifiers:fe(e.modifiers)?e.modifiers:{};let $=e.pluralRules||n&&n.pluralRules,P;P=(()=>{s&&Ju(null);const L={version:mE,locale:u.value,fallbackLocale:c.value,messages:f.value,modifiers:I,pluralRules:$,missing:E===null?void 0:E,missingWarn:p,fallbackWarn:v,fallbackFormat:w,unresolving:!0,postTranslation:A===null?void 0:A,warnHtmlMessage:C,escapeParameter:O,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};L.datetimeFormats=d.value,L.numberFormats=m.value,L.__datetimeFormatters=fe(P)?P.__datetimeFormatters:void 0,L.__numberFormatters=fe(P)?P.__numberFormatters:void 0;const R=rE(L);return s&&Ju(R),R})(),hs(P,u.value,c.value);function ie(){return[u.value,c.value,f.value,d.value,m.value]}const Q=ne({get:()=>u.value,set:L=>{u.value=L,P.locale=u.value}}),le=ne({get:()=>c.value,set:L=>{c.value=L,P.fallbackLocale=c.value,hs(P,u.value,L)}}),je=ne(()=>f.value),Ce=ne(()=>d.value),ee=ne(()=>m.value);function ae(){return Re(A)?A:null}function de(L){A=L,P.postTranslation=L}function xe(){return S}function pe(L){L!==null&&(E=ff(L)),S=L,P.missing=E}const Ee=(L,R,te,se,Pe,nt)=>{ie();let vt;try{__INTLIFY_PROD_DEVTOOLS__,s||(P.fallbackContext=n?nE():void 0),vt=L(P)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(P.fallbackContext=void 0)}if(te!=="translate exists"&&Ke(vt)&&vt===Po||te==="translate exists"&&!vt){const[di,Ar]=R();return n&&y?se(n):Pe(di)}else{if(nt(vt))return vt;throw Qe(ze.UNEXPECTED_RETURN_TYPE)}};function be(...L){return Ee(R=>Reflect.apply(tf,null,[R,...L]),()=>Za(...L),"translate",R=>Reflect.apply(R.t,R,[...L]),R=>R,R=>G(R))}function et(...L){const[R,te,se]=L;if(se&&!Se(se))throw Qe(ze.INVALID_ARGUMENT);return be(R,te,tt({resolvedMessage:!0},se||{}))}function Be(...L){return Ee(R=>Reflect.apply(nf,null,[R,...L]),()=>el(...L),"datetime format",R=>Reflect.apply(R.d,R,[...L]),()=>Gu,R=>G(R))}function We(...L){return Ee(R=>Reflect.apply(sf,null,[R,...L]),()=>tl(...L),"number format",R=>Reflect.apply(R.n,R,[...L]),()=>Gu,R=>G(R))}function Le(L){return L.map(R=>G(R)||Ke(R)||ve(R)?af(String(R)):R)}const Y={normalize:Le,interpolate:L=>L,type:"vnode"};function W(...L){return Ee(R=>{let te;const se=R;try{se.processor=Y,te=Reflect.apply(tf,null,[se,...L])}finally{se.processor=null}return te},()=>Za(...L),"translate",R=>R[nl](...L),R=>[af(R)],R=>De(R))}function J(...L){return Ee(R=>Reflect.apply(sf,null,[R,...L]),()=>tl(...L),"number format",R=>R[sl](...L),cf,R=>G(R)||De(R))}function _e(...L){return Ee(R=>Reflect.apply(nf,null,[R,...L]),()=>el(...L),"datetime format",R=>R[rl](...L),cf,R=>G(R)||De(R))}function Te(L){$=L,P.pluralRules=$}function b(L,R){return Ee(()=>{if(!L)return!1;const te=G(R)?R:u.value,se=j(te),Pe=P.messageResolver(se,L);return a?Pe!=null:zr(Pe)||St(Pe)||G(Pe)},()=>[L],"translate exists",te=>Reflect.apply(te.te,te,[L,R]),pE,te=>ve(te))}function g(L){let R=null;const te=Sh(P,c.value,u.value);for(let se=0;se{l&&(u.value=L,P.locale=L,hs(P,u.value,c.value))}),it(n.fallbackLocale,L=>{l&&(c.value=L,P.fallbackLocale=L,hs(P,u.value,c.value))}));const U={id:uf,locale:Q,fallbackLocale:le,get inheritLocale(){return l},set inheritLocale(L){l=L,L&&n&&(u.value=n.locale.value,c.value=n.fallbackLocale.value,hs(P,u.value,c.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:je,get modifiers(){return I},get pluralRules(){return $||{}},get isGlobal(){return s},get missingWarn(){return p},set missingWarn(L){p=L,P.missingWarn=p},get fallbackWarn(){return v},set fallbackWarn(L){v=L,P.fallbackWarn=v},get fallbackRoot(){return y},set fallbackRoot(L){y=L},get fallbackFormat(){return w},set fallbackFormat(L){w=L,P.fallbackFormat=w},get warnHtmlMessage(){return C},set warnHtmlMessage(L){C=L,P.warnHtmlMessage=L},get escapeParameter(){return O},set escapeParameter(L){O=L,P.escapeParameter=L},t:be,getLocaleMessage:j,setLocaleMessage:D,mergeLocaleMessage:B,getPostTranslationHandler:ae,setPostTranslationHandler:de,getMissingHandler:xe,setMissingHandler:pe,[Uh]:Te};return U.datetimeFormats=Ce,U.numberFormats=ee,U.rt=et,U.te=b,U.tm=N,U.d=Be,U.n=We,U.getDateTimeFormat=z,U.setDateTimeFormat=h,U.mergeDateTimeFormat=_,U.getNumberFormat=T,U.setNumberFormat=M,U.mergeNumberFormat=K,U[Hh]=r,U[nl]=W,U[rl]=_e,U[sl]=J,U}function _E(e){const t=G(e.locale)?e.locale:Kr,n=G(e.fallbackLocale)||De(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,r=Re(e.missing)?e.missing:void 0,s=ve(e.silentTranslationWarn)||xn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,i=ve(e.silentFallbackWarn)||xn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,o=ve(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=fe(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,c=Re(e.postTranslation)?e.postTranslation:void 0,f=G(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,d=!!e.escapeParameterHtml,m=ve(e.sync)?e.sync:!0;let p=e.messages;if(fe(e.sharedMessages)){const O=e.sharedMessages;p=Object.keys(O).reduce(($,P)=>{const q=$[P]||($[P]={});return tt(q,O[P]),$},p||{})}const{__i18n:v,__root:y,__injectWithOption:w}=e,S=e.datetimeFormats,E=e.numberFormats,A=e.flatJson,C=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:p,flatJson:A,datetimeFormats:S,numberFormats:E,missing:r,missingWarn:s,fallbackWarn:i,fallbackRoot:o,fallbackFormat:a,modifiers:l,pluralRules:u,postTranslation:c,warnHtmlMessage:f,escapeParameter:d,messageResolver:e.messageResolver,inheritLocale:m,translateExistCompatible:C,__i18n:v,__root:y,__injectWithOption:w}}function ol(e={},t){{const n=uc(_E(e)),{__extender:r}=e,s={id:n.id,get locale(){return n.locale.value},set locale(i){n.locale.value=i},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(i){n.fallbackLocale.value=i},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(i){},get missing(){return n.getMissingHandler()},set missing(i){n.setMissingHandler(i)},get silentTranslationWarn(){return ve(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(i){n.missingWarn=ve(i)?!i:i},get silentFallbackWarn(){return ve(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(i){n.fallbackWarn=ve(i)?!i:i},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(i){n.fallbackFormat=i},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(i){n.setPostTranslationHandler(i)},get sync(){return n.inheritLocale},set sync(i){n.inheritLocale=i},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(i){n.warnHtmlMessage=i!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(i){n.escapeParameter=i},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(i){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...i){const[o,a,l]=i,u={};let c=null,f=null;if(!G(o))throw Qe(ze.INVALID_ARGUMENT);const d=o;return G(a)?u.locale=a:De(a)?c=a:fe(a)&&(f=a),De(l)?c=l:fe(l)&&(f=l),Reflect.apply(n.t,n,[d,c||f||{},u])},rt(...i){return Reflect.apply(n.rt,n,[...i])},tc(...i){const[o,a,l]=i,u={plural:1};let c=null,f=null;if(!G(o))throw Qe(ze.INVALID_ARGUMENT);const d=o;return G(a)?u.locale=a:Ke(a)?u.plural=a:De(a)?c=a:fe(a)&&(f=a),G(l)?u.locale=l:De(l)?c=l:fe(l)&&(f=l),Reflect.apply(n.t,n,[d,c||f||{},u])},te(i,o){return n.te(i,o)},tm(i){return n.tm(i)},getLocaleMessage(i){return n.getLocaleMessage(i)},setLocaleMessage(i,o){n.setLocaleMessage(i,o)},mergeLocaleMessage(i,o){n.mergeLocaleMessage(i,o)},d(...i){return Reflect.apply(n.d,n,[...i])},getDateTimeFormat(i){return n.getDateTimeFormat(i)},setDateTimeFormat(i,o){n.setDateTimeFormat(i,o)},mergeDateTimeFormat(i,o){n.mergeDateTimeFormat(i,o)},n(...i){return Reflect.apply(n.n,n,[...i])},getNumberFormat(i){return n.getNumberFormat(i)},setNumberFormat(i,o){n.setNumberFormat(i,o)},mergeNumberFormat(i,o){n.mergeNumberFormat(i,o)},getChoiceIndex(i,o){return-1}};return s.__extender=r,s}}const fc={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function vE({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,s)=>[...r,...s.type===lt?s.children:[s]],[]):t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},{})}function Wh(e){return lt}const bE=Xe({name:"i18n-t",props:tt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ke(e)||!isNaN(e)}},fc),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||Qt({useScope:e.scope,__useComponent:!0});return()=>{const i=Object.keys(n).filter(f=>f!=="_"),o={};e.locale&&(o.locale=e.locale),e.plural!==void 0&&(o.plural=G(e.plural)?+e.plural:e.plural);const a=vE(t,i),l=s[nl](e.keypath,a,o),u=tt({},r),c=G(e.tag)||Se(e.tag)?e.tag:Wh();return Zs(c,u,l)}}}),df=bE;function yE(e){return De(e)&&!G(e[0])}function Yh(e,t,n,r){const{slots:s,attrs:i}=t;return()=>{const o={part:!0};let a={};e.locale&&(o.locale=e.locale),G(e.format)?o.key=e.format:Se(e.format)&&(G(e.format.key)&&(o.key=e.format.key),a=Object.keys(e.format).reduce((d,m)=>n.includes(m)?tt({},d,{[m]:e.format[m]}):d,{}));const l=r(e.value,o,a);let u=[o.key];De(l)?u=l.map((d,m)=>{const p=s[d.type],v=p?p({[d.type]:d.value,index:m,parts:l}):[d.value];return yE(v)&&(v[0].key=`${d.type}-${m}`),v}):G(l)&&(u=[l]);const c=tt({},i),f=G(e.tag)||Se(e.tag)?e.tag:Wh();return Zs(f,c,u)}}const EE=Xe({name:"i18n-n",props:tt({value:{type:Number,required:!0},format:{type:[String,Object]}},fc),setup(e,t){const n=e.i18n||Qt({useScope:e.scope,__useComponent:!0});return Yh(e,t,Mh,(...r)=>n[sl](...r))}}),mf=EE,wE=Xe({name:"i18n-d",props:tt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},fc),setup(e,t){const n=e.i18n||Qt({useScope:e.scope,__useComponent:!0});return Yh(e,t,Dh,(...r)=>n[rl](...r))}}),hf=wE;function AE(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function TE(e){const t=o=>{const{instance:a,modifiers:l,value:u}=o;if(!a||!a.$)throw Qe(ze.UNEXPECTED_ERROR);const c=AE(e,a.$),f=pf(u);return[Reflect.apply(c.t,c,[...gf(f)]),c]};return{created:(o,a)=>{const[l,u]=t(a);to&&e.global===u&&(o.__i18nWatcher=it(u.locale,()=>{a.instance&&a.instance.$forceUpdate()})),o.__composer=u,o.textContent=l},unmounted:o=>{to&&o.__i18nWatcher&&(o.__i18nWatcher(),o.__i18nWatcher=void 0,delete o.__i18nWatcher),o.__composer&&(o.__composer=void 0,delete o.__composer)},beforeUpdate:(o,{value:a})=>{if(o.__composer){const l=o.__composer,u=pf(a);o.textContent=Reflect.apply(l.t,l,[...gf(u)])}},getSSRProps:o=>{const[a]=t(o);return{textContent:a}}}}function pf(e){if(G(e))return{path:e};if(fe(e)){if(!("path"in e))throw Qe(ze.REQUIRED_VALUE,"path");return e}else throw Qe(ze.INVALID_VALUE)}function gf(e){const{path:t,locale:n,args:r,choice:s,plural:i}=e,o={},a=r||{};return G(n)&&(o.locale=n),Ke(s)&&(o.plural=s),Ke(i)&&(o.plural=i),[t,a,o]}function OE(e,t,...n){const r=fe(n[0])?n[0]:{},s=!!r.useI18nComponentName;(ve(r.globalInstall)?r.globalInstall:!0)&&([s?"i18n":df.name,"I18nT"].forEach(o=>e.component(o,df)),[mf.name,"I18nN"].forEach(o=>e.component(o,mf)),[hf.name,"I18nD"].forEach(o=>e.component(o,hf))),e.directive("t",TE(t))}function SE(e,t,n){return{beforeCreate(){const r=Wr();if(!r)throw Qe(ze.UNEXPECTED_ERROR);const s=this.$options;if(s.i18n){const i=s.i18n;if(s.__i18n&&(i.__i18n=s.__i18n),i.__root=t,this===this.$root)this.$i18n=_f(e,i);else{i.__injectWithOption=!0,i.__extender=n.__vueI18nExtend,this.$i18n=ol(i);const o=this.$i18n;o.__extender&&(o.__disposer=o.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=_f(e,s);else{this.$i18n=ol({__i18n:s.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}else this.$i18n=e;s.__i18nGlobal&&Bh(t,s,s),this.$t=(...i)=>this.$i18n.t(...i),this.$rt=(...i)=>this.$i18n.rt(...i),this.$tc=(...i)=>this.$i18n.tc(...i),this.$te=(i,o)=>this.$i18n.te(i,o),this.$d=(...i)=>this.$i18n.d(...i),this.$n=(...i)=>this.$i18n.n(...i),this.$tm=i=>this.$i18n.tm(i),n.__setInstance(r,this.$i18n)},mounted(){},unmounted(){const r=Wr();if(!r)throw Qe(ze.UNEXPECTED_ERROR);const s=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,s.__disposer&&(s.__disposer(),delete s.__disposer,delete s.__extender),n.__deleteInstance(r),delete this.$i18n}}}function _f(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Uh](t.pluralizationRules||e.pluralizationRules);const n=Ro(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(r=>e.mergeLocaleMessage(r,n[r])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(r=>e.mergeDateTimeFormat(r,t.datetimeFormats[r])),t.numberFormats&&Object.keys(t.numberFormats).forEach(r=>e.mergeNumberFormat(r,t.numberFormats[r])),e}const CE=Bn("global-vue-i18n");function NE(e={},t){const n=__VUE_I18N_LEGACY_API__&&ve(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,r=ve(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,i=new Map,[o,a]=LE(e,n),l=Bn("");function u(d){return i.get(d)||null}function c(d,m){i.set(d,m)}function f(d){i.delete(d)}{const d={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return s},async install(m,...p){if(m.__VUE_I18N_SYMBOL__=l,m.provide(m.__VUE_I18N_SYMBOL__,d),fe(p[0])){const w=p[0];d.__composerExtend=w.__composerExtend,d.__vueI18nExtend=w.__vueI18nExtend}let v=null;!n&&r&&(v=FE(m,d.global)),__VUE_I18N_FULL_INSTALL__&&OE(m,d,...p),__VUE_I18N_LEGACY_API__&&n&&m.mixin(SE(a,a.__composer,d));const y=m.unmount;m.unmount=()=>{v&&v(),d.dispose(),y()}},get global(){return a},dispose(){o.stop()},__instances:i,__getInstance:u,__setInstance:c,__deleteInstance:f};return d}}function Qt(e={}){const t=Wr();if(t==null)throw Qe(ze.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Qe(ze.NOT_INSTALLED);const n=IE(t),r=RE(n),s=Vh(t),i=PE(e,s);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Qe(ze.NOT_AVAILABLE_IN_LEGACY_MODE);return DE(t,i,r,e)}if(i==="global")return Bh(r,e,s),r;if(i==="parent"){let l=xE(n,t,e.__useComponent);return l==null&&(l=r),l}const o=n;let a=o.__getInstance(t);if(a==null){const l=tt({},e);"__i18n"in s&&(l.__i18n=s.__i18n),r&&(l.__root=r),a=uc(l),o.__composerExtend&&(a[il]=o.__composerExtend(a)),$E(o,t,a),o.__setInstance(t,a)}return a}function LE(e,t,n){const r=Vl();{const s=__VUE_I18N_LEGACY_API__&&t?r.run(()=>ol(e)):r.run(()=>uc(e));if(s==null)throw Qe(ze.UNEXPECTED_ERROR);return[r,s]}}function IE(e){{const t=st(e.isCE?CE:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Qe(e.isCE?ze.NOT_INSTALLED_WITH_PROVIDE:ze.UNEXPECTED_ERROR);return t}}function PE(e,t){return Lo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function RE(e){return e.mode==="composition"?e.global:e.global.__composer}function xE(e,t,n=!1){let r=null;const s=t.root;let i=kE(t,n);for(;i!=null;){const o=e;if(e.mode==="composition")r=o.__getInstance(i);else if(__VUE_I18N_LEGACY_API__){const a=o.__getInstance(i);a!=null&&(r=a.__composer,n&&r&&!r[Hh]&&(r=null))}if(r!=null||s===i)break;i=i.parent}return r}function kE(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function $E(e,t,n){ss(()=>{},t),Oo(()=>{const r=n;e.__deleteInstance(t);const s=r[il];s&&(s(),delete r[il])},t)}function DE(e,t,n,r={}){const s=t==="local",i=Jl(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Qe(ze.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const o=ve(r.inheritLocale)?r.inheritLocale:!G(r.locale),a=ge(!s||o?n.locale.value:G(r.locale)?r.locale:Kr),l=ge(!s||o?n.fallbackLocale.value:G(r.fallbackLocale)||De(r.fallbackLocale)||fe(r.fallbackLocale)||r.fallbackLocale===!1?r.fallbackLocale:a.value),u=ge(Ro(a.value,r)),c=ge(fe(r.datetimeFormats)?r.datetimeFormats:{[a.value]:{}}),f=ge(fe(r.numberFormats)?r.numberFormats:{[a.value]:{}}),d=s?n.missingWarn:ve(r.missingWarn)||xn(r.missingWarn)?r.missingWarn:!0,m=s?n.fallbackWarn:ve(r.fallbackWarn)||xn(r.fallbackWarn)?r.fallbackWarn:!0,p=s?n.fallbackRoot:ve(r.fallbackRoot)?r.fallbackRoot:!0,v=!!r.fallbackFormat,y=Re(r.missing)?r.missing:null,w=Re(r.postTranslation)?r.postTranslation:null,S=s?n.warnHtmlMessage:ve(r.warnHtmlMessage)?r.warnHtmlMessage:!0,E=!!r.escapeParameter,A=s?n.modifiers:fe(r.modifiers)?r.modifiers:{},C=r.pluralRules||s&&n.pluralRules;function O(){return[a.value,l.value,u.value,c.value,f.value]}const I=ne({get:()=>i.value?i.value.locale.value:a.value,set:g=>{i.value&&(i.value.locale.value=g),a.value=g}}),$=ne({get:()=>i.value?i.value.fallbackLocale.value:l.value,set:g=>{i.value&&(i.value.fallbackLocale.value=g),l.value=g}}),P=ne(()=>i.value?i.value.messages.value:u.value),q=ne(()=>c.value),ie=ne(()=>f.value);function Q(){return i.value?i.value.getPostTranslationHandler():w}function le(g){i.value&&i.value.setPostTranslationHandler(g)}function je(){return i.value?i.value.getMissingHandler():y}function Ce(g){i.value&&i.value.setMissingHandler(g)}function ee(g){return O(),g()}function ae(...g){return i.value?ee(()=>Reflect.apply(i.value.t,null,[...g])):ee(()=>"")}function de(...g){return i.value?Reflect.apply(i.value.rt,null,[...g]):""}function xe(...g){return i.value?ee(()=>Reflect.apply(i.value.d,null,[...g])):ee(()=>"")}function pe(...g){return i.value?ee(()=>Reflect.apply(i.value.n,null,[...g])):ee(()=>"")}function Ee(g){return i.value?i.value.tm(g):{}}function be(g,N){return i.value?i.value.te(g,N):!1}function et(g){return i.value?i.value.getLocaleMessage(g):{}}function Be(g,N){i.value&&(i.value.setLocaleMessage(g,N),u.value[g]=N)}function We(g,N){i.value&&i.value.mergeLocaleMessage(g,N)}function Le(g){return i.value?i.value.getDateTimeFormat(g):{}}function F(g,N){i.value&&(i.value.setDateTimeFormat(g,N),c.value[g]=N)}function Y(g,N){i.value&&i.value.mergeDateTimeFormat(g,N)}function W(g){return i.value?i.value.getNumberFormat(g):{}}function J(g,N){i.value&&(i.value.setNumberFormat(g,N),f.value[g]=N)}function _e(g,N){i.value&&i.value.mergeNumberFormat(g,N)}const Te={get id(){return i.value?i.value.id:-1},locale:I,fallbackLocale:$,messages:P,datetimeFormats:q,numberFormats:ie,get inheritLocale(){return i.value?i.value.inheritLocale:o},set inheritLocale(g){i.value&&(i.value.inheritLocale=g)},get availableLocales(){return i.value?i.value.availableLocales:Object.keys(u.value)},get modifiers(){return i.value?i.value.modifiers:A},get pluralRules(){return i.value?i.value.pluralRules:C},get isGlobal(){return i.value?i.value.isGlobal:!1},get missingWarn(){return i.value?i.value.missingWarn:d},set missingWarn(g){i.value&&(i.value.missingWarn=g)},get fallbackWarn(){return i.value?i.value.fallbackWarn:m},set fallbackWarn(g){i.value&&(i.value.missingWarn=g)},get fallbackRoot(){return i.value?i.value.fallbackRoot:p},set fallbackRoot(g){i.value&&(i.value.fallbackRoot=g)},get fallbackFormat(){return i.value?i.value.fallbackFormat:v},set fallbackFormat(g){i.value&&(i.value.fallbackFormat=g)},get warnHtmlMessage(){return i.value?i.value.warnHtmlMessage:S},set warnHtmlMessage(g){i.value&&(i.value.warnHtmlMessage=g)},get escapeParameter(){return i.value?i.value.escapeParameter:E},set escapeParameter(g){i.value&&(i.value.escapeParameter=g)},t:ae,getPostTranslationHandler:Q,setPostTranslationHandler:le,getMissingHandler:je,setMissingHandler:Ce,rt:de,d:xe,n:pe,tm:Ee,te:be,getLocaleMessage:et,setLocaleMessage:Be,mergeLocaleMessage:We,getDateTimeFormat:Le,setDateTimeFormat:F,mergeDateTimeFormat:Y,getNumberFormat:W,setNumberFormat:J,mergeNumberFormat:_e};function b(g){g.locale.value=a.value,g.fallbackLocale.value=l.value,Object.keys(u.value).forEach(N=>{g.mergeLocaleMessage(N,u.value[N])}),Object.keys(c.value).forEach(N=>{g.mergeDateTimeFormat(N,c.value[N])}),Object.keys(f.value).forEach(N=>{g.mergeNumberFormat(N,f.value[N])}),g.escapeParameter=E,g.fallbackFormat=v,g.fallbackRoot=p,g.fallbackWarn=m,g.missingWarn=d,g.warnHtmlMessage=S}return tc(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Qe(ze.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const g=i.value=e.proxy.$i18n.__composer;t==="global"?(a.value=g.locale.value,l.value=g.fallbackLocale.value,u.value=g.messages.value,c.value=g.datetimeFormats.value,f.value=g.numberFormats.value):s&&b(g)}),Te}const ME=["locale","fallbackLocale","availableLocales"],vf=["t","rt","d","n","tm","te"];function FE(e,t){const n=Object.create(null);return ME.forEach(s=>{const i=Object.getOwnPropertyDescriptor(t,s);if(!i)throw Qe(ze.UNEXPECTED_ERROR);const o=He(i.value)?{get(){return i.value.value},set(a){i.value.value=a}}:{get(){return i.get&&i.get()}};Object.defineProperty(n,s,o)}),e.config.globalProperties.$i18n=n,vf.forEach(s=>{const i=Object.getOwnPropertyDescriptor(t,s);if(!i||!i.value)throw Qe(ze.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,i)}),()=>{delete e.config.globalProperties.$i18n,vf.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}hE();__INTLIFY_JIT_COMPILATION__?Xu(lE):Xu(aE);Qy(xy);Zy(Sh);if(__INTLIFY_PROD_DEVTOOLS__){const e=rn();e.__INTLIFY__=!0,Vy(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}/*! + * vue-router v4.3.3 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const Lr=typeof document<"u";function jE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Ne=Object.assign;function ca(e,t){const n={};for(const r in t){const s=t[r];n[r]=jt(s)?s.map(e):e(s)}return n}const Cs=()=>{},jt=Array.isArray,Kh=/#/g,UE=/&/g,HE=/\//g,VE=/=/g,BE=/\?/g,zh=/\+/g,WE=/%5B/g,YE=/%5D/g,Gh=/%5E/g,KE=/%60/g,qh=/%7B/g,zE=/%7C/g,Xh=/%7D/g,GE=/%20/g;function dc(e){return encodeURI(""+e).replace(zE,"|").replace(WE,"[").replace(YE,"]")}function qE(e){return dc(e).replace(qh,"{").replace(Xh,"}").replace(Gh,"^")}function al(e){return dc(e).replace(zh,"%2B").replace(GE,"+").replace(Kh,"%23").replace(UE,"%26").replace(KE,"`").replace(qh,"{").replace(Xh,"}").replace(Gh,"^")}function XE(e){return al(e).replace(VE,"%3D")}function JE(e){return dc(e).replace(Kh,"%23").replace(BE,"%3F")}function QE(e){return e==null?"":JE(e).replace(HE,"%2F")}function Vs(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const ZE=/\/$/,e1=e=>e.replace(ZE,"");function ua(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),i=t.slice(l+1,a>-1?a:t.length),s=e(i)),a>-1&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=s1(r??t,n),{fullPath:r+(i&&"?")+i+o,path:r,query:s,hash:Vs(o)}}function t1(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function bf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function n1(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&Gr(t.matched[r],n.matched[s])&&Jh(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Gr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Jh(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!r1(e[n],t[n]))return!1;return!0}function r1(e,t){return jt(e)?yf(e,t):jt(t)?yf(t,e):e===t}function yf(e,t){return jt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function s1(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o).join("/")}var Bs;(function(e){e.pop="pop",e.push="push"})(Bs||(Bs={}));var Ns;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Ns||(Ns={}));function i1(e){if(!e)if(Lr){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),e1(e)}const o1=/^[^#]+#/;function a1(e,t){return e.replace(o1,"#")+t}function l1(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const xo=()=>({left:window.scrollX,top:window.scrollY});function c1(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=l1(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Ef(e,t){return(history.state?history.state.position-t:-1)+e}const ll=new Map;function u1(e,t){ll.set(e,t)}function f1(e){const t=ll.get(e);return ll.delete(e),t}let d1=()=>location.protocol+"//"+location.host;function Qh(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let a=s.includes(e.slice(i))?e.slice(i).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),bf(l,"")}return bf(n,e)+r+s}function m1(e,t,n,r){let s=[],i=[],o=null;const a=({state:d})=>{const m=Qh(e,location),p=n.value,v=t.value;let y=0;if(d){if(n.value=m,t.value=d,o&&o===p){o=null;return}y=v?d.position-v.position:0}else r(m);s.forEach(w=>{w(n.value,p,{delta:y,type:Bs.pop,direction:y?y>0?Ns.forward:Ns.back:Ns.unknown})})};function l(){o=n.value}function u(d){s.push(d);const m=()=>{const p=s.indexOf(d);p>-1&&s.splice(p,1)};return i.push(m),m}function c(){const{history:d}=window;d.state&&d.replaceState(Ne({},d.state,{scroll:xo()}),"")}function f(){for(const d of i)d();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:l,listen:u,destroy:f}}function wf(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?xo():null}}function h1(e){const{history:t,location:n}=window,r={value:Qh(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:d1()+e+l;try{t[c?"replaceState":"pushState"](u,"",d),s.value=u}catch(m){console.error(m),n[c?"replace":"assign"](d)}}function o(l,u){const c=Ne({},t.state,wf(s.value.back,l,s.value.forward,!0),u,{position:s.value.position});i(l,c,!0),r.value=l}function a(l,u){const c=Ne({},s.value,t.state,{forward:l,scroll:xo()});i(c.current,c,!0);const f=Ne({},wf(r.value,l,null),{position:c.position+1},u);i(l,f,!1),r.value=l}return{location:r,state:s,push:a,replace:o}}function p1(e){e=i1(e);const t=h1(e),n=m1(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=Ne({location:"",base:e,go:r,createHref:a1.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function g1(e){return typeof e=="string"||e&&typeof e=="object"}function Zh(e){return typeof e=="string"||typeof e=="symbol"}const vn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},ep=Symbol("");var Af;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Af||(Af={}));function qr(e,t){return Ne(new Error,{type:e,[ep]:!0},t)}function tn(e,t){return e instanceof Error&&ep in e&&(t==null||!!(e.type&t))}const Tf="[^/]+?",_1={sensitive:!1,strict:!1,start:!0,end:!0},v1=/[.+*?^${}()[\]/\\]/g;function b1(e,t){const n=Ne({},_1,t),r=[];let s=n.start?"^":"";const i=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(s+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function tp(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const E1={type:0,value:""},w1=/[a-zA-Z0-9_]/;function A1(e){if(!e)return[[]];if(e==="/")return[[E1]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${u}": ${m}`)}let n=0,r=n;const s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,l,u="",c="";function f(){u&&(n===0?i.push({type:0,value:u}):n===1||n===2||n===3?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;a{o(S)}:Cs}function o(c){if(Zh(c)){const f=r.get(c);f&&(r.delete(c),n.splice(n.indexOf(f),1),f.children.forEach(o),f.alias.forEach(o))}else{const f=n.indexOf(c);f>-1&&(n.splice(f,1),c.record.name&&r.delete(c.record.name),c.children.forEach(o),c.alias.forEach(o))}}function a(){return n}function l(c){const f=L1(c,n);n.splice(f,0,c),c.record.name&&!Cf(c)&&r.set(c.record.name,c)}function u(c,f){let d,m={},p,v;if("name"in c&&c.name){if(d=r.get(c.name),!d)throw qr(1,{location:c});v=d.record.name,m=Ne(Sf(f.params,d.keys.filter(S=>!S.optional).concat(d.parent?d.parent.keys.filter(S=>S.optional):[]).map(S=>S.name)),c.params&&Sf(c.params,d.keys.map(S=>S.name))),p=d.stringify(m)}else if(c.path!=null)p=c.path,d=n.find(S=>S.re.test(p)),d&&(m=d.parse(p),v=d.record.name);else{if(d=f.name?r.get(f.name):n.find(S=>S.re.test(f.path)),!d)throw qr(1,{location:c,currentLocation:f});v=d.record.name,m=Ne({},f.params,c.params),p=d.stringify(m)}const y=[];let w=d;for(;w;)y.unshift(w.record),w=w.parent;return{name:v,path:p,params:m,matched:y,meta:N1(y)}}return e.forEach(c=>i(c)),{addRoute:i,resolve:u,removeRoute:o,getRoutes:a,getRecordMatcher:s}}function Sf(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function S1(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:C1(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function C1(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Cf(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function N1(e){return e.reduce((t,n)=>Ne(t,n.meta),{})}function Nf(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function L1(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;tp(e,t[i])<0?r=i:n=i+1}const s=I1(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function I1(e){let t=e;for(;t=t.parent;)if(np(t)&&tp(e,t)===0)return t}function np({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function P1(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;si&&al(i)):[r&&al(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function R1(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=jt(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const x1=Symbol(""),If=Symbol(""),mc=Symbol(""),hc=Symbol(""),cl=Symbol("");function ps(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function On(e,t,n,r,s,i=o=>o()){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const u=d=>{d===!1?l(qr(4,{from:n,to:t})):d instanceof Error?l(d):g1(d)?l(qr(2,{from:t,to:d})):(o&&r.enterCallbacks[s]===o&&typeof d=="function"&&o.push(d),a())},c=i(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>l(d))})}function fa(e,t,n,r,s=i=>i()){const i=[];for(const o of e)for(const a in o.components){let l=o.components[a];if(!(t!=="beforeRouteEnter"&&!o.instances[a]))if(k1(l)){const c=(l.__vccOpts||l)[t];c&&i.push(On(c,n,r,o,a,s))}else{let u=l();i.push(()=>u.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${o.path}"`));const f=jE(c)?c.default:c;o.components[a]=f;const m=(f.__vccOpts||f)[t];return m&&On(m,n,r,o,a,s)()}))}}return i}function k1(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Pf(e){const t=st(mc),n=st(hc),r=ne(()=>{const l=V(e.to);return t.resolve(l)}),s=ne(()=>{const{matched:l}=r.value,{length:u}=l,c=l[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(Gr.bind(null,c));if(d>-1)return d;const m=Rf(l[u-2]);return u>1&&Rf(c)===m&&f[f.length-1].path!==m?f.findIndex(Gr.bind(null,l[u-2])):d}),i=ne(()=>s.value>-1&&M1(n.params,r.value.params)),o=ne(()=>s.value>-1&&s.value===n.matched.length-1&&Jh(n.params,r.value.params));function a(l={}){return D1(l)?t[V(e.replace)?"replace":"push"](V(e.to)).catch(Cs):Promise.resolve()}return{route:r,href:ne(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}const $1=Xe({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Pf,setup(e,{slots:t}){const n=Vn(Pf(e)),{options:r}=st(mc),s=ne(()=>({[xf(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xf(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:Zs("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),tr=$1;function D1(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function M1(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!jt(s)||s.length!==r.length||r.some((i,o)=>i!==s[o]))return!1}return!0}function Rf(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xf=(e,t,n)=>e??t??n,F1=Xe({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=st(cl),s=ne(()=>e.route||r.value),i=st(If,0),o=ne(()=>{let u=V(i);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),a=ne(()=>s.value.matched[o.value]);cr(If,ne(()=>o.value+1)),cr(x1,a),cr(cl,s);const l=ge();return it(()=>[l.value,a.value,e.name],([u,c,f],[d,m,p])=>{c&&(c.instances[f]=u,m&&m!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=m.leaveGuards),c.updateGuards.size||(c.updateGuards=m.updateGuards))),u&&c&&(!m||!Gr(c,m)||!d)&&(c.enterCallbacks[f]||[]).forEach(v=>v(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=a.value,d=f&&f.components[c];if(!d)return kf(n.default,{Component:d,route:u});const m=f.props[c],p=m?m===!0?u.params:typeof m=="function"?m(u):m:null,y=Zs(d,Ne({},p,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(f.instances[c]=null)},ref:l}));return kf(n.default,{Component:y,route:u})||y}}});function kf(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const rp=F1;function j1(e){const t=O1(e.routes,e),n=e.parseQuery||P1,r=e.stringifyQuery||Lf,s=e.history,i=ps(),o=ps(),a=ps(),l=Jl(vn);let u=vn;Lr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=ca.bind(null,F=>""+F),f=ca.bind(null,QE),d=ca.bind(null,Vs);function m(F,Y){let W,J;return Zh(F)?(W=t.getRecordMatcher(F),J=Y):J=F,t.addRoute(J,W)}function p(F){const Y=t.getRecordMatcher(F);Y&&t.removeRoute(Y)}function v(){return t.getRoutes().map(F=>F.record)}function y(F){return!!t.getRecordMatcher(F)}function w(F,Y){if(Y=Ne({},Y||l.value),typeof F=="string"){const g=ua(n,F,Y.path),N=t.resolve({path:g.path},Y),j=s.createHref(g.fullPath);return Ne(g,N,{params:d(N.params),hash:Vs(g.hash),redirectedFrom:void 0,href:j})}let W;if(F.path!=null)W=Ne({},F,{path:ua(n,F.path,Y.path).path});else{const g=Ne({},F.params);for(const N in g)g[N]==null&&delete g[N];W=Ne({},F,{params:f(g)}),Y.params=f(Y.params)}const J=t.resolve(W,Y),_e=F.hash||"";J.params=c(d(J.params));const Te=t1(r,Ne({},F,{hash:qE(_e),path:J.path})),b=s.createHref(Te);return Ne({fullPath:Te,hash:_e,query:r===Lf?R1(F.query):F.query||{}},J,{redirectedFrom:void 0,href:b})}function S(F){return typeof F=="string"?ua(n,F,l.value.path):Ne({},F)}function E(F,Y){if(u!==F)return qr(8,{from:Y,to:F})}function A(F){return I(F)}function C(F){return A(Ne(S(F),{replace:!0}))}function O(F){const Y=F.matched[F.matched.length-1];if(Y&&Y.redirect){const{redirect:W}=Y;let J=typeof W=="function"?W(F):W;return typeof J=="string"&&(J=J.includes("?")||J.includes("#")?J=S(J):{path:J},J.params={}),Ne({query:F.query,hash:F.hash,params:J.path!=null?{}:F.params},J)}}function I(F,Y){const W=u=w(F),J=l.value,_e=F.state,Te=F.force,b=F.replace===!0,g=O(W);if(g)return I(Ne(S(g),{state:typeof g=="object"?Ne({},_e,g.state):_e,force:Te,replace:b}),Y||W);const N=W;N.redirectedFrom=Y;let j;return!Te&&n1(r,J,W)&&(j=qr(16,{to:N,from:J}),Ee(J,J,!0,!1)),(j?Promise.resolve(j):q(N,J)).catch(D=>tn(D)?tn(D,2)?D:pe(D):de(D,N,J)).then(D=>{if(D){if(tn(D,2))return I(Ne({replace:b},S(D.to),{state:typeof D.to=="object"?Ne({},_e,D.to.state):_e,force:Te}),Y||N)}else D=Q(N,J,!0,b,_e);return ie(N,J,D),D})}function $(F,Y){const W=E(F,Y);return W?Promise.reject(W):Promise.resolve()}function P(F){const Y=Be.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext(F):F()}function q(F,Y){let W;const[J,_e,Te]=U1(F,Y);W=fa(J.reverse(),"beforeRouteLeave",F,Y);for(const g of J)g.leaveGuards.forEach(N=>{W.push(On(N,F,Y))});const b=$.bind(null,F,Y);return W.push(b),Le(W).then(()=>{W=[];for(const g of i.list())W.push(On(g,F,Y));return W.push(b),Le(W)}).then(()=>{W=fa(_e,"beforeRouteUpdate",F,Y);for(const g of _e)g.updateGuards.forEach(N=>{W.push(On(N,F,Y))});return W.push(b),Le(W)}).then(()=>{W=[];for(const g of Te)if(g.beforeEnter)if(jt(g.beforeEnter))for(const N of g.beforeEnter)W.push(On(N,F,Y));else W.push(On(g.beforeEnter,F,Y));return W.push(b),Le(W)}).then(()=>(F.matched.forEach(g=>g.enterCallbacks={}),W=fa(Te,"beforeRouteEnter",F,Y,P),W.push(b),Le(W))).then(()=>{W=[];for(const g of o.list())W.push(On(g,F,Y));return W.push(b),Le(W)}).catch(g=>tn(g,8)?g:Promise.reject(g))}function ie(F,Y,W){a.list().forEach(J=>P(()=>J(F,Y,W)))}function Q(F,Y,W,J,_e){const Te=E(F,Y);if(Te)return Te;const b=Y===vn,g=Lr?history.state:{};W&&(J||b?s.replace(F.fullPath,Ne({scroll:b&&g&&g.scroll},_e)):s.push(F.fullPath,_e)),l.value=F,Ee(F,Y,W,b),pe()}let le;function je(){le||(le=s.listen((F,Y,W)=>{if(!We.listening)return;const J=w(F),_e=O(J);if(_e){I(Ne(_e,{replace:!0}),J).catch(Cs);return}u=J;const Te=l.value;Lr&&u1(Ef(Te.fullPath,W.delta),xo()),q(J,Te).catch(b=>tn(b,12)?b:tn(b,2)?(I(b.to,J).then(g=>{tn(g,20)&&!W.delta&&W.type===Bs.pop&&s.go(-1,!1)}).catch(Cs),Promise.reject()):(W.delta&&s.go(-W.delta,!1),de(b,J,Te))).then(b=>{b=b||Q(J,Te,!1),b&&(W.delta&&!tn(b,8)?s.go(-W.delta,!1):W.type===Bs.pop&&tn(b,20)&&s.go(-1,!1)),ie(J,Te,b)}).catch(Cs)}))}let Ce=ps(),ee=ps(),ae;function de(F,Y,W){pe(F);const J=ee.list();return J.length?J.forEach(_e=>_e(F,Y,W)):console.error(F),Promise.reject(F)}function xe(){return ae&&l.value!==vn?Promise.resolve():new Promise((F,Y)=>{Ce.add([F,Y])})}function pe(F){return ae||(ae=!F,je(),Ce.list().forEach(([Y,W])=>F?W(F):Y()),Ce.reset()),F}function Ee(F,Y,W,J){const{scrollBehavior:_e}=e;if(!Lr||!_e)return Promise.resolve();const Te=!W&&f1(Ef(F.fullPath,0))||(J||!W)&&history.state&&history.state.scroll||null;return Ms().then(()=>_e(F,Y,Te)).then(b=>b&&c1(b)).catch(b=>de(b,F,Y))}const be=F=>s.go(F);let et;const Be=new Set,We={currentRoute:l,listening:!0,addRoute:m,removeRoute:p,hasRoute:y,getRoutes:v,resolve:w,options:e,push:A,replace:C,go:be,back:()=>be(-1),forward:()=>be(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:ee.add,isReady:xe,install(F){const Y=this;F.component("RouterLink",tr),F.component("RouterView",rp),F.config.globalProperties.$router=Y,Object.defineProperty(F.config.globalProperties,"$route",{enumerable:!0,get:()=>V(l)}),Lr&&!et&&l.value===vn&&(et=!0,A(s.location).catch(_e=>{}));const W={};for(const _e in vn)Object.defineProperty(W,_e,{get:()=>l.value[_e],enumerable:!0});F.provide(mc,Y),F.provide(hc,km(W)),F.provide(cl,l);const J=F.unmount;Be.add(F),F.unmount=function(){Be.delete(F),Be.size<1&&(u=vn,le&&le(),le=null,l.value=vn,et=!1,ae=!1),J()}}};function Le(F){return F.reduce((Y,W)=>Y.then(()=>P(W)),Promise.resolve())}return We}function U1(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oGr(u,a))?r.push(a):n.push(a));const l=e.matched[o];l&&(t.matched.find(u=>Gr(u,l))||s.push(l))}return[n,r,s]}function H1(){return st(hc)}const V1=k("defs",{id:"defs2"},null,-1),B1={"inkscape:label":"Layer 1","inkscape:groupmode":"layer",id:"layer1",transform:"translate(-51.241626,-83.781469)"},Ls=Xe({__name:"IconJeobeardy",props:{height:{},width:{},bearColor:{default:"#e86a92ff"},questionmarkColor:{default:"#ffffff"}},setup(e){const t=e;return(n,r)=>(Oe(),Ie("svg",{style:Zn([{height:t.height},{width:t.width}]),width:"103.44236mm",height:"80.726883mm",viewBox:"0 0 103.44236 80.726882",version:"1.1",id:"svg5","xml:space":"preserve","inkscape:version":"1.3.2 (091e20ef0f, 2023-11-25, custom)","sodipodi:docname":"jeobeardy_logo_min.svg","xmlns:inkscape":"http://www.inkscape.org/namespaces/inkscape","xmlns:sodipodi":"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},[V1,k("g",B1,[k("path",{style:Zn(`opacity:1;fill:${t.bearColor};fill-opacity:1;stroke:${t.bearColor};stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers`),d:"m 89.597943,161.46239 c 4.957603,-11.31418 10.365454,-13.95841 18.872727,-16.46612 l -0.969,2.23271 10.17543,-3.72589 -1.44748,2.89495 c 7.77057,-2.08212 9.96019,-3.12838 17.29351,-0.22855 8.26326,-4.46932 15.33088,-3.99272 18.58862,-16.15077 0.39797,-1.48523 0.47248,-3.46705 -16.76023,-13.25582 0.6718,-1.59948 -0.64483,-6.30424 -1.44747,-7.69446 -11.87841,-11.878406 -22.82609,-9.786559 -25.14034,-11.122693 -5.10133,-2.945257 -5.77849,-9.894901 -10.741782,-10.89415 -6.64933,-1.781683 -10.639666,-0.422382 -8.015124,7.302597 -4.755054,-0.07748 -19.311199,0.225543 -19.311199,0.225543 l 4.218975,2.479364 -10.418322,0.541411 4.479459,2.526958 c -6.00567,0.93796 -10.085508,3.02646 -13.849528,6.19633 l 3.879167,3.25675 c 11.896264,-8.5256 27.407274,-7.5637 31.986403,1.85066 8.053096,14.19441 -5.364775,20.05902 -11.44594,30.07143 1.070396,5.80331 1.412146,7.38337 3.627235,11.42304 1.414891,2.45066 5.193343,11.34733 6.424889,8.53671 z",id:"path919","sodipodi:nodetypes":"sccccccccccccccccccccs"},null,4),k("path",{style:Zn(`opacity:1;fill:none;stroke:${t.questionmarkColor};stroke-width:8;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1`),d:"m 57.671788,111.83817 c 4.776043,-5.45079 12.940609,-7.24498 19.118918,-7.24498 13.656487,0 13.875779,8.51413 14.475615,10.75275 0,14.09963 -13.925936,15.13618 -10.506511,27.69217 0.653123,2.43749 0.932727,3.34729 2.242618,6.17334",id:"path2566","sodipodi:nodetypes":"ccccc"},null,4),k("ellipse",{style:Zn(`opacity:1;fill:${t.questionmarkColor};fill-opacity:1;stroke:${t.questionmarkColor};stroke-width:2.80661;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1`),id:"path2620",cy:"182.73756",cx:"-0.050881278",rx:"3.2998796",ry:"3.4343019",transform:"rotate(-29.11515)"},null,4)])],4))}}),da="theme",$f={bsName:"dark",name:"theme.dark.name",icon:["fas","moon"]},W1={bsName:"light",name:"theme.light.name",icon:["fas","sun"]},Y1={bsName:"high-contrast",name:"theme.high-contrast.name",icon:["fas","circle-half-stroke"]};function K1(){const e=ge([$f,W1,Y1]);ss(()=>{let n=localStorage.getItem(da);n==null&&(localStorage.setItem(da,"dark"),n="dark");const r=e.value.findIndex(i=>i.bsName===n);r!==-1&&(t.value=e.value[r]);const s=document.getElementsByTagName("html");s[0].dataset.bsTheme=t.value.bsName});const t=ge($f);return it(t,n=>{document.getElementsByTagName("html")[0].dataset.bsTheme=n.bsName,localStorage.setItem(da,n.bsName)}),{availableThemes:e,currentTheme:t}}const z1={class:"theme-changer"},G1={class:"dropdown"},q1={class:"btn btn-sm btn-outline-primary dropdown-toggle",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},X1={class:"dropdown-menu"},J1=["onClick"],Q1=Xe({__name:"ThemeChanger",setup(e){const{availableThemes:t,currentTheme:n}=K1();return(r,s)=>{const i=ec("FontAwesomeIcon");return Oe(),Ie("div",z1,[k("div",G1,[k("button",q1,[ye(i,{icon:V(n).icon},null,8,["icon"]),Ye(" "+ue(r.$t(V(n).name)),1)]),k("ul",X1,[(Oe(!0),Ie(lt,null,nc(V(t),o=>(Oe(),Ie("li",{key:`theme-${o.bsName}`,onClick:a=>n.value=o,role:"button"},[k("a",{class:Nt(["dropdown-item pointer",[{active:o.bsName===V(n).bsName}]])},[ye(i,{icon:o.icon},null,8,["icon"]),Ye(" "+ue(r.$t(o.name)),1)],2)],8,J1))),128))])])])}}}),Z1={class:"dropdown"},e0={class:"btn btn-sm btn-outline-primary dropdown-toggle",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},t0={class:"dropdown-menu"},n0=["onClick"],Df="locale",r0=Xe({__name:"LocaleChanger",setup(e){const t=Qt();return ss(()=>{const n=localStorage.getItem(Df);n!==null&&(t.locale.value=n)}),it(()=>t.locale.value,n=>{localStorage.setItem(Df,n)}),(n,r)=>(Oe(),Ie("div",Z1,[k("button",e0,ue(n.$t(`i18n.${n.$i18n.locale}.name`)),1),k("ul",t0,[(Oe(!0),Ie(lt,null,nc(n.$i18n.availableLocales,s=>(Oe(),Ie("li",{key:`locale-${s}`,onClick:i=>n.$i18n.locale=s,role:"button"},[k("a",{class:Nt(["dropdown-item pointer",[{active:n.$i18n.locale===s}]])},ue(n.$t(`i18n.${s}.name`)),3)],8,n0))),128))])]))}}),ko=Ub("user",()=>{const e=ge(""),t=ge(void 0),n=ge(!1),r=ne(()=>`${e.value}`);function s(o){e.value=o.username,t.value=o.profilePictureFilename,n.value=!0}function i(){e.value="",t.value=void 0,n.value=!1}return{username:e,profilePicture:t,loggedIn:n,getUserOutput:r,setUser:s,unsetUser:i}}),s0={class:"navbar navbar-expand-lg bg-dark-accented"},i0={class:"container px-5"},o0={class:"position-absolute start-0 top-50 translate-middle-y d-flex ms-3 gap-3"},a0={class:"navbar-brand rounded rounded-circle d-block d-lg-none",href:"#"},l0=k("button",{class:"navbar-toggler",type:"button","data-bs-toggle":"collapse","data-bs-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation"},[k("span",{class:"navbar-toggler-icon"})],-1),c0={class:"collapse navbar-collapse",id:"navbarSupportedContent"},u0={class:"navbar-nav mb-2 mb-lg-0 d-flex align-items-center justify-content-center w-100"},f0={class:"nav-item"},d0={class:"nav-item px-5 mx-5 rounded-5 py-2"},m0={class:"nav-item"},h0={class:"position-absolute end-0 top-50 translate-middle-y d-flex me-3"},p0={key:0},g0={key:1},_0=Xe({__name:"NavBar",setup(e){const t={HOME:"home",ABOUT:"about"},n=H1(),r=ko(),s=i=>{switch(i){default:case t.HOME:return n.name==="home";case t.ABOUT:return n.name==="about"}};return(i,o)=>(Oe(),Ie("nav",s0,[k("div",i0,[k("div",o0,[ye(Q1),ye(r0)]),k("a",a0,[ye(Ls,{height:"3.5rem",width:"3.5rem"})]),l0,k("div",c0,[k("ul",u0,[k("li",f0,[ye(V(tr),{to:"/",class:Nt(["nav-link text-light fs-3",[{active:s(t.HOME)}]]),"aria-current":s(t.HOME)?"page":!1},{default:er(()=>[Ye(ue(i.$t("nav.home")),1)]),_:1},8,["class","aria-current"])]),k("li",d0,[ye(V(tr),{to:"/",class:"nav-link py-0"},{default:er(()=>[ye(Ls,{height:"3rem",width:"4rem"})]),_:1})]),k("li",m0,[ye(V(tr),{to:"/about",class:Nt(["nav-link text-light fs-3",[{active:s(t.ABOUT)}]]),"aria-current":s(t.HOME)?"page":!1},{default:er(()=>[Ye(ue(i.$t("nav.about")),1)]),_:1},8,["class","aria-current"])])])]),k("div",h0,[V(r).loggedIn?(Oe(),Ie("div",p0,ue(V(r).getUserOutput),1)):(Oe(),Ie("div",g0,[ye(V(tr),{to:"/login",class:"btn btn-sm btn-outline-primary"},{default:er(()=>[Ye(" Login ")]),_:1})]))])])]))}});var ut="top",wt="bottom",At="right",ft="left",$o="auto",os=[ut,wt,At,ft],mr="start",Xr="end",sp="clippingParents",pc="viewport",Ir="popper",ip="reference",ul=os.reduce(function(e,t){return e.concat([t+"-"+mr,t+"-"+Xr])},[]),gc=[].concat(os,[$o]).reduce(function(e,t){return e.concat([t,t+"-"+mr,t+"-"+Xr])},[]),op="beforeRead",ap="read",lp="afterRead",cp="beforeMain",up="main",fp="afterMain",dp="beforeWrite",mp="write",hp="afterWrite",pp=[op,ap,lp,cp,up,fp,dp,mp,hp];function Jt(e){return e?(e.nodeName||"").toLowerCase():null}function Tt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function hr(e){var t=Tt(e).Element;return e instanceof t||e instanceof Element}function Lt(e){var t=Tt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function _c(e){if(typeof ShadowRoot>"u")return!1;var t=Tt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function v0(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},s=t.attributes[n]||{},i=t.elements[n];!Lt(i)||!Jt(i)||(Object.assign(i.style,r),Object.keys(s).forEach(function(o){var a=s[o];a===!1?i.removeAttribute(o):i.setAttribute(o,a===!0?"":a)}))})}function b0(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var s=t.elements[r],i=t.attributes[r]||{},o=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),a=o.reduce(function(l,u){return l[u]="",l},{});!Lt(s)||!Jt(s)||(Object.assign(s.style,a),Object.keys(i).forEach(function(l){s.removeAttribute(l)}))})}}const vc={name:"applyStyles",enabled:!0,phase:"write",fn:v0,effect:b0,requires:["computeStyles"]};function Gt(e){return e.split("-")[0]}var ur=Math.max,so=Math.min,Jr=Math.round;function fl(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function gp(){return!/^((?!chrome|android).)*safari/i.test(fl())}function Qr(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),s=1,i=1;t&&Lt(e)&&(s=e.offsetWidth>0&&Jr(r.width)/e.offsetWidth||1,i=e.offsetHeight>0&&Jr(r.height)/e.offsetHeight||1);var o=hr(e)?Tt(e):window,a=o.visualViewport,l=!gp()&&n,u=(r.left+(l&&a?a.offsetLeft:0))/s,c=(r.top+(l&&a?a.offsetTop:0))/i,f=r.width/s,d=r.height/i;return{width:f,height:d,top:c,right:u+f,bottom:c+d,left:u,x:u,y:c}}function bc(e){var t=Qr(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function _p(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&_c(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function cn(e){return Tt(e).getComputedStyle(e)}function y0(e){return["table","td","th"].indexOf(Jt(e))>=0}function Yn(e){return((hr(e)?e.ownerDocument:e.document)||window.document).documentElement}function Do(e){return Jt(e)==="html"?e:e.assignedSlot||e.parentNode||(_c(e)?e.host:null)||Yn(e)}function Mf(e){return!Lt(e)||cn(e).position==="fixed"?null:e.offsetParent}function E0(e){var t=/firefox/i.test(fl()),n=/Trident/i.test(fl());if(n&&Lt(e)){var r=cn(e);if(r.position==="fixed")return null}var s=Do(e);for(_c(s)&&(s=s.host);Lt(s)&&["html","body"].indexOf(Jt(s))<0;){var i=cn(s);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return s;s=s.parentNode}return null}function ei(e){for(var t=Tt(e),n=Mf(e);n&&y0(n)&&cn(n).position==="static";)n=Mf(n);return n&&(Jt(n)==="html"||Jt(n)==="body"&&cn(n).position==="static")?t:n||E0(e)||t}function yc(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Is(e,t,n){return ur(e,so(t,n))}function w0(e,t,n){var r=Is(e,t,n);return r>n?n:r}function vp(){return{top:0,right:0,bottom:0,left:0}}function bp(e){return Object.assign({},vp(),e)}function yp(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var A0=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,bp(typeof t!="number"?t:yp(t,os))};function T0(e){var t,n=e.state,r=e.name,s=e.options,i=n.elements.arrow,o=n.modifiersData.popperOffsets,a=Gt(n.placement),l=yc(a),u=[ft,At].indexOf(a)>=0,c=u?"height":"width";if(!(!i||!o)){var f=A0(s.padding,n),d=bc(i),m=l==="y"?ut:ft,p=l==="y"?wt:At,v=n.rects.reference[c]+n.rects.reference[l]-o[l]-n.rects.popper[c],y=o[l]-n.rects.reference[l],w=ei(i),S=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,E=v/2-y/2,A=f[m],C=S-d[c]-f[p],O=S/2-d[c]/2+E,I=Is(A,O,C),$=l;n.modifiersData[r]=(t={},t[$]=I,t.centerOffset=I-O,t)}}function O0(e){var t=e.state,n=e.options,r=n.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||_p(t.elements.popper,s)&&(t.elements.arrow=s))}const Ep={name:"arrow",enabled:!0,phase:"main",fn:T0,effect:O0,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Zr(e){return e.split("-")[1]}var S0={top:"auto",right:"auto",bottom:"auto",left:"auto"};function C0(e,t){var n=e.x,r=e.y,s=t.devicePixelRatio||1;return{x:Jr(n*s)/s||0,y:Jr(r*s)/s||0}}function Ff(e){var t,n=e.popper,r=e.popperRect,s=e.placement,i=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,f=e.isFixed,d=o.x,m=d===void 0?0:d,p=o.y,v=p===void 0?0:p,y=typeof c=="function"?c({x:m,y:v}):{x:m,y:v};m=y.x,v=y.y;var w=o.hasOwnProperty("x"),S=o.hasOwnProperty("y"),E=ft,A=ut,C=window;if(u){var O=ei(n),I="clientHeight",$="clientWidth";if(O===Tt(n)&&(O=Yn(n),cn(O).position!=="static"&&a==="absolute"&&(I="scrollHeight",$="scrollWidth")),O=O,s===ut||(s===ft||s===At)&&i===Xr){A=wt;var P=f&&O===C&&C.visualViewport?C.visualViewport.height:O[I];v-=P-r.height,v*=l?1:-1}if(s===ft||(s===ut||s===wt)&&i===Xr){E=At;var q=f&&O===C&&C.visualViewport?C.visualViewport.width:O[$];m-=q-r.width,m*=l?1:-1}}var ie=Object.assign({position:a},u&&S0),Q=c===!0?C0({x:m,y:v},Tt(n)):{x:m,y:v};if(m=Q.x,v=Q.y,l){var le;return Object.assign({},ie,(le={},le[A]=S?"0":"",le[E]=w?"0":"",le.transform=(C.devicePixelRatio||1)<=1?"translate("+m+"px, "+v+"px)":"translate3d("+m+"px, "+v+"px, 0)",le))}return Object.assign({},ie,(t={},t[A]=S?v+"px":"",t[E]=w?m+"px":"",t.transform="",t))}function N0(e){var t=e.state,n=e.options,r=n.gpuAcceleration,s=r===void 0?!0:r,i=n.adaptive,o=i===void 0?!0:i,a=n.roundOffsets,l=a===void 0?!0:a,u={placement:Gt(t.placement),variation:Zr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ff(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ff(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Ec={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:N0,data:{}};var yi={passive:!0};function L0(e){var t=e.state,n=e.instance,r=e.options,s=r.scroll,i=s===void 0?!0:s,o=r.resize,a=o===void 0?!0:o,l=Tt(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&u.forEach(function(c){c.addEventListener("scroll",n.update,yi)}),a&&l.addEventListener("resize",n.update,yi),function(){i&&u.forEach(function(c){c.removeEventListener("scroll",n.update,yi)}),a&&l.removeEventListener("resize",n.update,yi)}}const wc={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:L0,data:{}};var I0={left:"right",right:"left",bottom:"top",top:"bottom"};function Vi(e){return e.replace(/left|right|bottom|top/g,function(t){return I0[t]})}var P0={start:"end",end:"start"};function jf(e){return e.replace(/start|end/g,function(t){return P0[t]})}function Ac(e){var t=Tt(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Tc(e){return Qr(Yn(e)).left+Ac(e).scrollLeft}function R0(e,t){var n=Tt(e),r=Yn(e),s=n.visualViewport,i=r.clientWidth,o=r.clientHeight,a=0,l=0;if(s){i=s.width,o=s.height;var u=gp();(u||!u&&t==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:i,height:o,x:a+Tc(e),y:l}}function x0(e){var t,n=Yn(e),r=Ac(e),s=(t=e.ownerDocument)==null?void 0:t.body,i=ur(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=ur(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-r.scrollLeft+Tc(e),l=-r.scrollTop;return cn(s||n).direction==="rtl"&&(a+=ur(n.clientWidth,s?s.clientWidth:0)-i),{width:i,height:o,x:a,y:l}}function Oc(e){var t=cn(e),n=t.overflow,r=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+r)}function wp(e){return["html","body","#document"].indexOf(Jt(e))>=0?e.ownerDocument.body:Lt(e)&&Oc(e)?e:wp(Do(e))}function Ps(e,t){var n;t===void 0&&(t=[]);var r=wp(e),s=r===((n=e.ownerDocument)==null?void 0:n.body),i=Tt(r),o=s?[i].concat(i.visualViewport||[],Oc(r)?r:[]):r,a=t.concat(o);return s?a:a.concat(Ps(Do(o)))}function dl(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function k0(e,t){var n=Qr(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Uf(e,t,n){return t===pc?dl(R0(e,n)):hr(t)?k0(t,n):dl(x0(Yn(e)))}function $0(e){var t=Ps(Do(e)),n=["absolute","fixed"].indexOf(cn(e).position)>=0,r=n&&Lt(e)?ei(e):e;return hr(r)?t.filter(function(s){return hr(s)&&_p(s,r)&&Jt(s)!=="body"}):[]}function D0(e,t,n,r){var s=t==="clippingParents"?$0(e):[].concat(t),i=[].concat(s,[n]),o=i[0],a=i.reduce(function(l,u){var c=Uf(e,u,r);return l.top=ur(c.top,l.top),l.right=so(c.right,l.right),l.bottom=so(c.bottom,l.bottom),l.left=ur(c.left,l.left),l},Uf(e,o,r));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ap(e){var t=e.reference,n=e.element,r=e.placement,s=r?Gt(r):null,i=r?Zr(r):null,o=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(s){case ut:l={x:o,y:t.y-n.height};break;case wt:l={x:o,y:t.y+t.height};break;case At:l={x:t.x+t.width,y:a};break;case ft:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var u=s?yc(s):null;if(u!=null){var c=u==="y"?"height":"width";switch(i){case mr:l[u]=l[u]-(t[c]/2-n[c]/2);break;case Xr:l[u]=l[u]+(t[c]/2-n[c]/2);break}}return l}function es(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=r===void 0?e.placement:r,i=n.strategy,o=i===void 0?e.strategy:i,a=n.boundary,l=a===void 0?sp:a,u=n.rootBoundary,c=u===void 0?pc:u,f=n.elementContext,d=f===void 0?Ir:f,m=n.altBoundary,p=m===void 0?!1:m,v=n.padding,y=v===void 0?0:v,w=bp(typeof y!="number"?y:yp(y,os)),S=d===Ir?ip:Ir,E=e.rects.popper,A=e.elements[p?S:d],C=D0(hr(A)?A:A.contextElement||Yn(e.elements.popper),l,c,o),O=Qr(e.elements.reference),I=Ap({reference:O,element:E,strategy:"absolute",placement:s}),$=dl(Object.assign({},E,I)),P=d===Ir?$:O,q={top:C.top-P.top+w.top,bottom:P.bottom-C.bottom+w.bottom,left:C.left-P.left+w.left,right:P.right-C.right+w.right},ie=e.modifiersData.offset;if(d===Ir&&ie){var Q=ie[s];Object.keys(q).forEach(function(le){var je=[At,wt].indexOf(le)>=0?1:-1,Ce=[ut,wt].indexOf(le)>=0?"y":"x";q[le]+=Q[Ce]*je})}return q}function M0(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=n.boundary,i=n.rootBoundary,o=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?gc:l,c=Zr(r),f=c?a?ul:ul.filter(function(p){return Zr(p)===c}):os,d=f.filter(function(p){return u.indexOf(p)>=0});d.length===0&&(d=f);var m=d.reduce(function(p,v){return p[v]=es(e,{placement:v,boundary:s,rootBoundary:i,padding:o})[Gt(v)],p},{});return Object.keys(m).sort(function(p,v){return m[p]-m[v]})}function F0(e){if(Gt(e)===$o)return[];var t=Vi(e);return[jf(e),t,jf(t)]}function j0(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var s=n.mainAxis,i=s===void 0?!0:s,o=n.altAxis,a=o===void 0?!0:o,l=n.fallbackPlacements,u=n.padding,c=n.boundary,f=n.rootBoundary,d=n.altBoundary,m=n.flipVariations,p=m===void 0?!0:m,v=n.allowedAutoPlacements,y=t.options.placement,w=Gt(y),S=w===y,E=l||(S||!p?[Vi(y)]:F0(y)),A=[y].concat(E).reduce(function(Be,We){return Be.concat(Gt(We)===$o?M0(t,{placement:We,boundary:c,rootBoundary:f,padding:u,flipVariations:p,allowedAutoPlacements:v}):We)},[]),C=t.rects.reference,O=t.rects.popper,I=new Map,$=!0,P=A[0],q=0;q=0,Ce=je?"width":"height",ee=es(t,{placement:ie,boundary:c,rootBoundary:f,altBoundary:d,padding:u}),ae=je?le?At:ft:le?wt:ut;C[Ce]>O[Ce]&&(ae=Vi(ae));var de=Vi(ae),xe=[];if(i&&xe.push(ee[Q]<=0),a&&xe.push(ee[ae]<=0,ee[de]<=0),xe.every(function(Be){return Be})){P=ie,$=!1;break}I.set(ie,xe)}if($)for(var pe=p?3:1,Ee=function(We){var Le=A.find(function(F){var Y=I.get(F);if(Y)return Y.slice(0,We).every(function(W){return W})});if(Le)return P=Le,"break"},be=pe;be>0;be--){var et=Ee(be);if(et==="break")break}t.placement!==P&&(t.modifiersData[r]._skip=!0,t.placement=P,t.reset=!0)}}const Tp={name:"flip",enabled:!0,phase:"main",fn:j0,requiresIfExists:["offset"],data:{_skip:!1}};function Hf(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Vf(e){return[ut,At,wt,ft].some(function(t){return e[t]>=0})}function U0(e){var t=e.state,n=e.name,r=t.rects.reference,s=t.rects.popper,i=t.modifiersData.preventOverflow,o=es(t,{elementContext:"reference"}),a=es(t,{altBoundary:!0}),l=Hf(o,r),u=Hf(a,s,i),c=Vf(l),f=Vf(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":f})}const Op={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:U0};function H0(e,t,n){var r=Gt(e),s=[ft,ut].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,o=i[0],a=i[1];return o=o||0,a=(a||0)*s,[ft,At].indexOf(r)>=0?{x:a,y:o}:{x:o,y:a}}function V0(e){var t=e.state,n=e.options,r=e.name,s=n.offset,i=s===void 0?[0,0]:s,o=gc.reduce(function(c,f){return c[f]=H0(f,t.rects,i),c},{}),a=o[t.placement],l=a.x,u=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=o}const Sp={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:V0};function B0(e){var t=e.state,n=e.name;t.modifiersData[n]=Ap({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Sc={name:"popperOffsets",enabled:!0,phase:"read",fn:B0,data:{}};function W0(e){return e==="x"?"y":"x"}function Y0(e){var t=e.state,n=e.options,r=e.name,s=n.mainAxis,i=s===void 0?!0:s,o=n.altAxis,a=o===void 0?!1:o,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,f=n.padding,d=n.tether,m=d===void 0?!0:d,p=n.tetherOffset,v=p===void 0?0:p,y=es(t,{boundary:l,rootBoundary:u,padding:f,altBoundary:c}),w=Gt(t.placement),S=Zr(t.placement),E=!S,A=yc(w),C=W0(A),O=t.modifiersData.popperOffsets,I=t.rects.reference,$=t.rects.popper,P=typeof v=="function"?v(Object.assign({},t.rects,{placement:t.placement})):v,q=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),ie=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(i){var le,je=A==="y"?ut:ft,Ce=A==="y"?wt:At,ee=A==="y"?"height":"width",ae=O[A],de=ae+y[je],xe=ae-y[Ce],pe=m?-$[ee]/2:0,Ee=S===mr?I[ee]:$[ee],be=S===mr?-$[ee]:-I[ee],et=t.elements.arrow,Be=m&&et?bc(et):{width:0,height:0},We=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:vp(),Le=We[je],F=We[Ce],Y=Is(0,I[ee],Be[ee]),W=E?I[ee]/2-pe-Y-Le-q.mainAxis:Ee-Y-Le-q.mainAxis,J=E?-I[ee]/2+pe+Y+F+q.mainAxis:be+Y+F+q.mainAxis,_e=t.elements.arrow&&ei(t.elements.arrow),Te=_e?A==="y"?_e.clientTop||0:_e.clientLeft||0:0,b=(le=ie==null?void 0:ie[A])!=null?le:0,g=ae+W-b-Te,N=ae+J-b,j=Is(m?so(de,g):de,ae,m?ur(xe,N):xe);O[A]=j,Q[A]=j-ae}if(a){var D,B=A==="x"?ut:ft,z=A==="x"?wt:At,h=O[C],_=C==="y"?"height":"width",T=h+y[B],M=h-y[z],K=[ut,ft].indexOf(w)!==-1,U=(D=ie==null?void 0:ie[C])!=null?D:0,L=K?T:h-I[_]-$[_]-U+q.altAxis,R=K?h+I[_]+$[_]-U-q.altAxis:M,te=m&&K?w0(L,h,R):Is(m?L:T,h,m?R:M);O[C]=te,Q[C]=te-h}t.modifiersData[r]=Q}}const Cp={name:"preventOverflow",enabled:!0,phase:"main",fn:Y0,requiresIfExists:["offset"]};function K0(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function z0(e){return e===Tt(e)||!Lt(e)?Ac(e):K0(e)}function G0(e){var t=e.getBoundingClientRect(),n=Jr(t.width)/e.offsetWidth||1,r=Jr(t.height)/e.offsetHeight||1;return n!==1||r!==1}function q0(e,t,n){n===void 0&&(n=!1);var r=Lt(t),s=Lt(t)&&G0(t),i=Yn(t),o=Qr(e,s,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((Jt(t)!=="body"||Oc(i))&&(a=z0(t)),Lt(t)?(l=Qr(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=Tc(i))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function X0(e){var t=new Map,n=new Set,r=[];e.forEach(function(i){t.set(i.name,i)});function s(i){n.add(i.name);var o=[].concat(i.requires||[],i.requiresIfExists||[]);o.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&s(l)}}),r.push(i)}return e.forEach(function(i){n.has(i.name)||s(i)}),r}function J0(e){var t=X0(e);return pp.reduce(function(n,r){return n.concat(t.filter(function(s){return s.phase===r}))},[])}function Q0(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Z0(e){var t=e.reduce(function(n,r){var s=n[r.name];return n[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Bf={placement:"bottom",modifiers:[],strategy:"absolute"};function Wf(){for(var e=arguments.length,t=new Array(e),n=0;n(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(t,n)=>`#${CSS.escape(n)}`)),e),ow=e=>e==null?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),aw=e=>{do e+=Math.floor(Math.random()*sw);while(document.getElementById(e));return e},lw=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const r=Number.parseFloat(t),s=Number.parseFloat(n);return!r&&!s?0:(t=t.split(",")[0],n=n.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(n))*iw)},Ip=e=>{e.dispatchEvent(new Event(ml))},an=e=>!e||typeof e!="object"?!1:(typeof e.jquery<"u"&&(e=e[0]),typeof e.nodeType<"u"),kn=e=>an(e)?e.jquery?e[0]:e:typeof e=="string"&&e.length>0?document.querySelector(Lp(e)):null,as=e=>{if(!an(e)||e.getClientRects().length===0)return!1;const t=getComputedStyle(e).getPropertyValue("visibility")==="visible",n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const r=e.closest("summary");if(r&&r.parentNode!==n||r===null)return!1}return t},$n=e=>!e||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains("disabled")?!0:typeof e.disabled<"u"?e.disabled:e.hasAttribute("disabled")&&e.getAttribute("disabled")!=="false",Pp=e=>{if(!document.documentElement.attachShadow)return null;if(typeof e.getRootNode=="function"){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?Pp(e.parentNode):null},io=()=>{},ti=e=>{e.offsetHeight},Rp=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,ha=[],cw=e=>{document.readyState==="loading"?(ha.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of ha)t()}),ha.push(e)):e()},It=()=>document.documentElement.dir==="rtl",Rt=e=>{cw(()=>{const t=Rp();if(t){const n=e.NAME,r=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=r,e.jQueryInterface)}})},pt=(e,t=[],n=e)=>typeof e=="function"?e(...t):n,xp=(e,t,n=!0)=>{if(!n){pt(e);return}const s=lw(t)+5;let i=!1;const o=({target:a})=>{a===t&&(i=!0,t.removeEventListener(ml,o),pt(e))};t.addEventListener(ml,o),setTimeout(()=>{i||Ip(t)},s)},Nc=(e,t,n,r)=>{const s=e.length;let i=e.indexOf(t);return i===-1?!n&&r?e[s-1]:e[0]:(i+=n?1:-1,r&&(i=(i+s)%s),e[Math.max(0,Math.min(i,s-1))])},uw=/[^.]*(?=\..*)\.|.*/,fw=/\..*/,dw=/::\d+$/,pa={};let Yf=1;const kp={mouseenter:"mouseover",mouseleave:"mouseout"},mw=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 $p(e,t){return t&&`${t}::${Yf++}`||e.uidEvent||Yf++}function Dp(e){const t=$p(e);return e.uidEvent=t,pa[t]=pa[t]||{},pa[t]}function hw(e,t){return function n(r){return Lc(r,{delegateTarget:e}),n.oneOff&&H.off(e,r.type,t),t.apply(e,[r])}}function pw(e,t,n){return function r(s){const i=e.querySelectorAll(t);for(let{target:o}=s;o&&o!==this;o=o.parentNode)for(const a of i)if(a===o)return Lc(s,{delegateTarget:o}),r.oneOff&&H.off(e,s.type,t,n),n.apply(o,[s])}}function Mp(e,t,n=null){return Object.values(e).find(r=>r.callable===t&&r.delegationSelector===n)}function Fp(e,t,n){const r=typeof t=="string",s=r?n:t||n;let i=jp(e);return mw.has(i)||(i=e),[r,s,i]}function Kf(e,t,n,r,s){if(typeof t!="string"||!e)return;let[i,o,a]=Fp(t,n,r);t in kp&&(o=(p=>function(v){if(!v.relatedTarget||v.relatedTarget!==v.delegateTarget&&!v.delegateTarget.contains(v.relatedTarget))return p.call(this,v)})(o));const l=Dp(e),u=l[a]||(l[a]={}),c=Mp(u,o,i?n:null);if(c){c.oneOff=c.oneOff&&s;return}const f=$p(o,t.replace(uw,"")),d=i?pw(e,n,o):hw(e,o);d.delegationSelector=i?n:null,d.callable=o,d.oneOff=s,d.uidEvent=f,u[f]=d,e.addEventListener(a,d,i)}function hl(e,t,n,r,s){const i=Mp(t[n],r,s);i&&(e.removeEventListener(n,i,!!s),delete t[n][i.uidEvent])}function gw(e,t,n,r){const s=t[n]||{};for(const[i,o]of Object.entries(s))i.includes(r)&&hl(e,t,n,o.callable,o.delegationSelector)}function jp(e){return e=e.replace(fw,""),kp[e]||e}const H={on(e,t,n,r){Kf(e,t,n,r,!1)},one(e,t,n,r){Kf(e,t,n,r,!0)},off(e,t,n,r){if(typeof t!="string"||!e)return;const[s,i,o]=Fp(t,n,r),a=o!==t,l=Dp(e),u=l[o]||{},c=t.startsWith(".");if(typeof i<"u"){if(!Object.keys(u).length)return;hl(e,l,o,i,s?n:null);return}if(c)for(const f of Object.keys(l))gw(e,l,f,t.slice(1));for(const[f,d]of Object.entries(u)){const m=f.replace(dw,"");(!a||t.includes(m))&&hl(e,l,o,d.callable,d.delegationSelector)}},trigger(e,t,n){if(typeof t!="string"||!e)return null;const r=Rp(),s=jp(t),i=t!==s;let o=null,a=!0,l=!0,u=!1;i&&r&&(o=r.Event(t,n),r(e).trigger(o),a=!o.isPropagationStopped(),l=!o.isImmediatePropagationStopped(),u=o.isDefaultPrevented());const c=Lc(new Event(t,{bubbles:a,cancelable:!0}),n);return u&&c.preventDefault(),l&&e.dispatchEvent(c),c.defaultPrevented&&o&&o.preventDefault(),c}};function Lc(e,t={}){for(const[n,r]of Object.entries(t))try{e[n]=r}catch{Object.defineProperty(e,n,{configurable:!0,get(){return r}})}return e}function zf(e){if(e==="true")return!0;if(e==="false")return!1;if(e===Number(e).toString())return Number(e);if(e===""||e==="null")return null;if(typeof e!="string")return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function ga(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const ln={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${ga(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${ga(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(r=>r.startsWith("bs")&&!r.startsWith("bsConfig"));for(const r of n){let s=r.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),t[s]=zf(e.dataset[r])}return t},getDataAttribute(e,t){return zf(e.getAttribute(`data-bs-${ga(t)}`))}};class ni{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,n){const r=an(n)?ln.getDataAttribute(n,"config"):{};return{...this.constructor.Default,...typeof r=="object"?r:{},...an(n)?ln.getDataAttributes(n):{},...typeof t=="object"?t:{}}}_typeCheckConfig(t,n=this.constructor.DefaultType){for(const[r,s]of Object.entries(n)){const i=t[r],o=an(i)?"element":ow(i);if(!new RegExp(s).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${r}" provided type "${o}" but expected type "${s}".`)}}}const _w="5.3.3";class Ut extends ni{constructor(t,n){super(),t=kn(t),t&&(this._element=t,this._config=this._getConfig(n),ma.set(this._element,this.constructor.DATA_KEY,this))}dispose(){ma.remove(this._element,this.constructor.DATA_KEY),H.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,n,r=!0){xp(t,n,r)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return ma.get(kn(t),this.DATA_KEY)}static getOrCreateInstance(t,n={}){return this.getInstance(t)||new this(t,typeof n=="object"?n:null)}static get VERSION(){return _w}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const _a=e=>{let t=e.getAttribute("data-bs-target");if(!t||t==="#"){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&n!=="#"?n.trim():null}return t?t.split(",").map(n=>Lp(n)).join(","):null},re={find(e,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,e))},findOne(e,t=document.documentElement){return Element.prototype.querySelector.call(t,e)},children(e,t){return[].concat(...e.children).filter(n=>n.matches(t))},parents(e,t){const n=[];let r=e.parentNode.closest(t);for(;r;)n.push(r),r=r.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(n=>`${n}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(n=>!$n(n)&&as(n))},getSelectorFromElement(e){const t=_a(e);return t&&re.findOne(t)?t:null},getElementFromSelector(e){const t=_a(e);return t?re.findOne(t):null},getMultipleElementsFromSelector(e){const t=_a(e);return t?re.find(t):[]}},Fo=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,r=e.NAME;H.on(document,n,`[data-bs-dismiss="${r}"]`,function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),$n(this))return;const i=re.getElementFromSelector(this)||this.closest(`.${r}`);e.getOrCreateInstance(i)[t]()})},vw="alert",bw="bs.alert",Up=`.${bw}`,yw=`close${Up}`,Ew=`closed${Up}`,ww="fade",Aw="show";class jo extends Ut{static get NAME(){return vw}close(){if(H.trigger(this._element,yw).defaultPrevented)return;this._element.classList.remove(Aw);const n=this._element.classList.contains(ww);this._queueCallback(()=>this._destroyElement(),this._element,n)}_destroyElement(){this._element.remove(),H.trigger(this._element,Ew),this.dispose()}static jQueryInterface(t){return this.each(function(){const n=jo.getOrCreateInstance(this);if(typeof t=="string"){if(n[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);n[t](this)}})}}Fo(jo,"close");Rt(jo);const Tw="button",Ow="bs.button",Sw=`.${Ow}`,Cw=".data-api",Nw="active",Gf='[data-bs-toggle="button"]',Lw=`click${Sw}${Cw}`;class Uo extends Ut{static get NAME(){return Tw}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Nw))}static jQueryInterface(t){return this.each(function(){const n=Uo.getOrCreateInstance(this);t==="toggle"&&n[t]()})}}H.on(document,Lw,Gf,e=>{e.preventDefault();const t=e.target.closest(Gf);Uo.getOrCreateInstance(t).toggle()});Rt(Uo);const Iw="swipe",ls=".bs.swipe",Pw=`touchstart${ls}`,Rw=`touchmove${ls}`,xw=`touchend${ls}`,kw=`pointerdown${ls}`,$w=`pointerup${ls}`,Dw="touch",Mw="pen",Fw="pointer-event",jw=40,Uw={endCallback:null,leftCallback:null,rightCallback:null},Hw={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class oo extends ni{constructor(t,n){super(),this._element=t,!(!t||!oo.isSupported())&&(this._config=this._getConfig(n),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Uw}static get DefaultType(){return Hw}static get NAME(){return Iw}dispose(){H.off(this._element,ls)}_start(t){if(!this._supportPointerEvents){this._deltaX=t.touches[0].clientX;return}this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX)}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),pt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=jw)return;const n=t/this._deltaX;this._deltaX=0,n&&pt(n>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(H.on(this._element,kw,t=>this._start(t)),H.on(this._element,$w,t=>this._end(t)),this._element.classList.add(Fw)):(H.on(this._element,Pw,t=>this._start(t)),H.on(this._element,Rw,t=>this._move(t)),H.on(this._element,xw,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(t.pointerType===Mw||t.pointerType===Dw)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Vw="carousel",Bw="bs.carousel",Kn=`.${Bw}`,Hp=".data-api",Ww="ArrowLeft",Yw="ArrowRight",Kw=500,gs="next",Or="prev",Pr="left",Bi="right",zw=`slide${Kn}`,va=`slid${Kn}`,Gw=`keydown${Kn}`,qw=`mouseenter${Kn}`,Xw=`mouseleave${Kn}`,Jw=`dragstart${Kn}`,Qw=`load${Kn}${Hp}`,Zw=`click${Kn}${Hp}`,Vp="carousel",Ei="active",eA="slide",tA="carousel-item-end",nA="carousel-item-start",rA="carousel-item-next",sA="carousel-item-prev",Bp=".active",Wp=".carousel-item",iA=Bp+Wp,oA=".carousel-item img",aA=".carousel-indicators",lA="[data-bs-slide], [data-bs-slide-to]",cA='[data-bs-ride="carousel"]',uA={[Ww]:Bi,[Yw]:Pr},fA={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},dA={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ri extends Ut{constructor(t,n){super(t,n),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=re.findOne(aA,this._element),this._addEventListeners(),this._config.ride===Vp&&this.cycle()}static get Default(){return fA}static get DefaultType(){return dA}static get NAME(){return Vw}next(){this._slide(gs)}nextWhenVisible(){!document.hidden&&as(this._element)&&this.next()}prev(){this._slide(Or)}pause(){this._isSliding&&Ip(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){H.one(this._element,va,()=>this.cycle());return}this.cycle()}}to(t){const n=this._getItems();if(t>n.length-1||t<0)return;if(this._isSliding){H.one(this._element,va,()=>this.to(t));return}const r=this._getItemIndex(this._getActive());if(r===t)return;const s=t>r?gs:Or;this._slide(s,n[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&H.on(this._element,Gw,t=>this._keydown(t)),this._config.pause==="hover"&&(H.on(this._element,qw,()=>this.pause()),H.on(this._element,Xw,()=>this._maybeEnableCycle())),this._config.touch&&oo.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const r of re.find(oA,this._element))H.on(r,Jw,s=>s.preventDefault());const n={leftCallback:()=>this._slide(this._directionToOrder(Pr)),rightCallback:()=>this._slide(this._directionToOrder(Bi)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Kw+this._config.interval))}};this._swipeHelper=new oo(this._element,n)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const n=uA[t.key];n&&(t.preventDefault(),this._slide(this._directionToOrder(n)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const n=re.findOne(Bp,this._indicatorsElement);n.classList.remove(Ei),n.removeAttribute("aria-current");const r=re.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);r&&(r.classList.add(Ei),r.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const n=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=n||this._config.defaultInterval}_slide(t,n=null){if(this._isSliding)return;const r=this._getActive(),s=t===gs,i=n||Nc(this._getItems(),r,s,this._config.wrap);if(i===r)return;const o=this._getItemIndex(i),a=m=>H.trigger(this._element,m,{relatedTarget:i,direction:this._orderToDirection(t),from:this._getItemIndex(r),to:o});if(a(zw).defaultPrevented||!r||!i)return;const u=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=i;const c=s?nA:tA,f=s?rA:sA;i.classList.add(f),ti(i),r.classList.add(c),i.classList.add(c);const d=()=>{i.classList.remove(c,f),i.classList.add(Ei),r.classList.remove(Ei,f,c),this._isSliding=!1,a(va)};this._queueCallback(d,r,this._isAnimated()),u&&this.cycle()}_isAnimated(){return this._element.classList.contains(eA)}_getActive(){return re.findOne(iA,this._element)}_getItems(){return re.find(Wp,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return It()?t===Pr?Or:gs:t===Pr?gs:Or}_orderToDirection(t){return It()?t===Or?Pr:Bi:t===Or?Bi:Pr}static jQueryInterface(t){return this.each(function(){const n=ri.getOrCreateInstance(this,t);if(typeof t=="number"){n.to(t);return}if(typeof t=="string"){if(n[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);n[t]()}})}}H.on(document,Zw,lA,function(e){const t=re.getElementFromSelector(this);if(!t||!t.classList.contains(Vp))return;e.preventDefault();const n=ri.getOrCreateInstance(t),r=this.getAttribute("data-bs-slide-to");if(r){n.to(r),n._maybeEnableCycle();return}if(ln.getDataAttribute(this,"slide")==="next"){n.next(),n._maybeEnableCycle();return}n.prev(),n._maybeEnableCycle()});H.on(window,Qw,()=>{const e=re.find(cA);for(const t of e)ri.getOrCreateInstance(t)});Rt(ri);const mA="collapse",hA="bs.collapse",si=`.${hA}`,pA=".data-api",gA=`show${si}`,_A=`shown${si}`,vA=`hide${si}`,bA=`hidden${si}`,yA=`click${si}${pA}`,ba="show",kr="collapse",wi="collapsing",EA="collapsed",wA=`:scope .${kr} .${kr}`,AA="collapse-horizontal",TA="width",OA="height",SA=".collapse.show, .collapse.collapsing",pl='[data-bs-toggle="collapse"]',CA={parent:null,toggle:!0},NA={parent:"(null|element)",toggle:"boolean"};class Ws extends Ut{constructor(t,n){super(t,n),this._isTransitioning=!1,this._triggerArray=[];const r=re.find(pl);for(const s of r){const i=re.getSelectorFromElement(s),o=re.find(i).filter(a=>a===this._element);i!==null&&o.length&&this._triggerArray.push(s)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return CA}static get DefaultType(){return NA}static get NAME(){return mA}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(SA).filter(a=>a!==this._element).map(a=>Ws.getOrCreateInstance(a,{toggle:!1}))),t.length&&t[0]._isTransitioning||H.trigger(this._element,gA).defaultPrevented)return;for(const a of t)a.hide();const r=this._getDimension();this._element.classList.remove(kr),this._element.classList.add(wi),this._element.style[r]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=()=>{this._isTransitioning=!1,this._element.classList.remove(wi),this._element.classList.add(kr,ba),this._element.style[r]="",H.trigger(this._element,_A)},o=`scroll${r[0].toUpperCase()+r.slice(1)}`;this._queueCallback(s,this._element,!0),this._element.style[r]=`${this._element[o]}px`}hide(){if(this._isTransitioning||!this._isShown()||H.trigger(this._element,vA).defaultPrevented)return;const n=this._getDimension();this._element.style[n]=`${this._element.getBoundingClientRect()[n]}px`,ti(this._element),this._element.classList.add(wi),this._element.classList.remove(kr,ba);for(const s of this._triggerArray){const i=re.getElementFromSelector(s);i&&!this._isShown(i)&&this._addAriaAndCollapsedClass([s],!1)}this._isTransitioning=!0;const r=()=>{this._isTransitioning=!1,this._element.classList.remove(wi),this._element.classList.add(kr),H.trigger(this._element,bA)};this._element.style[n]="",this._queueCallback(r,this._element,!0)}_isShown(t=this._element){return t.classList.contains(ba)}_configAfterMerge(t){return t.toggle=!!t.toggle,t.parent=kn(t.parent),t}_getDimension(){return this._element.classList.contains(AA)?TA:OA}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(pl);for(const n of t){const r=re.getElementFromSelector(n);r&&this._addAriaAndCollapsedClass([n],this._isShown(r))}}_getFirstLevelChildren(t){const n=re.find(wA,this._config.parent);return re.find(t,this._config.parent).filter(r=>!n.includes(r))}_addAriaAndCollapsedClass(t,n){if(t.length)for(const r of t)r.classList.toggle(EA,!n),r.setAttribute("aria-expanded",n)}static jQueryInterface(t){const n={};return typeof t=="string"&&/show|hide/.test(t)&&(n.toggle=!1),this.each(function(){const r=Ws.getOrCreateInstance(this,n);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t]()}})}}H.on(document,yA,pl,function(e){(e.target.tagName==="A"||e.delegateTarget&&e.delegateTarget.tagName==="A")&&e.preventDefault();for(const t of re.getMultipleElementsFromSelector(this))Ws.getOrCreateInstance(t,{toggle:!1}).toggle()});Rt(Ws);const qf="dropdown",LA="bs.dropdown",yr=`.${LA}`,Ic=".data-api",IA="Escape",Xf="Tab",PA="ArrowUp",Jf="ArrowDown",RA=2,xA=`hide${yr}`,kA=`hidden${yr}`,$A=`show${yr}`,DA=`shown${yr}`,Yp=`click${yr}${Ic}`,Kp=`keydown${yr}${Ic}`,MA=`keyup${yr}${Ic}`,Rr="show",FA="dropup",jA="dropend",UA="dropstart",HA="dropup-center",VA="dropdown-center",nr='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',BA=`${nr}.${Rr}`,Wi=".dropdown-menu",WA=".navbar",YA=".navbar-nav",KA=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",zA=It()?"top-end":"top-start",GA=It()?"top-start":"top-end",qA=It()?"bottom-end":"bottom-start",XA=It()?"bottom-start":"bottom-end",JA=It()?"left-start":"right-start",QA=It()?"right-start":"left-start",ZA="top",eT="bottom",tT={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},nT={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class qt extends Ut{constructor(t,n){super(t,n),this._popper=null,this._parent=this._element.parentNode,this._menu=re.next(this._element,Wi)[0]||re.prev(this._element,Wi)[0]||re.findOne(Wi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return tT}static get DefaultType(){return nT}static get NAME(){return qf}toggle(){return this._isShown()?this.hide():this.show()}show(){if($n(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!H.trigger(this._element,$A,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(YA))for(const r of[].concat(...document.body.children))H.on(r,"mouseover",io);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Rr),this._element.classList.add(Rr),H.trigger(this._element,DA,t)}}hide(){if($n(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!H.trigger(this._element,xA,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const r of[].concat(...document.body.children))H.off(r,"mouseover",io);this._popper&&this._popper.destroy(),this._menu.classList.remove(Rr),this._element.classList.remove(Rr),this._element.setAttribute("aria-expanded","false"),ln.removeDataAttribute(this._menu,"popper"),H.trigger(this._element,kA,t)}}_getConfig(t){if(t=super._getConfig(t),typeof t.reference=="object"&&!an(t.reference)&&typeof t.reference.getBoundingClientRect!="function")throw new TypeError(`${qf.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(typeof Np>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;this._config.reference==="parent"?t=this._parent:an(this._config.reference)?t=kn(this._config.reference):typeof this._config.reference=="object"&&(t=this._config.reference);const n=this._getPopperConfig();this._popper=Cc(t,this._menu,n)}_isShown(){return this._menu.classList.contains(Rr)}_getPlacement(){const t=this._parent;if(t.classList.contains(jA))return JA;if(t.classList.contains(UA))return QA;if(t.classList.contains(HA))return ZA;if(t.classList.contains(VA))return eT;const n=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return t.classList.contains(FA)?n?GA:zA:n?XA:qA}_detectNavbar(){return this._element.closest(WA)!==null}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(n=>Number.parseInt(n,10)):typeof t=="function"?n=>t(n,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(ln.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...pt(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:n}){const r=re.find(KA,this._menu).filter(s=>as(s));r.length&&Nc(r,n,t===Jf,!r.includes(n)).focus()}static jQueryInterface(t){return this.each(function(){const n=qt.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t]()}})}static clearMenus(t){if(t.button===RA||t.type==="keyup"&&t.key!==Xf)return;const n=re.find(BA);for(const r of n){const s=qt.getInstance(r);if(!s||s._config.autoClose===!1)continue;const i=t.composedPath(),o=i.includes(s._menu);if(i.includes(s._element)||s._config.autoClose==="inside"&&!o||s._config.autoClose==="outside"&&o||s._menu.contains(t.target)&&(t.type==="keyup"&&t.key===Xf||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const a={relatedTarget:s._element};t.type==="click"&&(a.clickEvent=t),s._completeHide(a)}}static dataApiKeydownHandler(t){const n=/input|textarea/i.test(t.target.tagName),r=t.key===IA,s=[PA,Jf].includes(t.key);if(!s&&!r||n&&!r)return;t.preventDefault();const i=this.matches(nr)?this:re.prev(this,nr)[0]||re.next(this,nr)[0]||re.findOne(nr,t.delegateTarget.parentNode),o=qt.getOrCreateInstance(i);if(s){t.stopPropagation(),o.show(),o._selectMenuItem(t);return}o._isShown()&&(t.stopPropagation(),o.hide(),i.focus())}}H.on(document,Kp,nr,qt.dataApiKeydownHandler);H.on(document,Kp,Wi,qt.dataApiKeydownHandler);H.on(document,Yp,qt.clearMenus);H.on(document,MA,qt.clearMenus);H.on(document,Yp,nr,function(e){e.preventDefault(),qt.getOrCreateInstance(this).toggle()});Rt(qt);const zp="backdrop",rT="fade",Qf="show",Zf=`mousedown.bs.${zp}`,sT={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},iT={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Gp extends ni{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return sT}static get DefaultType(){return iT}static get NAME(){return zp}show(t){if(!this._config.isVisible){pt(t);return}this._append();const n=this._getElement();this._config.isAnimated&&ti(n),n.classList.add(Qf),this._emulateAnimation(()=>{pt(t)})}hide(t){if(!this._config.isVisible){pt(t);return}this._getElement().classList.remove(Qf),this._emulateAnimation(()=>{this.dispose(),pt(t)})}dispose(){this._isAppended&&(H.off(this._element,Zf),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add(rT),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=kn(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),H.on(t,Zf,()=>{pt(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){xp(t,this._getElement(),this._config.isAnimated)}}const oT="focustrap",aT="bs.focustrap",ao=`.${aT}`,lT=`focusin${ao}`,cT=`keydown.tab${ao}`,uT="Tab",fT="forward",ed="backward",dT={autofocus:!0,trapElement:null},mT={autofocus:"boolean",trapElement:"element"};class qp extends ni{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return dT}static get DefaultType(){return mT}static get NAME(){return oT}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),H.off(document,ao),H.on(document,lT,t=>this._handleFocusin(t)),H.on(document,cT,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,H.off(document,ao))}_handleFocusin(t){const{trapElement:n}=this._config;if(t.target===document||t.target===n||n.contains(t.target))return;const r=re.focusableChildren(n);r.length===0?n.focus():this._lastTabNavDirection===ed?r[r.length-1].focus():r[0].focus()}_handleKeydown(t){t.key===uT&&(this._lastTabNavDirection=t.shiftKey?ed:fT)}}const td=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",nd=".sticky-top",Ai="padding-right",rd="margin-right";class gl{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Ai,n=>n+t),this._setElementAttributes(td,Ai,n=>n+t),this._setElementAttributes(nd,rd,n=>n-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ai),this._resetElementAttributes(td,Ai),this._resetElementAttributes(nd,rd)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,n,r){const s=this.getWidth(),i=o=>{if(o!==this._element&&window.innerWidth>o.clientWidth+s)return;this._saveInitialAttribute(o,n);const a=window.getComputedStyle(o).getPropertyValue(n);o.style.setProperty(n,`${r(Number.parseFloat(a))}px`)};this._applyManipulationCallback(t,i)}_saveInitialAttribute(t,n){const r=t.style.getPropertyValue(n);r&&ln.setDataAttribute(t,n,r)}_resetElementAttributes(t,n){const r=s=>{const i=ln.getDataAttribute(s,n);if(i===null){s.style.removeProperty(n);return}ln.removeDataAttribute(s,n),s.style.setProperty(n,i)};this._applyManipulationCallback(t,r)}_applyManipulationCallback(t,n){if(an(t)){n(t);return}for(const r of re.find(t,this._element))n(r)}}const hT="modal",pT="bs.modal",Pt=`.${pT}`,gT=".data-api",_T="Escape",vT=`hide${Pt}`,bT=`hidePrevented${Pt}`,Xp=`hidden${Pt}`,Jp=`show${Pt}`,yT=`shown${Pt}`,ET=`resize${Pt}`,wT=`click.dismiss${Pt}`,AT=`mousedown.dismiss${Pt}`,TT=`keydown.dismiss${Pt}`,OT=`click${Pt}${gT}`,sd="modal-open",ST="fade",id="show",ya="modal-static",CT=".modal.show",NT=".modal-dialog",LT=".modal-body",IT='[data-bs-toggle="modal"]',PT={backdrop:!0,focus:!0,keyboard:!0},RT={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class pr extends Ut{constructor(t,n){super(t,n),this._dialog=re.findOne(NT,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new gl,this._addEventListeners()}static get Default(){return PT}static get DefaultType(){return RT}static get NAME(){return hT}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||H.trigger(this._element,Jp,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(sd),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){!this._isShown||this._isTransitioning||H.trigger(this._element,vT).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(id),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){H.off(window,Pt),H.off(this._dialog,Pt),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Gp({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new qp({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const n=re.findOne(LT,this._dialog);n&&(n.scrollTop=0),ti(this._element),this._element.classList.add(id);const r=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,H.trigger(this._element,yT,{relatedTarget:t})};this._queueCallback(r,this._dialog,this._isAnimated())}_addEventListeners(){H.on(this._element,TT,t=>{if(t.key===_T){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),H.on(window,ET,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),H.on(this._element,AT,t=>{H.one(this._element,wT,n=>{if(!(this._element!==t.target||this._element!==n.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_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(sd),this._resetAdjustments(),this._scrollBar.reset(),H.trigger(this._element,Xp)})}_isAnimated(){return this._element.classList.contains(ST)}_triggerBackdropTransition(){if(H.trigger(this._element,bT).defaultPrevented)return;const n=this._element.scrollHeight>document.documentElement.clientHeight,r=this._element.style.overflowY;r==="hidden"||this._element.classList.contains(ya)||(n||(this._element.style.overflowY="hidden"),this._element.classList.add(ya),this._queueCallback(()=>{this._element.classList.remove(ya),this._queueCallback(()=>{this._element.style.overflowY=r},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,n=this._scrollBar.getWidth(),r=n>0;if(r&&!t){const s=It()?"paddingLeft":"paddingRight";this._element.style[s]=`${n}px`}if(!r&&t){const s=It()?"paddingRight":"paddingLeft";this._element.style[s]=`${n}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,n){return this.each(function(){const r=pr.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof r[t]>"u")throw new TypeError(`No method named "${t}"`);r[t](n)}})}}H.on(document,OT,IT,function(e){const t=re.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),H.one(t,Jp,s=>{s.defaultPrevented||H.one(t,Xp,()=>{as(this)&&this.focus()})});const n=re.findOne(CT);n&&pr.getInstance(n).hide(),pr.getOrCreateInstance(t).toggle(this)});Fo(pr);Rt(pr);const xT="offcanvas",kT="bs.offcanvas",hn=`.${kT}`,Qp=".data-api",$T=`load${hn}${Qp}`,DT="Escape",od="show",ad="showing",ld="hiding",MT="offcanvas-backdrop",Zp=".offcanvas.show",FT=`show${hn}`,jT=`shown${hn}`,UT=`hide${hn}`,cd=`hidePrevented${hn}`,eg=`hidden${hn}`,HT=`resize${hn}`,VT=`click${hn}${Qp}`,BT=`keydown.dismiss${hn}`,WT='[data-bs-toggle="offcanvas"]',YT={backdrop:!0,keyboard:!0,scroll:!1},KT={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Dn extends Ut{constructor(t,n){super(t,n),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return YT}static get DefaultType(){return KT}static get NAME(){return xT}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||H.trigger(this._element,FT,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new gl().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ad);const r=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(od),this._element.classList.remove(ad),H.trigger(this._element,jT,{relatedTarget:t})};this._queueCallback(r,this._element,!0)}hide(){if(!this._isShown||H.trigger(this._element,UT).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ld),this._backdrop.hide();const n=()=>{this._element.classList.remove(od,ld),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new gl().reset(),H.trigger(this._element,eg)};this._queueCallback(n,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=()=>{if(this._config.backdrop==="static"){H.trigger(this._element,cd);return}this.hide()},n=!!this._config.backdrop;return new Gp({className:MT,isVisible:n,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:n?t:null})}_initializeFocusTrap(){return new qp({trapElement:this._element})}_addEventListeners(){H.on(this._element,BT,t=>{if(t.key===DT){if(this._config.keyboard){this.hide();return}H.trigger(this._element,cd)}})}static jQueryInterface(t){return this.each(function(){const n=Dn.getOrCreateInstance(this,t);if(typeof t=="string"){if(n[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);n[t](this)}})}}H.on(document,VT,WT,function(e){const t=re.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),$n(this))return;H.one(t,eg,()=>{as(this)&&this.focus()});const n=re.findOne(Zp);n&&n!==t&&Dn.getInstance(n).hide(),Dn.getOrCreateInstance(t).toggle(this)});H.on(window,$T,()=>{for(const e of re.find(Zp))Dn.getOrCreateInstance(e).show()});H.on(window,HT,()=>{for(const e of re.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(e).position!=="fixed"&&Dn.getOrCreateInstance(e).hide()});Fo(Dn);Rt(Dn);const zT=/^aria-[\w-]*$/i,tg={"*":["class","dir","id","lang","role",zT],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],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:[]},GT=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),qT=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,XT=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?GT.has(n)?!!qT.test(e.nodeValue):!0:t.filter(r=>r instanceof RegExp).some(r=>r.test(n))};function JT(e,t,n){if(!e.length)return e;if(n&&typeof n=="function")return n(e);const s=new window.DOMParser().parseFromString(e,"text/html"),i=[].concat(...s.body.querySelectorAll("*"));for(const o of i){const a=o.nodeName.toLowerCase();if(!Object.keys(t).includes(a)){o.remove();continue}const l=[].concat(...o.attributes),u=[].concat(t["*"]||[],t[a]||[]);for(const c of l)XT(c,u)||o.removeAttribute(c.nodeName)}return s.body.innerHTML}const QT="TemplateFactory",ZT={allowList:tg,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},eO={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},tO={entry:"(string|element|function|null)",selector:"(string|element)"};class nO extends ni{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return ZT}static get DefaultType(){return eO}static get NAME(){return QT}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[s,i]of Object.entries(this._config.content))this._setContent(t,i,s);const n=t.children[0],r=this._resolvePossibleFunction(this._config.extraClass);return r&&n.classList.add(...r.split(" ")),n}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[n,r]of Object.entries(t))super._typeCheckConfig({selector:n,entry:r},tO)}_setContent(t,n,r){const s=re.findOne(r,t);if(s){if(n=this._resolvePossibleFunction(n),!n){s.remove();return}if(an(n)){this._putElementInTemplate(kn(n),s);return}if(this._config.html){s.innerHTML=this._maybeSanitize(n);return}s.textContent=n}}_maybeSanitize(t){return this._config.sanitize?JT(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return pt(t,[this])}_putElementInTemplate(t,n){if(this._config.html){n.innerHTML="",n.append(t);return}n.textContent=t.textContent}}const rO="tooltip",sO=new Set(["sanitize","allowList","sanitizeFn"]),Ea="fade",iO="modal",Ti="show",oO=".tooltip-inner",ud=`.${iO}`,fd="hide.bs.modal",_s="hover",wa="focus",aO="click",lO="manual",cO="hide",uO="hidden",fO="show",dO="shown",mO="inserted",hO="click",pO="focusin",gO="focusout",_O="mouseenter",vO="mouseleave",bO={AUTO:"auto",TOP:"top",RIGHT:It()?"left":"right",BOTTOM:"bottom",LEFT:It()?"right":"left"},yO={allowList:tg,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},EO={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends Ut{constructor(t,n){if(typeof Np>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,n),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return yO}static get DefaultType(){return EO}static get NAME(){return rO}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),H.off(this._element.closest(ud),fd,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const t=H.trigger(this._element,this.constructor.eventName(fO)),r=(Pp(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!r)return;this._disposePopper();const s=this._getTipElement();this._element.setAttribute("aria-describedby",s.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(s),H.trigger(this._element,this.constructor.eventName(mO))),this._popper=this._createPopper(s),s.classList.add(Ti),"ontouchstart"in document.documentElement)for(const a of[].concat(...document.body.children))H.on(a,"mouseover",io);const o=()=>{H.trigger(this._element,this.constructor.eventName(dO)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(o,this.tip,this._isAnimated())}hide(){if(!this._isShown()||H.trigger(this._element,this.constructor.eventName(cO)).defaultPrevented)return;if(this._getTipElement().classList.remove(Ti),"ontouchstart"in document.documentElement)for(const s of[].concat(...document.body.children))H.off(s,"mouseover",io);this._activeTrigger[aO]=!1,this._activeTrigger[wa]=!1,this._activeTrigger[_s]=!1,this._isHovered=null;const r=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),H.trigger(this._element,this.constructor.eventName(uO)))};this._queueCallback(r,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const n=this._getTemplateFactory(t).toHtml();if(!n)return null;n.classList.remove(Ea,Ti),n.classList.add(`bs-${this.constructor.NAME}-auto`);const r=aw(this.constructor.NAME).toString();return n.setAttribute("id",r),this._isAnimated()&&n.classList.add(Ea),n}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new nO({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[oO]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ea)}_isShown(){return this.tip&&this.tip.classList.contains(Ti)}_createPopper(t){const n=pt(this._config.placement,[this,t,this._element]),r=bO[n.toUpperCase()];return Cc(this._element,t,this._getPopperConfig(r))}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(n=>Number.parseInt(n,10)):typeof t=="function"?n=>t(n,this._element):t}_resolvePossibleFunction(t){return pt(t,[this._element])}_getPopperConfig(t){const n={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:r=>{this._getTipElement().setAttribute("data-popper-placement",r.state.placement)}}]};return{...n,...pt(this._config.popperConfig,[n])}}_setListeners(){const t=this._config.trigger.split(" ");for(const n of t)if(n==="click")H.on(this._element,this.constructor.eventName(hO),this._config.selector,r=>{this._initializeOnDelegatedTarget(r).toggle()});else if(n!==lO){const r=n===_s?this.constructor.eventName(_O):this.constructor.eventName(pO),s=n===_s?this.constructor.eventName(vO):this.constructor.eventName(gO);H.on(this._element,r,this._config.selector,i=>{const o=this._initializeOnDelegatedTarget(i);o._activeTrigger[i.type==="focusin"?wa:_s]=!0,o._enter()}),H.on(this._element,s,this._config.selector,i=>{const o=this._initializeOnDelegatedTarget(i);o._activeTrigger[i.type==="focusout"?wa:_s]=o._element.contains(i.relatedTarget),o._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},H.on(this._element.closest(ud),fd,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,n){clearTimeout(this._timeout),this._timeout=setTimeout(t,n)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const n=ln.getDataAttributes(this._element);for(const r of Object.keys(n))sO.has(r)&&delete n[r];return t={...n,...typeof t=="object"&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=t.container===!1?document.body:kn(t.container),typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),typeof t.title=="number"&&(t.title=t.title.toString()),typeof t.content=="number"&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[n,r]of Object.entries(this._config))this.constructor.Default[n]!==r&&(t[n]=r);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const n=cs.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t]()}})}}Rt(cs);const wO="popover",AO=".popover-header",TO=".popover-body",OO={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},SO={...cs.DefaultType,content:"(null|string|element|function)"};class Pc extends cs{static get Default(){return OO}static get DefaultType(){return SO}static get NAME(){return wO}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[AO]:this._getTitle(),[TO]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const n=Pc.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t]()}})}}Rt(Pc);const CO="scrollspy",NO="bs.scrollspy",Rc=`.${NO}`,LO=".data-api",IO=`activate${Rc}`,dd=`click${Rc}`,PO=`load${Rc}${LO}`,RO="dropdown-item",Sr="active",xO='[data-bs-spy="scroll"]',Aa="[href]",kO=".nav, .list-group",md=".nav-link",$O=".nav-item",DO=".list-group-item",MO=`${md}, ${$O} > ${md}, ${DO}`,FO=".dropdown",jO=".dropdown-toggle",UO={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},HO={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ho extends Ut{constructor(t,n){super(t,n),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return UO}static get DefaultType(){return HO}static get NAME(){return CO}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=kn(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,typeof t.threshold=="string"&&(t.threshold=t.threshold.split(",").map(n=>Number.parseFloat(n))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(H.off(this._config.target,dd),H.on(this._config.target,dd,Aa,t=>{const n=this._observableSections.get(t.target.hash);if(n){t.preventDefault();const r=this._rootElement||window,s=n.offsetTop-this._element.offsetTop;if(r.scrollTo){r.scrollTo({top:s,behavior:"smooth"});return}r.scrollTop=s}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(n=>this._observerCallback(n),t)}_observerCallback(t){const n=o=>this._targetLinks.get(`#${o.target.id}`),r=o=>{this._previousScrollData.visibleEntryTop=o.target.offsetTop,this._process(n(o))},s=(this._rootElement||document.documentElement).scrollTop,i=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(n(o));continue}const a=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(i&&a){if(r(o),!s)return;continue}!i&&!a&&r(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=re.find(Aa,this._config.target);for(const n of t){if(!n.hash||$n(n))continue;const r=re.findOne(decodeURI(n.hash),this._element);as(r)&&(this._targetLinks.set(decodeURI(n.hash),n),this._observableSections.set(n.hash,r))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Sr),this._activateParents(t),H.trigger(this._element,IO,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(RO)){re.findOne(jO,t.closest(FO)).classList.add(Sr);return}for(const n of re.parents(t,kO))for(const r of re.prev(n,MO))r.classList.add(Sr)}_clearActiveClass(t){t.classList.remove(Sr);const n=re.find(`${Aa}.${Sr}`,t);for(const r of n)r.classList.remove(Sr)}static jQueryInterface(t){return this.each(function(){const n=Ho.getOrCreateInstance(this,t);if(typeof t=="string"){if(n[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);n[t]()}})}}H.on(window,PO,()=>{for(const e of re.find(xO))Ho.getOrCreateInstance(e)});Rt(Ho);const VO="tab",BO="bs.tab",Er=`.${BO}`,WO=`hide${Er}`,YO=`hidden${Er}`,KO=`show${Er}`,zO=`shown${Er}`,GO=`click${Er}`,qO=`keydown${Er}`,XO=`load${Er}`,JO="ArrowLeft",hd="ArrowRight",QO="ArrowUp",pd="ArrowDown",Ta="Home",gd="End",rr="active",_d="fade",Oa="show",ZO="dropdown",ng=".dropdown-toggle",eS=".dropdown-menu",Sa=`:not(${ng})`,tS='.list-group, .nav, [role="tablist"]',nS=".nav-item, .list-group-item",rS=`.nav-link${Sa}, .list-group-item${Sa}, [role="tab"]${Sa}`,rg='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ca=`${rS}, ${rg}`,sS=`.${rr}[data-bs-toggle="tab"], .${rr}[data-bs-toggle="pill"], .${rr}[data-bs-toggle="list"]`;class ts extends Ut{constructor(t){super(t),this._parent=this._element.closest(tS),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),H.on(this._element,qO,n=>this._keydown(n)))}static get NAME(){return VO}show(){const t=this._element;if(this._elemIsActive(t))return;const n=this._getActiveElem(),r=n?H.trigger(n,WO,{relatedTarget:t}):null;H.trigger(t,KO,{relatedTarget:n}).defaultPrevented||r&&r.defaultPrevented||(this._deactivate(n,t),this._activate(t,n))}_activate(t,n){if(!t)return;t.classList.add(rr),this._activate(re.getElementFromSelector(t));const r=()=>{if(t.getAttribute("role")!=="tab"){t.classList.add(Oa);return}t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),H.trigger(t,zO,{relatedTarget:n})};this._queueCallback(r,t,t.classList.contains(_d))}_deactivate(t,n){if(!t)return;t.classList.remove(rr),t.blur(),this._deactivate(re.getElementFromSelector(t));const r=()=>{if(t.getAttribute("role")!=="tab"){t.classList.remove(Oa);return}t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),H.trigger(t,YO,{relatedTarget:n})};this._queueCallback(r,t,t.classList.contains(_d))}_keydown(t){if(![JO,hd,QO,pd,Ta,gd].includes(t.key))return;t.stopPropagation(),t.preventDefault();const n=this._getChildren().filter(s=>!$n(s));let r;if([Ta,gd].includes(t.key))r=n[t.key===Ta?0:n.length-1];else{const s=[hd,pd].includes(t.key);r=Nc(n,t.target,s,!0)}r&&(r.focus({preventScroll:!0}),ts.getOrCreateInstance(r).show())}_getChildren(){return re.find(Ca,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,n){this._setAttributeIfNotExists(t,"role","tablist");for(const r of n)this._setInitialAttributesOnChild(r)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const n=this._elemIsActive(t),r=this._getOuterElement(t);t.setAttribute("aria-selected",n),r!==t&&this._setAttributeIfNotExists(r,"role","presentation"),n||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const n=re.getElementFromSelector(t);n&&(this._setAttributeIfNotExists(n,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(n,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,n){const r=this._getOuterElement(t);if(!r.classList.contains(ZO))return;const s=(i,o)=>{const a=re.findOne(i,r);a&&a.classList.toggle(o,n)};s(ng,rr),s(eS,Oa),r.setAttribute("aria-expanded",n)}_setAttributeIfNotExists(t,n,r){t.hasAttribute(n)||t.setAttribute(n,r)}_elemIsActive(t){return t.classList.contains(rr)}_getInnerElement(t){return t.matches(Ca)?t:re.findOne(Ca,t)}_getOuterElement(t){return t.closest(nS)||t}static jQueryInterface(t){return this.each(function(){const n=ts.getOrCreateInstance(this);if(typeof t=="string"){if(n[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);n[t]()}})}}H.on(document,GO,rg,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),!$n(this)&&ts.getOrCreateInstance(this).show()});H.on(window,XO,()=>{for(const e of re.find(sS))ts.getOrCreateInstance(e)});Rt(ts);const iS="toast",oS="bs.toast",zn=`.${oS}`,aS=`mouseover${zn}`,lS=`mouseout${zn}`,cS=`focusin${zn}`,uS=`focusout${zn}`,fS=`hide${zn}`,dS=`hidden${zn}`,mS=`show${zn}`,hS=`shown${zn}`,pS="fade",vd="hide",Oi="show",Si="showing",gS={animation:"boolean",autohide:"boolean",delay:"number"},_S={animation:!0,autohide:!0,delay:5e3};class Vo extends Ut{constructor(t,n){super(t,n),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return _S}static get DefaultType(){return gS}static get NAME(){return iS}show(){if(H.trigger(this._element,mS).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(pS);const n=()=>{this._element.classList.remove(Si),H.trigger(this._element,hS),this._maybeScheduleHide()};this._element.classList.remove(vd),ti(this._element),this._element.classList.add(Oi,Si),this._queueCallback(n,this._element,this._config.animation)}hide(){if(!this.isShown()||H.trigger(this._element,fS).defaultPrevented)return;const n=()=>{this._element.classList.add(vd),this._element.classList.remove(Si,Oi),H.trigger(this._element,dS)};this._element.classList.add(Si),this._queueCallback(n,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Oi),super.dispose()}isShown(){return this._element.classList.contains(Oi)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,n){switch(t.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=n;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=n;break}}if(n){this._clearTimeout();return}const r=t.relatedTarget;this._element===r||this._element.contains(r)||this._maybeScheduleHide()}_setListeners(){H.on(this._element,aS,t=>this._onInteraction(t,!0)),H.on(this._element,lS,t=>this._onInteraction(t,!1)),H.on(this._element,cS,t=>this._onInteraction(t,!0)),H.on(this._element,uS,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const n=Vo.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof n[t]>"u")throw new TypeError(`No method named "${t}"`);n[t](this)}})}}Fo(Vo);Rt(Vo);const vS=["id"],bS={class:"modal-dialog modal-dialog-centered"},yS={class:"modal-content"},ES={class:"modal-header"},wS={class:"modal-title"},AS=k("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1),TS={class:"modal-body preserve-breaks"},OS={class:"modal-footer"},SS={type:"button",class:"btn btn-primary","data-bs-dismiss":"modal"},CS=Xe({__name:"GenericInfoModal",setup(e,{expose:t}){const{t:n}=Qt(),r=ge(null);let s;ss(()=>{s=pr.getOrCreateInstance(r.value)}),Oo(()=>{s==null||s.dispose()});function i(){s?s.show():console.error("Modal was not properly created before showing")}function o(){s?s.hide():console.error("Modal was not properly created before hiding")}const a=ge(""),l=ge(""),u=ge("");return t({show:i,hide:o,modalText:a,modalTitle:l,modalId:u}),(c,f)=>(Oe(),Ie("div",{class:"modal",tabindex:"-1",ref_key:"modalRef",ref:r,id:u.value},[k("div",bS,[k("div",yS,[k("div",ES,[k("h5",wS,ue(l.value),1),AS]),k("div",TS,[k("p",null,ue(a.value),1)]),k("div",OS,[k("button",SS,ue(V(n)("common.buttons.close")),1)])])])],8,vS))}}),xc=Symbol(),NS={class:"vh-100 overflow-y-scroll overflow-x-hidden"},LS=Xe({__name:"App",setup(e){const t=ge(null);function n(r,s){t.value?(t.value.modalTitle=r,t.value.modalText=s,t.value.show()):console.error("Modal not yet available")}return cr(xc,n),(r,s)=>(Oe(),Ie("div",NS,[ye(_0),ye(V(rp)),ye(CS,{ref_key:"infoModal",ref:t},null,512)]))}}),sg="/assets/OldInGameBlurredRotated-Bc8vmN0_.jpeg";var IS={VITE_API_BASE_URL:"/api",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{VITE_API_BASE_URL:PS,...RS}=IS,Rs={API_BASE_URL:PS,__vite__:RS};console.debug(Rs);function ig(e,t){return function(){return e.apply(t,arguments)}}const{toString:xS}=Object.prototype,{getPrototypeOf:kc}=Object,Bo=(e=>t=>{const n=xS.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ht=e=>(e=e.toLowerCase(),t=>Bo(t)===e),Wo=e=>t=>typeof t===e,{isArray:us}=Array,Ys=Wo("undefined");function kS(e){return e!==null&&!Ys(e)&&e.constructor!==null&&!Ys(e.constructor)&&Et(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const og=Ht("ArrayBuffer");function $S(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&og(e.buffer),t}const DS=Wo("string"),Et=Wo("function"),ag=Wo("number"),Yo=e=>e!==null&&typeof e=="object",MS=e=>e===!0||e===!1,Yi=e=>{if(Bo(e)!=="object")return!1;const t=kc(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},FS=Ht("Date"),jS=Ht("File"),US=Ht("Blob"),HS=Ht("FileList"),VS=e=>Yo(e)&&Et(e.pipe),BS=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Et(e.append)&&((t=Bo(e))==="formdata"||t==="object"&&Et(e.toString)&&e.toString()==="[object FormData]"))},WS=Ht("URLSearchParams"),[YS,KS,zS,GS]=["ReadableStream","Request","Response","Headers"].map(Ht),qS=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ii(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),us(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const sr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,cg=e=>!Ys(e)&&e!==sr;function _l(){const{caseless:e}=cg(this)&&this||{},t={},n=(r,s)=>{const i=e&&lg(t,s)||s;Yi(t[i])&&Yi(r)?t[i]=_l(t[i],r):Yi(r)?t[i]=_l({},r):us(r)?t[i]=r.slice():t[i]=r};for(let r=0,s=arguments.length;r(ii(t,(s,i)=>{n&&Et(s)?e[i]=ig(s,n):e[i]=s},{allOwnKeys:r}),e),JS=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),QS=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},ZS=(e,t,n,r)=>{let s,i,o;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!r||r(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=n!==!1&&kc(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},eC=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},tC=e=>{if(!e)return null;if(us(e))return e;let t=e.length;if(!ag(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},nC=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&kc(Uint8Array)),rC=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let s;for(;(s=r.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},sC=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},iC=Ht("HTMLFormElement"),oC=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),bd=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),aC=Ht("RegExp"),ug=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};ii(n,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(r[i]=o||s)}),Object.defineProperties(e,r)},lC=e=>{ug(e,(t,n)=>{if(Et(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Et(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},cC=(e,t)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return us(e)?r(e):r(String(e).split(t)),n},uC=()=>{},fC=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,Na="abcdefghijklmnopqrstuvwxyz",yd="0123456789",fg={DIGIT:yd,ALPHA:Na,ALPHA_DIGIT:Na+Na.toUpperCase()+yd},dC=(e=16,t=fg.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function mC(e){return!!(e&&Et(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const hC=e=>{const t=new Array(10),n=(r,s)=>{if(Yo(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[s]=r;const i=us(r)?[]:{};return ii(r,(o,a)=>{const l=n(o,s+1);!Ys(l)&&(i[a]=l)}),t[s]=void 0,i}}return r};return n(e,0)},pC=Ht("AsyncFunction"),gC=e=>e&&(Yo(e)||Et(e))&&Et(e.then)&&Et(e.catch),dg=((e,t)=>e?setImmediate:t?((n,r)=>(sr.addEventListener("message",({source:s,data:i})=>{s===sr&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),sr.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Et(sr.postMessage)),_C=typeof queueMicrotask<"u"?queueMicrotask.bind(sr):typeof process<"u"&&process.nextTick||dg,x={isArray:us,isArrayBuffer:og,isBuffer:kS,isFormData:BS,isArrayBufferView:$S,isString:DS,isNumber:ag,isBoolean:MS,isObject:Yo,isPlainObject:Yi,isReadableStream:YS,isRequest:KS,isResponse:zS,isHeaders:GS,isUndefined:Ys,isDate:FS,isFile:jS,isBlob:US,isRegExp:aC,isFunction:Et,isStream:VS,isURLSearchParams:WS,isTypedArray:nC,isFileList:HS,forEach:ii,merge:_l,extend:XS,trim:qS,stripBOM:JS,inherits:QS,toFlatObject:ZS,kindOf:Bo,kindOfTest:Ht,endsWith:eC,toArray:tC,forEachEntry:rC,matchAll:sC,isHTMLForm:iC,hasOwnProperty:bd,hasOwnProp:bd,reduceDescriptors:ug,freezeMethods:lC,toObjectSet:cC,toCamelCase:oC,noop:uC,toFiniteNumber:fC,findKey:lg,global:sr,isContextDefined:cg,ALPHABET:fg,generateString:dC,isSpecCompliantForm:mC,toJSONObject:hC,isAsyncFn:pC,isThenable:gC,setImmediate:dg,asap:_C};function me(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s)}x.inherits(me,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:x.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const mg=me.prototype,hg={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{hg[e]={value:e}});Object.defineProperties(me,hg);Object.defineProperty(mg,"isAxiosError",{value:!0});me.from=(e,t,n,r,s,i)=>{const o=Object.create(mg);return x.toFlatObject(e,o,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),me.call(o,e.message,t,n,r,s),o.cause=e,o.name=e.name,i&&Object.assign(o,i),o};const vC=null;function vl(e){return x.isPlainObject(e)||x.isArray(e)}function pg(e){return x.endsWith(e,"[]")?e.slice(0,-2):e}function Ed(e,t,n){return e?e.concat(t).map(function(s,i){return s=pg(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function bC(e){return x.isArray(e)&&!e.some(vl)}const yC=x.toFlatObject(x,{},null,function(t){return/^is[A-Z]/.test(t)});function Ko(e,t,n){if(!x.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=x.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(v,y){return!x.isUndefined(y[v])});const r=n.metaTokens,s=n.visitor||c,i=n.dots,o=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&x.isSpecCompliantForm(t);if(!x.isFunction(s))throw new TypeError("visitor must be a function");function u(p){if(p===null)return"";if(x.isDate(p))return p.toISOString();if(!l&&x.isBlob(p))throw new me("Blob is not supported. Use a Buffer instead.");return x.isArrayBuffer(p)||x.isTypedArray(p)?l&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function c(p,v,y){let w=p;if(p&&!y&&typeof p=="object"){if(x.endsWith(v,"{}"))v=r?v:v.slice(0,-2),p=JSON.stringify(p);else if(x.isArray(p)&&bC(p)||(x.isFileList(p)||x.endsWith(v,"[]"))&&(w=x.toArray(p)))return v=pg(v),w.forEach(function(E,A){!(x.isUndefined(E)||E===null)&&t.append(o===!0?Ed([v],A,i):o===null?v:v+"[]",u(E))}),!1}return vl(p)?!0:(t.append(Ed(y,v,i),u(p)),!1)}const f=[],d=Object.assign(yC,{defaultVisitor:c,convertValue:u,isVisitable:vl});function m(p,v){if(!x.isUndefined(p)){if(f.indexOf(p)!==-1)throw Error("Circular reference detected in "+v.join("."));f.push(p),x.forEach(p,function(w,S){(!(x.isUndefined(w)||w===null)&&s.call(t,w,x.isString(S)?S.trim():S,v,d))===!0&&m(w,v?v.concat(S):[S])}),f.pop()}}if(!x.isObject(e))throw new TypeError("data must be an object");return m(e),t}function wd(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function $c(e,t){this._pairs=[],e&&Ko(e,this,t)}const gg=$c.prototype;gg.append=function(t,n){this._pairs.push([t,n])};gg.toString=function(t){const n=t?function(r){return t.call(this,r,wd)}:wd;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function EC(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function _g(e,t,n){if(!t)return e;const r=n&&n.encode||EC,s=n&&n.serialize;let i;if(s?i=s(t,n):i=x.isURLSearchParams(t)?t.toString():new $c(t,n).toString(r),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class Ad{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){x.forEach(this.handlers,function(r){r!==null&&t(r)})}}const vg={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},wC=typeof URLSearchParams<"u"?URLSearchParams:$c,AC=typeof FormData<"u"?FormData:null,TC=typeof Blob<"u"?Blob:null,OC={isBrowser:!0,classes:{URLSearchParams:wC,FormData:AC,Blob:TC},protocols:["http","https","file","blob","url","data"]},Dc=typeof window<"u"&&typeof document<"u",SC=(e=>Dc&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),CC=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",NC=Dc&&window.location.href||"http://localhost",LC=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Dc,hasStandardBrowserEnv:SC,hasStandardBrowserWebWorkerEnv:CC,origin:NC},Symbol.toStringTag,{value:"Module"})),Ft={...LC,...OC};function IC(e,t){return Ko(e,new Ft.classes.URLSearchParams,Object.assign({visitor:function(n,r,s,i){return Ft.isNode&&x.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function PC(e){return x.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function RC(e){const t={},n=Object.keys(e);let r;const s=n.length;let i;for(r=0;r=n.length;return o=!o&&x.isArray(s)?s.length:o,l?(x.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!a):((!s[o]||!x.isObject(s[o]))&&(s[o]=[]),t(n,r,s[o],i)&&x.isArray(s[o])&&(s[o]=RC(s[o])),!a)}if(x.isFormData(e)&&x.isFunction(e.entries)){const n={};return x.forEachEntry(e,(r,s)=>{t(PC(r),s,n,0)}),n}return null}function xC(e,t,n){if(x.isString(e))try{return(t||JSON.parse)(e),x.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const oi={transitional:vg,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=x.isObject(t);if(i&&x.isHTMLForm(t)&&(t=new FormData(t)),x.isFormData(t))return s?JSON.stringify(bg(t)):t;if(x.isArrayBuffer(t)||x.isBuffer(t)||x.isStream(t)||x.isFile(t)||x.isBlob(t)||x.isReadableStream(t))return t;if(x.isArrayBufferView(t))return t.buffer;if(x.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return IC(t,this.formSerializer).toString();if((a=x.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return Ko(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),xC(t)):t}],transformResponse:[function(t){const n=this.transitional||oi.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(x.isResponse(t)||x.isReadableStream(t))return t;if(t&&x.isString(t)&&(r&&!this.responseType||s)){const o=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(a){if(o)throw a.name==="SyntaxError"?me.from(a,me.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ft.classes.FormData,Blob:Ft.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};x.forEach(["delete","get","head","post","put","patch"],e=>{oi.headers[e]={}});const kC=x.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),$C=e=>{const t={};let n,r,s;return e&&e.split(` +`).forEach(function(o){s=o.indexOf(":"),n=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!n||t[n]&&kC[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},Td=Symbol("internals");function vs(e){return e&&String(e).trim().toLowerCase()}function Ki(e){return e===!1||e==null?e:x.isArray(e)?e.map(Ki):String(e)}function DC(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const MC=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function La(e,t,n,r,s){if(x.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!x.isString(t)){if(x.isString(r))return t.indexOf(r)!==-1;if(x.isRegExp(r))return r.test(t)}}function FC(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function jC(e,t){const n=x.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,i,o){return this[r].call(this,t,s,i,o)},configurable:!0})})}class gt{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function i(a,l,u){const c=vs(l);if(!c)throw new Error("header name must be a non-empty string");const f=x.findKey(s,c);(!f||s[f]===void 0||u===!0||u===void 0&&s[f]!==!1)&&(s[f||l]=Ki(a))}const o=(a,l)=>x.forEach(a,(u,c)=>i(u,c,l));if(x.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(x.isString(t)&&(t=t.trim())&&!MC(t))o($C(t),n);else if(x.isHeaders(t))for(const[a,l]of t.entries())i(l,a,r);else t!=null&&i(n,t,r);return this}get(t,n){if(t=vs(t),t){const r=x.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return DC(s);if(x.isFunction(n))return n.call(this,s,r);if(x.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=vs(t),t){const r=x.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||La(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function i(o){if(o=vs(o),o){const a=x.findKey(r,o);a&&(!n||La(r,r[a],a,n))&&(delete r[a],s=!0)}}return x.isArray(t)?t.forEach(i):i(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const i=n[r];(!t||La(this,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const n=this,r={};return x.forEach(this,(s,i)=>{const o=x.findKey(r,i);if(o){n[o]=Ki(s),delete n[i];return}const a=t?FC(i):String(i).trim();a!==i&&delete n[i],n[a]=Ki(s),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return x.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&x.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[Td]=this[Td]={accessors:{}}).accessors,s=this.prototype;function i(o){const a=vs(o);r[a]||(jC(s,o),r[a]=!0)}return x.isArray(t)?t.forEach(i):i(t),this}}gt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);x.reduceDescriptors(gt.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});x.freezeMethods(gt);function Ia(e,t){const n=this||oi,r=t||n,s=gt.from(r.headers);let i=r.data;return x.forEach(e,function(a){i=a.call(n,i,s.normalize(),t?t.status:void 0)}),s.normalize(),i}function yg(e){return!!(e&&e.__CANCEL__)}function fs(e,t,n){me.call(this,e??"canceled",me.ERR_CANCELED,t,n),this.name="CanceledError"}x.inherits(fs,me,{__CANCEL__:!0});function Eg(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new me("Request failed with status code "+n.status,[me.ERR_BAD_REQUEST,me.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function UC(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function HC(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,i=0,o;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),c=r[i];o||(o=u),n[s]=l,r[s]=u;let f=i,d=0;for(;f!==s;)d+=n[f++],f=f%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),u-o{n=c,s=null,i&&(clearTimeout(i),i=null),e.apply(null,u)};return[(...u)=>{const c=Date.now(),f=c-n;f>=r?o(u,c):(s=u,i||(i=setTimeout(()=>{i=null,o(s)},r-f)))},()=>s&&o(s)]}const lo=(e,t,n=3)=>{let r=0;const s=HC(50,250);return VC(i=>{const o=i.loaded,a=i.lengthComputable?i.total:void 0,l=o-r,u=s(l),c=o<=a;r=o;const f={loaded:o,total:a,progress:a?o/a:void 0,bytes:l,rate:u||void 0,estimated:u&&a&&c?(a-o)/u:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(f)},n)},Od=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Sd=e=>(...t)=>x.asap(()=>e(...t)),BC=Ft.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let r;function s(i){let o=i;return t&&(n.setAttribute("href",o),o=n.href),n.setAttribute("href",o),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=s(window.location.href),function(o){const a=x.isString(o)?s(o):o;return a.protocol===r.protocol&&a.host===r.host}}():function(){return function(){return!0}}(),WC=Ft.hasStandardBrowserEnv?{write(e,t,n,r,s,i){const o=[e+"="+encodeURIComponent(t)];x.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),x.isString(r)&&o.push("path="+r),x.isString(s)&&o.push("domain="+s),i===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function YC(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function KC(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function wg(e,t){return e&&!YC(t)?KC(e,t):t}const Cd=e=>e instanceof gt?{...e}:e;function gr(e,t){t=t||{};const n={};function r(u,c,f){return x.isPlainObject(u)&&x.isPlainObject(c)?x.merge.call({caseless:f},u,c):x.isPlainObject(c)?x.merge({},c):x.isArray(c)?c.slice():c}function s(u,c,f){if(x.isUndefined(c)){if(!x.isUndefined(u))return r(void 0,u,f)}else return r(u,c,f)}function i(u,c){if(!x.isUndefined(c))return r(void 0,c)}function o(u,c){if(x.isUndefined(c)){if(!x.isUndefined(u))return r(void 0,u)}else return r(void 0,c)}function a(u,c,f){if(f in t)return r(u,c);if(f in e)return r(void 0,u)}const l={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(u,c)=>s(Cd(u),Cd(c),!0)};return x.forEach(Object.keys(Object.assign({},e,t)),function(c){const f=l[c]||s,d=f(e[c],t[c],c);x.isUndefined(d)&&f!==a||(n[c]=d)}),n}const Ag=e=>{const t=gr({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:o,auth:a}=t;t.headers=o=gt.from(o),t.url=_g(wg(t.baseURL,t.url),e.params,e.paramsSerializer),a&&o.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let l;if(x.isFormData(n)){if(Ft.hasStandardBrowserEnv||Ft.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if((l=o.getContentType())!==!1){const[u,...c]=l?l.split(";").map(f=>f.trim()).filter(Boolean):[];o.setContentType([u||"multipart/form-data",...c].join("; "))}}if(Ft.hasStandardBrowserEnv&&(r&&x.isFunction(r)&&(r=r(t)),r||r!==!1&&BC(t.url))){const u=s&&i&&WC.read(i);u&&o.set(s,u)}return t},zC=typeof XMLHttpRequest<"u",GC=zC&&function(e){return new Promise(function(n,r){const s=Ag(e);let i=s.data;const o=gt.from(s.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:u}=s,c,f,d,m,p;function v(){m&&m(),p&&p(),s.cancelToken&&s.cancelToken.unsubscribe(c),s.signal&&s.signal.removeEventListener("abort",c)}let y=new XMLHttpRequest;y.open(s.method.toUpperCase(),s.url,!0),y.timeout=s.timeout;function w(){if(!y)return;const E=gt.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders()),C={data:!a||a==="text"||a==="json"?y.responseText:y.response,status:y.status,statusText:y.statusText,headers:E,config:e,request:y};Eg(function(I){n(I),v()},function(I){r(I),v()},C),y=null}"onloadend"in y?y.onloadend=w:y.onreadystatechange=function(){!y||y.readyState!==4||y.status===0&&!(y.responseURL&&y.responseURL.indexOf("file:")===0)||setTimeout(w)},y.onabort=function(){y&&(r(new me("Request aborted",me.ECONNABORTED,e,y)),y=null)},y.onerror=function(){r(new me("Network Error",me.ERR_NETWORK,e,y)),y=null},y.ontimeout=function(){let A=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const C=s.transitional||vg;s.timeoutErrorMessage&&(A=s.timeoutErrorMessage),r(new me(A,C.clarifyTimeoutError?me.ETIMEDOUT:me.ECONNABORTED,e,y)),y=null},i===void 0&&o.setContentType(null),"setRequestHeader"in y&&x.forEach(o.toJSON(),function(A,C){y.setRequestHeader(C,A)}),x.isUndefined(s.withCredentials)||(y.withCredentials=!!s.withCredentials),a&&a!=="json"&&(y.responseType=s.responseType),u&&([d,p]=lo(u,!0),y.addEventListener("progress",d)),l&&y.upload&&([f,m]=lo(l),y.upload.addEventListener("progress",f),y.upload.addEventListener("loadend",m)),(s.cancelToken||s.signal)&&(c=E=>{y&&(r(!E||E.type?new fs(null,e,y):E),y.abort(),y=null)},s.cancelToken&&s.cancelToken.subscribe(c),s.signal&&(s.signal.aborted?c():s.signal.addEventListener("abort",c)));const S=UC(s.url);if(S&&Ft.protocols.indexOf(S)===-1){r(new me("Unsupported protocol "+S+":",me.ERR_BAD_REQUEST,e));return}y.send(i||null)})},qC=(e,t)=>{let n=new AbortController,r;const s=function(l){if(!r){r=!0,o();const u=l instanceof Error?l:this.reason;n.abort(u instanceof me?u:new fs(u instanceof Error?u.message:u))}};let i=t&&setTimeout(()=>{s(new me(`timeout ${t} of ms exceeded`,me.ETIMEDOUT))},t);const o=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(l=>{l&&(l.removeEventListener?l.removeEventListener("abort",s):l.unsubscribe(s))}),e=null)};e.forEach(l=>l&&l.addEventListener&&l.addEventListener("abort",s));const{signal:a}=n;return a.unsubscribe=o,[a,()=>{i&&clearTimeout(i),i=null}]},XC=function*(e,t){let n=e.byteLength;if(!t||n{const i=JC(e,t,s);let o=0,a,l=u=>{a||(a=!0,r&&r(u))};return new ReadableStream({async pull(u){try{const{done:c,value:f}=await i.next();if(c){l(),u.close();return}let d=f.byteLength;if(n){let m=o+=d;n(m)}u.enqueue(new Uint8Array(f))}catch(c){throw l(c),c}},cancel(u){return l(u),i.return()}},{highWaterMark:2})},zo=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Tg=zo&&typeof ReadableStream=="function",bl=zo&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Og=(e,...t)=>{try{return!!e(...t)}catch{return!1}},QC=Tg&&Og(()=>{let e=!1;const t=new Request(Ft.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Ld=64*1024,yl=Tg&&Og(()=>x.isReadableStream(new Response("").body)),co={stream:yl&&(e=>e.body)};zo&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!co[t]&&(co[t]=x.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new me(`Response type '${t}' is not supported`,me.ERR_NOT_SUPPORT,r)})})})(new Response);const ZC=async e=>{if(e==null)return 0;if(x.isBlob(e))return e.size;if(x.isSpecCompliantForm(e))return(await new Request(e).arrayBuffer()).byteLength;if(x.isArrayBufferView(e)||x.isArrayBuffer(e))return e.byteLength;if(x.isURLSearchParams(e)&&(e=e+""),x.isString(e))return(await bl(e)).byteLength},eN=async(e,t)=>{const n=x.toFiniteNumber(e.getContentLength());return n??ZC(t)},tN=zo&&(async e=>{let{url:t,method:n,data:r,signal:s,cancelToken:i,timeout:o,onDownloadProgress:a,onUploadProgress:l,responseType:u,headers:c,withCredentials:f="same-origin",fetchOptions:d}=Ag(e);u=u?(u+"").toLowerCase():"text";let[m,p]=s||i||o?qC([s,i],o):[],v,y;const w=()=>{!v&&setTimeout(()=>{m&&m.unsubscribe()}),v=!0};let S;try{if(l&&QC&&n!=="get"&&n!=="head"&&(S=await eN(c,r))!==0){let O=new Request(t,{method:"POST",body:r,duplex:"half"}),I;if(x.isFormData(r)&&(I=O.headers.get("content-type"))&&c.setContentType(I),O.body){const[$,P]=Od(S,lo(Sd(l)));r=Nd(O.body,Ld,$,P,bl)}}x.isString(f)||(f=f?"include":"omit"),y=new Request(t,{...d,signal:m,method:n.toUpperCase(),headers:c.normalize().toJSON(),body:r,duplex:"half",credentials:f});let E=await fetch(y);const A=yl&&(u==="stream"||u==="response");if(yl&&(a||A)){const O={};["status","statusText","headers"].forEach(q=>{O[q]=E[q]});const I=x.toFiniteNumber(E.headers.get("content-length")),[$,P]=a&&Od(I,lo(Sd(a),!0))||[];E=new Response(Nd(E.body,Ld,$,()=>{P&&P(),A&&w()},bl),O)}u=u||"text";let C=await co[x.findKey(co,u)||"text"](E,e);return!A&&w(),p&&p(),await new Promise((O,I)=>{Eg(O,I,{data:C,headers:gt.from(E.headers),status:E.status,statusText:E.statusText,config:e,request:y})})}catch(E){throw w(),E&&E.name==="TypeError"&&/fetch/i.test(E.message)?Object.assign(new me("Network Error",me.ERR_NETWORK,e,y),{cause:E.cause||E}):me.from(E,E&&E.code,e,y)}}),El={http:vC,xhr:GC,fetch:tN};x.forEach(El,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Id=e=>`- ${e}`,nN=e=>x.isFunction(e)||e===null||e===!1,Sg={getAdapter:e=>{e=x.isArray(e)?e:[e];const{length:t}=e;let n,r;const s={};for(let i=0;i`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let o=t?i.length>1?`since : +`+i.map(Id).join(` +`):" "+Id(i[0]):"as no adapter specified";throw new me("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return r},adapters:El};function Pa(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fs(null,e)}function Pd(e){return Pa(e),e.headers=gt.from(e.headers),e.data=Ia.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Sg.getAdapter(e.adapter||oi.adapter)(e).then(function(r){return Pa(e),r.data=Ia.call(e,e.transformResponse,r),r.headers=gt.from(r.headers),r},function(r){return yg(r)||(Pa(e),r&&r.response&&(r.response.data=Ia.call(e,e.transformResponse,r.response),r.response.headers=gt.from(r.response.headers))),Promise.reject(r)})}const Cg="1.7.3",Mc={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Mc[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Rd={};Mc.transitional=function(t,n,r){function s(i,o){return"[Axios v"+Cg+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,a)=>{if(t===!1)throw new me(s(o," has been removed"+(n?" in "+n:"")),me.ERR_DEPRECATED);return n&&!Rd[o]&&(Rd[o]=!0,console.warn(s(o," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,o,a):!0}};function rN(e,t,n){if(typeof e!="object")throw new me("options must be an object",me.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const i=r[s],o=t[i];if(o){const a=e[i],l=a===void 0||o(a,i,e);if(l!==!0)throw new me("option "+i+" must be "+l,me.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new me("Unknown option "+i,me.ERR_BAD_OPTION)}}const wl={assertOptions:rN,validators:Mc},yn=wl.validators;class fr{constructor(t){this.defaults=t,this.interceptors={request:new Ad,response:new Ad}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s;Error.captureStackTrace?Error.captureStackTrace(s={}):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=gr(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:i}=n;r!==void 0&&wl.assertOptions(r,{silentJSONParsing:yn.transitional(yn.boolean),forcedJSONParsing:yn.transitional(yn.boolean),clarifyTimeoutError:yn.transitional(yn.boolean)},!1),s!=null&&(x.isFunction(s)?n.paramsSerializer={serialize:s}:wl.assertOptions(s,{encode:yn.function,serialize:yn.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=i&&x.merge(i.common,i[n.method]);i&&x.forEach(["delete","get","head","post","put","patch","common"],p=>{delete i[p]}),n.headers=gt.concat(o,i);const a=[];let l=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(n)===!1||(l=l&&v.synchronous,a.unshift(v.fulfilled,v.rejected))});const u=[];this.interceptors.response.forEach(function(v){u.push(v.fulfilled,v.rejected)});let c,f=0,d;if(!l){const p=[Pd.bind(this),void 0];for(p.unshift.apply(p,a),p.push.apply(p,u),d=p.length,c=Promise.resolve(n);f{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(a=>{r.subscribe(a),i=a}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},t(function(i,o,a){r.reason||(r.reason=new fs(i,o,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new Fc(function(s){t=s}),cancel:t}}}function sN(e){return function(n){return e.apply(null,n)}}function iN(e){return x.isObject(e)&&e.isAxiosError===!0}const Al={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Al).forEach(([e,t])=>{Al[t]=e});function Ng(e){const t=new fr(e),n=ig(fr.prototype.request,t);return x.extend(n,fr.prototype,t,{allOwnKeys:!0}),x.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Ng(gr(e,s))},n}const Ue=Ng(oi);Ue.Axios=fr;Ue.CanceledError=fs;Ue.CancelToken=Fc;Ue.isCancel=yg;Ue.VERSION=Cg;Ue.toFormData=Ko;Ue.AxiosError=me;Ue.Cancel=Ue.CanceledError;Ue.all=function(t){return Promise.all(t)};Ue.spread=sN;Ue.isAxiosError=iN;Ue.mergeConfig=gr;Ue.AxiosHeaders=gt;Ue.formToJSON=e=>bg(x.isHTMLForm(e)?new FormData(e):e);Ue.getAdapter=Sg.getAdapter;Ue.HttpStatusCode=Al;Ue.default=Ue;class oN{getTest(t,n){return new Promise((r,s)=>{Ue.get(`${Rs.API_BASE_URL}/user/test/${t}`,{params:{param1:n},withCredentials:!0}).then(i=>{r(i)}).catch(i=>{s(i)})})}}const aN=new oN,ai=e=>(iv("data-v-6c838f03"),e=e(),ov(),e),lN={class:"row"},cN={class:"col"},uN={class:"w-100 d-flex justify-content-center my-5"},fN={class:"container-fluid px-0 d-flex justify-content-center align-items-center flex-column"},dN={class:"row w-100 border-top"},mN={class:"col-md-6 col-12 px-0 bg-body-secondary"},hN={class:"d-flex justify-content-center align-items-center h-100 w-100 flex-column"},pN={class:"m-1"},gN={class:"row"},_N=ai(()=>k("div",{class:"col-auto"},[k("input",{type:"text",class:"form-control",placeholder:"Code"})],-1)),vN={class:"col-auto"},bN={class:"btn btn-primary"},yN=ai(()=>k("div",{class:"col-md-6 col-12 px-0 mx-0"},[k("img",{class:"w-100",src:sg,alt:"Blurred, slightly tilted image of how the game looks like"})],-1)),EN={class:"row w-100 border-bottom"},wN=ai(()=>k("div",{class:"col-md-6 col-12 px-0 mx-0"},[k("img",{class:"w-100",src:sg,alt:"Blurred, slightly tilted image of how the game looks like"})],-1)),AN={class:"col-md-6 col-12 px-0 mx-0 bg-body-secondary"},TN={class:"h-100 w-100 d-flex justify-content-center align-items-center flex-column"},ON={class:"m-1"},SN={class:"row"},CN=ai(()=>k("div",{class:"col-auto"},[k("input",{type:"text",class:"form-control",placeholder:"Code"})],-1)),NN={class:"col-auto"},LN={class:"btn btn-primary"},IN={class:"row w-100"},PN={class:"col mt-5 mb-5"},RN={class:"container mb-5 text-center"},xN=ai(()=>k("h4",null," How does it work? ",-1)),kN={class:"row mt-5"},$N={class:"col-4 d-flex justify-content-center align-items-center flex-column gap-3"},DN={class:"border rounded-circle w-fit-content"},MN={class:"col-4 d-flex justify-content-center align-items-center flex-column gap-3"},FN={class:"border rounded-circle w-fit-content"},jN={class:"col-4 d-flex justify-content-center align-items-center flex-column gap-3"},UN={class:"border rounded-circle w-fit-content"},HN=Xe({__name:"HomePage",setup(e){const t=ge({});return ss(()=>{aN.getTest("ping","42").then(n=>{t.value=n.data})}),(n,r)=>(Oe(),Ie(lt,null,[k("div",lN,[k("div",cN,[k("div",uN,[k("h1",null,ue(n.$t("home.welcome"))+" "+ue(t.value),1)])])]),k("div",fN,[k("div",dN,[k("div",mN,[k("div",hN,[k("h3",pN,ue(n.$t("join.text")),1),k("p",null,ue(n.$t("join.alreadyHostedGome")),1),k("p",null,ue(n.$t("join.textCode")),1),k("div",gN,[_N,k("div",vN,[k("button",bN,ue(n.$t("join.button")),1)])])])]),yN]),k("div",EN,[wN,k("div",AN,[k("div",TN,[k("h3",ON,ue(n.$t("host.text")),1),k("p",null,ue(n.$t("host.alreadyHostedGome")),1),k("p",null,ue(n.$t("host.textCode")),1),k("div",SN,[CN,k("div",NN,[k("button",LN,ue(n.$t("host.button")),1)])])])])]),k("div",IN,[k("div",PN,[k("div",RN,[xN,k("div",kN,[k("div",$N,[k("div",DN,[ye(Ls,{height:"2rem",width:"2rem"})]),Ye(" Create a Board ")]),k("div",MN,[k("div",FN,[ye(Ls,{height:"2rem",width:"2rem"})]),Ye(" Invite your friends ")]),k("div",jN,[k("div",UN,[ye(Ls,{height:"2rem",width:"2rem"})]),Ye(" Have fun playing ")])])])])])])],64))}}),VN=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},BN=VN(HN,[["__scopeId","data-v-6c838f03"]]),WN=Xe({__name:"AboutPage",setup(e){const{t}=Qt();return(n,r)=>(Oe(),Ie("div",null,ue(V(t)("about.whatis")),1))}});class YN{signupUser(t){return new Promise((n,r)=>{Ue.post(`${Rs.API_BASE_URL}/auth/signup`,t,{withCredentials:!0}).then(s=>{n(s.data)}).catch(s=>{r(s)})})}loginUser(t){return new Promise((n,r)=>{Ue.post(`${Rs.API_BASE_URL}/auth/login`,t,{withCredentials:!0}).then(s=>{n(s)}).catch(s=>{r(s)})})}logoutUser(){return new Promise((t,n)=>{Ue.post(`${Rs.API_BASE_URL}/auth/logout`,null,{withCredentials:!0}).then(r=>{t(r)}).catch(r=>{n(r)})})}}const Lg=new YN;function xd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Sn(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:[];return Object.keys(e).reduce((n,r)=>(t.includes(r)||(n[r]=V(e[r])),n),{})}function uo(e){return typeof e=="function"}function zN(e){return In(e)||Vr(e)}function Ig(e,t,n){let r=e;const s=t.split(".");for(let i=0;ie.some(r=>Ig(t,r,{[n]:!1})[n]))}function $d(e,t,n){return ne(()=>e.reduce((r,s)=>{const i=Ig(t,s,{[n]:!1})[n]||[];return r.concat(i)},[]))}function Pg(e,t,n,r){return e.call(r,V(t),V(n),r)}function Rg(e){return e.$valid!==void 0?!e.$valid:!e}function GN(e,t,n,r,s,i,o){let{$lazy:a,$rewardEarly:l}=s,u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[],c=arguments.length>8?arguments[8]:void 0,f=arguments.length>9?arguments[9]:void 0,d=arguments.length>10?arguments[10]:void 0;const m=ge(!!r.value),p=ge(0);n.value=!1;const v=it([t,r].concat(u,d),()=>{if(a&&!r.value||l&&!f.value&&!n.value)return;let y;try{y=Pg(e,t,c,o)}catch(w){y=Promise.reject(w)}p.value++,n.value=!!p.value,m.value=!1,Promise.resolve(y).then(w=>{p.value--,n.value=!!p.value,i.value=w,m.value=Rg(w)}).catch(w=>{p.value--,n.value=!!p.value,i.value=w,m.value=!0})},{immediate:!0,deep:typeof t=="object"});return{$invalid:m,$unwatch:v}}function qN(e,t,n,r,s,i,o,a){let{$lazy:l,$rewardEarly:u}=r;const c=()=>({}),f=ne(()=>{if(l&&!n.value||u&&!a.value)return!1;let d=!0;try{const m=Pg(e,t,o,i);s.value=m,d=Rg(m)}catch(m){s.value=m}return d});return{$unwatch:c,$invalid:f}}function XN(e,t,n,r,s,i,o,a,l,u,c){const f=ge(!1),d=e.$params||{},m=ge(null);let p,v;e.$async?{$invalid:p,$unwatch:v}=GN(e.$validator,t,f,n,r,m,s,e.$watchTargets,l,u,c):{$invalid:p,$unwatch:v}=qN(e.$validator,t,n,r,m,s,l,u);const y=e.$message;return{$message:uo(y)?ne(()=>y(kd({$pending:f,$invalid:p,$params:kd(d),$model:t,$response:m,$validator:i,$propertyPath:a,$property:o}))):y||"",$params:d,$pending:f,$invalid:p,$response:m,$unwatch:v}}function JN(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=V(e),n=Object.keys(t),r={},s={},i={};let o=null;return n.forEach(a=>{const l=t[a];switch(!0){case uo(l.$validator):r[a]=l;break;case uo(l):r[a]={$validator:l};break;case a==="$validationGroups":o=l;break;case a.startsWith("$"):i[a]=l;break;default:s[a]=l}}),{rules:r,nestedValidators:s,config:i,validationGroups:o}}const QN="__root";function ZN(e,t,n,r,s,i,o,a,l){const u=Object.keys(e),c=r.get(s,e),f=ge(!1),d=ge(!1),m=ge(0);if(c){if(!c.$partial)return c;c.$unwatch(),f.value=c.$dirty.value}const p={$dirty:f,$path:s,$touch:()=>{f.value||(f.value=!0)},$reset:()=>{f.value&&(f.value=!1)},$commit:()=>{}};return u.length?(u.forEach(v=>{p[v]=XN(e[v],t,p.$dirty,i,o,v,n,s,l,d,m)}),p.$externalResults=ne(()=>a.value?[].concat(a.value).map((v,y)=>({$propertyPath:s,$property:n,$validator:"$externalResults",$uid:`${s}-externalResult-${y}`,$message:v,$params:{},$response:null,$pending:!1})):[]),p.$invalid=ne(()=>{const v=u.some(y=>V(p[y].$invalid));return d.value=v,!!p.$externalResults.value.length||v}),p.$pending=ne(()=>u.some(v=>V(p[v].$pending))),p.$error=ne(()=>p.$dirty.value?p.$pending.value||p.$invalid.value:!1),p.$silentErrors=ne(()=>u.filter(v=>V(p[v].$invalid)).map(v=>{const y=p[v];return Vn({$propertyPath:s,$property:n,$validator:v,$uid:`${s}-${v}`,$message:y.$message,$params:y.$params,$response:y.$response,$pending:y.$pending})}).concat(p.$externalResults.value)),p.$errors=ne(()=>p.$dirty.value?p.$silentErrors.value:[]),p.$unwatch=()=>u.forEach(v=>{p[v].$unwatch()}),p.$commit=()=>{d.value=!0,m.value=Date.now()},r.set(s,e,p),p):(c&&r.set(s,e,p),p)}function eL(e,t,n,r,s,i,o){const a=Object.keys(e);return a.length?a.reduce((l,u)=>(l[u]=Tl({validations:e[u],state:t,key:u,parentKey:n,resultsCache:r,globalConfig:s,instance:i,externalResults:o}),l),{}):{}}function tL(e,t,n){const r=ne(()=>[t,n].filter(p=>p).reduce((p,v)=>p.concat(Object.values(V(v))),[])),s=ne({get(){return e.$dirty.value||(r.value.length?r.value.every(p=>p.$dirty):!1)},set(p){e.$dirty.value=p}}),i=ne(()=>{const p=V(e.$silentErrors)||[],v=r.value.filter(y=>(V(y).$silentErrors||[]).length).reduce((y,w)=>y.concat(...w.$silentErrors),[]);return p.concat(v)}),o=ne(()=>{const p=V(e.$errors)||[],v=r.value.filter(y=>(V(y).$errors||[]).length).reduce((y,w)=>y.concat(...w.$errors),[]);return p.concat(v)}),a=ne(()=>r.value.some(p=>p.$invalid)||V(e.$invalid)||!1),l=ne(()=>r.value.some(p=>V(p.$pending))||V(e.$pending)||!1),u=ne(()=>r.value.some(p=>p.$dirty)||r.value.some(p=>p.$anyDirty)||s.value),c=ne(()=>s.value?l.value||a.value:!1),f=()=>{e.$touch(),r.value.forEach(p=>{p.$touch()})},d=()=>{e.$commit(),r.value.forEach(p=>{p.$commit()})},m=()=>{e.$reset(),r.value.forEach(p=>{p.$reset()})};return r.value.length&&r.value.every(p=>p.$dirty)&&f(),{$dirty:s,$errors:o,$invalid:a,$anyDirty:u,$error:c,$pending:l,$touch:f,$reset:m,$silentErrors:i,$commit:d}}function Tl(e){let{validations:t,state:n,key:r,parentKey:s,childResults:i,resultsCache:o,globalConfig:a={},instance:l,externalResults:u}=e;const c=s?`${s}.${r}`:r,{rules:f,nestedValidators:d,config:m,validationGroups:p}=JN(t),v=Sn(Sn({},a),m),y=r?ne(()=>{const pe=V(n);return pe?V(pe[r]):void 0}):n,w=Sn({},V(u)||{}),S=ne(()=>{const pe=V(u);return r?pe?V(pe[r]):void 0:pe}),E=ZN(f,y,r,o,c,v,l,S,n),A=eL(d,y,c,o,v,l,S),C={};p&&Object.entries(p).forEach(pe=>{let[Ee,be]=pe;C[Ee]={$invalid:Ra(be,A,"$invalid"),$error:Ra(be,A,"$error"),$pending:Ra(be,A,"$pending"),$errors:$d(be,A,"$errors"),$silentErrors:$d(be,A,"$silentErrors")}});const{$dirty:O,$errors:I,$invalid:$,$anyDirty:P,$error:q,$pending:ie,$touch:Q,$reset:le,$silentErrors:je,$commit:Ce}=tL(E,A,i),ee=r?ne({get:()=>V(y),set:pe=>{O.value=!0;const Ee=V(n),be=V(u);be&&(be[r]=w[r]),He(Ee[r])?Ee[r].value=pe:Ee[r]=pe}}):null;r&&v.$autoDirty&&it(y,()=>{O.value||Q();const pe=V(u);pe&&(pe[r]=w[r])},{flush:"sync"});async function ae(){return Q(),v.$rewardEarly&&(Ce(),await Ms()),await Ms(),new Promise(pe=>{if(!ie.value)return pe(!$.value);const Ee=it(ie,()=>{pe(!$.value),Ee()})})}function de(pe){return(i.value||{})[pe]}function xe(){He(u)?u.value=w:Object.keys(w).length===0?Object.keys(u).forEach(pe=>{delete u[pe]}):Object.assign(u,w)}return Vn(Sn(Sn(Sn({},E),{},{$model:ee,$dirty:O,$error:q,$errors:I,$invalid:$,$anyDirty:P,$pending:ie,$touch:Q,$reset:le,$path:c||QN,$silentErrors:je,$validate:ae,$commit:Ce},i&&{$getResultsForChild:de,$clearExternalResults:xe,$validationGroups:C}),A))}class nL{constructor(){this.storage=new Map}set(t,n,r){this.storage.set(t,{rules:n,result:r})}checkRulesValidity(t,n,r){const s=Object.keys(r),i=Object.keys(n);return i.length!==s.length||!i.every(a=>s.includes(a))?!1:i.every(a=>n[a].$params?Object.keys(n[a].$params).every(l=>V(r[a].$params[l])===V(n[a].$params[l])):!0)}get(t,n){const r=this.storage.get(t);if(!r)return;const{rules:s,result:i}=r,o=this.checkRulesValidity(t,n,s),a=i.$unwatch?i.$unwatch:()=>({});return o?i:{$dirty:i.$dirty,$partial:!0,$unwatch:a}}}const zi={COLLECT_ALL:!0,COLLECT_NONE:!1},Dd=Symbol("vuelidate#injectChildResults"),Md=Symbol("vuelidate#removeChildResults");function rL(e){let{$scope:t,instance:n}=e;const r={},s=ge([]),i=ne(()=>s.value.reduce((c,f)=>(c[f]=V(r[f]),c),{}));function o(c,f){let{$registerAs:d,$scope:m,$stopPropagation:p}=f;p||t===zi.COLLECT_NONE||m===zi.COLLECT_NONE||t!==zi.COLLECT_ALL&&t!==m||(r[d]=c,s.value.push(d))}n.__vuelidateInjectInstances=[].concat(n.__vuelidateInjectInstances||[],o);function a(c){s.value=s.value.filter(f=>f!==c),delete r[c]}n.__vuelidateRemoveInstances=[].concat(n.__vuelidateRemoveInstances||[],a);const l=st(Dd,[]);cr(Dd,n.__vuelidateInjectInstances);const u=st(Md,[]);return cr(Md,n.__vuelidateRemoveInstances),{childResults:i,sendValidationResultsToParent:l,removeValidationResultsFromParent:u}}function xg(e){return new Proxy(e,{get(t,n){return typeof t[n]=="object"?xg(t[n]):ne(()=>t[n])}})}let Fd=0;function kg(e,t){var n;let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};arguments.length===1&&(r=e,e=void 0,t=void 0);let{$registerAs:s,$scope:i=zi.COLLECT_ALL,$stopPropagation:o,$externalResults:a,currentVueInstance:l}=r;const u=l||((n=Wr())===null||n===void 0?void 0:n.proxy),c=u?u.$options:{};s||(Fd+=1,s=`_vuelidate_${Fd}`);const f=ge({}),d=new nL,{childResults:m,sendValidationResultsToParent:p,removeValidationResultsFromParent:v}=u?rL({$scope:i,instance:u}):{childResults:ge({})};if(!e&&c.validations){const y=c.validations;t=ge({}),tc(()=>{t.value=u,it(()=>uo(y)?y.call(t.value,new xg(t.value)):y,w=>{f.value=Tl({validations:w,state:t,childResults:m,resultsCache:d,globalConfig:r,instance:u,externalResults:a||u.vuelidateExternalResults})},{immediate:!0})}),r=c.validationsConfig||r}else{const y=He(e)||zN(e)?e:Vn(e||{});it(y,w=>{f.value=Tl({validations:w,state:t,childResults:m,resultsCache:d,globalConfig:r,instance:u??{},externalResults:a})},{immediate:!0})}return u&&(p.forEach(y=>y(f,{$registerAs:s,$scope:i,$stopPropagation:o})),Km(()=>v.forEach(y=>y(s)))),ne(()=>Sn(Sn({},V(f.value)),m.value))}function jd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function $g(e){for(var t=1;t{if(e=V(e),Array.isArray(e))return!!e.length;if(e==null)return!1;if(e===!1)return!0;if(e instanceof Date)return!isNaN(e.getTime());if(typeof e=="object"){for(let t in e)return!0;return!1}return!!String(e).length},aL=e=>(e=V(e),Array.isArray(e)?e.length:typeof e=="object"?Object.keys(e).length:String(e).length);function wr(){for(var e=arguments.length,t=new Array(e),n=0;n(r=V(r),!jc(r)||t.every(s=>(s.lastIndex=0,s.test(r))))}wr(/^[a-zA-Z]*$/);wr(/^[a-zA-Z0-9]*$/);wr(/^\d*(\.\d+)?$/);const lL=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;wr(lL);function cL(e){return t=>!jc(t)||aL(t)>=V(e)}function uL(e){return{$validator:cL(e),$message:t=>{let{$params:n}=t;return`This field should be at least ${n.min} characters long`},$params:{min:e,type:"minLength"}}}function fL(e){return typeof e=="string"&&(e=e.trim()),jc(e)}var Dg={$validator:fL,$message:"Value is required",$params:{type:"required"}};function dL(e){return t=>V(t)===V(e)}function mL(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"other";return{$validator:dL(e),$message:n=>`The value must be equal to the ${t} value`,$params:{equalTo:e,otherName:t,type:"sameAs"}}}const hL=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i;wr(hL);wr(/(^[0-9]*$)|(^-[0-9]+$)/);wr(/^[-]?\d*(\.\d+)?$/);function Mg(e){let{t,messagePath:n=s=>{let{$validator:i}=s;return`validations.${i}`},messageParams:r=s=>s}=e;return function(i){let{withArguments:o=!1,messagePath:a=n,messageParams:l=r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};function u(c){return t(a(c),l($g({model:c.$model,property:c.$property,pending:c.$pending,invalid:c.$invalid,response:c.$response,validator:c.$validator,propertyPath:c.$propertyPath},c.$params)))}return o&&typeof i=="function"?function(){return Ud(u,i(...arguments))}:Ud(u,i)}}const pL={class:"container d-flex flex-column justify-content-center align-items-center"},gL={class:"row mt-5"},_L={class:"col"},vL={class:"card"},bL={class:"card-header bg-primary p-4"},yL={class:"mb-0"},EL={class:"card-body bg-body-secondary"},wL={class:"d-flex flex-column gap-3 mt-3"},AL={class:"mb-3"},TL={for:"input-username"},OL={key:0,class:"text-danger ps-3"},SL={class:"mb-3"},CL={for:"input-username"},NL={key:0,class:"text-danger ps-3"},LL={class:"mb-3 d-flex justify-content-between"},IL={key:0,class:"alert alert-danger",role:"alert"},PL=Xe({__name:"LoginPage",setup(e){const{t}=Qt(),n=ko(),r=st(xc),s=ge(""),i=ge(""),o=ge(""),a=ge(!1);function l(){if(d.value.$touch(),d.value.$error){o.value=t("forms.validate-fields"),setTimeout(()=>{o.value=""},3e3);return}else o.value="";const m={username:s.value,password:i.value};a.value=!0,Lg.loginUser(m).then(p=>{n.setUser(p)}).catch(p=>{console.error(p);const v=t("login.error.process");r!==void 0?r(t("common.error.generic"),v):alert(v)}).finally(()=>{a.value=!1})}const c=Mg({t})(Dg),f=ne(()=>({username:{inputRequired:c},password:{inputRequired:c}})),d=kg(f,{username:s,password:i});return(m,p)=>(Oe(),Ie("div",pL,[k("div",gL,[k("div",_L,[k("div",vL,[k("div",bL,[k("h2",yL,ue(V(t)("login.loginHeader")),1)]),k("div",EL,[k("div",wL,[k("div",AL,[k("label",TL,[Ye(ue(V(t)("login.username"))+" ",1),V(d).username.$error?(Oe(),Ie("span",OL,ue(V(d).username.$errors[0].$message),1)):Nn("",!0)]),ws(k("input",{"onUpdate:modelValue":p[0]||(p[0]=v=>s.value=v),type:"text",id:"input-username",class:Nt(["form-control",[{"border-danger":V(d).username.$error}]]),onBlur:p[1]||(p[1]=(...v)=>V(d).username.$touch&&V(d).username.$touch(...v))},null,34),[[Os,s.value]])]),k("div",SL,[k("label",CL,[Ye(ue(V(t)("login.password"))+" ",1),V(d).password.$error?(Oe(),Ie("span",NL,ue(V(d).password.$errors[0].$message),1)):Nn("",!0)]),ws(k("input",{"onUpdate:modelValue":p[2]||(p[2]=v=>i.value=v),type:"password",id:"input-username",class:Nt(["form-control",[{"border-danger":V(d).password.$error}]]),onBlur:p[3]||(p[3]=(...v)=>V(d).password.$touch&&V(d).password.$touch(...v))},null,34),[[Os,i.value]])]),k("div",LL,[ye(V(tr),{to:"/signup",class:"btn btn-outline-primary"},{default:er(()=>[Ye(ue(V(t)("login.signupLinkButton")),1)]),_:1}),k("button",{class:"btn btn-primary",onClick:l},ue(V(t)("login.loginButton")),1)]),o.value?(Oe(),Ie("div",IL,ue(o.value),1)):Nn("",!0)])])])])])]))}}),RL={class:"container d-flex flex-column justify-content-center align-items-center"},xL={class:"row mt-5"},kL={class:"col"},$L={class:"card"},DL={class:"card-header bg-primary p-4"},ML={class:"mb-0"},FL={class:"card-body bg-body-secondary"},jL={class:"d-flex flex-column gap-3 mt-3"},UL={class:"mb-3"},HL={for:"input-username"},VL={key:0,class:"text-danger ps-3"},BL={class:"mb-3"},WL={for:"input-username"},YL={key:0,class:"text-danger ps-3"},KL={class:"mb-3"},zL={for:"input-username-repeat"},GL={key:0,class:"text-danger ps-3"},qL={class:"mb-3 d-flex justify-content-between"},XL=["disabled"],JL={key:0,class:"alert alert-danger",role:"alert"},QL=Xe({__name:"SignupPage",setup(e){const{t}=Qt(),n=ko(),r=st(xc),s=ge(""),i=ge(""),o=ge(""),a=ge(""),l=ge(!1);function u(){if(m.value.$touch(),m.value.$error){a.value=t("forms.validate-fields"),setTimeout(()=>{a.value=""},3e3);return}else a.value="";const p={username:s.value,password:i.value};l.value=!0,Lg.signupUser(p).then(v=>{n.setUser(v)}).catch(v=>{console.error(v);const y=t("signup.error.process");r!==void 0?r(t("common.error.generic"),y):alert(y)}).finally(()=>{l.value=!1})}const c=Mg({t}),f=c(Dg),d=ne(()=>({username:{inputRequired:f},password:{inputRequired:f,minLength:c(uL(10))},passwordRepeat:{inputRequired:f,sameAs:c(mL(i.value,t("login.password")))}})),m=kg(d,{username:s,password:i,passwordRepeat:o});return(p,v)=>{const y=ec("font-awesome-icon");return Oe(),Ie("div",RL,[k("div",xL,[k("div",kL,[k("div",$L,[k("div",DL,[k("h2",ML,ue(V(t)("signup.signupHeader")),1)]),k("div",FL,[k("div",jL,[k("div",UL,[k("label",HL,[Ye(ue(V(t)("login.username"))+" ",1),V(m).username.$error?(Oe(),Ie("span",VL,ue(V(m).username.$errors[0].$message),1)):Nn("",!0)]),ws(k("input",{type:"text",id:"input-username",class:Nt(["form-control",[{"border-danger":V(m).username.$error}]]),"onUpdate:modelValue":v[0]||(v[0]=w=>s.value=w),onBlur:v[1]||(v[1]=(...w)=>V(m).username.$touch&&V(m).username.$touch(...w))},null,34),[[Os,s.value]])]),k("div",BL,[k("label",WL,[Ye(ue(V(t)("login.password"))+" ",1),V(m).password.$error?(Oe(),Ie("span",YL,ue(V(m).password.$errors[0].$message),1)):Nn("",!0)]),ws(k("input",{type:"password",id:"input-username",class:Nt(["form-control",[{"border-danger":V(m).password.$error}]]),"onUpdate:modelValue":v[2]||(v[2]=w=>i.value=w),onBlur:v[3]||(v[3]=(...w)=>V(m).password.$touch&&V(m).password.$touch(...w))},null,34),[[Os,i.value]])]),k("div",KL,[k("label",zL,[Ye(ue(V(t)("signup.password-repeat"))+" ",1),V(m).passwordRepeat.$error?(Oe(),Ie("span",GL,ue(V(m).passwordRepeat.$errors[0].$message),1)):Nn("",!0)]),ws(k("input",{type:"password",id:"input-username-repeat",class:Nt(["form-control",[{"border-danger":V(m).passwordRepeat.$error}]]),"onUpdate:modelValue":v[4]||(v[4]=w=>o.value=w),onBlur:v[5]||(v[5]=(...w)=>V(m).passwordRepeat.$touch&&V(m).passwordRepeat.$touch(...w))},null,34),[[Os,o.value]])]),k("div",qL,[ye(V(tr),{to:"/login",class:"btn btn-outline-primary"},{default:er(()=>[Ye(ue(V(t)("signup.loginLinkButton")),1)]),_:1}),k("button",{class:"btn btn-primary",onClick:u,disabled:l.value},[l.value?(Oe(),fh(y,{key:0,icon:["fas","spinner"],spin:""})):Nn("",!0),Ye(" "+ue(V(t)("signup.signupButton")),1)],8,XL)]),a.value?(Oe(),Ie("div",JL,ue(a.value),1)):Nn("",!0)])])])])])])}}}),ZL=Xe({__name:"GamePage",setup(e){const{t}=Qt();return(n,r)=>(Oe(),Ie("div",null,ue(V(t)("about.whatis")),1))}}),eI={class:"row"},tI={class:"card"},nI={class:"card-header"},rI={class:"card-body"},sI={class:"row"},iI={class:"col"},oI={class:"d-flex justify-content-around align-items-center"},aI={class:"btn btn-sm btn-primary"},lI={class:"btn btn-sm btn-primary"},cI=Xe({__name:"BoardSelector",setup(e){const t=ge([{id:1,boardName:"mockBoard"},{id:2,boardName:"test Mock"},{id:3,boardName:"Mocka Board"},{id:4,boardName:"Mocka Board 2"}]);return(n,r)=>{const s=ec("font-awesome-icon");return Oe(),Ie("div",eI,[(Oe(!0),Ie(lt,null,nc(t.value,i=>(Oe(),Ie("div",{key:i.id,class:"col-4 mb-3"},[k("div",tI,[k("div",nI,ue(i.boardName),1),k("div",rI,[k("div",sI,[k("div",iI,[k("div",oI,[k("button",aI,[ye(s,{icon:["fas","edit"]}),Ye(" Edit ")]),k("button",lI,[ye(s,{icon:["fas","play"]}),Ye(" Play ")])])])])])])]))),128))])}}}),uI={class:"d-flex flex-column justify-content-center align-items-center mt-5"},fI={class:"ratio ratio-1x1 border rounded-5",style:{width:"15rem"}},dI=["src"],mI={class:"fs-3"},hI={class:"row bg-body-secondary w-100 py-4"},pI={class:"col text-center"},gI={class:"container"},_I={class:"row w-100 py-4 mb-5"},vI={class:"col text-center"},bI={class:"btn btn-outline-primary"},yI=Xe({__name:"ProfilePage",setup(e){Qt();const t=ko(),n=ne(()=>t.profilePicture===null?"/src/assets/images/PFP_BearHead.svg":t.profilePicture);return(r,s)=>(Oe(),Ie("div",uI,[k("h1",null,ue(r.$t("profile.yourProfile")),1),k("div",fI,[k("img",{src:n.value,alt:"Your Profile Picture"},null,8,dI)]),k("p",mI,ue(V(t).username),1),k("div",hI,[k("div",pI,[k("h2",null,ue(r.$t("profile.yourBoards")),1),k("div",gI,[ye(cI)])])]),k("div",_I,[k("div",vI,[k("h2",null,ue(r.$t("settings.heading")),1),k("button",bI,ue(r.$t("profile.gotoSettings")),1)])])]))}}),EI=j1({history:p1("/"),routes:[{path:"/",name:"home",component:BN},{path:"/about",name:"about",component:WN},{path:"/login",name:"login",component:PL},{path:"/signup",name:"signup",component:QL},{path:"/profile",name:"profile",component:yI},{path:"/game",name:"Game",component:ZL}]});function Hd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function X(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1;s--){var i=n[s],o=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=i)}return Me.head.insertBefore(t,r),e}}var zI="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Xs(){for(var e=12,t="";e-- >0;)t+=zI[Math.random()*62|0];return t}function ds(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function Yc(e){return e.classList?ds(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(t){return t})}function qg(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function GI(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(qg(e[n]),'" ')},"").trim()}function Go(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function Kc(e){return e.size!==zt.size||e.x!==zt.x||e.y!==zt.y||e.rotate!==zt.rotate||e.flipX||e.flipY}function qI(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,s={transform:"translate(".concat(n/2," 256)")},i="translate(".concat(t.x*32,", ").concat(t.y*32,") "),o="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),a="rotate(".concat(t.rotate," 0 0)"),l={transform:"".concat(i," ").concat(o," ").concat(a)},u={transform:"translate(".concat(r/2*-1," -256)")};return{outer:s,inner:l,path:u}}function XI(e){var t=e.transform,n=e.width,r=n===void 0?Cl:n,s=e.height,i=s===void 0?Cl:s,o=e.startCentered,a=o===void 0?!1:o,l="";return a&&Vg?l+="translate(".concat(t.x/En-r/2,"em, ").concat(t.y/En-i/2,"em) "):a?l+="translate(calc(-50% + ".concat(t.x/En,"em), calc(-50% + ").concat(t.y/En,"em)) "):l+="translate(".concat(t.x/En,"em, ").concat(t.y/En,"em) "),l+="scale(".concat(t.size/En*(t.flipX?-1:1),", ").concat(t.size/En*(t.flipY?-1:1),") "),l+="rotate(".concat(t.rotate,"deg) "),l}var JI=`:root, :host { + --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid"; + --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular"; + --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light"; + --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin"; + --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; + --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; + --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; +} + +svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { + overflow: visible; + box-sizing: content-box; +} + +.svg-inline--fa { + display: var(--fa-display, inline-block); + height: 1em; + overflow: visible; + vertical-align: -0.125em; +} +.svg-inline--fa.fa-2xs { + vertical-align: 0.1em; +} +.svg-inline--fa.fa-xs { + vertical-align: 0em; +} +.svg-inline--fa.fa-sm { + vertical-align: -0.0714285705em; +} +.svg-inline--fa.fa-lg { + vertical-align: -0.2em; +} +.svg-inline--fa.fa-xl { + vertical-align: -0.25em; +} +.svg-inline--fa.fa-2xl { + vertical-align: -0.3125em; +} +.svg-inline--fa.fa-pull-left { + margin-right: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-pull-right { + margin-left: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-li { + width: var(--fa-li-width, 2em); + top: 0.25em; +} +.svg-inline--fa.fa-fw { + width: var(--fa-fw-width, 1.25em); +} + +.fa-layers svg.svg-inline--fa { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; +} + +.fa-layers-counter, .fa-layers-text { + display: inline-block; + position: absolute; + text-align: center; +} + +.fa-layers { + display: inline-block; + height: 1em; + position: relative; + text-align: center; + vertical-align: -0.125em; + width: 1em; +} +.fa-layers svg.svg-inline--fa { + -webkit-transform-origin: center center; + transform-origin: center center; +} + +.fa-layers-text { + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + -webkit-transform-origin: center center; + transform-origin: center center; +} + +.fa-layers-counter { + background-color: var(--fa-counter-background-color, #ff253a); + border-radius: var(--fa-counter-border-radius, 1em); + box-sizing: border-box; + color: var(--fa-inverse, #fff); + line-height: var(--fa-counter-line-height, 1); + max-width: var(--fa-counter-max-width, 5em); + min-width: var(--fa-counter-min-width, 1.5em); + overflow: hidden; + padding: var(--fa-counter-padding, 0.25em 0.5em); + right: var(--fa-right, 0); + text-overflow: ellipsis; + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-counter-scale, 0.25)); + transform: scale(var(--fa-counter-scale, 0.25)); + -webkit-transform-origin: top right; + transform-origin: top right; +} + +.fa-layers-bottom-right { + bottom: var(--fa-bottom, 0); + right: var(--fa-right, 0); + top: auto; + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: bottom right; + transform-origin: bottom right; +} + +.fa-layers-bottom-left { + bottom: var(--fa-bottom, 0); + left: var(--fa-left, 0); + right: auto; + top: auto; + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: bottom left; + transform-origin: bottom left; +} + +.fa-layers-top-right { + top: var(--fa-top, 0); + right: var(--fa-right, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: top right; + transform-origin: top right; +} + +.fa-layers-top-left { + left: var(--fa-left, 0); + right: auto; + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: top left; + transform-origin: top left; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; +} + +.fa-xs { + font-size: 0.75em; + line-height: 0.0833333337em; + vertical-align: 0.125em; +} + +.fa-sm { + font-size: 0.875em; + line-height: 0.0714285718em; + vertical-align: 0.0535714295em; +} + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; +} + +.fa-xl { + font-size: 1.5em; + line-height: 0.0416666682em; + vertical-align: -0.125em; +} + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; +} + +.fa-fw { + text-align: center; + width: 1.25em; +} + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; +} +.fa-ul > li { + position: relative; +} + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; +} + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); +} + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); +} + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); +} + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); +} + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-reverse { + --fa-animation-direction: reverse; +} + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); +} + +@media (prefers-reduced-motion: reduce) { + .fa-beat, +.fa-bounce, +.fa-fade, +.fa-beat-fade, +.fa-flip, +.fa-pulse, +.fa-shake, +.fa-spin, +.fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transition-duration: 0s; + transition-duration: 0s; + } +} +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); + } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); + } +} +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); + } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); + } +} +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } +} +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } +} +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); + } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); + } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); + } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); + } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); + } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); + } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); + } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); + } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); + } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); + } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } +} +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); + } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); + } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); + } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); + } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); + } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); + } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); + } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); + } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); +} + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); +} + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); +} + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, 0)); + transform: rotate(var(--fa-rotate-angle, 0)); +} + +.fa-stack { + display: inline-block; + vertical-align: middle; + height: 2em; + position: relative; + width: 2.5em; +} + +.fa-stack-1x, +.fa-stack-2x { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + z-index: var(--fa-stack-z-index, auto); +} + +.svg-inline--fa.fa-stack-1x { + height: 1em; + width: 1.25em; +} +.svg-inline--fa.fa-stack-2x { + height: 2em; + width: 2.5em; +} + +.fa-inverse { + color: var(--fa-inverse, #fff); +} + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.svg-inline--fa .fa-primary { + fill: var(--fa-primary-color, currentColor); + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa .fa-secondary { + fill: var(--fa-secondary-color, currentColor); + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-primary { + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-secondary { + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa mask .fa-primary, +.svg-inline--fa mask .fa-secondary { + fill: black; +} + +.fad.fa-inverse, +.fa-duotone.fa-inverse { + color: var(--fa-inverse, #fff); +}`;function Xg(){var e=Bg,t=Wg,n=Z.cssPrefix,r=Z.replacementClass,s=JI;if(n!==e||r!==t){var i=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),a=new RegExp("\\.".concat(t),"g");s=s.replace(i,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(a,".".concat(r))}return s}var zd=!1;function xa(){Z.autoAddCss&&!zd&&(KI(Xg()),zd=!0)}var QI={mixout:function(){return{dom:{css:Xg,insertCss:xa}}},hooks:function(){return{beforeDOMElementCreation:function(){xa()},beforeI2svg:function(){xa()}}}},fn=Mn||{};fn[un]||(fn[un]={});fn[un].styles||(fn[un].styles={});fn[un].hooks||(fn[un].hooks={});fn[un].shims||(fn[un].shims=[]);var Dt=fn[un],Jg=[],ZI=function e(){Me.removeEventListener("DOMContentLoaded",e),mo=1,Jg.map(function(t){return t()})},mo=!1;pn&&(mo=(Me.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(Me.readyState),mo||Me.addEventListener("DOMContentLoaded",ZI));function eP(e){pn&&(mo?setTimeout(e,0):Jg.push(e))}function ui(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,s=e.children,i=s===void 0?[]:s;return typeof e=="string"?qg(e):"<".concat(t," ").concat(GI(r),">").concat(i.map(ui).join(""),"")}function Gd(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var ka=function(t,n,r,s){var i=Object.keys(t),o=i.length,a=n,l,u,c;for(r===void 0?(l=1,c=t[i[0]]):(l=0,c=r);l=55296&&s<=56319&&n=55296&&r<=56319&&n>t+1&&(s=e.charCodeAt(t+1),s>=56320&&s<=57343)?(r-55296)*1024+s-56320+65536:r}function qd(e){return Object.keys(e).reduce(function(t,n){var r=e[n],s=!!r.icon;return s?t[r.iconName]=r.icon:t[n]=r,t},{})}function Il(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.skipHooks,s=r===void 0?!1:r,i=qd(t);typeof Dt.hooks.addPack=="function"&&!s?Dt.hooks.addPack(e,qd(t)):Dt.styles[e]=X(X({},Dt.styles[e]||{}),i),e==="fas"&&Il("fa",t)}var xi,ki,$i,$r=Dt.styles,rP=Dt.shims,sP=(xi={},qe(xi,$e,Object.values(Gs[$e])),qe(xi,Ve,Object.values(Gs[Ve])),xi),zc=null,Qg={},Zg={},e_={},t_={},n_={},iP=(ki={},qe(ki,$e,Object.keys(Ks[$e])),qe(ki,Ve,Object.keys(Ks[Ve])),ki);function oP(e){return~HI.indexOf(e)}function aP(e,t){var n=t.split("-"),r=n[0],s=n.slice(1).join("-");return r===e&&s!==""&&!oP(s)?s:null}var r_=function(){var t=function(i){return ka($r,function(o,a,l){return o[l]=ka(a,i,{}),o},{})};Qg=t(function(s,i,o){if(i[3]&&(s[i[3]]=o),i[2]){var a=i[2].filter(function(l){return typeof l=="number"});a.forEach(function(l){s[l.toString(16)]=o})}return s}),Zg=t(function(s,i,o){if(s[o]=o,i[2]){var a=i[2].filter(function(l){return typeof l=="string"});a.forEach(function(l){s[l]=o})}return s}),n_=t(function(s,i,o){var a=i[2];return s[o]=o,a.forEach(function(l){s[l]=o}),s});var n="far"in $r||Z.autoFetchSvg,r=ka(rP,function(s,i){var o=i[0],a=i[1],l=i[2];return a==="far"&&!n&&(a="fas"),typeof o=="string"&&(s.names[o]={prefix:a,iconName:l}),typeof o=="number"&&(s.unicodes[o.toString(16)]={prefix:a,iconName:l}),s},{names:{},unicodes:{}});e_=r.names,t_=r.unicodes,zc=qo(Z.styleDefault,{family:Z.familyDefault})};YI(function(e){zc=qo(e.styleDefault,{family:Z.familyDefault})});r_();function Gc(e,t){return(Qg[e]||{})[t]}function lP(e,t){return(Zg[e]||{})[t]}function or(e,t){return(n_[e]||{})[t]}function s_(e){return e_[e]||{prefix:null,iconName:null}}function cP(e){var t=t_[e],n=Gc("fas",e);return t||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function Fn(){return zc}var qc=function(){return{prefix:null,iconName:null,rest:[]}};function qo(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.family,r=n===void 0?$e:n,s=Ks[r][e],i=zs[r][e]||zs[r][s],o=e in Dt.styles?e:null;return i||o||null}var Xd=($i={},qe($i,$e,Object.keys(Gs[$e])),qe($i,Ve,Object.keys(Gs[Ve])),$i);function Xo(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.skipLookups,s=r===void 0?!1:r,i=(t={},qe(t,$e,"".concat(Z.cssPrefix,"-").concat($e)),qe(t,Ve,"".concat(Z.cssPrefix,"-").concat(Ve)),t),o=null,a=$e;(e.includes(i[$e])||e.some(function(u){return Xd[$e].includes(u)}))&&(a=$e),(e.includes(i[Ve])||e.some(function(u){return Xd[Ve].includes(u)}))&&(a=Ve);var l=e.reduce(function(u,c){var f=aP(Z.cssPrefix,c);if($r[c]?(c=sP[a].includes(c)?$I[a][c]:c,o=c,u.prefix=c):iP[a].indexOf(c)>-1?(o=c,u.prefix=qo(c,{family:a})):f?u.iconName=f:c!==Z.replacementClass&&c!==i[$e]&&c!==i[Ve]&&u.rest.push(c),!s&&u.prefix&&u.iconName){var d=o==="fa"?s_(u.iconName):{},m=or(u.prefix,u.iconName);d.prefix&&(o=null),u.iconName=d.iconName||m||u.iconName,u.prefix=d.prefix||u.prefix,u.prefix==="far"&&!$r.far&&$r.fas&&!Z.autoFetchSvg&&(u.prefix="fas")}return u},qc());return(e.includes("fa-brands")||e.includes("fab"))&&(l.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(l.prefix="fad"),!l.prefix&&a===Ve&&($r.fass||Z.autoFetchSvg)&&(l.prefix="fass",l.iconName=or(l.prefix,l.iconName)||l.iconName),(l.prefix==="fa"||o==="fa")&&(l.prefix=Fn()||"fas"),l}var uP=function(){function e(){wI(this,e),this.definitions={}}return TI(e,[{key:"add",value:function(){for(var n=this,r=arguments.length,s=new Array(r),i=0;i0&&c.forEach(function(f){typeof f=="string"&&(n[a][f]=u)}),n[a][l]=u}),n}}]),e}(),Jd=[],Dr={},Hr={},fP=Object.keys(Hr);function dP(e,t){var n=t.mixoutsTo;return Jd=e,Dr={},Object.keys(Hr).forEach(function(r){fP.indexOf(r)===-1&&delete Hr[r]}),Jd.forEach(function(r){var s=r.mixout?r.mixout():{};if(Object.keys(s).forEach(function(o){typeof s[o]=="function"&&(n[o]=s[o]),fo(s[o])==="object"&&Object.keys(s[o]).forEach(function(a){n[o]||(n[o]={}),n[o][a]=s[o][a]})}),r.hooks){var i=r.hooks();Object.keys(i).forEach(function(o){Dr[o]||(Dr[o]=[]),Dr[o].push(i[o])})}r.provides&&r.provides(Hr)}),n}function Pl(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s1?t-1:0),r=1;r0&&arguments[0]!==void 0?arguments[0]:{};return pn?(vr("beforeI2svg",t),dn("pseudoElements2svg",t),dn("i2svg",t)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot;Z.autoReplaceSvg===!1&&(Z.autoReplaceSvg=!0),Z.observeMutations=!0,eP(function(){gP({autoReplaceSvgRoot:n}),vr("watch",t)})}},pP={icon:function(t){if(t===null)return null;if(fo(t)==="object"&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:or(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&t.length===2){var n=t[1].indexOf("fa-")===0?t[1].slice(3):t[1],r=qo(t[0]);return{prefix:r,iconName:or(r,n)||n}}if(typeof t=="string"&&(t.indexOf("".concat(Z.cssPrefix,"-"))>-1||t.match(DI))){var s=Xo(t.split(" "),{skipLookups:!0});return{prefix:s.prefix||Fn(),iconName:or(s.prefix,s.iconName)||s.iconName}}if(typeof t=="string"){var i=Fn();return{prefix:i,iconName:or(i,t)||t}}}},Ot={noAuto:mP,config:Z,dom:hP,parse:pP,library:i_,findIconDefinition:Rl,toHtml:ui},gP=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot,r=n===void 0?Me:n;(Object.keys(Dt.styles).length>0||Z.autoFetchSvg)&&pn&&Z.autoReplaceSvg&&Ot.dom.i2svg({node:r})};function Jo(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(r){return ui(r)})}}),Object.defineProperty(e,"node",{get:function(){if(pn){var r=Me.createElement("div");return r.innerHTML=e.html,r.children}}}),e}function _P(e){var t=e.children,n=e.main,r=e.mask,s=e.attributes,i=e.styles,o=e.transform;if(Kc(o)&&n.found&&!r.found){var a=n.width,l=n.height,u={x:a/l/2,y:.5};s.style=Go(X(X({},i),{},{"transform-origin":"".concat(u.x+o.x/16,"em ").concat(u.y+o.y/16,"em")}))}return[{tag:"svg",attributes:s,children:t}]}function vP(e){var t=e.prefix,n=e.iconName,r=e.children,s=e.attributes,i=e.symbol,o=i===!0?"".concat(t,"-").concat(Z.cssPrefix,"-").concat(n):i;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:X(X({},s),{},{id:o}),children:r}]}]}function Xc(e){var t=e.icons,n=t.main,r=t.mask,s=e.prefix,i=e.iconName,o=e.transform,a=e.symbol,l=e.title,u=e.maskId,c=e.titleId,f=e.extra,d=e.watchable,m=d===void 0?!1:d,p=r.found?r:n,v=p.width,y=p.height,w=s==="fak",S=[Z.replacementClass,i?"".concat(Z.cssPrefix,"-").concat(i):""].filter(function(P){return f.classes.indexOf(P)===-1}).filter(function(P){return P!==""||!!P}).concat(f.classes).join(" "),E={children:[],attributes:X(X({},f.attributes),{},{"data-prefix":s,"data-icon":i,class:S,role:f.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(v," ").concat(y)})},A=w&&!~f.classes.indexOf("fa-fw")?{width:"".concat(v/y*16*.0625,"em")}:{};m&&(E.attributes[_r]=""),l&&(E.children.push({tag:"title",attributes:{id:E.attributes["aria-labelledby"]||"title-".concat(c||Xs())},children:[l]}),delete E.attributes.title);var C=X(X({},E),{},{prefix:s,iconName:i,main:n,mask:r,maskId:u,transform:o,symbol:a,styles:X(X({},A),f.styles)}),O=r.found&&n.found?dn("generateAbstractMask",C)||{children:[],attributes:{}}:dn("generateAbstractIcon",C)||{children:[],attributes:{}},I=O.children,$=O.attributes;return C.children=I,C.attributes=$,a?vP(C):_P(C)}function Qd(e){var t=e.content,n=e.width,r=e.height,s=e.transform,i=e.title,o=e.extra,a=e.watchable,l=a===void 0?!1:a,u=X(X(X({},o.attributes),i?{title:i}:{}),{},{class:o.classes.join(" ")});l&&(u[_r]="");var c=X({},o.styles);Kc(s)&&(c.transform=XI({transform:s,startCentered:!0,width:n,height:r}),c["-webkit-transform"]=c.transform);var f=Go(c);f.length>0&&(u.style=f);var d=[];return d.push({tag:"span",attributes:u,children:[t]}),i&&d.push({tag:"span",attributes:{class:"sr-only"},children:[i]}),d}function bP(e){var t=e.content,n=e.title,r=e.extra,s=X(X(X({},r.attributes),n?{title:n}:{}),{},{class:r.classes.join(" ")}),i=Go(r.styles);i.length>0&&(s.style=i);var o=[];return o.push({tag:"span",attributes:s,children:[t]}),n&&o.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),o}var $a=Dt.styles;function xl(e){var t=e[0],n=e[1],r=e.slice(4),s=Uc(r,1),i=s[0],o=null;return Array.isArray(i)?o={tag:"g",attributes:{class:"".concat(Z.cssPrefix,"-").concat(ir.GROUP)},children:[{tag:"path",attributes:{class:"".concat(Z.cssPrefix,"-").concat(ir.SECONDARY),fill:"currentColor",d:i[0]}},{tag:"path",attributes:{class:"".concat(Z.cssPrefix,"-").concat(ir.PRIMARY),fill:"currentColor",d:i[1]}}]}:o={tag:"path",attributes:{fill:"currentColor",d:i}},{found:!0,width:t,height:n,icon:o}}var yP={found:!1,width:512,height:512};function EP(e,t){!Yg&&!Z.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(t,'" is missing.'))}function kl(e,t){var n=t;return t==="fa"&&Z.styleDefault!==null&&(t=Fn()),new Promise(function(r,s){if(dn("missingIconAbstract"),n==="fa"){var i=s_(e)||{};e=i.iconName||e,t=i.prefix||t}if(e&&t&&$a[t]&&$a[t][e]){var o=$a[t][e];return r(xl(o))}EP(e,t),r(X(X({},yP),{},{icon:Z.showMissingIcons&&e?dn("missingIconAbstract")||{}:{}}))})}var Zd=function(){},$l=Z.measurePerformance&&Ci&&Ci.mark&&Ci.measure?Ci:{mark:Zd,measure:Zd},ys='FA "6.5.2"',wP=function(t){return $l.mark("".concat(ys," ").concat(t," begins")),function(){return o_(t)}},o_=function(t){$l.mark("".concat(ys," ").concat(t," ends")),$l.measure("".concat(ys," ").concat(t),"".concat(ys," ").concat(t," begins"),"".concat(ys," ").concat(t," ends"))},Jc={begin:wP,end:o_},Gi=function(){};function em(e){var t=e.getAttribute?e.getAttribute(_r):null;return typeof t=="string"}function AP(e){var t=e.getAttribute?e.getAttribute(Vc):null,n=e.getAttribute?e.getAttribute(Bc):null;return t&&n}function TP(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(Z.replacementClass)}function OP(){if(Z.autoReplaceSvg===!0)return qi.replace;var e=qi[Z.autoReplaceSvg];return e||qi.replace}function SP(e){return Me.createElementNS("http://www.w3.org/2000/svg",e)}function CP(e){return Me.createElement(e)}function a_(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.ceFn,r=n===void 0?e.tag==="svg"?SP:CP:n;if(typeof e=="string")return Me.createTextNode(e);var s=r(e.tag);Object.keys(e.attributes||[]).forEach(function(o){s.setAttribute(o,e.attributes[o])});var i=e.children||[];return i.forEach(function(o){s.appendChild(a_(o,{ceFn:r}))}),s}function NP(e){var t=" ".concat(e.outerHTML," ");return t="".concat(t,"Font Awesome fontawesome.com "),t}var qi={replace:function(t){var n=t[0];if(n.parentNode)if(t[1].forEach(function(s){n.parentNode.insertBefore(a_(s),n)}),n.getAttribute(_r)===null&&Z.keepOriginalSource){var r=Me.createComment(NP(n));n.parentNode.replaceChild(r,n)}else n.remove()},nest:function(t){var n=t[0],r=t[1];if(~Yc(n).indexOf(Z.replacementClass))return qi.replace(t);var s=new RegExp("".concat(Z.cssPrefix,"-.*"));if(delete r[0].attributes.id,r[0].attributes.class){var i=r[0].attributes.class.split(" ").reduce(function(a,l){return l===Z.replacementClass||l.match(s)?a.toSvg.push(l):a.toNode.push(l),a},{toNode:[],toSvg:[]});r[0].attributes.class=i.toSvg.join(" "),i.toNode.length===0?n.removeAttribute("class"):n.setAttribute("class",i.toNode.join(" "))}var o=r.map(function(a){return ui(a)}).join(` +`);n.setAttribute(_r,""),n.innerHTML=o}};function tm(e){e()}function l_(e,t){var n=typeof t=="function"?t:Gi;if(e.length===0)n();else{var r=tm;Z.mutateApproach===xI&&(r=Mn.requestAnimationFrame||tm),r(function(){var s=OP(),i=Jc.begin("mutate");e.map(s),i(),n()})}}var Qc=!1;function c_(){Qc=!0}function Dl(){Qc=!1}var ho=null;function nm(e){if(Yd&&Z.observeMutations){var t=e.treeCallback,n=t===void 0?Gi:t,r=e.nodeCallback,s=r===void 0?Gi:r,i=e.pseudoElementsCallback,o=i===void 0?Gi:i,a=e.observeMutationsRoot,l=a===void 0?Me:a;ho=new Yd(function(u){if(!Qc){var c=Fn();ds(u).forEach(function(f){if(f.type==="childList"&&f.addedNodes.length>0&&!em(f.addedNodes[0])&&(Z.searchPseudoElements&&o(f.target),n(f.target)),f.type==="attributes"&&f.target.parentNode&&Z.searchPseudoElements&&o(f.target.parentNode),f.type==="attributes"&&em(f.target)&&~UI.indexOf(f.attributeName))if(f.attributeName==="class"&&AP(f.target)){var d=Xo(Yc(f.target)),m=d.prefix,p=d.iconName;f.target.setAttribute(Vc,m||c),p&&f.target.setAttribute(Bc,p)}else TP(f.target)&&s(f.target)})}}),pn&&ho.observe(l,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function LP(){ho&&ho.disconnect()}function IP(e){var t=e.getAttribute("style"),n=[];return t&&(n=t.split(";").reduce(function(r,s){var i=s.split(":"),o=i[0],a=i.slice(1);return o&&a.length>0&&(r[o]=a.join(":").trim()),r},{})),n}function PP(e){var t=e.getAttribute("data-prefix"),n=e.getAttribute("data-icon"),r=e.innerText!==void 0?e.innerText.trim():"",s=Xo(Yc(e));return s.prefix||(s.prefix=Fn()),t&&n&&(s.prefix=t,s.iconName=n),s.iconName&&s.prefix||(s.prefix&&r.length>0&&(s.iconName=lP(s.prefix,e.innerText)||Gc(s.prefix,Ll(e.innerText))),!s.iconName&&Z.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(s.iconName=e.firstChild.data)),s}function RP(e){var t=ds(e.attributes).reduce(function(s,i){return s.name!=="class"&&s.name!=="style"&&(s[i.name]=i.value),s},{}),n=e.getAttribute("title"),r=e.getAttribute("data-fa-title-id");return Z.autoA11y&&(n?t["aria-labelledby"]="".concat(Z.replacementClass,"-title-").concat(r||Xs()):(t["aria-hidden"]="true",t.focusable="false")),t}function xP(){return{iconName:null,title:null,titleId:null,prefix:null,transform:zt,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function rm(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=PP(e),r=n.iconName,s=n.prefix,i=n.rest,o=RP(e),a=Pl("parseNodeAttributes",{},e),l=t.styleParser?IP(e):[];return X({iconName:r,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:s,transform:zt,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:i,styles:l,attributes:o}},a)}var kP=Dt.styles;function u_(e){var t=Z.autoReplaceSvg==="nest"?rm(e,{styleParser:!1}):rm(e);return~t.extra.classes.indexOf(Kg)?dn("generateLayersText",e,t):dn("generateSvgReplacementMutation",e,t)}var jn=new Set;Wc.map(function(e){jn.add("fa-".concat(e))});Object.keys(Ks[$e]).map(jn.add.bind(jn));Object.keys(Ks[Ve]).map(jn.add.bind(jn));jn=li(jn);function sm(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!pn)return Promise.resolve();var n=Me.documentElement.classList,r=function(f){return n.add("".concat(Kd,"-").concat(f))},s=function(f){return n.remove("".concat(Kd,"-").concat(f))},i=Z.autoFetchSvg?jn:Wc.map(function(c){return"fa-".concat(c)}).concat(Object.keys(kP));i.includes("fa")||i.push("fa");var o=[".".concat(Kg,":not([").concat(_r,"])")].concat(i.map(function(c){return".".concat(c,":not([").concat(_r,"])")})).join(", ");if(o.length===0)return Promise.resolve();var a=[];try{a=ds(e.querySelectorAll(o))}catch{}if(a.length>0)r("pending"),s("complete");else return Promise.resolve();var l=Jc.begin("onTree"),u=a.reduce(function(c,f){try{var d=u_(f);d&&c.push(d)}catch(m){Yg||m.name==="MissingIcon"&&console.error(m)}return c},[]);return new Promise(function(c,f){Promise.all(u).then(function(d){l_(d,function(){r("active"),r("complete"),s("pending"),typeof t=="function"&&t(),l(),c()})}).catch(function(d){l(),f(d)})})}function $P(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;u_(e).then(function(n){n&&l_([n],t)})}function DP(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:Rl(t||{}),s=n.mask;return s&&(s=(s||{}).icon?s:Rl(s||{})),e(r,X(X({},n),{},{mask:s}))}}var MP=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.transform,s=r===void 0?zt:r,i=n.symbol,o=i===void 0?!1:i,a=n.mask,l=a===void 0?null:a,u=n.maskId,c=u===void 0?null:u,f=n.title,d=f===void 0?null:f,m=n.titleId,p=m===void 0?null:m,v=n.classes,y=v===void 0?[]:v,w=n.attributes,S=w===void 0?{}:w,E=n.styles,A=E===void 0?{}:E;if(t){var C=t.prefix,O=t.iconName,I=t.icon;return Jo(X({type:"icon"},t),function(){return vr("beforeDOMElementCreation",{iconDefinition:t,params:n}),Z.autoA11y&&(d?S["aria-labelledby"]="".concat(Z.replacementClass,"-title-").concat(p||Xs()):(S["aria-hidden"]="true",S.focusable="false")),Xc({icons:{main:xl(I),mask:l?xl(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:C,iconName:O,transform:X(X({},zt),s),symbol:o,title:d,maskId:c,titleId:p,extra:{attributes:S,styles:A,classes:y}})})}},FP={mixout:function(){return{icon:DP(MP)}},hooks:function(){return{mutationObserverCallbacks:function(n){return n.treeCallback=sm,n.nodeCallback=$P,n}}},provides:function(t){t.i2svg=function(n){var r=n.node,s=r===void 0?Me:r,i=n.callback,o=i===void 0?function(){}:i;return sm(s,o)},t.generateSvgReplacementMutation=function(n,r){var s=r.iconName,i=r.title,o=r.titleId,a=r.prefix,l=r.transform,u=r.symbol,c=r.mask,f=r.maskId,d=r.extra;return new Promise(function(m,p){Promise.all([kl(s,a),c.iconName?kl(c.iconName,c.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(v){var y=Uc(v,2),w=y[0],S=y[1];m([n,Xc({icons:{main:w,mask:S},prefix:a,iconName:s,transform:l,symbol:u,maskId:f,title:i,titleId:o,extra:d,watchable:!0})])}).catch(p)})},t.generateAbstractIcon=function(n){var r=n.children,s=n.attributes,i=n.main,o=n.transform,a=n.styles,l=Go(a);l.length>0&&(s.style=l);var u;return Kc(o)&&(u=dn("generateAbstractTransformGrouping",{main:i,transform:o,containerWidth:i.width,iconWidth:i.width})),r.push(u||i.icon),{children:r,attributes:s}}}},jP={mixout:function(){return{layer:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=r.classes,i=s===void 0?[]:s;return Jo({type:"layer"},function(){vr("beforeDOMElementCreation",{assembler:n,params:r});var o=[];return n(function(a){Array.isArray(a)?a.map(function(l){o=o.concat(l.abstract)}):o=o.concat(a.abstract)}),[{tag:"span",attributes:{class:["".concat(Z.cssPrefix,"-layers")].concat(li(i)).join(" ")},children:o}]})}}}},UP={mixout:function(){return{counter:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=r.title,i=s===void 0?null:s,o=r.classes,a=o===void 0?[]:o,l=r.attributes,u=l===void 0?{}:l,c=r.styles,f=c===void 0?{}:c;return Jo({type:"counter",content:n},function(){return vr("beforeDOMElementCreation",{content:n,params:r}),bP({content:n.toString(),title:i,extra:{attributes:u,styles:f,classes:["".concat(Z.cssPrefix,"-layers-counter")].concat(li(a))}})})}}}},HP={mixout:function(){return{text:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=r.transform,i=s===void 0?zt:s,o=r.title,a=o===void 0?null:o,l=r.classes,u=l===void 0?[]:l,c=r.attributes,f=c===void 0?{}:c,d=r.styles,m=d===void 0?{}:d;return Jo({type:"text",content:n},function(){return vr("beforeDOMElementCreation",{content:n,params:r}),Qd({content:n,transform:X(X({},zt),i),title:a,extra:{attributes:f,styles:m,classes:["".concat(Z.cssPrefix,"-layers-text")].concat(li(u))}})})}}},provides:function(t){t.generateLayersText=function(n,r){var s=r.title,i=r.transform,o=r.extra,a=null,l=null;if(Vg){var u=parseInt(getComputedStyle(n).fontSize,10),c=n.getBoundingClientRect();a=c.width/u,l=c.height/u}return Z.autoA11y&&!s&&(o.attributes["aria-hidden"]="true"),Promise.resolve([n,Qd({content:n.innerHTML,width:a,height:l,transform:i,title:s,extra:o,watchable:!0})])}}},VP=new RegExp('"',"ug"),im=[1105920,1112319];function BP(e){var t=e.replace(VP,""),n=nP(t,0),r=n>=im[0]&&n<=im[1],s=t.length===2?t[0]===t[1]:!1;return{value:Ll(s?t[0]:t),isSecondary:r||s}}function om(e,t){var n="".concat(RI).concat(t.replace(":","-"));return new Promise(function(r,s){if(e.getAttribute(n)!==null)return r();var i=ds(e.children),o=i.filter(function(I){return I.getAttribute(Nl)===t})[0],a=Mn.getComputedStyle(e,t),l=a.getPropertyValue("font-family").match(MI),u=a.getPropertyValue("font-weight"),c=a.getPropertyValue("content");if(o&&!l)return e.removeChild(o),r();if(l&&c!=="none"&&c!==""){var f=a.getPropertyValue("content"),d=~["Sharp"].indexOf(l[2])?Ve:$e,m=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(l[2])?zs[d][l[2].toLowerCase()]:FI[d][u],p=BP(f),v=p.value,y=p.isSecondary,w=l[0].startsWith("FontAwesome"),S=Gc(m,v),E=S;if(w){var A=cP(v);A.iconName&&A.prefix&&(S=A.iconName,m=A.prefix)}if(S&&!y&&(!o||o.getAttribute(Vc)!==m||o.getAttribute(Bc)!==E)){e.setAttribute(n,E),o&&e.removeChild(o);var C=xP(),O=C.extra;O.attributes[Nl]=t,kl(S,m).then(function(I){var $=Xc(X(X({},C),{},{icons:{main:I,mask:qc()},prefix:m,iconName:E,extra:O,watchable:!0})),P=Me.createElementNS("http://www.w3.org/2000/svg","svg");t==="::before"?e.insertBefore(P,e.firstChild):e.appendChild(P),P.outerHTML=$.map(function(q){return ui(q)}).join(` +`),e.removeAttribute(n),r()}).catch(s)}else r()}else r()})}function WP(e){return Promise.all([om(e,"::before"),om(e,"::after")])}function YP(e){return e.parentNode!==document.head&&!~kI.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(Nl)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function am(e){if(pn)return new Promise(function(t,n){var r=ds(e.querySelectorAll("*")).filter(YP).map(WP),s=Jc.begin("searchPseudoElements");c_(),Promise.all(r).then(function(){s(),Dl(),t()}).catch(function(){s(),Dl(),n()})})}var KP={hooks:function(){return{mutationObserverCallbacks:function(n){return n.pseudoElementsCallback=am,n}}},provides:function(t){t.pseudoElements2svg=function(n){var r=n.node,s=r===void 0?Me:r;Z.searchPseudoElements&&am(s)}}},lm=!1,zP={mixout:function(){return{dom:{unwatch:function(){c_(),lm=!0}}}},hooks:function(){return{bootstrap:function(){nm(Pl("mutationObserverCallbacks",{}))},noAuto:function(){LP()},watch:function(n){var r=n.observeMutationsRoot;lm?Dl():nm(Pl("mutationObserverCallbacks",{observeMutationsRoot:r}))}}}},cm=function(t){var n={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t.toLowerCase().split(" ").reduce(function(r,s){var i=s.toLowerCase().split("-"),o=i[0],a=i.slice(1).join("-");if(o&&a==="h")return r.flipX=!0,r;if(o&&a==="v")return r.flipY=!0,r;if(a=parseFloat(a),isNaN(a))return r;switch(o){case"grow":r.size=r.size+a;break;case"shrink":r.size=r.size-a;break;case"left":r.x=r.x-a;break;case"right":r.x=r.x+a;break;case"up":r.y=r.y-a;break;case"down":r.y=r.y+a;break;case"rotate":r.rotate=r.rotate+a;break}return r},n)},GP={mixout:function(){return{parse:{transform:function(n){return cm(n)}}}},hooks:function(){return{parseNodeAttributes:function(n,r){var s=r.getAttribute("data-fa-transform");return s&&(n.transform=cm(s)),n}}},provides:function(t){t.generateAbstractTransformGrouping=function(n){var r=n.main,s=n.transform,i=n.containerWidth,o=n.iconWidth,a={transform:"translate(".concat(i/2," 256)")},l="translate(".concat(s.x*32,", ").concat(s.y*32,") "),u="scale(".concat(s.size/16*(s.flipX?-1:1),", ").concat(s.size/16*(s.flipY?-1:1),") "),c="rotate(".concat(s.rotate," 0 0)"),f={transform:"".concat(l," ").concat(u," ").concat(c)},d={transform:"translate(".concat(o/2*-1," -256)")},m={outer:a,inner:f,path:d};return{tag:"g",attributes:X({},m.outer),children:[{tag:"g",attributes:X({},m.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:X(X({},r.icon.attributes),m.path)}]}]}}}},Da={x:0,y:0,width:"100%",height:"100%"};function um(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function qP(e){return e.tag==="g"?e.children:[e]}var XP={hooks:function(){return{parseNodeAttributes:function(n,r){var s=r.getAttribute("data-fa-mask"),i=s?Xo(s.split(" ").map(function(o){return o.trim()})):qc();return i.prefix||(i.prefix=Fn()),n.mask=i,n.maskId=r.getAttribute("data-fa-mask-id"),n}}},provides:function(t){t.generateAbstractMask=function(n){var r=n.children,s=n.attributes,i=n.main,o=n.mask,a=n.maskId,l=n.transform,u=i.width,c=i.icon,f=o.width,d=o.icon,m=qI({transform:l,containerWidth:f,iconWidth:u}),p={tag:"rect",attributes:X(X({},Da),{},{fill:"white"})},v=c.children?{children:c.children.map(um)}:{},y={tag:"g",attributes:X({},m.inner),children:[um(X({tag:c.tag,attributes:X(X({},c.attributes),m.path)},v))]},w={tag:"g",attributes:X({},m.outer),children:[y]},S="mask-".concat(a||Xs()),E="clip-".concat(a||Xs()),A={tag:"mask",attributes:X(X({},Da),{},{id:S,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,w]},C={tag:"defs",children:[{tag:"clipPath",attributes:{id:E},children:qP(d)},A]};return r.push(C,{tag:"rect",attributes:X({fill:"currentColor","clip-path":"url(#".concat(E,")"),mask:"url(#".concat(S,")")},Da)}),{children:r,attributes:s}}}},JP={provides:function(t){var n=!1;Mn.matchMedia&&(n=Mn.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){var r=[],s={fill:"currentColor"},i={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};r.push({tag:"path",attributes:X(X({},s),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var o=X(X({},i),{},{attributeName:"opacity"}),a={tag:"circle",attributes:X(X({},s),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||a.children.push({tag:"animate",attributes:X(X({},i),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:X(X({},o),{},{values:"1;0;1;1;0;1;"})}),r.push(a),r.push({tag:"path",attributes:X(X({},s),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:n?[]:[{tag:"animate",attributes:X(X({},o),{},{values:"1;0;0;0;0;1;"})}]}),n||r.push({tag:"path",attributes:X(X({},s),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:X(X({},o),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:r}}}},QP={hooks:function(){return{parseNodeAttributes:function(n,r){var s=r.getAttribute("data-fa-symbol"),i=s===null?!1:s===""?!0:s;return n.symbol=i,n}}}},ZP=[QI,FP,jP,UP,HP,KP,zP,GP,XP,JP,QP];dP(ZP,{mixoutsTo:Ot});Ot.noAuto;Ot.config;var eR=Ot.library;Ot.dom;var Ml=Ot.parse;Ot.findIconDefinition;Ot.toHtml;var tR=Ot.icon;Ot.layer;Ot.text;Ot.counter;function fm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function sn(e){for(var t=1;t=0)continue;n[r]=e[r]}return n}function iR(e,t){if(e==null)return{};var n=sR(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var oR=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},f_={exports:{}};(function(e){(function(t){var n=function(w,S,E){if(!u(S)||f(S)||d(S)||m(S)||l(S))return S;var A,C=0,O=0;if(c(S))for(A=[],O=S.length;C1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string")return e;var r=(e.children||[]).map(function(l){return d_(l)}),s=Object.keys(e.attributes||{}).reduce(function(l,u){var c=e.attributes[u];switch(u){case"class":l.class=uR(c);break;case"style":l.style=cR(c);break;default:l.attrs[u]=c}return l},{attrs:{},class:{},style:{}});n.class;var i=n.style,o=i===void 0?{}:i,a=iR(n,lR);return Zs(e.tag,sn(sn(sn({},t),{},{class:s.class,style:sn(sn({},s.style),o)},s.attrs),a),r)}var m_=!1;try{m_=!0}catch{}function fR(){if(!m_&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function Ma(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?mt({},e,t):{}}function dR(e){var t,n=(t={"fa-spin":e.spin,"fa-pulse":e.pulse,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-li":e.listItem,"fa-inverse":e.inverse,"fa-flip":e.flip===!0,"fa-flip-horizontal":e.flip==="horizontal"||e.flip==="both","fa-flip-vertical":e.flip==="vertical"||e.flip==="both"},mt(mt(mt(mt(mt(mt(mt(mt(mt(mt(t,"fa-".concat(e.size),e.size!==null),"fa-rotate-".concat(e.rotation),e.rotation!==null),"fa-pull-".concat(e.pull),e.pull!==null),"fa-swap-opacity",e.swapOpacity),"fa-bounce",e.bounce),"fa-shake",e.shake),"fa-beat",e.beat),"fa-fade",e.fade),"fa-beat-fade",e.beatFade),"fa-flash",e.flash),mt(mt(t,"fa-spin-pulse",e.spinPulse),"fa-spin-reverse",e.spinReverse));return Object.keys(n).map(function(r){return n[r]?r:null}).filter(function(r){return r})}function dm(e){if(e&&po(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(Ml.icon)return Ml.icon(e);if(e===null)return null;if(po(e)==="object"&&e.prefix&&e.iconName)return e;if(Array.isArray(e)&&e.length===2)return{prefix:e[0],iconName:e[1]};if(typeof e=="string")return{prefix:"fas",iconName:e}}var mR=Xe({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(t){return[!0,!1,"horizontal","vertical","both"].indexOf(t)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(t){return["right","left"].indexOf(t)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(t){return[90,180,270].indexOf(Number.parseInt(t,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(t){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(t)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1}},setup:function(t,n){var r=n.attrs,s=ne(function(){return dm(t.icon)}),i=ne(function(){return Ma("classes",dR(t))}),o=ne(function(){return Ma("transform",typeof t.transform=="string"?Ml.transform(t.transform):t.transform)}),a=ne(function(){return Ma("mask",dm(t.mask))}),l=ne(function(){return tR(s.value,sn(sn(sn(sn({},i.value),o.value),a.value),{},{symbol:t.symbol,title:t.title,titleId:t.titleId,maskId:t.maskId}))});it(l,function(c){if(!c)return fR("Could not find one or more icon(s)",s.value,a.value)},{immediate:!0});var u=ne(function(){return l.value?d_(l.value.abstract[0],{},r):null});return function(){return u.value}}}),hR={prefix:"fas",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"]},pR=hR,gR={prefix:"fas",iconName:"sun",icon:[512,512,[9728],"f185","M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"]},_R={prefix:"fas",iconName:"play",icon:[384,512,[9654],"f04b","M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"]},vR={prefix:"fas",iconName:"circle-half-stroke",icon:[512,512,[9680,"adjust"],"f042","M448 256c0-106-86-192-192-192V448c106 0 192-86 192-192zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"]},bR={prefix:"fas",iconName:"spinner",icon:[512,512,[],"f110","M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z"]},yR={prefix:"fas",iconName:"moon",icon:[384,512,[127769,9214],"f186","M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"]};const ER={welcome:"Welcome to Jeobeardy!"},wR={whatis:"What is Jeobeardy?"},AR={loginHeader:"Login to your Jeobeardy Account",loginButton:"Login",signupLinkButton:"Sign up",username:"Username",password:"Password",error:{process:"An error occured during the login process"}},TR={signupHeader:"Create a new Jeobeardy Account",signupButton:"Sign Up",loginLinkButton:"Back to Login","password-repeat":"Repeat Password","password-not-conform":"The password does not meet the required criteria","password-criteria-length":"The password needs to be at least 10 characters long",error:{process:"An error occured during the signup process"}},OR={"validate-fields":"Make sure that all fields are valid"},SR={inputRequired:"This field is required",minLength:"Minimum of {min} characters required",sameAs:"Must match {otherName}"},CR={yourProfile:"Your Profile",yourBoards:"Your Boards",gotoSettings:"Go to Settings"},NR={heading:"Settings"},LR={buttons:{close:"Close"},error:{generic:"Error"}},IR={button:"Join",text:"Join a Game",alreadyHostedGome:"Someone else is already hosting a game?",textCode:"Enter the code you get from your host and join the lobby."},PR={button:"Host",text:"Host a Game",alreadyHostedGome:"Wanna create a board and host a game yourself?",textCode:"Wanna create a board and host a game yourself?"},RR={dark:{name:"Dark"},light:{name:"Light"},highContrast:{name:"High Contrast"}},xR={en:{name:"English",shortName:"en"},de:{name:"German",shortName:"de"}},kR={home:"Home",about:"About"},$R={home:ER,about:wR,login:AR,signup:TR,forms:OR,validations:SR,profile:CR,settings:NR,common:LR,join:IR,host:PR,theme:RR,i18n:xR,nav:kR},DR={welcome:"Willkommen bei Jeobeardy!"},MR={whatis:"Was ist Jeobeardy?"},FR={loginHeader:"Logge dich mit deinem Jeobeardy Konto ein",username:"Benutzername",password:"Passwort"},jR={dark:{name:"Dunkel"},light:{name:"Hell"},"high-contrast":{name:"Hoher Kontrast"}},UR={en:{name:"Englisch",shortName:"en"},de:{name:"Deutsch",shortName:"de"}},HR={home:"Home",about:"Über"},VR={home:DR,about:MR,login:FR,theme:jR,i18n:UR,nav:HR},BR=NE({legacy:!1,locale:"en",fallbackLocale:"en",messages:{en:$R,de:VR}});eR.add(gR,yR,vR,pR,_R,bR);const fi=Ib(LS);fi.use(kb());fi.component("FontAwesomeIcon",mR);fi.use(EI);fi.use(BR);fi.mount("#app"); diff --git a/src/main/resources/static/favicon.ico b/src/main/resources/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html new file mode 100644 index 0000000..47e3363 --- /dev/null +++ b/src/main/resources/static/index.html @@ -0,0 +1,14 @@ + + + + + + + Vite App + + + + +
+ + diff --git a/src/main/webapp/.eslintrc.cjs b/src/main/webapp/.eslintrc.cjs new file mode 100644 index 0000000..ade8571 --- /dev/null +++ b/src/main/webapp/.eslintrc.cjs @@ -0,0 +1,14 @@ +/* eslint-env node */ +require('@rushstack/eslint-patch/modern-module-resolution') + +module.exports = { + root: true, + 'extends': [ + 'plugin:vue/vue3-essential', + 'eslint:recommended', + '@vue/eslint-config-typescript' + ], + parserOptions: { + ecmaVersion: 'latest' + } +} diff --git a/src/main/webapp/.gitignore b/src/main/webapp/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/src/main/webapp/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/src/main/webapp/README.md b/src/main/webapp/README.md new file mode 100644 index 0000000..c72ef2f --- /dev/null +++ b/src/main/webapp/README.md @@ -0,0 +1,45 @@ +# ReJeobeardy + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` + +### Run Unit Tests with [Vitest](https://vitest.dev/) + +```sh +npm run test:unit +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +npm run lint +``` diff --git a/src/main/webapp/env.d.ts b/src/main/webapp/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/main/webapp/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html new file mode 100644 index 0000000..a888544 --- /dev/null +++ b/src/main/webapp/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/src/main/webapp/package-lock.json b/src/main/webapp/package-lock.json new file mode 100644 index 0000000..64c4bdd --- /dev/null +++ b/src/main/webapp/package-lock.json @@ -0,0 +1,6807 @@ +{ + "name": "rejeobeardy", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "rejeobeardy", + "version": "0.1.0", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/vue-fontawesome": "^3.0.8", + "@popperjs/core": "^2.11.8", + "@vuelidate/core": "^2.0.3", + "@vuelidate/validators": "^2.0.4", + "axios": "^1.7.2", + "bootstrap": "^5.3.3", + "pinia": "^2.1.7", + "vue": "^3.4.21", + "vue-i18n": "^9.13.1", + "vue-router": "^4.3.0" + }, + "devDependencies": { + "@rushstack/eslint-patch": "^1.8.0", + "@tsconfig/node20": "^20.1.4", + "@types/bootstrap": "^5.2.10", + "@types/jsdom": "^21.1.6", + "@types/node": "^20.12.5", + "@vitejs/plugin-vue": "^5.0.4", + "@vue/eslint-config-typescript": "^13.0.0", + "@vue/test-utils": "^2.4.5", + "@vue/tsconfig": "^0.5.1", + "eslint": "^8.57.0", + "eslint-plugin-vue": "^9.23.0", + "jsdom": "^24.0.0", + "npm-run-all2": "^6.1.2", + "sass": "^1.77.6", + "typescript": "~5.4.0", + "vite": "^5.2.8", + "vite-plugin-vue-devtools": "^7.0.25", + "vitest": "^1.4.0", + "vue-tsc": "^2.0.11" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.8.tgz", + "integrity": "sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", + "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", + "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", + "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", + "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", + "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", + "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", + "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-decorators": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", + "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", + "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", + "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", + "hasInstallScript": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", + "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", + "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", + "hasInstallScript": true, + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/vue-fontawesome": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.8.tgz", + "integrity": "sha512-yyHHAj4G8pQIDfaIsMvQpwKMboIZtcHTUvPqXjOHyldh1O1vZfH4W03VDPv5RvI9P6DLTzJQlmVgj9wCf7c2Fw==", + "license": "MIT", + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "vue": ">= 3.0.0 < 4" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@intlify/core-base": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.13.1.tgz", + "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==", + "license": "MIT", + "dependencies": { + "@intlify/message-compiler": "9.13.1", + "@intlify/shared": "9.13.1" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.13.1.tgz", + "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==", + "license": "MIT", + "dependencies": { + "@intlify/shared": "9.13.1", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/shared": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.13.1.tgz", + "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz", + "integrity": "sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node20": { + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.4.tgz", + "integrity": "sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/bootstrap": { + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.10.tgz", + "integrity": "sha512-F2X+cd6551tep0MvVZ6nM8v7XgGN/twpdNDjqS1TUM7YFNEtQYWk+dKAnH+T1gr6QgCoGMPl487xw/9hXooa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@popperjs/core": "^2.9.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsdom": { + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/node": { + "version": "20.14.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz", + "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.13.0.tgz", + "integrity": "sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/type-utils": "7.13.0", + "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/visitor-keys": "7.13.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.13.0.tgz", + "integrity": "sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/typescript-estree": "7.13.0", + "@typescript-eslint/visitor-keys": "7.13.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.13.0.tgz", + "integrity": "sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/visitor-keys": "7.13.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.13.0.tgz", + "integrity": "sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.13.0", + "@typescript-eslint/utils": "7.13.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.13.0.tgz", + "integrity": "sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.13.0.tgz", + "integrity": "sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/visitor-keys": "7.13.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.13.0.tgz", + "integrity": "sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/typescript-estree": "7.13.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.13.0.tgz", + "integrity": "sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.13.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz", + "integrity": "sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitest/expect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", + "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "1.6.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", + "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.0-alpha.18.tgz", + "integrity": "sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.0-alpha.18" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.0-alpha.18.tgz", + "integrity": "sha512-MTeCV9MUwwsH0sNFiZwKtFrrVZUK6p8ioZs3xFzHc2cvDXHWlYN3bChdQtwKX+FY2HG6H3CfAu1pKijolzIQ8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.0-alpha.18.tgz", + "integrity": "sha512-sXh5Y8sqGUkgxpMWUGvRXggxYHAVxg0Pa1C42lQZuPDrW6vHJPR0VCK8Sr7WJsAW530HuNQT/ZIskmXtxjybMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.0-alpha.18", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.2.tgz", + "integrity": "sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.2.tgz", + "integrity": "sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "~7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9", + "@vue/babel-helper-vue-transform-on": "1.2.2", + "@vue/babel-plugin-resolve-type": "1.2.2", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-jsx/node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.2.tgz", + "integrity": "sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/helper-module-imports": "~7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/parser": "^7.23.9", + "@vue/compiler-sfc": "^3.4.15" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.29.tgz", + "integrity": "sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/shared": "3.4.29", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.29.tgz", + "integrity": "sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.4.29", + "@vue/shared": "3.4.29" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.29.tgz", + "integrity": "sha512-zygDcEtn8ZimDlrEQyLUovoWgKQic6aEQqRXce2WXBvSeHbEbcAsXyCk9oG33ZkyWH4sl9D3tkYc1idoOkdqZQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/compiler-core": "3.4.29", + "@vue/compiler-dom": "3.4.29", + "@vue/compiler-ssr": "3.4.29", + "@vue/shared": "3.4.29", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.10", + "postcss": "^8.4.38", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.29.tgz", + "integrity": "sha512-rFbwCmxJ16tDp3N8XCx5xSQzjhidYjXllvEcqX/lopkoznlNPz3jyy0WGJCyhAaVQK677WWFt3YO/WUEkMMUFQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.4.29", + "@vue/shared": "3.4.29" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz", + "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==", + "license": "MIT" + }, + "node_modules/@vue/devtools-core": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.2.1.tgz", + "integrity": "sha512-OyWl455UnJIVgZ6lo5WQ79WbDMoXtSRwyNKp9WzCZ0HhuQywIk4qv59KtLRe75uVmtGBde4hXNaSyRm+x9bY6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.2.1", + "@vue/devtools-shared": "^7.2.1", + "mitt": "^3.0.1", + "nanoid": "^3.3.4", + "pathe": "^1.1.2", + "vite-hot-client": "^0.2.3" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.2.1.tgz", + "integrity": "sha512-Wak/fin1X0Q8LLIfCAHBrdaaB+R6IdpSXsDByPHbQ3BmkCP0/cIo/oEGp9i0U2+gEqD4L3V9RDjNf1S34DTzQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.2.1", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.2.1.tgz", + "integrity": "sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.3.1" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-13.0.0.tgz", + "integrity": "sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "vue-eslint-parser": "^9.3.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "peerDependencies": { + "eslint": "^8.56.0", + "eslint-plugin-vue": "^9.0.0", + "typescript": ">=4.7.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core": { + "version": "2.0.29", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.0.29.tgz", + "integrity": "sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.0-alpha.18", + "@vue/compiler-dom": "^3.4.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.4.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.29.tgz", + "integrity": "sha512-w8+KV+mb1a8ornnGQitnMdLfE0kXmteaxLdccm2XwdFxXst4q/Z7SEboCV5SqJNpZbKFeaRBBJBhW24aJyGINg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.4.29" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.29.tgz", + "integrity": "sha512-s8fmX3YVR/Rk5ig0ic0NuzTNjK2M7iLuVSZyMmCzN/+Mjuqqif1JasCtEtmtoJWF32pAtUjyuT2ljNKNLeOmnQ==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.4.29", + "@vue/shared": "3.4.29" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.29.tgz", + "integrity": "sha512-gI10atCrtOLf/2MPPMM+dpz3NGulo9ZZR9d1dWo4fYvm+xkfvRrw1ZmJ7mkWtiJVXSsdmPbcK1p5dZzOCKDN0g==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.4.29", + "@vue/runtime-core": "3.4.29", + "@vue/shared": "3.4.29", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.29.tgz", + "integrity": "sha512-HMLCmPI2j/k8PVkSBysrA2RxcxC5DgBiCdj7n7H2QtR8bQQPqKAe8qoaxLcInzouBmzwJ+J0x20ygN/B5mYBng==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.4.29", + "@vue/shared": "3.4.29" + }, + "peerDependencies": { + "vue": "3.4.29" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz", + "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==", + "license": "MIT" + }, + "node_modules/@vue/test-utils": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.6.tgz", + "integrity": "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-beautify": "^1.14.9", + "vue-component-type-helpers": "^2.0.0" + } + }, + "node_modules/@vue/tsconfig": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz", + "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vuelidate/core": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.3.tgz", + "integrity": "sha512-AN6l7KF7+mEfyWG0doT96z+47ljwPpZfi9/JrNMkOGLFv27XVZvKzRLXlmDPQjPl/wOB1GNnHuc54jlCLRNqGA==", + "license": "MIT", + "dependencies": { + "vue-demi": "^0.13.11" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^2.0.0 || >=3.0.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vuelidate/core/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vuelidate/validators": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.4.tgz", + "integrity": "sha512-odTxtUZ2JpwwiQ10t0QWYJkkYrfd0SyFYhdHH44QQ1jDatlZgTh/KRzrWVmn/ib9Gq7H4hFD4e8ahoo5YlUlDw==", + "license": "MIT", + "dependencies": { + "vue-demi": "^0.13.11" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^2.0.0 || >=3.0.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vuelidate/validators/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.3.tgz", + "integrity": "sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/bootstrap": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", + "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "license": "MIT", + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001634", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001634.tgz", + "integrity": "sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssstyle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz", + "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cssstyle/node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-eql": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "bin": { + "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.802", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.802.tgz", + "integrity": "sha512-TnTMUATbgNdPXVSHsxvNVSG0uEd6cSZsANjm8c9HbvflZVVn1yTRcmVXYT1Ma95/ssB/Dcd30AHweH2TE+dNpA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-stack-parser-es": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.4.tgz", + "integrity": "sha512-l0uy0kAoo6toCgVOYaAayqtPa2a1L15efxUMEnQebKwLQX2X0OpS6wMMQdc4juJXmxd9i40DuaUHq+mjIya9TQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.26.0.tgz", + "integrity": "sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.0", + "vue-eslint-parser": "^9.4.2", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.0.tgz", + "integrity": "sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", + "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-beautify": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz", + "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.3.3", + "js-cookie": "^3.0.5", + "nopt": "^7.2.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz", + "integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssstyle": "^4.0.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.4", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.10", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.4", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.17.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^2.11.2" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true, + "license": "MIT" + }, + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-run-all2": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.2.0.tgz", + "integrity": "sha512-wA7yVIkthe6qJBfiJ2g6aweaaRlw72itsFGF6HuwCHKwtwAx/4BY1vVpk6bw6lS8RLMsexoasOkd0aYOmsFG7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.3", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-package-json-fast": "^3.0.2", + "shell-quote": "^1.7.3" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0", + "npm": ">= 8" + } + }, + "node_modules/npm-run-all2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz", + "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pinia": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.7.tgz", + "integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": ">=0.14.5" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz", + "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz", + "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.7.0", + "pathe": "^1.1.2" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "license": "ISC" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true, + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.77.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", + "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz", + "integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-hot-client": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-0.2.3.tgz", + "integrity": "sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/vite-node": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", + "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.4.tgz", + "integrity": "sha512-G0N3rjfw+AiiwnGw50KlObIHYWfulVwaCBUBLh2xTW9G1eM9ocE5olXkEYUbwyTmX+azM8duubi+9w5awdCz+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.7", + "@rollup/pluginutils": "^5.1.0", + "debug": "^4.3.4", + "error-stack-parser-es": "^0.1.1", + "fs-extra": "^11.2.0", + "open": "^10.1.0", + "perfect-debounce": "^1.0.0", + "picocolors": "^1.0.0", + "sirv": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.2.1.tgz", + "integrity": "sha512-4k7QNZz0nSojoePQoxnE5fIzi8RU1QJHc0TEg4golv2phZxhBGfjScZD2B8X6bcrRbUQ9CaRKN0dzBs1xtzzNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^7.2.1", + "@vue/devtools-kit": "^7.2.1", + "@vue/devtools-shared": "^7.2.1", + "execa": "^8.0.1", + "sirv": "^2.0.4", + "vite-plugin-inspect": "^0.8.4", + "vite-plugin-vue-inspector": "^5.1.0" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.1.2.tgz", + "integrity": "sha512-M+yH2LlQtVNzJAljQM+61CqDXBvHim8dU5ImGaQuwlo13tMDHue5D7IC20YwDJuWDODiYc/cZBUYspVlyPf2vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0" + } + }, + "node_modules/vitest": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", + "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "1.6.0", + "@vitest/runner": "1.6.0", + "@vitest/snapshot": "1.6.0", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.0", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.6.0", + "@vitest/ui": "1.6.0", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.4.29", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.29.tgz", + "integrity": "sha512-8QUYfRcYzNlYuzKPfge1UWC6nF9ym0lx7mpGVPJYNhddxEf3DD0+kU07NTL0sXuiT2HuJuKr/iEO8WvXvT0RSQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.4.29", + "@vue/compiler-sfc": "3.4.29", + "@vue/runtime-dom": "3.4.29", + "@vue/server-renderer": "3.4.29", + "@vue/shared": "3.4.29" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-type-helpers": { + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.0.21.tgz", + "integrity": "sha512-3NaicyZ7N4B6cft4bfb7dOnPbE9CjLcx+6wZWAg5zwszfO4qXRh+U52dN5r5ZZfc6iMaxKCEcoH9CmxxoFZHLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-eslint-parser": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-i18n": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.13.1.tgz", + "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "9.13.1", + "@intlify/shared": "9.13.1", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.3.tgz", + "integrity": "sha512-8Q+u+WP4N2SXY38FDcF2H1dUEbYVHVPtPCPZj/GTZx8RCbiB8AtJP9+YIxn4Vs0svMTNQcLIzka4GH7Utkx9xQ==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.5.1" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "2.0.29", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.0.29.tgz", + "integrity": "sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.0-alpha.18", + "@vue/language-core": "2.0.29", + "semver": "^7.5.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/src/main/webapp/package.json b/src/main/webapp/package.json new file mode 100644 index 0000000..3cefde6 --- /dev/null +++ b/src/main/webapp/package.json @@ -0,0 +1,50 @@ +{ + "name": "rejeobeardy", + "version": "0.1.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "test:unit": "vitest", + "build-only": "vite build", + "type-check": "vue-tsc --build --force", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" + }, + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/vue-fontawesome": "^3.0.8", + "@popperjs/core": "^2.11.8", + "@vuelidate/core": "^2.0.3", + "@vuelidate/validators": "^2.0.4", + "axios": "^1.7.2", + "bootstrap": "^5.3.3", + "pinia": "^2.1.7", + "vue": "^3.4.21", + "vue-i18n": "^9.13.1", + "vue-router": "^4.3.0" + }, + "devDependencies": { + "@rushstack/eslint-patch": "^1.8.0", + "@tsconfig/node20": "^20.1.4", + "@types/bootstrap": "^5.2.10", + "@types/jsdom": "^21.1.6", + "@types/node": "^20.12.5", + "@vitejs/plugin-vue": "^5.0.4", + "@vue/eslint-config-typescript": "^13.0.0", + "@vue/test-utils": "^2.4.5", + "@vue/tsconfig": "^0.5.1", + "eslint": "^8.57.0", + "eslint-plugin-vue": "^9.23.0", + "jsdom": "^24.0.0", + "npm-run-all2": "^6.1.2", + "sass": "^1.77.6", + "typescript": "~5.4.0", + "vite": "^5.2.8", + "vite-plugin-vue-devtools": "^7.0.25", + "vitest": "^1.4.0", + "vue-tsc": "^2.0.11" + } +} diff --git a/src/main/webapp/public/favicon.ico b/src/main/webapp/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/src/main/webapp/src/App.vue b/src/main/webapp/src/App.vue new file mode 100644 index 0000000..d4b97e5 --- /dev/null +++ b/src/main/webapp/src/App.vue @@ -0,0 +1,37 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/Env.ts b/src/main/webapp/src/Env.ts new file mode 100644 index 0000000..dcb5eef --- /dev/null +++ b/src/main/webapp/src/Env.ts @@ -0,0 +1,8 @@ +const { VITE_API_BASE_URL, ...otherViteConfig } = import.meta.env; + +export const ENV = { + API_BASE_URL: VITE_API_BASE_URL as string, + __vite__: otherViteConfig, +}; + +console.debug(ENV); \ No newline at end of file diff --git a/src/main/webapp/src/assets/css/main.css b/src/main/webapp/src/assets/css/main.css new file mode 100644 index 0000000..e6f0622 --- /dev/null +++ b/src/main/webapp/src/assets/css/main.css @@ -0,0 +1,3 @@ +.preserve-breaks { + white-space: preserve-breaks; +} \ No newline at end of file diff --git a/src/main/webapp/src/assets/images/OldInGameBlurredRotated.jpeg b/src/main/webapp/src/assets/images/OldInGameBlurredRotated.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c0d373b212e904b49ddf8d40e220ea947d083b91 GIT binary patch literal 131365 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 V20U2 + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/src/assets/scss/customized_bootstrap.scss b/src/main/webapp/src/assets/scss/customized_bootstrap.scss new file mode 100644 index 0000000..df2a2ea --- /dev/null +++ b/src/main/webapp/src/assets/scss/customized_bootstrap.scss @@ -0,0 +1,113 @@ +// 1. Include functions first (so you can manipulate colors, SVGs, calc, etc) +@import "bootstrap/scss/functions"; + +// 2. Include any default variable overrides here + +/* Colors */ +//Accents +$cyclamen: #e86a92ff; +$light-coral: #eb8a90ff; +$jungle-green: #419d78ff; +$celestial-blue: #3e92ccff; + +$raisin-black: #161925ff; +$delft-blue: #23395bff; +$ucla-blue: #406e8eff; +$powder-blue: #8ea8c3ff; +$mint-green: #cbf7edff; + +$space-cadet: #2b2d42ff; +$cool-gray: #8d99aeff; +$anti-flash-white: #edf2f4ff; +$rich-black: #2d3543; + +/* Variable definitions */ +$primary-accent: $cyclamen; +$primary-accent-dark: $cyclamen; + +$secondary-accent: $celestial-blue; +$secondary-accent-dark: $celestial-blue; +// $secondary-accent: $jungle-green; +// $secondary-accent-dark: $jungle-green; + +/* Bootstrap Colors overrides */ +$primary: $primary-accent; +$secondary: $secondary-accent; +// $success: $green; +// $info: $cyan; +// $warning: $yellow; +// $danger: $red; +$light: $anti-flash-white; +$light-accented: shade-color($anti-flash-white, 10%); +$dark: $space-cadet; +$dark-accented: shade-color($space-cadet, 15%); + + +/* Bootstrap Variable overrides */ + +$body-bg-dark: $space-cadet; +$body-secondary-bg-dark: $dark-accented; +$body-bg: $anti-flash-white; +$body-secondary-bg: $light-accented; + +// $font-size-base: 1.5rem; + +// 3. Include remainder of required Bootstrap stylesheets (including any separate color mode stylesheets) +@import "bootstrap/scss/variables"; +@import "bootstrap/scss/variables-dark"; + + + +// $navbar-dark-active-color: $primary; +// $navbar-light-active-color: $primary; + +/* Bootstrap Color Map adjustments */ +$custom-colors: ( + "gray": $gray-500, + "dark-accented": $dark-accented, + "rich-black": $rich-black, +); +$theme-colors: map-merge($theme-colors, $custom-colors); + +// 4. Include any default map overrides here + +// 5. Include remainder of required parts +@import "bootstrap/scss/bootstrap"; +// @import "bootstrap/scss/maps"; +// @import "bootstrap/scss/mixins"; +// @import "bootstrap/scss/root"; + +// 6. Optionally include any other parts as needed +@import "bootstrap/scss/utilities"; +// @import "bootstrap/scss/reboot"; +// @import "bootstrap/scss/type"; +// @import "bootstrap/scss/images"; +// @import "bootstrap/scss/containers"; +// @import "bootstrap/scss/grid"; +// @import "bootstrap/scss/helpers"; + +$utilities: map-merge( + $utilities, + ( + "width": map-merge( + map-get($utilities, "width"), + ( + values: map-merge( + map-get(map-get($utilities, "width"), "values"), + (fit-content: fit-content), + ), + ), + ), + ) +); + + +// 7. Optionally include utilities API last to generate classes based on the Sass map in `_utilities.scss` +@import "bootstrap/scss/utilities/api"; + +// 8. Add additional custom code here +@import "./exotic_theme.scss"; + +@import "bootstrap/scss/bootstrap"; + +@import "../css/main.css"; \ No newline at end of file diff --git a/src/main/webapp/src/assets/scss/exotic_theme.scss b/src/main/webapp/src/assets/scss/exotic_theme.scss new file mode 100644 index 0000000..6f68a56 --- /dev/null +++ b/src/main/webapp/src/assets/scss/exotic_theme.scss @@ -0,0 +1,23 @@ +[data-bs-theme="blue"] { + --bs-body-color: var(--bs-pink); + --bs-body-color-rgb: #{to-rgb($white)}; + --bs-body-bg: var(--bs-white); + --bs-body-bg-rgb: #{to-rgb($blue)}; + --bs-tertiary-bg: #{$blue-600}; + + .dropdown-menu { + --bs-dropdown-bg: #{mix($blue-500, $blue-600)}; + --bs-dropdown-link-active-bg: #{$blue-700}; + } + + .btn-secondary { + --bs-btn-bg: #{mix($gray-600, $blue-400, .5)}; + --bs-btn-border-color: #{rgba($white, .25)}; + --bs-btn-hover-bg: #{darken(mix($gray-600, $blue-400, .5), 5%)}; + --bs-btn-hover-border-color: #{rgba($white, .25)}; + --bs-btn-active-bg: #{darken(mix($gray-600, $blue-400, .5), 10%)}; + --bs-btn-active-border-color: #{rgba($white, .5)}; + --bs-btn-focus-border-color: #{rgba($white, .5)}; + --bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .2); + } +} \ No newline at end of file diff --git a/src/main/webapp/src/components/__tests__/HelloWorld.spec.ts b/src/main/webapp/src/components/__tests__/HelloWorld.spec.ts new file mode 100644 index 0000000..4e1d2a4 --- /dev/null +++ b/src/main/webapp/src/components/__tests__/HelloWorld.spec.ts @@ -0,0 +1,14 @@ +// import { describe, it, expect } from 'vitest' + +// import { mount } from '@vue/test-utils' +// import HelloWorld from '../HelloWorld.vue' + +// describe('HelloWorld', () => { +// it('renders properly', () => { +// const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) +// expect(wrapper.text()).toContain('Hello Vitest') +// }) +// }) + + +// Test Example \ No newline at end of file diff --git a/src/main/webapp/src/components/blocks/BoardSelector.vue b/src/main/webapp/src/components/blocks/BoardSelector.vue new file mode 100644 index 0000000..5cb0df9 --- /dev/null +++ b/src/main/webapp/src/components/blocks/BoardSelector.vue @@ -0,0 +1,48 @@ + + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/blocks/FooterBlock.vue b/src/main/webapp/src/components/blocks/FooterBlock.vue new file mode 100644 index 0000000..644a0e5 --- /dev/null +++ b/src/main/webapp/src/components/blocks/FooterBlock.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/blocks/LocaleChanger.vue b/src/main/webapp/src/components/blocks/LocaleChanger.vue new file mode 100644 index 0000000..262eb57 --- /dev/null +++ b/src/main/webapp/src/components/blocks/LocaleChanger.vue @@ -0,0 +1,38 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/blocks/NavBar.vue b/src/main/webapp/src/components/blocks/NavBar.vue new file mode 100644 index 0000000..a6c292c --- /dev/null +++ b/src/main/webapp/src/components/blocks/NavBar.vue @@ -0,0 +1,75 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/blocks/ThemeChanger.vue b/src/main/webapp/src/components/blocks/ThemeChanger.vue new file mode 100644 index 0000000..c8e7a3c --- /dev/null +++ b/src/main/webapp/src/components/blocks/ThemeChanger.vue @@ -0,0 +1,25 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/icons/IconCommunity.vue b/src/main/webapp/src/components/icons/IconCommunity.vue new file mode 100644 index 0000000..2dc8b05 --- /dev/null +++ b/src/main/webapp/src/components/icons/IconCommunity.vue @@ -0,0 +1,7 @@ + diff --git a/src/main/webapp/src/components/icons/IconDocumentation.vue b/src/main/webapp/src/components/icons/IconDocumentation.vue new file mode 100644 index 0000000..6d4791c --- /dev/null +++ b/src/main/webapp/src/components/icons/IconDocumentation.vue @@ -0,0 +1,7 @@ + diff --git a/src/main/webapp/src/components/icons/IconEcosystem.vue b/src/main/webapp/src/components/icons/IconEcosystem.vue new file mode 100644 index 0000000..c3a4f07 --- /dev/null +++ b/src/main/webapp/src/components/icons/IconEcosystem.vue @@ -0,0 +1,7 @@ + diff --git a/src/main/webapp/src/components/icons/IconJeobeardy.vue b/src/main/webapp/src/components/icons/IconJeobeardy.vue new file mode 100644 index 0000000..61aa9ea --- /dev/null +++ b/src/main/webapp/src/components/icons/IconJeobeardy.vue @@ -0,0 +1,38 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/icons/IconSupport.vue b/src/main/webapp/src/components/icons/IconSupport.vue new file mode 100644 index 0000000..7452834 --- /dev/null +++ b/src/main/webapp/src/components/icons/IconSupport.vue @@ -0,0 +1,7 @@ + diff --git a/src/main/webapp/src/components/icons/IconTooling.vue b/src/main/webapp/src/components/icons/IconTooling.vue new file mode 100644 index 0000000..660598d --- /dev/null +++ b/src/main/webapp/src/components/icons/IconTooling.vue @@ -0,0 +1,19 @@ + + diff --git a/src/main/webapp/src/components/modals/GenericInfoModal.vue b/src/main/webapp/src/components/modals/GenericInfoModal.vue new file mode 100644 index 0000000..7d98714 --- /dev/null +++ b/src/main/webapp/src/components/modals/GenericInfoModal.vue @@ -0,0 +1,66 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/pages/AboutPage.vue b/src/main/webapp/src/components/pages/AboutPage.vue new file mode 100644 index 0000000..6060ca4 --- /dev/null +++ b/src/main/webapp/src/components/pages/AboutPage.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/pages/GamePage.vue b/src/main/webapp/src/components/pages/GamePage.vue new file mode 100644 index 0000000..6060ca4 --- /dev/null +++ b/src/main/webapp/src/components/pages/GamePage.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/pages/HomePage.vue b/src/main/webapp/src/components/pages/HomePage.vue new file mode 100644 index 0000000..cf86241 --- /dev/null +++ b/src/main/webapp/src/components/pages/HomePage.vue @@ -0,0 +1,123 @@ + + + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/pages/LoginPage.vue b/src/main/webapp/src/components/pages/LoginPage.vue new file mode 100644 index 0000000..9089657 --- /dev/null +++ b/src/main/webapp/src/components/pages/LoginPage.vue @@ -0,0 +1,113 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/pages/ProfilePage.vue b/src/main/webapp/src/components/pages/ProfilePage.vue new file mode 100644 index 0000000..5ea3ab5 --- /dev/null +++ b/src/main/webapp/src/components/pages/ProfilePage.vue @@ -0,0 +1,47 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/components/pages/SignupPage.vue b/src/main/webapp/src/components/pages/SignupPage.vue new file mode 100644 index 0000000..110913f --- /dev/null +++ b/src/main/webapp/src/components/pages/SignupPage.vue @@ -0,0 +1,126 @@ + + + \ No newline at end of file diff --git a/src/main/webapp/src/composables/colorTheme.ts b/src/main/webapp/src/composables/colorTheme.ts new file mode 100644 index 0000000..d416adc --- /dev/null +++ b/src/main/webapp/src/composables/colorTheme.ts @@ -0,0 +1,57 @@ +import { onMounted, ref, watch } from "vue"; + +const localStorageKey = "theme"; + +const darkTheme = { + bsName: "dark", + name: "theme.dark.name", + icon: ["fas", "moon"], +}; +const lightTheme = { + bsName: "light", + name: "theme.light.name", + icon: ["fas", "sun"], +}; +const highContrastTheme = { + bsName: "high-contrast", + name: "theme.high-contrast.name", + icon: ["fas", "circle-half-stroke"], +}; + +export function useBootstrapTheme() { + + const availableThemes = ref( [ + darkTheme, + lightTheme, + highContrastTheme, + ] ); + + onMounted( () => { + let initialThemeBsName: string | null = localStorage.getItem( localStorageKey ); + if( initialThemeBsName == null ) { + localStorage.setItem( localStorageKey, "dark" ); + initialThemeBsName = "dark"; + } + const initialTheme = availableThemes.value.findIndex( theme => theme.bsName === initialThemeBsName ); + if( initialTheme !== -1 ) { + currentTheme.value = availableThemes.value[initialTheme]; + } + const htmlElem = document.getElementsByTagName( 'html' ); + htmlElem[0].dataset.bsTheme = currentTheme.value.bsName; + } ); + + const currentTheme = ref( darkTheme ); + + watch( + currentTheme, + ( newVal ) => { + document.getElementsByTagName( 'html' )[0].dataset.bsTheme = newVal.bsName; + localStorage.setItem( localStorageKey, newVal.bsName ); + } + ); + + return { + availableThemes, + currentTheme, + }; +} \ No newline at end of file diff --git a/src/main/webapp/src/locales/de.json b/src/main/webapp/src/locales/de.json new file mode 100644 index 0000000..8165f80 --- /dev/null +++ b/src/main/webapp/src/locales/de.json @@ -0,0 +1,38 @@ +{ + "home": { + "welcome": "Willkommen bei Jeobeardy!" + }, + "about": { + "whatis": "Was ist Jeobeardy?" + }, + "login": { + "loginHeader": "Logge dich mit deinem Jeobeardy Konto ein", + "username": "Benutzername", + "password": "Passwort" + }, + "theme": { + "dark": { + "name": "Dunkel" + }, + "light": { + "name": "Hell" + }, + "high-contrast": { + "name": "Hoher Kontrast" + } + }, + "i18n": { + "en": { + "name": "Englisch", + "shortName": "en" + }, + "de": { + "name": "Deutsch", + "shortName": "de" + } + }, + "nav": { + "home": "Home", + "about": "Über" + } +} \ No newline at end of file diff --git a/src/main/webapp/src/locales/en.json b/src/main/webapp/src/locales/en.json new file mode 100644 index 0000000..9e8ff6b --- /dev/null +++ b/src/main/webapp/src/locales/en.json @@ -0,0 +1,90 @@ +{ + "home": { + "welcome": "Welcome to Jeobeardy!" + }, + "about": { + "whatis": "What is Jeobeardy?" + }, + "login": { + "loginHeader": "Login to your Jeobeardy Account", + "loginButton": "Login", + "signupLinkButton": "Sign up", + "username": "Username", + "password": "Password", + "error": { + "process": "An error occured during the login process" + } + }, + "signup": { + "signupHeader": "Create a new Jeobeardy Account", + "signupButton": "Sign Up", + "loginLinkButton": "Back to Login", + "password-repeat": "Repeat Password", + "password-not-conform": "The password does not meet the required criteria", + "password-criteria-length": "The password needs to be at least 10 characters long", + "error": { + "process": "An error occured during the signup process" + } + }, + "forms": { + "validate-fields": "Make sure that all fields are valid" + }, + "validations": { + "inputRequired": "This field is required", + "minLength": "Minimum of {min} characters required", + "sameAs": "Must match {otherName}" + }, + "profile": { + "yourProfile": "Your Profile", + "yourBoards": "Your Boards", + "gotoSettings": "Go to Settings" + }, + "settings": { + "heading": "Settings" + }, + "common": { + "buttons": { + "close": "Close" + }, + "error": { + "generic": "Error" + } + }, + "join": { + "button": "Join", + "text": "Join a Game", + "alreadyHostedGome": "Someone else is already hosting a game?", + "textCode": "Enter the code you get from your host and join the lobby." + }, + "host": { + "button": "Host", + "text": "Host a Game", + "alreadyHostedGome": "Wanna create a board and host a game yourself?", + "textCode": "Wanna create a board and host a game yourself?" + }, + "theme": { + "dark": { + "name": "Dark" + }, + "light": { + "name": "Light" + }, + "highContrast": { + "name": "High Contrast" + } + }, + "i18n": { + "en": { + "name": "English", + "shortName": "en" + }, + "de": { + "name": "German", + "shortName": "de" + } + }, + "nav": { + "home": "Home", + "about": "About" + } +} \ No newline at end of file diff --git a/src/main/webapp/src/main.ts b/src/main/webapp/src/main.ts new file mode 100644 index 0000000..e76d4bc --- /dev/null +++ b/src/main/webapp/src/main.ts @@ -0,0 +1,47 @@ +import { createApp } from 'vue'; +import { createPinia } from 'pinia'; +import { createI18n } from 'vue-i18n'; + +import App from './App.vue'; +import router from './router'; + +import '@/assets/scss/customized_bootstrap.scss'; + +// Importing bootstrap components which rely on js here +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import { Dropdown } from 'bootstrap'; + +import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'; +import { library } from '@fortawesome/fontawesome-svg-core'; +import { faSun, faMoon, faCircleHalfStroke, faEdit, faPlay, faSpinner } from '@fortawesome/free-solid-svg-icons'; + +import enMessages from './locales/en.json'; +import deMessages from './locales/de.json'; + +const i18n = createI18n( { + legacy: false, + locale: 'en', + fallbackLocale: 'en', + messages: { + en: enMessages, + de: deMessages, + } +} ); + +library.add( + faSun, + faMoon, + faCircleHalfStroke, + faEdit, + faPlay, + faSpinner +) + +const app = createApp( App ); + +app.use( createPinia() ); +app.component( 'FontAwesomeIcon', FontAwesomeIcon ); +app.use( router ); +app.use( i18n ); + +app.mount( '#app' ); diff --git a/src/main/webapp/src/models/dto/LoginDto.ts b/src/main/webapp/src/models/dto/LoginDto.ts new file mode 100644 index 0000000..2cf154b --- /dev/null +++ b/src/main/webapp/src/models/dto/LoginDto.ts @@ -0,0 +1,14 @@ +// export class LoginDto{ +// username: String; +// password: String; + +// constructor(username: String, password: String){ +// this.username = username; +// this.password = password; +// } +// } + +export type LoginDto = { + username: String; + password: String; +} \ No newline at end of file diff --git a/src/main/webapp/src/models/user/User.ts b/src/main/webapp/src/models/user/User.ts new file mode 100644 index 0000000..6a3c75f --- /dev/null +++ b/src/main/webapp/src/models/user/User.ts @@ -0,0 +1,5 @@ +export type User = { + username: string, + password: string, + profilePictureFilename: string | undefined, +} \ No newline at end of file diff --git a/src/main/webapp/src/router/index.ts b/src/main/webapp/src/router/index.ts new file mode 100644 index 0000000..c4b70a8 --- /dev/null +++ b/src/main/webapp/src/router/index.ts @@ -0,0 +1,53 @@ +import { createRouter, createWebHistory } from 'vue-router'; +import HomePage from '@/components/pages/HomePage.vue'; +import AboutPage from '@/components/pages/AboutPage.vue'; +import LoginPage from '@/components/pages/LoginPage.vue'; +import SignupPage from '@/components/pages/SignupPage.vue'; +import GamePage from '@/components/pages/GamePage.vue'; +import ProfilePage from '@/components/pages/ProfilePage.vue'; + +const router = createRouter( { + history: createWebHistory( import.meta.env.BASE_URL ), + routes: [ + { + path: '/', + name: 'home', + component: HomePage, + }, + { + path: '/about', + name: 'about', + component: AboutPage, + }, + { + path: '/login', + name: 'login', + component: LoginPage, + }, + { + path: '/signup', + name: 'signup', + component: SignupPage, + }, + { + path: '/profile', + name: 'profile', + component: ProfilePage, + }, + { + path: '/game', + name: 'Game', + component: GamePage, + }, + // { + // path: '/about', + // name: 'about', + // // route level code-splitting + // // this generates a separate chunk (About.[hash].js) for this route + // // which is lazy-loaded when the route is visited. + // component: () => import('../views/AboutView.vue') + // } + ] +} ); + +export default router; diff --git a/src/main/webapp/src/services/AuthService.ts b/src/main/webapp/src/services/AuthService.ts new file mode 100644 index 0000000..2c1d608 --- /dev/null +++ b/src/main/webapp/src/services/AuthService.ts @@ -0,0 +1,61 @@ +import { ENV } from "@/Env"; +import type { LoginDto } from '@/models/dto/LoginDto'; +import axios from "axios"; + + +class AuthService { + + signupUser( signupDto: LoginDto ) { + return new Promise( ( resolve, reject ) => { + axios.post( `${ENV.API_BASE_URL}/auth/signup`, + signupDto, + { + withCredentials: true, + }, + ) + .then( ( response ) => { + resolve( response.data ); + } ) + .catch( ( error ) => { + reject( error ); + } ); + } ); + } + + loginUser( loginDto: LoginDto ) { + return new Promise( ( resolve, reject ) => { + axios.post( `${ENV.API_BASE_URL}/auth/login`, + loginDto, + { + withCredentials: true, + }, + ) + .then( ( response ) => { + resolve( response ); + } ) + .catch( ( error ) => { + reject( error ); + } ); + } ); + } + + logoutUser() { + return new Promise( ( resolve, reject ) => { + axios.post( `${ENV.API_BASE_URL}/auth/logout`, + null, + { + withCredentials: true, + }, + ) + .then( ( response ) => { + resolve( response ); + } ) + .catch( ( error ) => { + reject( error ); + } ); + } ); + } + +} + +export const authService = new AuthService(); \ No newline at end of file diff --git a/src/main/webapp/src/services/UserService.ts b/src/main/webapp/src/services/UserService.ts new file mode 100644 index 0000000..ef89fef --- /dev/null +++ b/src/main/webapp/src/services/UserService.ts @@ -0,0 +1,26 @@ +import { ENV } from "@/Env"; +import axios from "axios"; + +class UserService { + + getTest( pathVar: String, param: String ) { + return new Promise( ( resolve, reject ) => { + axios.get( `${ENV.API_BASE_URL}/user/test/${pathVar}`, + { + params: { + "param1": param, + }, + withCredentials: true, + }, + ) + .then( ( response ) => { + resolve( response ); + } ) + .catch( ( error ) => { + reject( error ); + } ); + } ); + } +} + +export const userService = new UserService(); \ No newline at end of file diff --git a/src/main/webapp/src/services/UtilService.ts b/src/main/webapp/src/services/UtilService.ts new file mode 100644 index 0000000..577e1b5 --- /dev/null +++ b/src/main/webapp/src/services/UtilService.ts @@ -0,0 +1,8 @@ +import type { InjectionKey } from 'vue'; + +class UtilService{ + + +} + +export const infoModalShowFnKey = Symbol() as InjectionKey; \ No newline at end of file diff --git a/src/main/webapp/src/stores/UserStore.ts b/src/main/webapp/src/stores/UserStore.ts new file mode 100644 index 0000000..b5efdec --- /dev/null +++ b/src/main/webapp/src/stores/UserStore.ts @@ -0,0 +1,38 @@ +import { computed, ref } from "vue"; +import { defineStore } from "pinia"; +import type { User } from '@/models/user/User'; + +export const useUserStore = defineStore( 'user', () => { + const username = ref( '' ); + const profilePicture = ref( undefined ); + const loggedIn = ref(false); + + const getUserOutput = computed(() => `${username.value}`); + + function setUser(user: User){ + username.value = user.username; + profilePicture.value = user.profilePictureFilename; + loggedIn.value = true; + sessionStorage.setItem() //??? + } + + function unsetUser(){ + username.value = ''; + profilePicture.value = undefined; + loggedIn.value = false; + } + + return { + //Refs + username, + profilePicture, + loggedIn, + + //Getters + getUserOutput, + + //Functions + setUser, + unsetUser, + }; +} ); \ No newline at end of file diff --git a/src/main/webapp/tsconfig.app.json b/src/main/webapp/tsconfig.app.json new file mode 100644 index 0000000..c04b3c7 --- /dev/null +++ b/src/main/webapp/tsconfig.app.json @@ -0,0 +1,14 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/**/*", "src/**/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"], + }, + "resolveJsonModule": true, + } +} diff --git a/src/main/webapp/tsconfig.json b/src/main/webapp/tsconfig.json new file mode 100644 index 0000000..458ad98 --- /dev/null +++ b/src/main/webapp/tsconfig.json @@ -0,0 +1,18 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.vitest.json" + } + ], + "compilerOptions": { + "module": "ES2022", + "moduleResolution": "Node", + } +} diff --git a/src/main/webapp/tsconfig.node.json b/src/main/webapp/tsconfig.node.json new file mode 100644 index 0000000..293b392 --- /dev/null +++ b/src/main/webapp/tsconfig.node.json @@ -0,0 +1,18 @@ +{ + "extends": "@tsconfig/node20/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*" + ], + "compilerOptions": { + "composite": true, + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/src/main/webapp/tsconfig.vitest.json b/src/main/webapp/tsconfig.vitest.json new file mode 100644 index 0000000..e56c5a8 --- /dev/null +++ b/src/main/webapp/tsconfig.vitest.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.app.json", + "exclude": [], + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo", + "lib": [], + "types": ["node", "jsdom"] + } +} diff --git a/src/main/webapp/vite.config.ts b/src/main/webapp/vite.config.ts new file mode 100644 index 0000000..341511f --- /dev/null +++ b/src/main/webapp/vite.config.ts @@ -0,0 +1,22 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import VueDevTools from 'vite-plugin-vue-devtools' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + VueDevTools(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + } + }, + build:{ + outDir: '../resources/static', + emptyOutDir: true, + } +}); diff --git a/src/main/webapp/vitest.config.ts b/src/main/webapp/vitest.config.ts new file mode 100644 index 0000000..4b1c897 --- /dev/null +++ b/src/main/webapp/vitest.config.ts @@ -0,0 +1,14 @@ +import { fileURLToPath } from 'node:url' +import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' +import viteConfig from './vite.config' + +export default mergeConfig( + viteConfig, + defineConfig({ + test: { + environment: 'jsdom', + exclude: [...configDefaults.exclude, 'e2e/**'], + root: fileURLToPath(new URL('./', import.meta.url)) + } + }) +)