From ae77b3a0838f59e82c7e83f8f7d6b6b11f8f0fee Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Fri, 13 Jan 2023 02:49:41 +0100 Subject: [PATCH 1/7] prototyping docs site with tested example snippets... --- build.gradle.kts | 4 +- buildSrc/build.gradle.kts | 1 - buildSrc/repositories.settings.gradle.kts | 47 +- .../buildsrc/convention/base.gradle.kts | 14 +- .../src/main/kotlin/buildsrc/ext/gradle.kt | 26 + gradle.properties | 4 +- gradle/libs.versions.toml | 5 + .../kotka-streams-extensions/build.gradle.kts | 2 + .../src/main/kotlin/main.kt | 23 + .../build.gradle.kts | 2 + settings.gradle.kts | 2 + site/basics.md | 163 + site/build.gradle.kts | 268 ++ site/buildSrc/build.gradle.kts | 8 + site/buildSrc/gradle.properties | 1 + site/buildSrc/settings.gradle.kts | 3 + .../conventions/compose-web.gradle.kts | 13 + site/gradle.properties | 14 + site/gradle/kotlin-js-store/yarn.lock | 2876 +++++++++++++++++ site/settings.gradle.kts | 43 + site/src/commonMain/kotlin/DocPage.kt | 181 ++ .../commonMain/kotlin/externals/ijLanguage.kt | 20 + site/src/commonMain/kotlin/site.kt | 28 + .../commonMain/kotlin/snippets/snippetDoc.kt | 18 + .../kotlin/snippets/snippetDocElements.kt | 157 + site/src/jsMain/kotlin/Main.kt | 88 + site/src/jsMain/kotlin/components/Card.kt | 87 + site/src/jsMain/kotlin/components/Layout.kt | 56 + .../content/AboutComposeWebLibsSection.kt | 137 + .../kotlin/content/CodeSamplesSwitcher.kt | 106 + .../src/jsMain/kotlin/content/CodeSnippets.kt | 321 ++ .../kotlin/content/GetStartedSection.kt | 115 + site/src/jsMain/kotlin/content/Header.kt | 65 + .../src/jsMain/kotlin/content/IntroSection.kt | 58 + site/src/jsMain/kotlin/content/JoinUs.kt | 81 + site/src/jsMain/kotlin/content/bootstrap.kt | 115 + site/src/jsMain/kotlin/content/compose2.kt | 150 + .../jsMain/kotlin/content/examplesSection.kt | 111 + site/src/jsMain/kotlin/content/footer.kt | 21 + .../jsMain/kotlin/externals/HighlightJs.kt | 12 + site/src/jsMain/kotlin/style/Stylesheet.kt | 114 + site/src/jsMain/kotlin/style/WtCard.kt | 74 + site/src/jsMain/kotlin/style/WtCol.kt | 137 + site/src/jsMain/kotlin/style/WtContainer.kt | 46 + site/src/jsMain/kotlin/style/WtDisplay.kt | 30 + site/src/jsMain/kotlin/style/WtOffest.kt | 52 + site/src/jsMain/kotlin/style/WtRow.kt | 53 + site/src/jsMain/kotlin/style/WtSection.kt | 37 + site/src/jsMain/kotlin/style/WtText.kt | 268 ++ site/src/jsMain/resources/bootstrap-icons.css | 2018 ++++++++++++ .../src/jsMain/resources/bootstrap-icons.json | 1998 ++++++++++++ site/src/jsMain/resources/bootstrap.css | 12 + site/src/jsMain/resources/bootstrap.js | 7 + .../resources/fonts/bootstrap-icons.woff | Bin 0 -> 164352 bytes .../resources/fonts/bootstrap-icons.woff2 | Bin 0 -> 121296 bytes site/src/jsMain/resources/index.html | 27 + site/src/jsMain/resources/ks-logo.svg | 34 + site/src/jsMain/resources/logos.css | 772 +++++ site/src/jsMain/resources/main.scss | 17 + site/src/jsTest/kotlin/examplesTest.kt | 62 + site/src/jvmMain/kotlin/mainJvm.kt | 0 .../jvmMain/kotlin/snippets/ContentElement.kt | 1 + 62 files changed, 11193 insertions(+), 12 deletions(-) create mode 100644 modules/kotka-streams-extensions/src/main/kotlin/main.kt create mode 100644 site/basics.md create mode 100644 site/build.gradle.kts create mode 100644 site/buildSrc/build.gradle.kts create mode 100644 site/buildSrc/gradle.properties create mode 100644 site/buildSrc/settings.gradle.kts create mode 100644 site/buildSrc/src/main/kotlin/buildsrc/conventions/compose-web.gradle.kts create mode 100644 site/gradle.properties create mode 100644 site/gradle/kotlin-js-store/yarn.lock create mode 100644 site/settings.gradle.kts create mode 100644 site/src/commonMain/kotlin/DocPage.kt create mode 100644 site/src/commonMain/kotlin/externals/ijLanguage.kt create mode 100644 site/src/commonMain/kotlin/site.kt create mode 100644 site/src/commonMain/kotlin/snippets/snippetDoc.kt create mode 100644 site/src/commonMain/kotlin/snippets/snippetDocElements.kt create mode 100644 site/src/jsMain/kotlin/Main.kt create mode 100644 site/src/jsMain/kotlin/components/Card.kt create mode 100644 site/src/jsMain/kotlin/components/Layout.kt create mode 100644 site/src/jsMain/kotlin/content/AboutComposeWebLibsSection.kt create mode 100644 site/src/jsMain/kotlin/content/CodeSamplesSwitcher.kt create mode 100644 site/src/jsMain/kotlin/content/CodeSnippets.kt create mode 100644 site/src/jsMain/kotlin/content/GetStartedSection.kt create mode 100644 site/src/jsMain/kotlin/content/Header.kt create mode 100644 site/src/jsMain/kotlin/content/IntroSection.kt create mode 100644 site/src/jsMain/kotlin/content/JoinUs.kt create mode 100644 site/src/jsMain/kotlin/content/bootstrap.kt create mode 100644 site/src/jsMain/kotlin/content/compose2.kt create mode 100644 site/src/jsMain/kotlin/content/examplesSection.kt create mode 100644 site/src/jsMain/kotlin/content/footer.kt create mode 100644 site/src/jsMain/kotlin/externals/HighlightJs.kt create mode 100644 site/src/jsMain/kotlin/style/Stylesheet.kt create mode 100644 site/src/jsMain/kotlin/style/WtCard.kt create mode 100644 site/src/jsMain/kotlin/style/WtCol.kt create mode 100644 site/src/jsMain/kotlin/style/WtContainer.kt create mode 100644 site/src/jsMain/kotlin/style/WtDisplay.kt create mode 100644 site/src/jsMain/kotlin/style/WtOffest.kt create mode 100644 site/src/jsMain/kotlin/style/WtRow.kt create mode 100644 site/src/jsMain/kotlin/style/WtSection.kt create mode 100644 site/src/jsMain/kotlin/style/WtText.kt create mode 100644 site/src/jsMain/resources/bootstrap-icons.css create mode 100644 site/src/jsMain/resources/bootstrap-icons.json create mode 100644 site/src/jsMain/resources/bootstrap.css create mode 100644 site/src/jsMain/resources/bootstrap.js create mode 100644 site/src/jsMain/resources/fonts/bootstrap-icons.woff create mode 100644 site/src/jsMain/resources/fonts/bootstrap-icons.woff2 create mode 100644 site/src/jsMain/resources/index.html create mode 100644 site/src/jsMain/resources/ks-logo.svg create mode 100644 site/src/jsMain/resources/logos.css create mode 100644 site/src/jsMain/resources/main.scss create mode 100644 site/src/jsTest/kotlin/examplesTest.kt create mode 100644 site/src/jvmMain/kotlin/mainJvm.kt create mode 100644 site/src/jvmMain/kotlin/snippets/ContentElement.kt diff --git a/build.gradle.kts b/build.gradle.kts index e1de2c7..900562b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,5 @@ import buildsrc.ext.excludeGeneratedGradleDsl +import buildsrc.ext.initIdeProjectLogo plugins { buildsrc.convention.`kotlin-jvm` @@ -19,7 +20,6 @@ gitVersioning.apply { branch(".+") { version = "\${ref}-SNAPSHOT" } tag("v(?.*)") { version = "\${ref.version}" } } - // optional fallback configuration in case of no matching ref configuration rev { version = "\${commit}" } } @@ -56,3 +56,5 @@ idea { ) } } + +initIdeProjectLogo("site/src/jsMain/resources/ks-logo.svg") diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index ea3a14d..9572658 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -2,7 +2,6 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `kotlin-dsl` - kotlin("jvm") version embeddedKotlinVersion } dependencies { diff --git a/buildSrc/repositories.settings.gradle.kts b/buildSrc/repositories.settings.gradle.kts index 2591a58..3dfb81e 100644 --- a/buildSrc/repositories.settings.gradle.kts +++ b/buildSrc/repositories.settings.gradle.kts @@ -5,6 +5,33 @@ dependencyResolutionManagement { mavenCentral() gradlePluginPortal() jitpack() + jetBrainsCompose() + jetBrainsKotlinxHtml() + + // Declare the Node.js & Yarn download repositories + exclusiveContent { + forRepository { + ivy("https://nodejs.org/dist/") { + name = "Node Distributions at $url" + patternLayout { artifact("v[revision]/[artifact](-v[revision]-[classifier]).[ext]") } + metadataSources { artifact() } + content { includeModule("org.nodejs", "node") } + } + } + filter { includeGroup("org.nodejs") } + } + + exclusiveContent { + forRepository { + ivy("https://github.com/yarnpkg/yarn/releases/download") { + name = "Yarn Distributions at $url" + patternLayout { artifact("v[revision]/[artifact](-v[revision]).[ext]") } + metadataSources { artifact() } + content { includeModule("com.yarnpkg", "yarn") } + } + } + filter { includeGroup("com.yarnpkg") } + } } pluginManagement { @@ -14,10 +41,28 @@ dependencyResolutionManagement { jitpack() } } - } fun RepositoryHandler.jitpack() { maven("https://jitpack.io") } + +fun RepositoryHandler.jetBrainsCompose() { + maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") { + mavenContent { + includeGroupByRegex("""androidx\..+""") + includeGroupByRegex("""org\.jetbrains\..+""") + includeGroup("web") + includeGroup("com.theapache64.composebird") + } + } +} + +fun RepositoryHandler.jetBrainsKotlinxHtml() { + maven("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") { + mavenContent { + includeGroup("org.jetbrains.kotlinx") + } + } +} diff --git a/buildSrc/src/main/kotlin/buildsrc/convention/base.gradle.kts b/buildSrc/src/main/kotlin/buildsrc/convention/base.gradle.kts index d0b2b29..f747e4a 100644 --- a/buildSrc/src/main/kotlin/buildsrc/convention/base.gradle.kts +++ b/buildSrc/src/main/kotlin/buildsrc/convention/base.gradle.kts @@ -23,18 +23,18 @@ tasks.withType().configureEach { testLogging { // don't log console output - it's too noisy - showCauses = false - showExceptions = false - showStackTraces = false - showStandardStreams = false + showCauses = true + showExceptions = true + showStackTraces = true + showStandardStreams = true events( // only log test outcomes TestLogEvent.PASSED, TestLogEvent.FAILED, TestLogEvent.SKIPPED, - // TestLogEvent.STARTED, - // TestLogEvent.STANDARD_ERROR, - // TestLogEvent.STANDARD_OUT, + TestLogEvent.STARTED, + TestLogEvent.STANDARD_ERROR, + TestLogEvent.STANDARD_OUT, ) } } diff --git a/buildSrc/src/main/kotlin/buildsrc/ext/gradle.kt b/buildSrc/src/main/kotlin/buildsrc/ext/gradle.kt index 9242a1c..3e924fb 100644 --- a/buildSrc/src/main/kotlin/buildsrc/ext/gradle.kt +++ b/buildSrc/src/main/kotlin/buildsrc/ext/gradle.kt @@ -6,6 +6,8 @@ import org.gradle.api.file.ProjectLayout import org.gradle.api.provider.Provider import org.gradle.api.provider.ProviderFactory import org.gradle.plugins.ide.idea.model.IdeaModule +import org.gradle.api.Project +import org.gradle.api.file.RegularFile // https://github.com/gradle/gradle/issues/20925 @@ -39,3 +41,27 @@ fun IdeaModule.excludeGeneratedGradleDsl(layout: ProjectLayout) { } ) } + + +/** + * Sets a logo for project IDEs + * @param[logoPath] Location of logo file. Evaluated as per [Project.file]. + */ +fun Project.initIdeProjectLogo( + logoSvgPath: String, +) { + val logoSvg: RegularFile = rootProject.layout.projectDirectory.file(logoSvgPath) + val ideaDir = rootProject.layout.projectDirectory.dir(".idea") + + if ( + logoSvg.asFile.exists() + && ideaDir.asFile.exists() + && !ideaDir.file("icon.png").asFile.exists() + && !ideaDir.file("icon.svg").asFile.exists() + ) { + copy { + from(logoSvg) { rename { "icon.svg" } } + into(ideaDir) + } + } +} diff --git a/gradle.properties b/gradle.properties index a108d62..0dd0043 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ -org.gradle.jvmargs=-XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx2g org.gradle.parallel=true org.gradle.caching=true -org.gradle.unsafe.configuration-cache=true +org.gradle.unsafe.configuration-cache=false org.gradle.unsafe.configuration-cache-problems=warn org.gradle.kotlin.dsl.precompiled.accessors.strict=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9437d5a..6525b21 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,6 +11,8 @@ kafka = "3.3.1" # https://kafka.apache.org/downloads kotlinx-serialization = "1.4.1" # https://github.com/Kotlin/kotlinx.serialization/releases/tag/v1.3.3 kotlinx-knit = "0.5.1" # https://github.com/Kotlin/kotlinx-knit/releases +slf4j = "2.0.6" + ## Test libs kotest = "5.5.4" # https://github.com/kotest/kotest/releases @@ -39,6 +41,9 @@ kotlinxSerialization-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-serial kotlinxSerialization-cbor = { module = "org.jetbrains.kotlinx:kotlinx-serialization-cbor" } kotlinxSerialization-properties = { module = "org.jetbrains.kotlinx:kotlinx-serialization-properties" } + +slf4jApi = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } + ### Test libs ## # Kotest diff --git a/modules/kotka-streams-extensions/build.gradle.kts b/modules/kotka-streams-extensions/build.gradle.kts index bfeb080..70d0b9d 100644 --- a/modules/kotka-streams-extensions/build.gradle.kts +++ b/modules/kotka-streams-extensions/build.gradle.kts @@ -10,6 +10,8 @@ dependencies { implementation(platform(projects.modules.versionsPlatform)) implementation(libs.kafka.streams) + + implementation("org.jetbrains.kotlinx:kotlinx-html:0.8.1") } diff --git a/modules/kotka-streams-extensions/src/main/kotlin/main.kt b/modules/kotka-streams-extensions/src/main/kotlin/main.kt new file mode 100644 index 0000000..5159a3b --- /dev/null +++ b/modules/kotka-streams-extensions/src/main/kotlin/main.kt @@ -0,0 +1,23 @@ +import kotlinx.html.code +import kotlinx.html.div +import kotlinx.html.dom.createHTMLDocument +import kotlinx.html.pre +import kotlinx.html.stream.createHTML +import kotlinx.html.unsafe + +fun main() { + println(createHTML(prettyPrint = true).div { + pre { + code { + unsafe { + raw(""" + val map: Map = mapOf( + "key1" to "value1", + "key2" to "value2", + ) + """.trimIndent()) + } + } + } + }) +} diff --git a/modules/kotka-streams-kotlinx-serialization/build.gradle.kts b/modules/kotka-streams-kotlinx-serialization/build.gradle.kts index d4df642..ee6d405 100644 --- a/modules/kotka-streams-kotlinx-serialization/build.gradle.kts +++ b/modules/kotka-streams-kotlinx-serialization/build.gradle.kts @@ -15,6 +15,8 @@ dependencies { implementation(libs.kafka.streams) + implementation(libs.slf4jApi) + implementation(libs.kotlinxSerialization.core) testImplementation(libs.kotlinxSerialization.cbor) diff --git a/settings.gradle.kts b/settings.gradle.kts index 7cfd8f1..0d76e0f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,6 @@ rootProject.name = "kotka-streams" +includeBuild("site") { name = "kotka-streams-site" } include( ":modules:kotka-streams-extensions", @@ -9,6 +10,7 @@ include( ) enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") +enableFeaturePreview("STABLE_CONFIGURATION_CACHE") apply(from = "./buildSrc/repositories.settings.gradle.kts") diff --git a/site/basics.md b/site/basics.md new file mode 100644 index 0000000..bfcde78 --- /dev/null +++ b/site/basics.md @@ -0,0 +1,163 @@ + + +**Table of contents** + + + +* [Naming operators](#naming-operators) +* [Naming operators 2](#naming-operators-2) + + + + + + +### Naming operators + +https://kafka.apache.org/documentation/streams/developer-guide/dsl-topology-naming.html + +* `Grouped` +* `StreamJoined` +* `Joined` +* `StreamJoined` +* `Materialized` +* `Named` + + + + + + + + + + +
Plain Kafka StreamsKotka Streams
+ +```kotlin +val stream: KStream = builder + .stream("input", Consumed.`as`("Customer_transactions_input_topic")) + +stream + .filter( + { _, v -> v != "invalid_txn" }, + Named.`as`("filter_out_invalid_txns") + ) + .mapValues( + { _, v -> v.take(6) }, + Named.`as`("Map_values_to_first_6_characters") + ) + .to("output", Produced.`as`("Mapped_transactions_output_topic")) +``` + + + +```kotlin +val stream: KStream = builder + // no need for backticks + .stream("input", consumedAs("Customer_transactions_input_topic")) + +stream + // tasks can be named directly using a string, + // and the lambda expression can be placed outside the parentheses + .filter("filter_out_invalid_txns") { _, v -> + v != "invalid_txn" + }.mapValues("Map_values_to_first_6_characters") { _, v -> + v.take(6) + }.to("output", producedAs("Mapped_transactions_output_topic")) +``` + + +
+ +> You can get the full code [here](./code/example/example-basics-naming-operators-01.kt). + +Both examples produce the same topology: + +```text +Topologies: + Sub-topology: 0 + Source: Customer_transactions_input_topic (topics: [input]) + --> filter_out_invalid_txns + Processor: filter_out_invalid_txns (stores: []) + --> Map_values_to_first_6_characters + <-- Customer_transactions_input_topic + Processor: Map_values_to_first_6_characters (stores: []) + --> Mapped_transactions_output_topic + <-- filter_out_invalid_txns + Sink: Mapped_transactions_output_topic (topic: output) + <-- Map_values_to_first_6_characters +``` + + + +### Naming operators 2 + + + +```kotlin +val stream: KStream = builder + .stream("input", Consumed.`as`("Customer_transactions_input_topic")) + +stream + .filter( + { _, v -> v != "invalid_txn" }, + Named.`as`("filter_out_invalid_txns") + ) + .mapValues( + { _, v -> v.take(6) }, + Named.`as`("Map_values_to_first_6_characters") + ) + .to("output", Produced.`as`("Mapped_transactions_output_topic")) +``` + + +```kotlin +val stream: KStream = builder +// no need for backticks + .stream("input", consumedAs("Customer_transactions_input_topic")) + +stream + // tasks can be named directly using a string, + // and the lambda expression can be placed outside the parentheses + .filter("filter_out_invalid_txns") { _, v -> + v != "invalid_txn" + }.mapValues("Map_values_to_first_6_characters") { _, v -> + v.take(6) + }.to("output", producedAs("Mapped_transactions_output_topic")) +``` + + +> You can get the full code [here](./code/example/example-basics-naming-operators-02.kt). + +Both examples produce the same topology: + +```text +Topologies: + Sub-topology: 0 + Source: Customer_transactions_input_topic (topics: [input]) + --> filter_out_invalid_txns + Processor: filter_out_invalid_txns (stores: []) + --> Map_values_to_first_6_characters + <-- Customer_transactions_input_topic + Processor: Map_values_to_first_6_characters (stores: []) + --> Mapped_transactions_output_topic + <-- filter_out_invalid_txns + Sink: Mapped_transactions_output_topic (topic: output) + <-- Map_values_to_first_6_characters +``` + + diff --git a/site/build.gradle.kts b/site/build.gradle.kts new file mode 100644 index 0000000..1cf5c4e --- /dev/null +++ b/site/build.gradle.kts @@ -0,0 +1,268 @@ +@file:Suppress("UnstableApiUsage") + +import java.time.* +import java.time.format.* +import java.time.temporal.ChronoUnit +import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnRootExtension + +plugins { + buildsrc.conventions.`compose-web` +} + + +val highlightJsVersion = "11.7.0" + +kotlin { + js(IR) { + browser { + useCommonJs() + commonWebpackConfig { + scssSupport { enabled = true } + } + testTask { + useKarma { useChromeHeadless() } +// testLogging { +// showCauses = true +// showExceptions = true +// showStackTraces = true +// showStandardStreams = true +// events( +// TestLogEvent.PASSED, +// TestLogEvent.FAILED, +// TestLogEvent.SKIPPED, +// TestLogEvent.STARTED, +// TestLogEvent.STANDARD_ERROR, +// TestLogEvent.STANDARD_OUT, +// ) +// } + } + + nodejs { +// testTask { +// testLogging { +// showCauses = true +// showExceptions = true +// showStackTraces = true +// showStandardStreams = true +// events( +// TestLogEvent.PASSED, +// TestLogEvent.FAILED, +// TestLogEvent.SKIPPED, +// TestLogEvent.STARTED, +// TestLogEvent.STANDARD_ERROR, +// TestLogEvent.STANDARD_OUT, +// ) +// } +// } +// } + } + binaries.executable() + } + } + + jvm() + + sourceSets { + commonMain { + dependencies { + implementation(compose.ui) + implementation(compose.foundation) + implementation(compose.material) + implementation(compose.web.core) + implementation(compose.runtime) + + implementation("org.jetbrains.kotlinx:kotlinx-html:0.8.1") + } + } + + commonTest { + dependencies { + implementation(kotlin("test")) + implementation("com.squareup.okio:okio:3.2.0") + } + } + + jsMain { + dependencies { + implementation(compose.web.core) + implementation(npm("highlight.js", highlightJsVersion)) + } + } + + jsTest { + languageSettings.optIn("org.jetbrains.compose.web.testutils.ComposeWebExperimentalTestsApi") + + dependencies { + implementation(compose.web.testUtils) + } + } + + jvmTest { + dependencies { + implementation("org.junit.jupiter:junit-jupiter:5.9.1") + implementation(project.dependencies.gradleTestKit()) + } + } + } +} + + +val bootstrapFiles by configurations.creating { + isCanBeConsumed = false + isCanBeResolved = true + isVisible = false +} + +val highlightJsFiles by configurations.creating { + isCanBeConsumed = false + isCanBeResolved = true + isVisible = false +} + + +dependencies { + bootstrapFiles("twbs/icons:bootstrap-icons:1.10.3@zip") +// highlightJsFiles("highlightjs:highlight.js:11.7.0@zip") + + highlightJsFiles("highlightjs:styles/default:$highlightJsVersion@min.css") + highlightJsFiles("highlightjs:styles/androidstudio:$highlightJsVersion@min.css") +// highlightJsFiles("highlightjs:languages/kotlin:$highlightJsVersion@min.js") +// highlightJsFiles("highlightjs:highlight.min.js:$highlightJsVersion") +// highlightJsFiles("highlightjs:languages/typescript.min.js:$highlightJsVersion") +// highlightJsFiles("highlightjs:styles/vs2015.min.css:$highlightJsVersion") +} + +val downloadBootstrapIcons by tasks.registering(Sync::class) { + group = "site" + from( + bootstrapFiles + .incoming + .artifactView { lenient(true) } + .artifacts + .resolvedArtifacts + .map { artifacts -> artifacts.map { zipTree(it.file) } } + ) { + eachFile { + // drop the first directory + relativePath = RelativePath(true, *relativePath.segments.drop(1).toTypedArray()) + } + includeEmptyDirs = false + exclude("**/*.svg") + exclude("**/*.scss") + } + into(temporaryDir) +} + +val downloadHighlightJsFiles by tasks.registering(Sync::class) { + group = "site" + from( + highlightJsFiles + .incoming + .artifactView { lenient(true) } + .artifacts + .resolvedArtifacts + .map { artifacts -> artifacts.map { it.file } } + ) { + into("hljs") + } + into(temporaryDir) +// outputs.upToDateWhen { false } +// doNotTrackState("Gradle is buggy") +} + +val downloadBootstrapFiles by tasks.registering(Sync::class) { + group = "site" + val bootstrapVersion = "5.2.3" + val bootswatchVersion = "5.2.3" + + fun download(url: String, renamed: String) { + val resource = resources.text.fromUri(url) + from(resource) { rename { renamed } } + } + + download( + url = "https://cdn.jsdelivr.net/npm/bootstrap@$bootstrapVersion/dist/js/bootstrap.bundle.min.js", + renamed = "bootstrap.js", + ) + download( + url = "https://cdn.jsdelivr.net/npm/bootswatch@$bootswatchVersion/dist/darkly/bootstrap.min.css", + renamed = "bootstrap.css", + ) + + into(temporaryDir) +} + + +val installBootstrapFiles by tasks.registering(Copy::class) { + group = "site" + from(downloadBootstrapFiles) + from(downloadBootstrapIcons) + into(layout.projectDirectory.dir("src/jsMain/resources")) + + doNotTrackState("Installation directory contains unrelated files") +} + + +tasks.assemble { + dependsOn(installBootstrapFiles) + dependsOn(downloadBootstrapIcons) + dependsOn(downloadHighlightJsFiles) +} + +tasks.matching { it.name == "jsProcessResources" }.configureEach { + dependsOn(installBootstrapFiles) + dependsOn(downloadBootstrapIcons) + dependsOn(downloadHighlightJsFiles) +} + + +// fix warning: Task ':common:jsProcessResources' uses this output of task ':common:unpackSkikoWasmRuntimeJs' ... +tasks.matching { it.name == "jsProcessResources" }.configureEach { +// inputs.dir( +// tasks.named( +// "unpackSkikoWasmRuntimeJs" +// ).map { it.outputDir }) +} + +tasks.withType().matching { it.name == "jsProcessResources" }.configureEach { + from(downloadHighlightJsFiles) { +// into(this@configureEach.destinationDir.resolve("hljs")) + } +} + +// fix warning: Task ':common:jsBrowserDevelopmentRun' uses this output of task ':common:jsDevelopmentExecutableCompileSync' ... +tasks.matching { it.name == "jsBrowserDevelopmentRun" }.configureEach { + inputs.dir(tasks.named("jsDevelopmentExecutableCompileSync").map { it.destinationDir }) +} + + +tasks + .withType() + .matching { it.name == "jsBrowserDevelopmentWebpack" } + .configureEach { + doLast { + destinationDirectory + .walk() + .firstOrNull { it.name == "index.html" } + ?.let { indexHtml -> + val now = LocalDateTime.now().truncatedTo(ChronoUnit.MINUTES) + logger.lifecycle("[${DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(now)}] file://${indexHtml.canonicalPath}") + } + } + } + +//tasks.matching { it.name == "jsBrowserDevelopmentRun" }.configureEach { +// dependsOn(tasks.matching { it.name == "jsBrowserDevelopmentWebpack" }) +//} + + +afterEvaluate { + /** + * `kotlin-js` adds a directory in the root-dir for the Yarn lock. + * That's a bit annoying. It's a little neater if it's in the + * gradle dir, next to the version-catalog. + */ + rootProject.extensions.findByType()?.apply { + lockFileDirectory = project.rootDir.resolve("gradle/kotlin-js-store") + } +} diff --git a/site/buildSrc/build.gradle.kts b/site/buildSrc/build.gradle.kts new file mode 100644 index 0000000..25d4d10 --- /dev/null +++ b/site/buildSrc/build.gradle.kts @@ -0,0 +1,8 @@ +plugins { + `kotlin-dsl` +} + +dependencies { + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20") + implementation("org.jetbrains.compose:compose-gradle-plugin:1.2.2") +} diff --git a/site/buildSrc/gradle.properties b/site/buildSrc/gradle.properties new file mode 100644 index 0000000..2dcadc5 --- /dev/null +++ b/site/buildSrc/gradle.properties @@ -0,0 +1 @@ +kotlin.mpp.stability.nowarn=true diff --git a/site/buildSrc/settings.gradle.kts b/site/buildSrc/settings.gradle.kts new file mode 100644 index 0000000..ed6d048 --- /dev/null +++ b/site/buildSrc/settings.gradle.kts @@ -0,0 +1,3 @@ +rootProject.name = "buildSrc" + +apply(from = "../../buildSrc/repositories.settings.gradle.kts") diff --git a/site/buildSrc/src/main/kotlin/buildsrc/conventions/compose-web.gradle.kts b/site/buildSrc/src/main/kotlin/buildsrc/conventions/compose-web.gradle.kts new file mode 100644 index 0000000..cc311a0 --- /dev/null +++ b/site/buildSrc/src/main/kotlin/buildsrc/conventions/compose-web.gradle.kts @@ -0,0 +1,13 @@ +package buildsrc.conventions + + +plugins { + kotlin("multiplatform") + id("org.jetbrains.compose") +} + +kotlin { + js(IR) + + jvm() +} diff --git a/site/gradle.properties b/site/gradle.properties new file mode 100644 index 0000000..dbe1093 --- /dev/null +++ b/site/gradle.properties @@ -0,0 +1,14 @@ +org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx2g + +org.gradle.parallel=true +org.gradle.caching=true +org.gradle.unsafe.configuration-cache=false +#org.gradle.unsafe.configuration-cache-problems=warn + +# cache accessors - defaults to 'true' in Gradle 8.0 https://github.com/gradle/gradle/issues/20416 +org.gradle.kotlin.dsl.precompiled.accessors.strict=true + +kotlin.mpp.stability.nowarn=true + + +org.jetbrains.compose.experimental.jscanvas.enabled=true diff --git a/site/gradle/kotlin-js-store/yarn.lock b/site/gradle/kotlin-js-store/yarn.lock new file mode 100644 index 0000000..edb8e3a --- /dev/null +++ b/site/gradle/kotlin-js-store/yarn.lock @@ -0,0 +1,2876 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@socket.io/component-emitter@~3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" + integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== + +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.10" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" + integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" + integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/cookie@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" + integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== + +"@types/cors@^2.8.12": + version "2.8.13" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.13.tgz#b8ade22ba455a1b8cb3b5d3f35910fd204f84f94" + integrity sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.4.10" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.10.tgz#19731b9685c19ed1552da7052b6f668ed7eb64bb" + integrity sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + +"@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.31": + version "4.17.32" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz#93dda387f5516af616d8d3f05f2c4c79d81e1b82" + integrity sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.15" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.15.tgz#9290e983ec8b054b65a5abccb610411953d417ff" + integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.31" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/http-proxy@^1.17.8": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.9.tgz#7f0e7931343761efde1e2bf48c40f02f3f75705a" + integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== + dependencies: + "@types/node" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/mime@*": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + +"@types/node@*", "@types/node@>=10.0.0": + version "18.11.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" + integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/serve-index@^1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" + integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.0" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" + integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== + dependencies: + "@types/mime" "*" + "@types/node" "*" + +"@types/sockjs@^0.3.33": + version "0.3.33" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" + integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + dependencies: + "@types/node" "*" + +"@types/ws@^8.5.1": + version "8.5.4" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5" + integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== + dependencies: + "@types/node" "*" + +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-wasm-section" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-opt" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wast-printer" "1.11.1" + +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + +"@webassemblyjs/wasm-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== + +"@webpack-cli/info@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== + dependencies: + envinfo "^7.7.3" + +"@webpack-cli/serve@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + +acorn@^8.4.1, acorn@^8.5.0: + version "8.8.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" + integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + 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" + +ajv@^8.0.0, ajv@^8.8.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64id@2.0.0, base64id@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" + integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +body-parser@1.20.1, body-parser@^1.19.0: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.0.14" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.14.tgz#c346f5bc84e87802d08f8d5a60b93f758e514ee7" + integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== + dependencies: + array-flatten "^2.1.2" + dns-equal "^1.0.0" + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserslist@^4.14.5: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001400: + version "1.0.30001442" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz#40337f1cf3be7c637b061e2f78582dc1daec0614" + integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow== + +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@3.5.3, "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.1, chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + 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" + optionalDependencies: + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.10, colorette@^2.0.14: + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + +connect@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" + integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== + dependencies: + debug "2.6.9" + finalhandler "1.1.2" + parseurl "~1.3.3" + utils-merge "1.0.1" + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +cookie@~0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@~2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-loader@6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" + integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.7" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.5" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +custom-event@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" + integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== + +date-format@^4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" + integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4.3.4, debug@^4.1.0, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +di@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" + integrity sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA== + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== + +dns-packet@^5.2.2: + version "5.4.0" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" + integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +dom-serialize@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" + integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ== + dependencies: + custom-event "~1.0.0" + ent "~2.2.0" + extend "^3.0.0" + void-elements "^2.0.0" + +dukat@0.5.8-rc.4: + version "0.5.8-rc.4" + resolved "https://registry.yarnpkg.com/dukat/-/dukat-0.5.8-rc.4.tgz#90384dcb50b14c26f0e99dae92b2dea44f5fce21" + integrity sha512-ZnMt6DGBjlVgK2uQamXfd7uP/AxH7RqI0BL9GLrrJb2gKdDxvJChWy+M9AQEaL+7/6TmxzJxFOsRiInY9oGWTA== + dependencies: + google-protobuf "3.12.2" + typescript "3.9.5" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +engine.io-parser@~5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" + integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== + +engine.io@~6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.1.tgz#e3f7826ebc4140db9bbaa9021ad6b1efb175878f" + integrity sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA== + dependencies: + "@types/cookie" "^0.4.1" + "@types/cors" "^2.8.12" + "@types/node" ">=10.0.0" + accepts "~1.3.4" + base64id "2.0.0" + cookie "~0.4.1" + cors "~2.8.5" + debug "~4.3.1" + engine.io-parser "~5.0.3" + ws "~8.2.3" + +enhanced-resolve@^5.9.3: + version "5.12.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +ent@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" + integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== + +envinfo@^7.7.3: + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +follow-redirects@^1.0.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +format-util@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/format-util/-/format-util-1.0.5.tgz#1ffb450c8a03e7bccffe40643180918cc297d271" + integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg== + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-monkey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" + integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.1.3, glob@^7.1.7: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + 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" + +google-protobuf@3.12.2: + version "3.12.2" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.12.2.tgz#50ce9f9b6281235724eb243d6a83e969a2176e53" + integrity sha512-4CZhpuRr1d6HjlyrxoXoocoGFnRYgKULgMtikMddA9ztRyYR59Aondv2FioyxWVamRo0rF2XpYawkTCBEQOSkA== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight.js@11.7.0: + version "11.7.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.7.0.tgz#3ff0165bc843f8c9bce1fd89e2fda9143d24b11e" + integrity sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ== + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-entities@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" + integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +immutable@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.1.tgz#8a4025691018c560a40c67e43d698f816edc44d4" + integrity sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ== + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" + integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isbinaryfile@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +js-yaml@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +karma-chrome-launcher@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz#baca9cc071b1562a1db241827257bfe5cab597ea" + integrity sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ== + dependencies: + which "^1.2.1" + +karma-mocha@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-2.0.1.tgz#4b0254a18dfee71bdbe6188d9a6861bf86b0cd7d" + integrity sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ== + dependencies: + minimist "^1.2.3" + +karma-sourcemap-loader@0.3.8: + version "0.3.8" + resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.8.tgz#d4bae72fb7a8397328a62b75013d2df937bdcf9c" + integrity sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g== + dependencies: + graceful-fs "^4.1.2" + +karma-webpack@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-5.0.0.tgz#2a2c7b80163fe7ffd1010f83f5507f95ef39f840" + integrity sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA== + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + webpack-merge "^4.1.5" + +karma@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.0.tgz#82652dfecdd853ec227b74ed718a997028a99508" + integrity sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w== + dependencies: + "@colors/colors" "1.5.0" + body-parser "^1.19.0" + braces "^3.0.2" + chokidar "^3.5.1" + connect "^3.7.0" + di "^0.0.1" + dom-serialize "^2.2.1" + glob "^7.1.7" + graceful-fs "^4.2.6" + http-proxy "^1.18.1" + isbinaryfile "^4.0.8" + lodash "^4.17.21" + log4js "^6.4.1" + mime "^2.5.2" + minimatch "^3.0.4" + mkdirp "^0.5.5" + qjobs "^1.2.0" + range-parser "^1.2.1" + rimraf "^3.0.2" + socket.io "^4.4.1" + source-map "^0.6.1" + tmp "^0.2.1" + ua-parser-js "^0.7.30" + yargs "^16.1.1" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klona@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" + integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log4js@^6.4.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.7.1.tgz#06e12b1ac915dd1067146ffad8215f666f7d2c51" + integrity sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + flatted "^3.2.7" + rfdc "^1.3.0" + streamroller "^3.1.3" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.4.3: + version "3.4.12" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.12.tgz#d00f8ad8dab132dc277c659dc85bfd14b07d03bd" + integrity sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw== + dependencies: + fs-monkey "^1.0.3" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.3, minimist@^1.2.6: + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + +mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mocha@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.0.0.tgz#205447d8993ec755335c4b13deba3d3a13c4def9" + integrity sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + nanoid "3.3.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +nanoid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-releases@^2.0.6: + version "2.0.8" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" + integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +object-assign@^4: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.9: + version "8.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" + integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.11" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.7: + version "8.4.20" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" + integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qjobs@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" + integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +readable-stream@^2.0.1: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" + integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== + dependencies: + resolve "^1.9.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.9.0: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-loader@13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.0.0.tgz#0b4bff0289951ed21240bca54453eca3dbda1713" + integrity sha512-IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + +sass@1.52.3: + version "1.52.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.3.tgz#b7cc7ffea2341ccc9a0c4fd372bf1b3f9be1b6cb" + integrity sha512-LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" + integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.8.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.0.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" + integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== + dependencies: + node-forge "^1" + +semver@^7.3.5: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@6.0.0, serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +socket.io-adapter@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" + integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== + +socket.io-parser@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5" + integrity sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + +socket.io@^4.4.1: + version "4.5.4" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.4.tgz#a4513f06e87451c17013b8d13fdfaf8da5a86a90" + integrity sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ== + dependencies: + accepts "~1.3.4" + base64id "~2.0.0" + debug "~4.3.2" + engine.io "~6.2.1" + socket.io-adapter "~2.4.0" + socket.io-parser "~4.2.1" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-loader@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.0.tgz#bdc6b118bc6c87ee4d8d851f2d4efcc5abdb2ef5" + integrity sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw== + dependencies: + abab "^2.0.6" + iconv-lite "^0.6.3" + source-map-js "^1.0.2" + +source-map-support@0.5.21, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +streamroller@^3.1.3: + version "3.1.4" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.4.tgz#844a18e795d39c1089a8216e66a1cf1151271df0" + integrity sha512-Ha1Ccw2/N5C/IF8Do6zgNe8F3jQo8MPBnMBGvX0QjNv/I97BcNRzK6/mzOpZHHK7DjMLTI3c7Xw7Y1KvdChkvw== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + fs-extra "^8.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-loader@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" + integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== + +supports-color@8.1.1, supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.1.3: + version "5.3.6" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" + integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== + dependencies: + "@jridgewell/trace-mapping" "^0.3.14" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + terser "^5.14.1" + +terser@^5.14.1: + version "5.16.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.1.tgz#5af3bc3d0f24241c7fb2024199d5c461a1075880" + integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tmp@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typescript@3.9.5: + version "3.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36" + integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ== + +ua-parser-js@^0.7.30: + version "0.7.32" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.32.tgz#cd8c639cdca949e30fa68c44b7813ef13e36d211" + integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" + integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== + +watchpack@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +webpack-cli@4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^1.2.0" + "@webpack-cli/info" "^1.5.0" + "@webpack-cli/serve" "^1.7.0" + colorette "^2.0.14" + commander "^7.0.0" + cross-spawn "^7.0.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^2.2.0" + rechoir "^0.7.0" + webpack-merge "^5.7.3" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.2.tgz#c188db28c7bff12f87deda2a5595679ebbc3c9bc" + integrity sha512-H95Ns95dP24ZsEzO6G9iT+PNw4Q7ltll1GfJHV4fKphuHWgKFzGHWi4alTlTnpk1SPPk41X+l2RB7rLfIhnB9Q== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.1" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.0.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + +webpack-merge@^4.1.5: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + dependencies: + lodash "^4.17.15" + +webpack-merge@^5.7.3: + version "5.8.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@5.73.0: + version "5.73.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38" + integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.3" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +which@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^8.4.2: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== + +ws@~8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" + integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0, yargs@^16.1.1: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/site/settings.gradle.kts b/site/settings.gradle.kts new file mode 100644 index 0000000..aa900f1 --- /dev/null +++ b/site/settings.gradle.kts @@ -0,0 +1,43 @@ +rootProject.name = "kotka-streams-site" + +apply(from = "../buildSrc/repositories.settings.gradle.kts") + +//enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") +enableFeaturePreview("STABLE_CONFIGURATION_CACHE") + +@Suppress("UnstableApiUsage") +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) + + versionCatalogs { + create("libs") { + from(files("../gradle/libs.versions.toml")) + } + } + + repositories { + gitHubReleases() + jsDelivr() + } +} + +fun RepositoryHandler.gitHubReleases() { + ivy("https://github.com/") { + patternLayout { + artifact("[organisation]/releases/download/v[revision]/[module]-[revision].[ext]") + artifact("[organisation]/[module]/archive/refs/tags/[revision].[ext]") + } + metadataSources { artifact() } + } +} + +fun RepositoryHandler.jsDelivr() { + // https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@$highlightJsVersion/build/$file + ivy("https://cdn.jsdelivr.net/") { + patternLayout { +// artifact("gh/[organisation]/cdn-release@[revision]/build/[module]") + artifact("gh/[organisation]/cdn-release@[revision]/build/[module].[ext]") + } + metadataSources { artifact() } + } +} diff --git a/site/src/commonMain/kotlin/DocPage.kt b/site/src/commonMain/kotlin/DocPage.kt new file mode 100644 index 0000000..805b87b --- /dev/null +++ b/site/src/commonMain/kotlin/DocPage.kt @@ -0,0 +1,181 @@ +package dev.adamko.kotka.site + +import dev.adamko.kotka.site.snippets.codeSnippet +import dev.adamko.kotka.site.snippets.registeringExample +import kotlinx.html.* +import org.intellij.lang.annotations.Language + + +fun TagConsumer.namingOperators2(): T { + + return codeSnippet("Naming Operators") { + p { + text("Kafka Stream operations can be named using the ") + a(href = "https://kafka.apache.org/documentation/streams/developer-guide/dsl-topology-naming.html") { + text("naming operators") + } + } + + ul { + li { inlineCode("Grouped") } + li { inlineCode("StreamJoined") } + li { inlineCode("Joined") } + li { inlineCode("StreamJoined") } + li { inlineCode("Materialized") } + li { inlineCode("Named") } + } + + p { + text("However, the names are set using the ") + inlineCode("as()") + text(" function, and because ") + inlineCode("as") + text(" is a keyword in Kotlin it must be escaped using backticks:") + } + + + val consumedAsWithBackticks by registeringExample() + + consumedAsWithBackticks.codeBlockKotlin( + """ + val stream: KStream = builder.stream( + "input", + // 'as' is a keyword - must escape it with backticks + Consumed.`as`("Customer_transactions_input_topic") + ) + """.trimIndent() + ) + + p { + text("Kotka streams provides an extension function, ") + inlineCodeKts("consumedAs()") + text(" that performs the same functionality - no backticks required.") + } + + val consumedAsWithoutBackticks by registeringExample() + + consumedAsWithoutBackticks.codeBlockKotlin( + """ + import dev.adamko.kotka.extensions.* + + val stream: KStream = builder.stream( + "input", + consumedAs("Customer_transactions_input_topic") + ) + """.trimIndent() + ) + + p { + text("Both functions produce the same topology, with a named Source.") + } + + expectedResult(consumedAsWithBackticks, consumedAsWithoutBackticks, code = """ + Topologies: + Sub-topology: 0 + Source: Customer_transactions_input_topic (topics: [input]) + """.trimIndent()) + } +} + + +//fun TagConsumer.namingOperators2(): T { +// return div { +// h5 { text("Naming Operators") } +// +// div { +// p { +// text("Kafka Stream operations can be named using the ") +// a(href = "https://kafka.apache.org/documentation/streams/developer-guide/dsl-topology-naming.html") { +// text("naming operators") +// } +// } +// +// ul { +// li { inlineCode("Grouped") } +// li { inlineCode("StreamJoined") } +// li { inlineCode("Joined") } +// li { inlineCode("StreamJoined") } +// li { inlineCode("Materialized") } +// li { inlineCode("Named") } +// } +// +// p { +// text("However, the names are set using the ") +// inlineCode("as()") +// text(" function, and because ") +// inlineCode("as") +// text(" is a keyword in Kotlin it must be escaped using backticks:") +// } +// +// codeBlockKotlin( +// """ +// val stream: KStream = builder.stream( +// "input", +// // 'as' is a keyword - must escape it with backticks +// Consumed.`as`("Customer_transactions_input_topic") +// ) +// """.trimIndent() +// ) +// +// p { +// text("Kotka streams provides an extension function, ") +// inlineCodeKts("consumedAs()") +// text(" that performs the same functionality.") +// } +// +// codeBlockKotlin( +// """ +// import dev.adamko.kotka.extensions.* +// +// val stream: KStream = builder.stream( +// "input", +// consumedAs("Customer_transactions_input_topic") +// ) +// """.trimIndent() +// ) +// +// p { +// text("Both functions produce the same topology, with a named Source.") +// } +// +// codeBlock( +// """ +// Topologies: +// Sub-topology: 0 +// Source: Customer_transactions_input_topic (topics: [input]) +// """.trimIndent() +// ) +// } +// } +//} + + +fun FlowContent.codeBlock(@Language("TEXT") code: String, language: String = "plaintext") { + pre { + code(classes = "language-$language") { + unsafe { raw(code.replace("<", "<").replace(">", ">")) } + } + } +} + +fun FlowContent.inlineCode(@Language("TEXT") code: String, language: String = "plaintext") { + code(classes = "language-$language") { + style = "display: inline" + unsafe { raw(code.replace("<", "<").replace(">", ">")) } + } +} + + +fun FlowContent.inlineCodeKotlin(@Language("kotlin") code: String) = inlineCode(code, "kotlin") +fun FlowContent.inlineCodeKts(@Language("kts") code: String) = inlineCode(code, "kotlin") +fun FlowContent.codeBlockKotlin(@Language("kotlin") code: String) = codeBlock(code, "kotlin") + + +//private fun AttrsScope.testCode(filename: String, vararg filenames: String) { +// attr("data-test-code", (listOf(filename) + filenames).joinToString(",")) +//} +// +// +//private fun AttrsScope.testExpected(filename: String, vararg filenames: String) { +// attr("data-test-expected", (listOf(filename) + filenames).joinToString(",")) +//} diff --git a/site/src/commonMain/kotlin/externals/ijLanguage.kt b/site/src/commonMain/kotlin/externals/ijLanguage.kt new file mode 100644 index 0000000..3de580c --- /dev/null +++ b/site/src/commonMain/kotlin/externals/ijLanguage.kt @@ -0,0 +1,20 @@ +@file:Suppress("PackageDirectoryMismatch") + +package org.intellij.lang.annotations + + +@Retention(AnnotationRetention.BINARY) +@Target( + AnnotationTarget.FUNCTION, + AnnotationTarget.PROPERTY_GETTER, + AnnotationTarget.PROPERTY_SETTER, + AnnotationTarget.FIELD, + AnnotationTarget.VALUE_PARAMETER, + AnnotationTarget.LOCAL_VARIABLE, + AnnotationTarget.ANNOTATION_CLASS +) +annotation class Language( + val value: String, + val prefix: String = "", + val suffix: String = "" +) diff --git a/site/src/commonMain/kotlin/site.kt b/site/src/commonMain/kotlin/site.kt new file mode 100644 index 0000000..f3427ed --- /dev/null +++ b/site/src/commonMain/kotlin/site.kt @@ -0,0 +1,28 @@ +package dev.adamko.kotka.site + +//import androidx.compose.foundation.layout.Row +//import androidx.compose.foundation.layout.padding +//import androidx.compose.foundation.text.* +//import androidx.compose.runtime.* +//import androidx.compose.material.* +//import androidx.compose.ui.* +//import androidx.compose.ui.unit.* +// +// +//private val counter = mutableStateOf(0) +// +// +//@Composable +//fun App() { +// Row { +// Button(onClick = { counter.value = counter.value - 1 }) { +// BasicText("-") +// } +// +// BasicText("${counter.value}") +// +// Button(onClick = { counter.value = counter.value + 1 }) { +// BasicText("+") +// } +// } +//} diff --git a/site/src/commonMain/kotlin/snippets/snippetDoc.kt b/site/src/commonMain/kotlin/snippets/snippetDoc.kt new file mode 100644 index 0000000..7520abc --- /dev/null +++ b/site/src/commonMain/kotlin/snippets/snippetDoc.kt @@ -0,0 +1,18 @@ +package dev.adamko.kotka.site.snippets + + +class SnippetDoc( + val title: String +) { + + + +} + +fun snippetDoc( + title: String, + content: SnippetDoc.() -> Unit, +) { + val doc = SnippetDoc(title) + doc.content() +} diff --git a/site/src/commonMain/kotlin/snippets/snippetDocElements.kt b/site/src/commonMain/kotlin/snippets/snippetDocElements.kt new file mode 100644 index 0000000..2b0897c --- /dev/null +++ b/site/src/commonMain/kotlin/snippets/snippetDocElements.kt @@ -0,0 +1,157 @@ +package dev.adamko.kotka.site.snippets + +import kotlin.properties.PropertyDelegateProvider +import kotlin.properties.ReadOnlyProperty +import kotlin.reflect.KProperty +import kotlinx.html.* +import org.intellij.lang.annotations.Language + + +fun TagConsumer.codeSnippet( + title: String, + builder: CodeSnippetContext.() -> Unit, +): T { + val tagConsumer: TagConsumer = this + + return div flowContent@{ + h5 { text(title) } + + val context = CodeSnippetContext(title, tagConsumer, this@flowContent) + + context.builder() + } +} + +@DslMarker +annotation class CodeSnippetContextDslMarker + + +@CodeSnippetContextDslMarker +class CodeSnippetContext( + private val title: String, + private val tagConsumer: TagConsumer, + private val flowContent: FlowContent, +) : TagConsumer by tagConsumer, FlowContent by flowContent { + + private val _registeredExamples: MutableList = mutableListOf() + val registeredExamples: List get() = _registeredExamples.toList() + + fun registerExample( + name: String? = null + ): CodeSnippetExample { + + val exampleName = "example-" + if (name.isNullOrBlank()) { + title.lowercase().replace(Regex("[^a-zA-Z0-9]+"), "-") + +"-${_registeredExamples.size}" + } else { + name.replace(Regex("[^a-zA-Z0-9]+"), "-") + } + + val example = CodeSnippetExample(exampleName) + _registeredExamples.add(example) + return example + } + + fun codeBlock( + @Language("TEXT") + code: String, + language: String = "plaintext", + configure: CODE.() -> Unit = {}, + ) { + pre { + code(classes = "language-$language") { + unsafe { raw(code.replace("<", "<").replace(">", ">")) } + + configure() + } + } + } + + fun CodeSnippetExample.inlineCode( + @Language("TEXT") code: String, + language: String = "plaintext" + ) { + code(classes = "language-$language") { + style = "display: inline" + unsafe { raw(code.replace("<", "<").replace(">", ">")) } + } + } + + fun CodeSnippetExample.inlineCodeKotlin(@Language("kotlin") code: String) = + inlineCode(code, "kotlin") + + fun CodeSnippetExample.inlineCodeKts(@Language("kts") code: String) = inlineCode(code, "kotlin") + + fun CodeSnippetExample.codeBlockKotlin(@Language("kotlin") code: String) = + codeBlock(code, "kotlin") { + attributes["data-test-code"] = name + } + + fun expectedResult( + example: CodeSnippetExample, + vararg examples: CodeSnippetExample, + @Language("TEXT") code: String, + language: String = "plaintext", + ) { + val allExamples = (listOf(example) + examples).joinToString(",") { it.name } + + codeBlock(code, language) { + attributes["data-test-expected"] = allExamples + } + } +} + + +class CodeSnippetExample( + val name: String, + val imports: MutableList = mutableListOf(), + val content: MutableList = mutableListOf(), +) + + +fun CodeSnippetContext<*>.registeringExample() = CodeSnippetExampleDelegateProvider(this) + + +class CodeSnippetExampleDelegate( + private val delegated: CodeSnippetExample +) : ReadOnlyProperty { + override operator fun getValue(thisRef: Any?, property: KProperty<*>): CodeSnippetExample = + delegated +} + +class CodeSnippetExampleDelegateProvider( + private val context: CodeSnippetContext<*> +) : PropertyDelegateProvider { + + override operator fun provideDelegate( + thisRef: Any?, + property: KProperty<*> + ) = CodeSnippetExampleDelegate(context.registerExample(property.name)) +} + + +// +//fun < T> CodeSnippetContext.registeringExample(): CodeSnippetExampleDelegate { +// +//} +// +// +//class CodeSnippetExampleDelegate>( +// private val context: T +//) { +// operator fun getValue(context: T, property: KProperty<*>): CodeSnippetExample { +// return CodeSnippetExample(property.name) +// } +//} +// +//operator fun CodeSnippetExample.getValue( +// thisRef: CodeSnippetExample, +// property: KProperty<*>, +//): CodeSnippetExample { +// return CodeSnippetExample(property.name) +//} +// +//operator fun < T> CodeSnippetContext.provideDelegate( +// receiver: Any?, +// property: KProperty<*> +//) = CodeSnippetExampleDelegate() diff --git a/site/src/jsMain/kotlin/Main.kt b/site/src/jsMain/kotlin/Main.kt new file mode 100644 index 0000000..291e7ba --- /dev/null +++ b/site/src/jsMain/kotlin/Main.kt @@ -0,0 +1,88 @@ +package dev.adamko.kotka.site + +//import dev.adamko.kxstsgen.App + +import androidx.compose.runtime.Composable +import dev.adamko.kotka.site.components.layout +import dev.adamko.kotka.site.components.mainContent +import dev.adamko.kotka.site.content.examplesSection +import dev.adamko.kotka.site.content.footer +import dev.adamko.kotka.site.content.header +import dev.adamko.kotka.site.content.introSection +import dev.adamko.kotka.site.style.AppStylesheet2 +import org.jetbrains.compose.web.* +import org.jetbrains.compose.web.css.* +import org.jetbrains.compose.web.dom.* + + +//fun main() { +// onWasmReady { +// Window("Falling Balls") { +// App() +// } +// } +//} + +fun main() { + renderComposable(rootElementId = "root") { + Style(AppStylesheet2) + + layout { + header() + + mainContent { + introSection() + examplesSection() + + // ComposeWebLibraries() +// GetStarted() +// CodeSamples() +// JoinUs() + } +// + footer() + } + } +} + + +@Composable +fun loremIpsum() { + P { + Text( + """ + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A iaculis at erat pellentesque. At erat pellentesque adipiscing commodo. Et magnis dis parturient montes nascetur. Lacinia at quis risus sed vulputate odio ut. Cras sed felis eget velit aliquet sagittis id consectetur. Vestibulum rhoncus est pellentesque elit. Nisl purus in mollis nunc sed id. Dignissim sodales ut eu sem integer vitae justo eget magna. Eu augue ut lectus arcu bibendum at varius vel pharetra. Semper auctor neque vitae tempus. Diam in arcu cursus euismod quis viverra. Ut tellus elementum sagittis vitae et leo duis ut. Adipiscing commodo elit at imperdiet dui. Enim facilisis gravida neque convallis a cras semper auctor neque. Cursus eget nunc scelerisque viverra. Consectetur lorem donec massa sapien faucibus et molestie. Adipiscing vitae proin sagittis nisl rhoncus mattis. Eu mi bibendum neque egestas. Duis ut diam quam nulla porttitor massa id neque aliquam. + """.trimIndent() + ) + } + P { + Text( + """ + Fermentum leo vel orci porta non pulvinar neque. Sagittis eu volutpat odio facilisis mauris sit amet. Condimentum mattis pellentesque id nibh tortor id aliquet. Amet tellus cras adipiscing enim eu. A scelerisque purus semper eget duis at tellus at. A pellentesque sit amet porttitor eget dolor morbi. Viverra vitae congue eu consequat ac felis donec et odio. Egestas pretium aenean pharetra magna ac. Magna fringilla urna porttitor rhoncus dolor purus non. Senectus et netus et malesuada. Ut aliquam purus sit amet. + """.trimIndent() + ) + } + P { + Text( + """ + Mattis ullamcorper velit sed ullamcorper morbi tincidunt. Eget gravida cum sociis natoque. Cursus eget nunc scelerisque viverra mauris in aliquam sem fringilla. Fermentum odio eu feugiat pretium. Morbi tristique senectus et netus et. Vitae auctor eu augue ut lectus arcu. Nulla facilisi morbi tempus iaculis urna. Congue nisi vitae suscipit tellus mauris. Turpis massa sed elementum tempus egestas sed sed risus. Massa sapien faucibus et molestie. Rhoncus aenean vel elit scelerisque mauris pellentesque pulvinar pellentesque. + """.trimIndent() + ) + } + + P { + Text( + """ + Amet tellus cras adipiscing enim eu turpis. Morbi tincidunt augue interdum velit euismod in. Blandit cursus risus at ultrices mi tempus imperdiet nulla malesuada. Nunc aliquet bibendum enim facilisis gravida neque convallis. Imperdiet sed euismod nisi porta lorem mollis aliquam ut porttitor. Commodo elit at imperdiet dui accumsan. Erat nam at lectus urna. Eget est lorem ipsum dolor. Lectus quam id leo in. Dolor sit amet consectetur adipiscing. Amet consectetur adipiscing elit duis tristique sollicitudin nibh sit amet. + """.trimIndent() + ) + } + + P { + Text( + """ + Donec et odio pellentesque diam volutpat commodo sed. Sed vulputate mi sit amet mauris commodo. Est lorem ipsum dolor sit amet consectetur. Porta nibh venenatis cras sed felis eget velit. Turpis egestas sed tempus urna et pharetra. Ultricies lacus sed turpis tincidunt id aliquet risus feugiat in. Orci dapibus ultrices in iaculis nunc sed augue lacus. Quis eleifend quam adipiscing vitae proin sagittis. Sit amet venenatis urna cursus eget nunc scelerisque. Semper eget duis at tellus. + """.trimIndent() + ) + } +} diff --git a/site/src/jsMain/kotlin/components/Card.kt b/site/src/jsMain/kotlin/components/Card.kt new file mode 100644 index 0000000..5d38a56 --- /dev/null +++ b/site/src/jsMain/kotlin/components/Card.kt @@ -0,0 +1,87 @@ +package dev.adamko.kotka.site.components + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.currentComposer +import dev.adamko.kotka.site.style.WtCards +import dev.adamko.kotka.site.style.WtCols +import dev.adamko.kotka.site.style.WtOffsets +import dev.adamko.kotka.site.style.WtTexts +import org.jetbrains.compose.web.attributes.ATarget +import org.jetbrains.compose.web.attributes.target +import org.jetbrains.compose.web.dom.A +import org.jetbrains.compose.web.dom.Div +import org.jetbrains.compose.web.dom.H3 +import org.jetbrains.compose.web.dom.Text + + +data class LinkOnCard(val linkText: String, val linkUrl: String) + +@Composable +private fun CardTitle(title: String, darkTheme: Boolean = false) { + H3({ + classes(WtTexts.wtH3) + if (darkTheme) { + classes(WtTexts.wtH3ThemeDark) + } + }) { + Text(title) + } +} + +@Composable +private fun CardLink(link: LinkOnCard) { + currentComposer + A( + attrs = { + classes(WtTexts.wtLink, WtOffsets.wtTopOffset24) + target(ATarget.Blank) + }, + href = link.linkUrl + ) { + Text(link.linkText) + } +} + +@Composable +fun Card( + title: String, + links: List, + darkTheme: Boolean = false, + wtExtraStyleClasses: List = listOf(WtCols.wtCol6, WtCols.wtColMd6, WtCols.wtColSm12), + content: @Composable () -> Unit +) { + Div({ + classes(WtCards.wtCard, WtOffsets.wtTopOffset24, *wtExtraStyleClasses.toTypedArray()) + classes(if (darkTheme) WtCards.wtCardThemeDark else WtCards.wtCardThemeLight) + }) { + Div({ + classes(WtCards.wtCardSection, WtCards.wtVerticalFlex) + }) { + + Div({ classes(WtCards.wtVerticalFlexGrow) }) { + CardTitle(title = title, darkTheme = darkTheme) + content() + } + + links.forEach { + CardLink(it) + } + } + } +} + +@Composable +fun CardDark( + title: String, + links: List, + wtExtraStyleClasses: List = listOf(WtCols.wtCol6, WtCols.wtColMd6, WtCols.wtColSm12), + content: @Composable () -> Unit +) { + Card( + title = title, + links = links, + darkTheme = true, + wtExtraStyleClasses = wtExtraStyleClasses, + content = content + ) +} diff --git a/site/src/jsMain/kotlin/components/Layout.kt b/site/src/jsMain/kotlin/components/Layout.kt new file mode 100644 index 0000000..2dceded --- /dev/null +++ b/site/src/jsMain/kotlin/components/Layout.kt @@ -0,0 +1,56 @@ +package dev.adamko.kotka.site.components + +import androidx.compose.runtime.Composable +import dev.adamko.kotka.site.content.classes2 +import dev.adamko.kotka.site.style.WtContainer +import dev.adamko.kotka.site.style.WtOffsets +import dev.adamko.kotka.site.style.WtSections +import org.jetbrains.compose.web.dom.* + +@Composable +fun layout(content: @Composable () -> Unit) { + Div( + attrs = { + attr("data-bs-theme", "dark") +// classes2("container-fluid d-flex flex-column min-vh-100") +// style { +//// display(DisplayStyle.Flex) +//// flexDirection(FlexDirection.Column) +//// height(100.percent) +//// margin(0.px) +//// boxSizing("border-box") +// } + }) { + content() + } +} + +@Composable +fun mainContent(content: @Composable () -> Unit) { + Main({ + classes2("mx-4 my-2") +// style { +// flex("1 0 auto") +// boxSizing("border-box") +// } + }) { + content() + } +} + +@Composable +fun ContainerInSection(sectionThemeStyleClass: String? = null, content: @Composable () -> Unit) { + Section({ + if (sectionThemeStyleClass != null) { + classes(WtSections.wtSection, sectionThemeStyleClass) + } else { + classes(WtSections.wtSection) + } + }) { + Div({ + classes(WtContainer.wtContainer, WtOffsets.wtTopOffset96) + }) { + content() + } + } +} diff --git a/site/src/jsMain/kotlin/content/AboutComposeWebLibsSection.kt b/site/src/jsMain/kotlin/content/AboutComposeWebLibsSection.kt new file mode 100644 index 0000000..82a377c --- /dev/null +++ b/site/src/jsMain/kotlin/content/AboutComposeWebLibsSection.kt @@ -0,0 +1,137 @@ +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import dev.adamko.kotka.site.components.Card +import dev.adamko.kotka.site.components.ContainerInSection +import dev.adamko.kotka.site.components.LinkOnCard +import dev.adamko.kotka.site.style.WtCols +import dev.adamko.kotka.site.style.WtOffsets +import dev.adamko.kotka.site.style.WtRows +import dev.adamko.kotka.site.style.WtSections +import dev.adamko.kotka.site.style.WtTexts +import org.jetbrains.compose.web.attributes.ATarget +import org.jetbrains.compose.web.attributes.target +import org.jetbrains.compose.web.css.paddingTop +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.dom.A +import org.jetbrains.compose.web.dom.Div +import org.jetbrains.compose.web.dom.H2 +import org.jetbrains.compose.web.dom.Img +import org.jetbrains.compose.web.dom.Li +import org.jetbrains.compose.web.dom.P +import org.jetbrains.compose.web.dom.Text +import org.jetbrains.compose.web.dom.Ul + +data class CardWithListPresentation( + val title: String, + val list: List, + val links: List = emptyList() +) + +private fun createAboutComposeWebCards(): List { + return listOf( + CardWithListPresentation( + title = "Composable DOM API", + list = listOf( + "Express your design and layout in terms of DOM elements and HTML tags", + "Use a type-safe HTML DSL to build your UI representation", + "Get full control over the look and feel of your application by creating stylesheets with a typesafe CSS DSL", + "Integrate with other JavaScript libraries via DOM subtrees" + ) + ), + CardWithListPresentation( + title = "Multiplatform Widgets With Web Support", + list = listOf( + "Use and build Compose widgets that work on Android, Desktop, and Web by utilizing Kotlin's expect-actual mechanisms to provide platform-specific implementations", + "Experiment with a set of layout primitives and APIs that mimic the features you already know from Compose for Desktop and Android" + ) + ) + ) +} + +private fun createFeaturesList(): List { + return listOf( + "Same reactive engine that is used on Android/Desktop allows using a common codebase.", + "Framework for rich UI creation for Kotlin/JS.", + "Convenient Kotlin DOM DSL that covers all common frontend development scenarios.", + "Comprehensive CSS-in-Kotlin/JS API." + ) +} + + +@Composable +private fun FeatureDescriptionBlock(description: String) { + Div(attrs = { + classes(WtCols.wtCol3, WtCols.wtColMd6, WtCols.wtColSm12, WtOffsets.wtTopOffset48) + }) { + Img(src = "compose_bullet.svg") + P(attrs = { + classes(WtTexts.wtText1, WtTexts.wtText1HardnessHard, WtOffsets.wtTopOffset12) + }) { + Text(description) + } + } +} + +@Composable +fun ComposeWebLibraries() { + ContainerInSection(WtSections.wtSectionBgGrayLight) { + H2(attrs = { classes(WtTexts.wtH2) }) { + Text("Building user interfaces with Compose for Web") + } + + Div(attrs = { + classes(WtRows.wtRow, WtRows.wtRowSizeM) + }) { + Div(attrs = { + classes(WtCols.wtCol6, WtCols.wtColMd6, WtCols.wtColSm12, WtOffsets.wtTopOffset24) + }) { + P(attrs = { + classes(WtTexts.wtText1) + }) { + Text("Compose for Web allows you to build reactive user interfaces for the web in Kotlin, using the concepts and APIs of Jetpack Compose to express the state, behavior, and logic of your application.") + } + } + } + + Div(attrs = { + classes(WtRows.wtRow, WtRows.wtRowSizeM, WtOffsets.wtTopOffset24) + }) { + createFeaturesList().forEach { + FeatureDescriptionBlock(it) + } + } + + A(attrs = { + classes( + WtTexts.wtButton, + WtTexts.wtButtonThemeLight, + WtOffsets.wtTopOffset48, + WtOffsets.wtTopOffsetSm24 + ) + target(ATarget.Blank) + }, href = "https://github.com/jetbrains/compose-jb#compose-for-web") { + Text("See all features") + } + } +} + +@Composable +private fun CardWithList(card: CardWithListPresentation) { + Card( + title = card.title, + links = card.links + ) { + Ul(attrs = { + classes(WtTexts.wtText2) + }) { + card.list.forEachIndexed { _, it -> + Li({ + style { + paddingTop(24.px) + } + }) { Text(it) } + } + } + } +} diff --git a/site/src/jsMain/kotlin/content/CodeSamplesSwitcher.kt b/site/src/jsMain/kotlin/content/CodeSamplesSwitcher.kt new file mode 100644 index 0000000..1c6d2e6 --- /dev/null +++ b/site/src/jsMain/kotlin/content/CodeSamplesSwitcher.kt @@ -0,0 +1,106 @@ +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import dev.adamko.kotka.site.style.AppStylesheet +import org.jetbrains.compose.web.attributes.InputType +import org.jetbrains.compose.web.attributes.name +import org.jetbrains.compose.web.css.CSSpxValue +import org.jetbrains.compose.web.css.Color +import org.jetbrains.compose.web.css.DisplayStyle +import org.jetbrains.compose.web.css.LineStyle +import org.jetbrains.compose.web.css.StyleSheet +import org.jetbrains.compose.web.css.border +import org.jetbrains.compose.web.css.borderRadius +import org.jetbrains.compose.web.css.boxSizing +import org.jetbrains.compose.web.css.color +import org.jetbrains.compose.web.css.display +import org.jetbrains.compose.web.css.media +import org.jetbrains.compose.web.css.mediaMaxWidth +import org.jetbrains.compose.web.css.padding +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.style +import org.jetbrains.compose.web.css.textAlign +import org.jetbrains.compose.web.css.value +import org.jetbrains.compose.web.css.variable +import org.jetbrains.compose.web.css.width +import org.jetbrains.compose.web.dom.Form +import org.jetbrains.compose.web.dom.Input +import org.jetbrains.compose.web.dom.Label +import org.jetbrains.compose.web.dom.Text + +private object SwitcherVariables { + val labelWidth by variable() + val labelPadding by variable() +} + +object SwitcherStylesheet : StyleSheet(AppStylesheet) { + val boxed by style { + + media(mediaMaxWidth(640.px)) { + self style { + SwitcherVariables.labelWidth(48.px) + SwitcherVariables.labelPadding(5.px) + } + } + + desc(self, type("label")) style { + display(DisplayStyle.InlineBlock) + width(SwitcherVariables.labelWidth.value(56.px)) + padding(SwitcherVariables.labelPadding.value(10.px)) + property("transition", "all 0.3s") + textAlign("center") + boxSizing("border-box") + + border { + style(LineStyle.Solid) + width(3.px) + color(Color("transparent")) + borderRadius(20.px, 20.px, 20.px) + } + color(Color("#aaa")) + } + + border { + style(LineStyle.Solid) + width(1.px) + color(Color("#aaa")) + padding(0.px) + borderRadius(22.px, 22.px, 22.px) + } + + type("input") + attrEquals(name = "type", value = "radio") style { + display(DisplayStyle.None) + } + + adjacent( + sibling = type("input") + attrEquals(name = "type", value = "radio") + checked, + selected = type("label") + ) style { + border { + style(LineStyle.Solid) + width(3.px) + color(Color("#167dff")) + borderRadius(20.px, 20.px, 20.px) + } + color(Color("#000")) + } + } +} + +@Composable +fun CodeSampleSwitcher(count: Int, current: Int, onSelect: (Int) -> Unit) { + Form(attrs = { + classes(SwitcherStylesheet.boxed) + }) { + repeat(count) { ix -> + Input(type = InputType.Radio, attrs = { + name("code-snippet") + value("snippet$ix") + id("snippet$ix") + if (current == ix) checked(true) + onChange { onSelect(ix) } + }) + Label(forId = "snippet$ix") { Text("${ix + 1}") } + } + } +} diff --git a/site/src/jsMain/kotlin/content/CodeSnippets.kt b/site/src/jsMain/kotlin/content/CodeSnippets.kt new file mode 100644 index 0000000..d565a33 --- /dev/null +++ b/site/src/jsMain/kotlin/content/CodeSnippets.kt @@ -0,0 +1,321 @@ +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.* +import dev.adamko.kotka.site.components.ContainerInSection +import dev.adamko.kotka.site.externals.HighlightJs +import dev.adamko.kotka.site.style.WtCols +import dev.adamko.kotka.site.style.WtOffsets +import dev.adamko.kotka.site.style.WtRows +import dev.adamko.kotka.site.style.WtTexts +import org.intellij.lang.annotations.Language +import org.jetbrains.compose.web.attributes.* +import org.jetbrains.compose.web.attributes.AutoComplete.Companion.language +import org.jetbrains.compose.web.css.* +import org.jetbrains.compose.web.css.DisplayStyle.Companion.Inline +import org.jetbrains.compose.web.dom.* +import org.w3c.dom.HTMLElement + + +private val SimpleCounterSnippet = CodeSnippetData( + title = "Simple Counter using Composable DOM", + source = """ + fun main() { + val count = mutableStateOf(0) + + renderComposable(rootElementId = "root") { + Button(attrs = { + onClick { count.value = count.value - 1 } + }) { + Text("-") + } + Span(attrs = { style { padding(15.px) }}) { /* we use inline style here */ + Text("${"$"}{count.value}") + } + Button(attrs = { + onClick { count.value = count.value + 1 } + }) { + Text("+") + } + } + } + """.trimIndent() +) + +private val DeclareAndUseStylesheet = CodeSnippetData( + title = "Declare and use a stylesheet", + source = """ + object MyStyleSheet : StyleSheet() { + val container by style { /* define a class `container` */ + border(1.px, LineStyle.Solid, Color.RGB(255, 0, 0)) + } + } + + @Composable + fun MyComponent() { + Div(attrs = { + classes(MyStyleSheet.container) /* use `container` class */ + }) { + Text("Hello world!") + } + } + + fun main() { + renderComposable(rootElementId = "root") { + Style(MyStyleSheet) /* mount the stylesheet */ + MyComponent() + } + } + """.trimIndent() +) + +private val DeclareAndUseCssVariable = CodeSnippetData( + title = "Declare and use CSS variables", + source = """ + object MyVariables { + val contentBackgroundColor by variable() /* declare a variable */ + } + + object MyStyleSheet: StyleSheet() { + val container by style { + MyVariables.contentBackgroundColor(Color("blue")) /* set its value */ + } + val content by style { + backgroundColor(MyVariables.contentBackgroundColor.value()) /* use it */ + } + } + + @Composable + fun MyComponent() { + Div(attrs = { + classes(MyStyleSheet.container) + }) { + Span(attrs = { + classes(MyStyleSheet.content) + }) { + Text("Hello world!") + } + } + } + """.trimIndent() +) + +private val HoverSelectorAndMedia = CodeSnippetData( + title = "Hover selector and media query examples", + source = """ + object MyStyleSheet: StyleSheet() { + val container by style { + + backgroundColor(Color("blue")) + + padding(20.px) + + hover(self) style { /* `self` is a reference to the class */ + backgroundColor(Color("red")) + } + + media(maxWidth(500.px)) { + self style { + padding(10.px) + } + } + } + } + """.trimIndent() +) + +private val DefineCssClassInComponent = CodeSnippetData( + title = "Define a CSS class in a component", + source = """ + object MyStyleSheet: StyleSheet() {} + + @Composable + fun MyComponent() { + Div(attrs = { + /* the class name will be generated at runtime */ + classes(MyStyleSheet.css { + + backgroundColor(Color("blue")) + + self + ":hover" style { /* this is an example of a raw selector */ + backgroundColor(Color("red")) + } + }) + }) { + Text("Hello world!") + } + } + """.trimIndent() +) + +private val LayoutsSample = CodeSnippetData( + title = "Counter for Web and Desktop", + source = """ + /* Shared code in commonMain - App.kt (No direct control over DOM or CSS here) */ + + private val counter = mutableStateOf(0) + + @Composable + fun App() { + Row { + Button(onClick = { counter.value = counter.value - 1 }) { + Text("-") + } + + Text("${"$"}{counter.value}", modifier = Modifier.padding(16.dp)) + + Button(onClick = { counter.value = counter.value + 1 }) { + Text("+") + } + } + } + + /* Desktop specific code in desktopMain: */ + + fun main() = Window(title = "Demo", size = IntSize(800, 800)) { + App() + } + + /* Web specific code in jsMain: */ + + fun main() = renderComposable(rootElementId = "root") { + App() + } + """.trimIndent() +) + +private val allSnippets = arrayOf( + SimpleCounterSnippet, + DeclareAndUseStylesheet, + DeclareAndUseCssVariable, + HoverSelectorAndMedia, + DefineCssClassInComponent, + //LayoutsSample +) + +private var currentCodeSnippet: CodeSnippetData by mutableStateOf(allSnippets[0]) +private var selectedSnippetIx: Int by mutableStateOf(0) + +@Composable +fun CodeSamples() { + ContainerInSection { + Div({ + classes(WtRows.wtRow) + style { + justifyContent(JustifyContent.SpaceBetween) + } + }) { + Div({ classes(WtCols.wtCol6, WtCols.wtColMd4, WtCols.wtColSm12) }) { + H1({ + classes(WtTexts.wtH2) + }) { + Text("Code samples") + } + } + + Div({ classes(WtOffsets.wtTopOffsetSm24) }) { + CodeSampleSwitcher(count = allSnippets.size, current = selectedSnippetIx) { + selectedSnippetIx = it + currentCodeSnippet = allSnippets[it] + } + } + } + + TitledCodeSample(title = currentCodeSnippet.title, code = currentCodeSnippet.source) + } +} + +@Composable +fun TitledCodeSample(title: String, code: String) { + H3({ + classes(WtTexts.wtH3, WtOffsets.wtTopOffset48) + }) { + Text(title) + } + + Div({ + classes(WtOffsets.wtTopOffset24) + style { + backgroundColor(rgba(39, 40, 44, 0.05)) + borderRadius(8.px, 8.px, 8.px) + padding(12.px, 16.px) + } + }) { + formattedCodeSnippetKt(code) + } +} + + +@Composable +fun codeSnippetBlock( + code: String, + language: String = "plaintext", + attrs: AttrsScope.() -> Unit = {}, +) { + Pre(attrs = { + classes2("bg-black") + attrs() + }) { + Code2(language) { + DisposableEffect(code) { + scopeElement.codeContent = code + onDispose { } + } + } + } +} + +@Composable +fun codeSnippetInline(code: String, language: String = "plaintext") { +// P { + Code2(language, style = { display(Inline) }) { + DisposableEffect(code) { + scopeElement.codeContent = code + onDispose { } + } + } +// } +} + +/** [Text content][org.w3c.dom.Node.textContent], formatted by [HighlightJs]. */ +private var HTMLElement.codeContent + get() = textContent + set(value) { + textContent = value + HighlightJs.highlightElement(this) + } + +//private fun HTMLElement.setHighlightedCode(code: String) { +// textContent = code +//} + +@Composable +fun formattedCodeSnippetKt( + @Language("kotlin") + code: String, + attrs: AttrsScope.() -> Unit = {}, +) { + codeSnippetBlock(code, "kotlin", attrs) +} + +@Composable +fun formattedCodeSnippetKts( + @Language("kts") + code: String, + attrs: AttrsScope.() -> Unit = {}, +) { + codeSnippetBlock(code, "kotlin", attrs) +} + +@Composable +fun formattedCodeSnippetPlaintext( + @Language("none") + code: String, + attrs: AttrsScope.() -> Unit = {}, +) { + codeSnippetBlock(code, "plaintext", attrs) +} + +private data class CodeSnippetData( + val title: String, + val source: String, +) diff --git a/site/src/jsMain/kotlin/content/GetStartedSection.kt b/site/src/jsMain/kotlin/content/GetStartedSection.kt new file mode 100644 index 0000000..2c08c89 --- /dev/null +++ b/site/src/jsMain/kotlin/content/GetStartedSection.kt @@ -0,0 +1,115 @@ +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import dev.adamko.kotka.site.components.CardDark +import dev.adamko.kotka.site.components.ContainerInSection +import dev.adamko.kotka.site.components.LinkOnCard +import dev.adamko.kotka.site.style.WtCols +import dev.adamko.kotka.site.style.WtOffsets +import dev.adamko.kotka.site.style.WtRows +import dev.adamko.kotka.site.style.WtSections +import dev.adamko.kotka.site.style.WtTexts +import org.jetbrains.compose.web.css.Color +import org.jetbrains.compose.web.css.color +import org.jetbrains.compose.web.dom.Div +import org.jetbrains.compose.web.dom.H1 +import org.jetbrains.compose.web.dom.P +import org.jetbrains.compose.web.dom.Text + +private data class GetStartedCardPresentation( + val title: String, + val content: String, + val links: List +) + +private fun getCards(): List { + return listOf( + GetStartedCardPresentation( + title = "Start tutorial here", + content = "In this tutorial we will see how to create our first web UI application using Compose for Web.", + links = listOf( + LinkOnCard( + linkText = "View tutorial", + linkUrl = "https://github.com/JetBrains/compose-jb/tree/master/tutorials/Web/Getting_Started" + ) + ) + ), + GetStartedCardPresentation( + title = "Landing page example", + content = "An example of a landing page built using the Composable DOM API and Stylesheet DSL.", + links = listOf( + LinkOnCard( + linkText = "Explore the source code", + linkUrl = "https://github.com/JetBrains/compose-jb/tree/master/examples/web-landing" + ) + ) + ), + GetStartedCardPresentation( + title = "Compose Bird", + content = "A simple game built using the most basic Composable DOM API", + links = listOf( + LinkOnCard( + linkText = "Explore the source code", + linkUrl = "https://github.com/JetBrains/compose-jb/tree/master/examples/web-compose-bird" + ), + LinkOnCard( + linkText = "Play", + linkUrl = "https://compose-bird.ui.pages.jetbrains.team/" + ) + ) + ) + ) +} + +@Composable +private fun CardContent(text: String) { + P(attrs = { + classes(WtTexts.wtText2, WtTexts.wtText2ThemeDark, WtOffsets.wtTopOffset24) + }) { + Text(text) + } +} + +@Composable +fun GetStarted() { + ContainerInSection(WtSections.wtSectionBgGrayDark) { + H1(attrs = { + classes(WtTexts.wtH2, WtTexts.wtH2ThemeDark) + }) { + Text("Try out the Compose for Web") + } + + Div(attrs = { + classes(WtRows.wtRowSizeM, WtRows.wtRow, WtOffsets.wtTopOffset24) + }) { + Div(attrs = { + classes(WtCols.wtCol6, WtCols.wtColMd10, WtCols.wtColSm12, WtOffsets.wtTopOffset24) + }) { + P(attrs = { + classes(WtTexts.wtText1) + style { + color(Color("#fff")) + } + }) { + Text("Ready for your next adventure? Learn how to build reactive user interfaces with Compose for Web.") + } + } + } + + Div( + attrs = { + classes(WtRows.wtRow, WtRows.wtRowSizeM, WtOffsets.wtTopOffset24) + } + ) { + getCards().forEach { + CardDark( + title = it.title, + links = it.links, + wtExtraStyleClasses = listOf(WtCols.wtCol4, WtCols.wtColMd6, WtCols.wtColSm12) + ) { + CardContent(it.content) + } + } + } + } +} diff --git a/site/src/jsMain/kotlin/content/Header.kt b/site/src/jsMain/kotlin/content/Header.kt new file mode 100644 index 0000000..74fe5c3 --- /dev/null +++ b/site/src/jsMain/kotlin/content/Header.kt @@ -0,0 +1,65 @@ +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import dev.adamko.kotka.site.content.ContainerSize.fluid +import dev.adamko.kotka.site.style.AppStylesheet2 +import org.jetbrains.compose.web.attributes.* +import org.jetbrains.compose.web.css.* +import org.jetbrains.compose.web.dom.* + +@Composable +fun header() { +// Section { + Nav(attrs = { classes(NavStyle.nav) }) { + BContainer(size = fluid) { + logo() + Div(attrs = { classes2("ms-auto") }) { + externalLink("GitHub", "https://github.com/adamko-dev/kotka-streams") + } + } + } +// } +} + +@Composable +private fun logo() = + A(attrs = { classes("navbar-brand") }) { + Img(src = "ks-logo.svg", alt = "Logo", attrs = { classes(NavStyle.logo) }) +// Text("Kotka Streams") + Span(attrs = { classes(NavStyle.logoText) }) { Text("Kotka Streams") } + } + +@Composable +fun externalLink(text: String, url: String) = + A( + href = url, + attrs = { + classes("text-decoration-none") // text-reset + target(ATarget.Blank) + }) { + Span { Text(text) } + I2( + classes = "bi bi-box-arrow-in-up-right fw-bolder align-top", + style = { fontSize(0.8.cssRem) } + ) { } + } + + +private object NavStyle : StyleSheet(AppStylesheet2) { + val nav = listOf( + "navbar", + "navbar-dark", + "navbar-expand-lg", + "bg-dark", + ) + + val logo: List = listOf( + "mx-2", + "d-inline-block", + "align-text-top", + ) + + val logoText: List = listOf( + ) + +} diff --git a/site/src/jsMain/kotlin/content/IntroSection.kt b/site/src/jsMain/kotlin/content/IntroSection.kt new file mode 100644 index 0000000..c1aa3d4 --- /dev/null +++ b/site/src/jsMain/kotlin/content/IntroSection.kt @@ -0,0 +1,58 @@ +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import org.jetbrains.compose.web.css.* +import org.jetbrains.compose.web.dom.* + +@Composable +fun introSection() { + Section2 { + Div { + mainBanner() + + introText() + + // create a slideshow + // - naming functions + // - lambda outside of brackets + // - integration with KxS + // - destructured assignments + // - auto-close KeyValueStores + } + } +} + + +@Composable +private fun mainBanner() { + BFlexCol( + classes = "main-banner text-center align-items-center justify-content-center", + attrs = { style { height(25.cssRem) } }, + ) { + Div2(classes = "h2") { + Text("Kotka Streams") + } + Div2(classes = "h4") { + Text("The Kotlin DSL for Kafka Streams") + } + } +} + + +@Composable +private fun introText() { + BFlexCol( + classes = "intro-text text-center align-items-center justify-content-center", +// classes = "intro-text", +// attrs = { style { height(25.cssRem) } }, + ) { + P2("lead") { + Text("Using ") + Text("Kotka") +// externalLink("Kotka", "https://github.com/adamko-dev/kotka-streams") + Text(" means a more pleasant experience while using ") + externalLink("Kafka Streams", "https://kafka.apache.org/documentation/streams/") + Text(".") + } + } +} diff --git a/site/src/jsMain/kotlin/content/JoinUs.kt b/site/src/jsMain/kotlin/content/JoinUs.kt new file mode 100644 index 0000000..166fb52 --- /dev/null +++ b/site/src/jsMain/kotlin/content/JoinUs.kt @@ -0,0 +1,81 @@ +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import dev.adamko.kotka.site.components.ContainerInSection +import dev.adamko.kotka.site.style.WtCols +import dev.adamko.kotka.site.style.WtOffsets +import dev.adamko.kotka.site.style.WtRows +import dev.adamko.kotka.site.style.WtSections +import dev.adamko.kotka.site.style.WtTexts +import org.jetbrains.compose.web.attributes.ATarget +import org.jetbrains.compose.web.attributes.target +import org.jetbrains.compose.web.dom.A +import org.jetbrains.compose.web.dom.Div +import org.jetbrains.compose.web.dom.P +import org.jetbrains.compose.web.dom.Text + +@Composable +fun JoinUs() { + ContainerInSection(WtSections.wtSectionBgGrayLight) { + Div(attrs = { + classes(WtRows.wtRow, WtRows.wtRowSizeM) + }) { + Div(attrs = { + classes(WtCols.wtCol9, WtCols.wtColMd11, WtCols.wtColSm12) + }) { + + P(attrs = { + classes(WtTexts.wtSubtitle2) + }) { + Text("Interested in Compose for other platforms?") + + P { + Text("Have a look at ") + A(href = "https://www.jetbrains.com/lp/compose/", attrs = { + classes(WtTexts.wtLink) + target(ATarget.Blank) + }) { + Text("Compose Multiplatform") + } + } + } + + P(attrs = { + classes(WtTexts.wtSubtitle2, WtOffsets.wtTopOffset24) + }) { + Text("Feel free to join the ") + LinkToSlack( + url = "https://slack-chats.kotlinlang.org/c/compose-web", + text = "#compose-web" + ) + Text(" channel on Kotlin Slack to discuss Compose for Web, or ") + LinkToSlack( + url = "https://slack-chats.kotlinlang.org/c/compose", + text = "#compose" + ) + Text(" for general Compose discussions") + } + } + } + + A(attrs = { + classes(WtTexts.wtButton, WtTexts.wtButtonContrast, WtOffsets.wtTopOffset24) + target(ATarget.Blank) + }, href = "https://surveys.jetbrains.com/s3/kotlin-slack-sign-up") { + Text("Join Kotlin Slack") + } + } +} + +@Composable +private fun LinkToSlack(url: String, text: String) { + A( + href = url, + attrs = { + target(ATarget.Blank) + classes(WtTexts.wtLink) + }, + ) { + Text(text) + } +} diff --git a/site/src/jsMain/kotlin/content/bootstrap.kt b/site/src/jsMain/kotlin/content/bootstrap.kt new file mode 100644 index 0000000..7ee7f44 --- /dev/null +++ b/site/src/jsMain/kotlin/content/bootstrap.kt @@ -0,0 +1,115 @@ +@file:Suppress("FunctionName", "EnumEntryName") + +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import dev.adamko.kotka.site.content.ContainerSize.Companion.cssClass +import org.jetbrains.compose.web.attributes.* +import org.jetbrains.compose.web.css.* +import org.jetbrains.compose.web.dom.* +import org.w3c.dom.* + + +@Composable +fun BContainer( + size: ContainerSize? = null, + classes: String = "", + attrs: AttrBuilderContext = {}, + content: @Composable () -> Unit, +) { + Div( + attrs = { + classes(size.cssClass) + classes2(classes) + attrs() + } + ) { + content() + } +} + +enum class ContainerSize { + sm, + md, + lg, + xl, + xxl, + fluid, + ; + + companion object { + val ContainerSize?.cssClass get() = if (this != null) "container-$name" else "container" + } +} + + +@Composable +fun BRow( + attrs: AttrBuilderContext = {}, + classes: String = "", + content: @Composable () -> Unit, +) { + Div( + attrs = { + classes("row") + classes2(classes) + attrs() + } + ) { + content() + } +} + + +@Composable +fun BCol( + attrs: AttrBuilderContext = {}, + classes: String = "", + content: @Composable () -> Unit, +) { + Div( + attrs = { + classes("col") + classes2(classes) + attrs() + } + ) { + content() + } +} + + +@Composable +fun BFlexRow( + attrs: AttrBuilderContext = {}, + classes: String = "", + content: @Composable () -> Unit, +) { + Div2( + attrs = { + classes2("d-flex") + classes2(classes) + attrs() + } + ) { + content() + } +} + + +@Composable +fun BFlexCol( + attrs: AttrBuilderContext = {}, + classes: String = "", + content: @Composable () -> Unit, +) { + Div2( + attrs = { + classes2("d-flex flex-column") + classes2(classes) + attrs() + } + ) { + content() + } +} diff --git a/site/src/jsMain/kotlin/content/compose2.kt b/site/src/jsMain/kotlin/content/compose2.kt new file mode 100644 index 0000000..70eeb6a --- /dev/null +++ b/site/src/jsMain/kotlin/content/compose2.kt @@ -0,0 +1,150 @@ +@file:Suppress("FunctionName") + +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffectResult +import androidx.compose.runtime.DisposableEffectScope +import org.jetbrains.compose.web.attributes.* +import org.jetbrains.compose.web.css.* +import org.jetbrains.compose.web.dom.* +import org.jetbrains.compose.web.internal.runtime.* +import org.w3c.dom.* + + +fun AttrsScope.classes2(classes2: String) { + if (classes2.isBlank()) return + + classes2 + .split(" ") + .distinct() + .filter { it.isNotBlank() } + .takeIf { it.isNotEmpty() } + ?.let(::classes) +} + + +@Composable +fun Div2( + classes: String = "", + attrs: AttrBuilderContext = {}, + content: ContentBuilder = {}, +) { + Div( + attrs = { + classes2(classes) + attrs() + }, + content = content + ) +} + +@Composable +fun P2( + classes: String = "", + style: StyleScope.() -> Unit = {}, + attrs: AttrBuilderContext = {}, + content: ContentBuilder = {}, +) { + P( + attrs = { + classes2(classes) + attrs() + style(style) + }, + content = content + ) +} + + +@Composable +fun I2( + classes: String = "", + style: StyleScope.() -> Unit = {}, + attrs: AttrBuilderContext = {}, + content: ContentBuilder = {}, +) { + I( + attrs = { + classes2(classes) + attrs() + style(style) + }, + content = content + ) +} + + +@Composable +fun Footer2( + classes: String = "", + style: StyleScope.() -> Unit = {}, + attrs: AttrBuilderContext = {}, + content: ContentBuilder = {}, +) { + Footer( + attrs = { + classes2(classes) + attrs() + style(style) + }, + content = content + ) +} + + +@Composable +fun Span2( + classes: String = "", + style: StyleScope.() -> Unit = {}, + attrs: AttrBuilderContext = {}, + content: ContentBuilder = {}, +) { + Span( + attrs = { + classes2(classes) + attrs() + style(style) + }, + content = content + ) +} + + +@Composable +fun Section2( + classes: String = "", + style: StyleScope.() -> Unit = {}, + attrs: AttrBuilderContext = {}, + content: ContentBuilder = {}, +) { + Section( + attrs = { + classes2(classes) + attrs() + style(style) + }, + content = content + ) +} + +@Composable +fun Code2( + language: String?, + classes: String = "", + style: StyleScope.() -> Unit = {}, + attrs: AttrBuilderContext = {}, + content: ContentBuilder = {}, +) { + Code( + attrs = { + if (!language.isNullOrBlank()) { + classes("language-$language") + } + classes2(classes) + attrs() + style(style) + }, + content = content + ) +} diff --git a/site/src/jsMain/kotlin/content/examplesSection.kt b/site/src/jsMain/kotlin/content/examplesSection.kt new file mode 100644 index 0000000..1cd394d --- /dev/null +++ b/site/src/jsMain/kotlin/content/examplesSection.kt @@ -0,0 +1,111 @@ +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import dev.adamko.kotka.site.externals.HighlightJs +import dev.adamko.kotka.site.namingOperators2 +import kotlinx.html.dom.append +import kotlinx.html.head +import org.jetbrains.compose.web.attributes.* +import org.jetbrains.compose.web.dom.* +import org.w3c.dom.HTMLElement +import org.w3c.dom.asList + + +import kotlinx.html.html +import kotlinx.html.stream.appendHTML +import kotlinx.html.title + +@Composable +fun examplesSection() { + Section { + DisposableEffect("namingOperators") { + scopeElement.append + .namingOperators2() + .querySelectorAll("code") + .asList() + .filterIsInstance() + .forEach(HighlightJs.Companion::highlightElement) + onDispose { } + } + } +} + +//@Composable +//fun namingOperators() { +// Div2 { +// +// H5 { Text("Naming Operators") } +// +// Div { +// P { +// Text("Kafka Stream operations can be named using the ") +// externalLink( +// text = "naming operators", +// url = "https://kafka.apache.org/documentation/streams/developer-guide/dsl-topology-naming.html", +// ) +// } +// +// Ul { +// Li { codeSnippetInline("Grouped") } +// Li { codeSnippetInline("StreamJoined") } +// Li { codeSnippetInline("Joined") } +// Li { codeSnippetInline("StreamJoined") } +// Li { codeSnippetInline("Materialized") } +// Li { codeSnippetInline("Named") } +// } +// +// P { +// Text("However, the names are set using the ") +// codeSnippetInline("as()") +// Text(" function, which is a keyword in Kotlin, and so it must be escaped using backticks:") +// } +// +// formattedCodeSnippetKt( +// """ +// val stream: KStream = builder.stream( +// "input", +// // 'as' is a keyword - must use backticks +// Consumed.`as`("Customer_transactions_input_topic") +// ) +// """.trimIndent() +// ) { testCode("example-naming-operators-01.kt") } +// +// P { +// Text("Kotka streams provides an extension function, ") +// codeSnippetInline("consumedAs()") +// Text(" that performs the same functionality.") +// } +// +// formattedCodeSnippetKt( +// """ +// import dev.adamko.kotka.extensions.* +// +// val stream: KStream = builder.stream( +// "input", +// consumedAs("Customer_transactions_input_topic") +// ) +// """.trimIndent() +// ) { testCode("example-naming-operators-02.kt") } +// +// formattedCodeSnippetPlaintext( +// """ +// Topologies: +// Sub-topology: 0 +// Source: Customer_transactions_input_topic (topics: [input]) +// """.trimIndent() +// ) { +// testExpected("example-naming-operators-01.kt", "example-naming-operators-02.kt") +// } +// } +// } +//} + +private fun AttrsScope.testCode(filename: String, vararg filenames: String) { + attr("data-test-code", (listOf(filename) + filenames).joinToString(",")) +} + + +private fun AttrsScope.testExpected(filename: String, vararg filenames: String) { + attr("data-test-expected", (listOf(filename) + filenames).joinToString(",")) +} diff --git a/site/src/jsMain/kotlin/content/footer.kt b/site/src/jsMain/kotlin/content/footer.kt new file mode 100644 index 0000000..1da83a5 --- /dev/null +++ b/site/src/jsMain/kotlin/content/footer.kt @@ -0,0 +1,21 @@ +package dev.adamko.kotka.site.content + +import androidx.compose.runtime.Composable +import org.jetbrains.compose.web.dom.* + + +@Composable +fun footer() { + Footer2("mt-2 mx-2 bg-dark") { + BFlexRow(classes = "align-items-end bg-body-tertiary p-4") { + copyright() + } + } +} + +@Composable +private fun copyright() { + Div { + Span { Text("Copyright © 2023") } + } +} diff --git a/site/src/jsMain/kotlin/externals/HighlightJs.kt b/site/src/jsMain/kotlin/externals/HighlightJs.kt new file mode 100644 index 0000000..08f48bb --- /dev/null +++ b/site/src/jsMain/kotlin/externals/HighlightJs.kt @@ -0,0 +1,12 @@ +package dev.adamko.kotka.site.externals + +import org.w3c.dom.HTMLElement + +@JsName("hljs") +@JsModule("highlight.js") +@JsNonModule +external class HighlightJs { + companion object { + fun highlightElement(block: HTMLElement) + } +} diff --git a/site/src/jsMain/kotlin/style/Stylesheet.kt b/site/src/jsMain/kotlin/style/Stylesheet.kt new file mode 100644 index 0000000..2721be2 --- /dev/null +++ b/site/src/jsMain/kotlin/style/Stylesheet.kt @@ -0,0 +1,114 @@ +package dev.adamko.kotka.site.style + +import org.jetbrains.compose.web.css.* + +object AppCSSVariables { + val wtColorGreyLight by variable() + val wtColorGreyDark by variable() + + val wtOffsetTopUnit by variable() + val wtHorizontalLayoutGutter by variable() + val wtFlowUnit by variable() + + val wtHeroFontSize by variable() + val wtHeroLineHeight by variable() + val wtSubtitle2FontSize by variable() + val wtSubtitle2LineHeight by variable() + val wtH2FontSize by variable() + val wtH2LineHeight by variable() + val wtH3FontSize by variable() + val wtH3LineHeight by variable() + + val wtColCount by variable() +} + +object AppStylesheet2 : StyleSheet() { + + init { + ".navbar-brand img" style { + width(1.5.cssRem) + } + + ".navbar-brand span" style { + } + + "main-banner" style { +// background("linear-gradient(to bottom right, #fff 0%, #fff 50%, #a48d01 50%, #a48d01 100%)") +// background: linear-gradient(to bottom right, #fff 0%, #fff 50%, #a48d01 50%, #a48d01 100%); + + } + + "font-monospace" style { + property("font-family", "'JetBrains Mono', monospace") + } + } +} + +object AppStylesheet : StyleSheet() { + val composeLogo by style { + maxWidth(100.percent) + } + + val composeTitleTag by style { + padding(5.px, 12.px) + letterSpacing("normal") + fontWeight(400) + lineHeight(24.px) + + position(Position.Relative) + top((-32).px) + marginLeft(8.px) + fontSize(15.px) + backgroundColor(rgba(39, 40, 44, .05)) + color(rgba(39, 40, 44, .7)) + borderRadius(4.px, 4.px, 4.px) + + media(mediaMaxWidth(640.px)) { + self style { + top(-16.px) + } + } + } + + init { + "label, a, button" style { + property( + "font-family", + "system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif" + ) + } + + universal style { + AppCSSVariables.wtColorGreyLight(Color("#f4f4f4")) + AppCSSVariables.wtColorGreyDark(Color("#323236")) + AppCSSVariables.wtOffsetTopUnit(24.px) + + margin(0.px) + } + + media(mediaMaxWidth(640.px)) { + universal style { + AppCSSVariables.wtOffsetTopUnit(16.px) + AppCSSVariables.wtFlowUnit(16.px) + } + } + + attrContains( + name = "class", + value = "wtCol" + ) style { + marginRight(AppCSSVariables.wtHorizontalLayoutGutter.value()) + marginLeft(AppCSSVariables.wtHorizontalLayoutGutter.value()) + + property( + "flex-basis", + "calc(8.33333%*${AppCSSVariables.wtColCount.value()} - ${AppCSSVariables.wtHorizontalLayoutGutter.value()}*2)" + ) + property( + "max-width", + "calc(8.33333%*${AppCSSVariables.wtColCount.value()} - ${AppCSSVariables.wtHorizontalLayoutGutter.value()}*2)" + ) + boxSizing("border-box") + } + } +} diff --git a/site/src/jsMain/kotlin/style/WtCard.kt b/site/src/jsMain/kotlin/style/WtCard.kt new file mode 100644 index 0000000..8f1c9d1 --- /dev/null +++ b/site/src/jsMain/kotlin/style/WtCard.kt @@ -0,0 +1,74 @@ +package dev.adamko.kotka.site.style + +import org.jetbrains.compose.web.css.AlignItems +import org.jetbrains.compose.web.css.Color +import org.jetbrains.compose.web.css.DisplayStyle +import org.jetbrains.compose.web.css.FlexDirection +import org.jetbrains.compose.web.css.LineStyle +import org.jetbrains.compose.web.css.Position +import org.jetbrains.compose.web.css.StyleSheet +import org.jetbrains.compose.web.css.alignItems +import org.jetbrains.compose.web.css.backgroundColor +import org.jetbrains.compose.web.css.border +import org.jetbrains.compose.web.css.boxSizing +import org.jetbrains.compose.web.css.color +import org.jetbrains.compose.web.css.display +import org.jetbrains.compose.web.css.flex +import org.jetbrains.compose.web.css.flexDirection +import org.jetbrains.compose.web.css.flexGrow +import org.jetbrains.compose.web.css.maxWidth +import org.jetbrains.compose.web.css.media +import org.jetbrains.compose.web.css.mediaMaxWidth +import org.jetbrains.compose.web.css.minHeight +import org.jetbrains.compose.web.css.overflow +import org.jetbrains.compose.web.css.padding +import org.jetbrains.compose.web.css.percent +import org.jetbrains.compose.web.css.position +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.rgba + +object WtCards : StyleSheet(AppStylesheet) { + val wtCard by style { + display(DisplayStyle.Flex) + flexDirection(FlexDirection.Column) + border(1.px, LineStyle.Solid) + minHeight(0.px) + boxSizing("border-box") + } + + val wtCardThemeLight by style { + border(color = rgba(39, 40, 44, .2)) + color(Color("#27282c")) + backgroundColor(Color("white")) + } + + val wtCardThemeDark by style { + backgroundColor(rgba(255, 255, 255, 0.05)) + color(rgba(255, 255, 255, 0.6)) + border(0.px) + } + + val wtCardSection by style { + position(Position.Relative) + overflow("auto") + flex("1 1 auto") + minHeight(0.px) + boxSizing("border-box") + padding(24.px, 32.px) + + media(mediaMaxWidth(640.px)) { + self style { padding(16.px) } + } + } + + val wtVerticalFlex by style { + display(DisplayStyle.Flex) + flexDirection(FlexDirection.Column) + alignItems(AlignItems.FlexStart) + } + + val wtVerticalFlexGrow by style { + flexGrow(1) + maxWidth(100.percent) + } +} diff --git a/site/src/jsMain/kotlin/style/WtCol.kt b/site/src/jsMain/kotlin/style/WtCol.kt new file mode 100644 index 0000000..659b8d2 --- /dev/null +++ b/site/src/jsMain/kotlin/style/WtCol.kt @@ -0,0 +1,137 @@ +package dev.adamko.kotka.site.style + +import org.jetbrains.compose.web.css.CSSBuilder +import org.jetbrains.compose.web.css.CSSUnitValue +import org.jetbrains.compose.web.css.GenericStyleSheetBuilder +import org.jetbrains.compose.web.css.StyleSheet +import org.jetbrains.compose.web.css.flexGrow +import org.jetbrains.compose.web.css.maxWidth +import org.jetbrains.compose.web.css.media +import org.jetbrains.compose.web.css.mediaMaxWidth +import org.jetbrains.compose.web.css.percent +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.selectors.CSSSelector + +fun GenericStyleSheetBuilder.mediaMaxWidth( + value: CSSUnitValue, + cssSelector: CSSSelector, + rulesBuild: TBuilder.() -> Unit +) { + media(mediaMaxWidth(value)) { + cssSelector style rulesBuild + } +} + +fun CSSBuilder.forMaxWidth(value: CSSUnitValue, builder: CSSBuilder.() -> Unit) { + mediaMaxWidth(value, self, builder) +} + +object WtCols : StyleSheet(AppStylesheet) { + val wtCol2 by style { + AppCSSVariables.wtColCount(2) + } + + val wtCol3 by style { + AppCSSVariables.wtColCount(3) + } + + val wtCol4 by style { + AppCSSVariables.wtColCount(4) + } + + val wtCol5 by style { + AppCSSVariables.wtColCount(5) + } + + val wtCol6 by style { + AppCSSVariables.wtColCount(6) + } + + val wtCol9 by style { + AppCSSVariables.wtColCount(9) + } + + val wtCol10 by style { + AppCSSVariables.wtColCount(10) + } + + val wtColMd3 by style { + forMaxWidth(1000.px) { + AppCSSVariables.wtColCount(3) + } + } + + val wtColMd4 by style { + forMaxWidth(1000.px) { + AppCSSVariables.wtColCount(4) + } + } + + val wtColMd8 by style { + forMaxWidth(1000.px) { + AppCSSVariables.wtColCount(8) + } + } + + val wtColMd9 by style { + forMaxWidth(1000.px) { + AppCSSVariables.wtColCount(9) + } + } + + val wtColMd10 by style { + forMaxWidth(1000.px) { + AppCSSVariables.wtColCount(10) + } + } + + val wtColMd11 by style { + forMaxWidth(1000.px) { + AppCSSVariables.wtColCount(11) + } + } + + val wtColMd6 by style { + forMaxWidth(1000.px) { + AppCSSVariables.wtColCount(6) + } + } + + val wtColMd12 by style { + forMaxWidth(1000.px) { + AppCSSVariables.wtColCount(12) + } + } + + val wtColSm12 by style { + forMaxWidth(640.px) { + AppCSSVariables.wtColCount(12) + } + } + + val wtColLg6 by style { + forMaxWidth(1276.px) { + AppCSSVariables.wtColCount(6) + } + } + + val wtColSmAutoFill by style { + forMaxWidth(640.px) { + AppCSSVariables.wtColCount(0) + flexGrow(1) + maxWidth(100.percent) + } + } + + val wtColAutoFill by style { + AppCSSVariables.wtColCount(0) + flexGrow(1) + maxWidth(100.percent) + } + + val wtColInline by style { + AppCSSVariables.wtColCount(0) + maxWidth(100.percent) + property("flex-basis", "auto") + } +} diff --git a/site/src/jsMain/kotlin/style/WtContainer.kt b/site/src/jsMain/kotlin/style/WtContainer.kt new file mode 100644 index 0000000..6c0e529 --- /dev/null +++ b/site/src/jsMain/kotlin/style/WtContainer.kt @@ -0,0 +1,46 @@ +package dev.adamko.kotka.site.style + +import org.jetbrains.compose.web.css.StyleSheet +import org.jetbrains.compose.web.css.boxSizing +import org.jetbrains.compose.web.css.maxWidth +import org.jetbrains.compose.web.css.media +import org.jetbrains.compose.web.css.mediaMaxWidth +import org.jetbrains.compose.web.css.paddingLeft +import org.jetbrains.compose.web.css.paddingRight +import org.jetbrains.compose.web.css.percent +import org.jetbrains.compose.web.css.px + +object WtContainer : StyleSheet(AppStylesheet) { + val wtContainer by style { + property("margin-left", "auto") + property("margin-right", "auto") + boxSizing("border-box") + paddingLeft(22.px) + paddingRight(22.px) + maxWidth(1276.px) + + media(mediaMaxWidth(640.px)) { + self style { + maxWidth(100.percent) + paddingLeft(16.px) + paddingRight(16.px) + } + } + + media(mediaMaxWidth(1276.px)) { + self style { + maxWidth(996.px) + paddingLeft(22.px) + paddingRight(22.px) + } + } + + media(mediaMaxWidth(1000.px)) { + self style { + maxWidth(100.percent) + paddingLeft(22.px) + paddingRight(22.px) + } + } + } +} diff --git a/site/src/jsMain/kotlin/style/WtDisplay.kt b/site/src/jsMain/kotlin/style/WtDisplay.kt new file mode 100644 index 0000000..08dc351 --- /dev/null +++ b/site/src/jsMain/kotlin/style/WtDisplay.kt @@ -0,0 +1,30 @@ +package dev.adamko.kotka.site.style + +import org.jetbrains.compose.web.css.DisplayStyle +import org.jetbrains.compose.web.css.StyleSheet +import org.jetbrains.compose.web.css.display +import org.jetbrains.compose.web.css.media +import org.jetbrains.compose.web.css.mediaMaxWidth +import org.jetbrains.compose.web.css.px + +object WtDisplay : StyleSheet(AppStylesheet) { + val wtDisplayNone by style { + display(DisplayStyle.None) + } + + val wtDisplayMdBlock by style { + media(mediaMaxWidth(1000.px)) { + self style { + display(DisplayStyle.Block) + } + } + } + + val wtDisplayMdNone by style { + media(mediaMaxWidth(1000.px)) { + self style { + display(DisplayStyle.None) + } + } + } +} diff --git a/site/src/jsMain/kotlin/style/WtOffest.kt b/site/src/jsMain/kotlin/style/WtOffest.kt new file mode 100644 index 0000000..258e101 --- /dev/null +++ b/site/src/jsMain/kotlin/style/WtOffest.kt @@ -0,0 +1,52 @@ +package dev.adamko.kotka.site.style + +import org.jetbrains.compose.web.css.StyleSheet +import org.jetbrains.compose.web.css.marginTop +import org.jetbrains.compose.web.css.media +import org.jetbrains.compose.web.css.mediaMaxWidth +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.value + +object WtOffsets : StyleSheet(AppStylesheet) { + val wtTopOffset96 by style { + marginTop(96.px) + property( + "margin-top", + "calc(4*${AppCSSVariables.wtOffsetTopUnit.value(24.px)})" + ) + } + + val wtTopOffset24 by style { + marginTop(24.px) + property( + "margin-top", + "calc(1*${AppCSSVariables.wtOffsetTopUnit.value(24.px)})" + ) + } + + val wtTopOffset48 by style { + marginTop(48.px) + } + + val wtTopOffset12 by style { + self style { + marginTop(12.px) + } + } + + val wtTopOffsetSm12 by style { + media(mediaMaxWidth(640.px)) { + self style { + marginTop(12.px) + } + } + } + + val wtTopOffsetSm24 by style { + media(mediaMaxWidth(640.px)) { + self style { + marginTop(24.px) + } + } + } +} diff --git a/site/src/jsMain/kotlin/style/WtRow.kt b/site/src/jsMain/kotlin/style/WtRow.kt new file mode 100644 index 0000000..8b7d647 --- /dev/null +++ b/site/src/jsMain/kotlin/style/WtRow.kt @@ -0,0 +1,53 @@ +package dev.adamko.kotka.site.style + +import org.jetbrains.compose.web.css.AlignItems +import org.jetbrains.compose.web.css.DisplayStyle +import org.jetbrains.compose.web.css.FlexWrap +import org.jetbrains.compose.web.css.StyleSheet +import org.jetbrains.compose.web.css.alignItems +import org.jetbrains.compose.web.css.boxSizing +import org.jetbrains.compose.web.css.display +import org.jetbrains.compose.web.css.flexWrap +import org.jetbrains.compose.web.css.media +import org.jetbrains.compose.web.css.mediaMaxWidth +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.value + +object WtRows : StyleSheet(AppStylesheet) { + + val wtRow by style { + AppCSSVariables.wtHorizontalLayoutGutter(0.px) + display(DisplayStyle.Flex) + flexWrap(FlexWrap.Wrap) + + property( + "margin-right", + "calc(-1*${AppCSSVariables.wtHorizontalLayoutGutter.value()})" + ) + property( + "margin-left", + "calc(-1*${AppCSSVariables.wtHorizontalLayoutGutter.value()})" + ) + boxSizing("border-box") + } + + val wtRowSizeM by style { + AppCSSVariables.wtHorizontalLayoutGutter(16.px) + + media(mediaMaxWidth(640.px)) { + self style { + AppCSSVariables.wtHorizontalLayoutGutter(8.px) + } + } + } + + val wtRowSizeXs by style { + AppCSSVariables.wtHorizontalLayoutGutter(6.px) + } + + val wtRowSmAlignItemsCenter by style { + self style { + alignItems(AlignItems.Center) + } + } +} diff --git a/site/src/jsMain/kotlin/style/WtSection.kt b/site/src/jsMain/kotlin/style/WtSection.kt new file mode 100644 index 0000000..82d5870 --- /dev/null +++ b/site/src/jsMain/kotlin/style/WtSection.kt @@ -0,0 +1,37 @@ +package dev.adamko.kotka.site.style + +import org.jetbrains.compose.web.css.Color +import org.jetbrains.compose.web.css.StyleSheet +import org.jetbrains.compose.web.css.backgroundColor +import org.jetbrains.compose.web.css.boxSizing +import org.jetbrains.compose.web.css.em +import org.jetbrains.compose.web.css.height +import org.jetbrains.compose.web.css.paddingBottom +import org.jetbrains.compose.web.css.paddingTop +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.value + +object WtSections : StyleSheet(AppStylesheet) { + + val wtSection by style { + boxSizing("border-box") + paddingBottom(96.px) + paddingTop(1.px) + property( + propertyName = "padding-bottom", + value = "calc(4*${AppCSSVariables.wtOffsetTopUnit.value(24.px)})" + ) + backgroundColor(Color("#fff")) + } + + val wtSectionBgGrayLight by style { + backgroundColor(Color("#f4f4f4")) + backgroundColor(AppCSSVariables.wtColorGreyLight.value()) + } + + val wtSectionBgGrayDark by style { + backgroundColor(Color("#323236")) + backgroundColor(AppCSSVariables.wtColorGreyDark.value()) + height(5.em) + } +} diff --git a/site/src/jsMain/kotlin/style/WtText.kt b/site/src/jsMain/kotlin/style/WtText.kt new file mode 100644 index 0000000..fd50208 --- /dev/null +++ b/site/src/jsMain/kotlin/style/WtText.kt @@ -0,0 +1,268 @@ +package dev.adamko.kotka.site.style + +import org.jetbrains.compose.web.css.AlignItems +import org.jetbrains.compose.web.css.Color +import org.jetbrains.compose.web.css.DisplayStyle +import org.jetbrains.compose.web.css.JustifyContent +import org.jetbrains.compose.web.css.LineStyle +import org.jetbrains.compose.web.css.StyleSheet +import org.jetbrains.compose.web.css.alignItems +import org.jetbrains.compose.web.css.backgroundColor +import org.jetbrains.compose.web.css.border +import org.jetbrains.compose.web.css.borderRadius +import org.jetbrains.compose.web.css.color +import org.jetbrains.compose.web.css.display +import org.jetbrains.compose.web.css.fontSize +import org.jetbrains.compose.web.css.fontWeight +import org.jetbrains.compose.web.css.justifyContent +import org.jetbrains.compose.web.css.letterSpacing +import org.jetbrains.compose.web.css.lineHeight +import org.jetbrains.compose.web.css.marginLeft +import org.jetbrains.compose.web.css.marginRight +import org.jetbrains.compose.web.css.media +import org.jetbrains.compose.web.css.mediaMaxWidth +import org.jetbrains.compose.web.css.outline +import org.jetbrains.compose.web.css.padding +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.rgb +import org.jetbrains.compose.web.css.rgba +import org.jetbrains.compose.web.css.style +import org.jetbrains.compose.web.css.textDecoration +import org.jetbrains.compose.web.css.unaryMinus +import org.jetbrains.compose.web.css.value +import org.jetbrains.compose.web.css.width + +object WtTexts : StyleSheet(AppStylesheet) { + + val wtHero by style { + color(Color("#27282c")) + fontSize(60.px) + fontSize(AppCSSVariables.wtHeroFontSize.value(60.px)) + letterSpacing(-1.5.px) + fontWeight(900) + lineHeight(64.px) + lineHeight(AppCSSVariables.wtHeroLineHeight.value(64.px)) + + media(mediaMaxWidth(640.px)) { + self style { + AppCSSVariables.wtHeroFontSize(42.px) + AppCSSVariables.wtHeroLineHeight(48.px) + } + } + + property( + "font-family", + "Gotham SSm A,Gotham SSm B,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif" + ) + } + + val wtSubtitle2 by style { + color(Color("#27282c")) + fontSize(28.px) + fontSize(AppCSSVariables.wtSubtitle2FontSize.value(28.px)) + letterSpacing("normal") + fontWeight(300) + lineHeight(40.px) + lineHeight(AppCSSVariables.wtSubtitle2LineHeight.value(40.px)) + + media(mediaMaxWidth(640.px)) { + self style { + AppCSSVariables.wtSubtitle2FontSize(24.px) + AppCSSVariables.wtSubtitle2LineHeight(32.px) + } + } + + property( + "font-family", + "Gotham SSm A,Gotham SSm B,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif" + ) + } + + val wtText1 by style { + color(rgba(39, 40, 44, .7)) + fontSize(18.px) + letterSpacing("normal") + fontWeight(400) + lineHeight(28.px) + + property( + "font-family", + "system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif" + ) + } + + val wtText1HardnessHard by style { + color(rgb(15, 16, 17)) + } + + val wtText1ThemeDark by style { + color(rgba(255, 255, 255, 0.6)) + } + + val wtText2 by style { + color(rgba(39, 40, 44, .7)) + fontSize(15.px) + letterSpacing("normal") + fontWeight(400) + lineHeight(24.px) + + property( + "font-family", + "system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif" + ) + } + + val wtText3 by style { + color(rgba(39, 40, 44, .7)) + fontSize(12.px) + letterSpacing("normal") + fontWeight(400) + lineHeight(16.px) + + property( + "font-family", + "system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif" + ) + } + + val wtTextPale by style { + color(rgba(255, 255, 255, 0.30)) + } + + val wtText2ThemeDark by style { + color(rgba(255, 255, 255, 0.6)) + } + + val wtText3ThemeDark by style { + color(rgba(255, 255, 255, 0.6)) + } + + val wtLink by style { + property("border-bottom", "1px solid transparent") + property("text-decoration", "none") + color(Color("#167dff")) + + hover(self) style { + property("border-bottom-color", "#167dff") + } + } + + val wtH2 by style { + color(Color("#27282c")) + fontSize(31.px) + fontSize(AppCSSVariables.wtH2FontSize.value(31.px)) + letterSpacing(-.5.px) + fontWeight(700) + lineHeight(40.px) + lineHeight(40.px) + + media(mediaMaxWidth(640.px)) { + self style { + AppCSSVariables.wtH2FontSize(24.px) + AppCSSVariables.wtH2LineHeight(32.px) + } + } + + property( + "font-family", + "Gotham SSm A,Gotham SSm B,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif" + ) + } + + val wtH2ThemeDark by style { + color(Color("#fff")) + } + + val wtH3 by style { + color(Color("#27282c")) + fontSize(21.px) + fontSize(AppCSSVariables.wtH3FontSize.value(20.px)) + letterSpacing("normal") + fontWeight(700) + lineHeight(28.px) + lineHeight(AppCSSVariables.wtH3LineHeight.value(28.px)) + + property( + "font-family", + "system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif" + ) + } + + val wtH3ThemeDark by style { + color(Color("#fff")) + } + + val wtButton by style { + color(Color("white")) + backgroundColor(Color("#167dff")) + fontSize(15.px) + display(DisplayStyle.InlineBlock) + textDecoration("none") + borderRadius(24.px) + padding(12.px, 32.px) + lineHeight(24.px) + fontWeight(400) + property("width", "fit-content") + + hover(self) style { + backgroundColor(rgba(22, 125, 255, .8)) + } + } + + val wtLangButton by style { + display(DisplayStyle.LegacyInlineFlex) + justifyContent(JustifyContent.Center) + alignItems(AlignItems.Center) + backgroundColor(Color("transparent")) + border(0.px) + + outline("none") + + hover(self) style { + backgroundColor(rgba(255, 255, 255, 0.1)) + } + } + + val wtButtonContrast by style { + color(Color("white")) + backgroundColor(Color("#27282c")) + + hover(self) style { + backgroundColor(rgba(39, 40, 44, .7)) + } + } + + val wtButtonThemeLight by style { + color(Color("#27282c")) + backgroundColor(Color("transparent")) + border { + style(LineStyle.Solid) + width(1.px) + color(Color("#27282c")) + } + + hover(self) style { + backgroundColor(rgba(39, 40, 44, .05)) + } + } + + val wtSocialButtonItem by style { + marginRight(16.px) + marginLeft(16.px) + padding(12.px) + backgroundColor(Color("transparent")) + display(DisplayStyle.LegacyInlineFlex) + + hover(self) style { + backgroundColor(rgba(255, 255, 255, 0.1)) + borderRadius(24.px) + } + + media(mediaMaxWidth(640.px)) { + self style { + marginRight(8.px) + marginLeft(8.px) + } + } + } +} diff --git a/site/src/jsMain/resources/bootstrap-icons.css b/site/src/jsMain/resources/bootstrap-icons.css new file mode 100644 index 0000000..7ebc9f1 --- /dev/null +++ b/site/src/jsMain/resources/bootstrap-icons.css @@ -0,0 +1,2018 @@ +@font-face { + font-display: block; + font-family: "bootstrap-icons"; + src: url("./fonts/bootstrap-icons.woff2?24e3eb84d0bcaf83d77f904c78ac1f47") format("woff2"), +url("./fonts/bootstrap-icons.woff?24e3eb84d0bcaf83d77f904c78ac1f47") format("woff"); +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: bootstrap-icons !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.bi-123::before { content: "\f67f"; } +.bi-alarm-fill::before { content: "\f101"; } +.bi-alarm::before { content: "\f102"; } +.bi-align-bottom::before { content: "\f103"; } +.bi-align-center::before { content: "\f104"; } +.bi-align-end::before { content: "\f105"; } +.bi-align-middle::before { content: "\f106"; } +.bi-align-start::before { content: "\f107"; } +.bi-align-top::before { content: "\f108"; } +.bi-alt::before { content: "\f109"; } +.bi-app-indicator::before { content: "\f10a"; } +.bi-app::before { content: "\f10b"; } +.bi-archive-fill::before { content: "\f10c"; } +.bi-archive::before { content: "\f10d"; } +.bi-arrow-90deg-down::before { content: "\f10e"; } +.bi-arrow-90deg-left::before { content: "\f10f"; } +.bi-arrow-90deg-right::before { content: "\f110"; } +.bi-arrow-90deg-up::before { content: "\f111"; } +.bi-arrow-bar-down::before { content: "\f112"; } +.bi-arrow-bar-left::before { content: "\f113"; } +.bi-arrow-bar-right::before { content: "\f114"; } +.bi-arrow-bar-up::before { content: "\f115"; } +.bi-arrow-clockwise::before { content: "\f116"; } +.bi-arrow-counterclockwise::before { content: "\f117"; } +.bi-arrow-down-circle-fill::before { content: "\f118"; } +.bi-arrow-down-circle::before { content: "\f119"; } +.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } +.bi-arrow-down-left-circle::before { content: "\f11b"; } +.bi-arrow-down-left-square-fill::before { content: "\f11c"; } +.bi-arrow-down-left-square::before { content: "\f11d"; } +.bi-arrow-down-left::before { content: "\f11e"; } +.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } +.bi-arrow-down-right-circle::before { content: "\f120"; } +.bi-arrow-down-right-square-fill::before { content: "\f121"; } +.bi-arrow-down-right-square::before { content: "\f122"; } +.bi-arrow-down-right::before { content: "\f123"; } +.bi-arrow-down-short::before { content: "\f124"; } +.bi-arrow-down-square-fill::before { content: "\f125"; } +.bi-arrow-down-square::before { content: "\f126"; } +.bi-arrow-down-up::before { content: "\f127"; } +.bi-arrow-down::before { content: "\f128"; } +.bi-arrow-left-circle-fill::before { content: "\f129"; } +.bi-arrow-left-circle::before { content: "\f12a"; } +.bi-arrow-left-right::before { content: "\f12b"; } +.bi-arrow-left-short::before { content: "\f12c"; } +.bi-arrow-left-square-fill::before { content: "\f12d"; } +.bi-arrow-left-square::before { content: "\f12e"; } +.bi-arrow-left::before { content: "\f12f"; } +.bi-arrow-repeat::before { content: "\f130"; } +.bi-arrow-return-left::before { content: "\f131"; } +.bi-arrow-return-right::before { content: "\f132"; } +.bi-arrow-right-circle-fill::before { content: "\f133"; } +.bi-arrow-right-circle::before { content: "\f134"; } +.bi-arrow-right-short::before { content: "\f135"; } +.bi-arrow-right-square-fill::before { content: "\f136"; } +.bi-arrow-right-square::before { content: "\f137"; } +.bi-arrow-right::before { content: "\f138"; } +.bi-arrow-up-circle-fill::before { content: "\f139"; } +.bi-arrow-up-circle::before { content: "\f13a"; } +.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } +.bi-arrow-up-left-circle::before { content: "\f13c"; } +.bi-arrow-up-left-square-fill::before { content: "\f13d"; } +.bi-arrow-up-left-square::before { content: "\f13e"; } +.bi-arrow-up-left::before { content: "\f13f"; } +.bi-arrow-up-right-circle-fill::before { content: "\f140"; } +.bi-arrow-up-right-circle::before { content: "\f141"; } +.bi-arrow-up-right-square-fill::before { content: "\f142"; } +.bi-arrow-up-right-square::before { content: "\f143"; } +.bi-arrow-up-right::before { content: "\f144"; } +.bi-arrow-up-short::before { content: "\f145"; } +.bi-arrow-up-square-fill::before { content: "\f146"; } +.bi-arrow-up-square::before { content: "\f147"; } +.bi-arrow-up::before { content: "\f148"; } +.bi-arrows-angle-contract::before { content: "\f149"; } +.bi-arrows-angle-expand::before { content: "\f14a"; } +.bi-arrows-collapse::before { content: "\f14b"; } +.bi-arrows-expand::before { content: "\f14c"; } +.bi-arrows-fullscreen::before { content: "\f14d"; } +.bi-arrows-move::before { content: "\f14e"; } +.bi-aspect-ratio-fill::before { content: "\f14f"; } +.bi-aspect-ratio::before { content: "\f150"; } +.bi-asterisk::before { content: "\f151"; } +.bi-at::before { content: "\f152"; } +.bi-award-fill::before { content: "\f153"; } +.bi-award::before { content: "\f154"; } +.bi-back::before { content: "\f155"; } +.bi-backspace-fill::before { content: "\f156"; } +.bi-backspace-reverse-fill::before { content: "\f157"; } +.bi-backspace-reverse::before { content: "\f158"; } +.bi-backspace::before { content: "\f159"; } +.bi-badge-3d-fill::before { content: "\f15a"; } +.bi-badge-3d::before { content: "\f15b"; } +.bi-badge-4k-fill::before { content: "\f15c"; } +.bi-badge-4k::before { content: "\f15d"; } +.bi-badge-8k-fill::before { content: "\f15e"; } +.bi-badge-8k::before { content: "\f15f"; } +.bi-badge-ad-fill::before { content: "\f160"; } +.bi-badge-ad::before { content: "\f161"; } +.bi-badge-ar-fill::before { content: "\f162"; } +.bi-badge-ar::before { content: "\f163"; } +.bi-badge-cc-fill::before { content: "\f164"; } +.bi-badge-cc::before { content: "\f165"; } +.bi-badge-hd-fill::before { content: "\f166"; } +.bi-badge-hd::before { content: "\f167"; } +.bi-badge-tm-fill::before { content: "\f168"; } +.bi-badge-tm::before { content: "\f169"; } +.bi-badge-vo-fill::before { content: "\f16a"; } +.bi-badge-vo::before { content: "\f16b"; } +.bi-badge-vr-fill::before { content: "\f16c"; } +.bi-badge-vr::before { content: "\f16d"; } +.bi-badge-wc-fill::before { content: "\f16e"; } +.bi-badge-wc::before { content: "\f16f"; } +.bi-bag-check-fill::before { content: "\f170"; } +.bi-bag-check::before { content: "\f171"; } +.bi-bag-dash-fill::before { content: "\f172"; } +.bi-bag-dash::before { content: "\f173"; } +.bi-bag-fill::before { content: "\f174"; } +.bi-bag-plus-fill::before { content: "\f175"; } +.bi-bag-plus::before { content: "\f176"; } +.bi-bag-x-fill::before { content: "\f177"; } +.bi-bag-x::before { content: "\f178"; } +.bi-bag::before { content: "\f179"; } +.bi-bar-chart-fill::before { content: "\f17a"; } +.bi-bar-chart-line-fill::before { content: "\f17b"; } +.bi-bar-chart-line::before { content: "\f17c"; } +.bi-bar-chart-steps::before { content: "\f17d"; } +.bi-bar-chart::before { content: "\f17e"; } +.bi-basket-fill::before { content: "\f17f"; } +.bi-basket::before { content: "\f180"; } +.bi-basket2-fill::before { content: "\f181"; } +.bi-basket2::before { content: "\f182"; } +.bi-basket3-fill::before { content: "\f183"; } +.bi-basket3::before { content: "\f184"; } +.bi-battery-charging::before { content: "\f185"; } +.bi-battery-full::before { content: "\f186"; } +.bi-battery-half::before { content: "\f187"; } +.bi-battery::before { content: "\f188"; } +.bi-bell-fill::before { content: "\f189"; } +.bi-bell::before { content: "\f18a"; } +.bi-bezier::before { content: "\f18b"; } +.bi-bezier2::before { content: "\f18c"; } +.bi-bicycle::before { content: "\f18d"; } +.bi-binoculars-fill::before { content: "\f18e"; } +.bi-binoculars::before { content: "\f18f"; } +.bi-blockquote-left::before { content: "\f190"; } +.bi-blockquote-right::before { content: "\f191"; } +.bi-book-fill::before { content: "\f192"; } +.bi-book-half::before { content: "\f193"; } +.bi-book::before { content: "\f194"; } +.bi-bookmark-check-fill::before { content: "\f195"; } +.bi-bookmark-check::before { content: "\f196"; } +.bi-bookmark-dash-fill::before { content: "\f197"; } +.bi-bookmark-dash::before { content: "\f198"; } +.bi-bookmark-fill::before { content: "\f199"; } +.bi-bookmark-heart-fill::before { content: "\f19a"; } +.bi-bookmark-heart::before { content: "\f19b"; } +.bi-bookmark-plus-fill::before { content: "\f19c"; } +.bi-bookmark-plus::before { content: "\f19d"; } +.bi-bookmark-star-fill::before { content: "\f19e"; } +.bi-bookmark-star::before { content: "\f19f"; } +.bi-bookmark-x-fill::before { content: "\f1a0"; } +.bi-bookmark-x::before { content: "\f1a1"; } +.bi-bookmark::before { content: "\f1a2"; } +.bi-bookmarks-fill::before { content: "\f1a3"; } +.bi-bookmarks::before { content: "\f1a4"; } +.bi-bookshelf::before { content: "\f1a5"; } +.bi-bootstrap-fill::before { content: "\f1a6"; } +.bi-bootstrap-reboot::before { content: "\f1a7"; } +.bi-bootstrap::before { content: "\f1a8"; } +.bi-border-all::before { content: "\f1a9"; } +.bi-border-bottom::before { content: "\f1aa"; } +.bi-border-center::before { content: "\f1ab"; } +.bi-border-inner::before { content: "\f1ac"; } +.bi-border-left::before { content: "\f1ad"; } +.bi-border-middle::before { content: "\f1ae"; } +.bi-border-outer::before { content: "\f1af"; } +.bi-border-right::before { content: "\f1b0"; } +.bi-border-style::before { content: "\f1b1"; } +.bi-border-top::before { content: "\f1b2"; } +.bi-border-width::before { content: "\f1b3"; } +.bi-border::before { content: "\f1b4"; } +.bi-bounding-box-circles::before { content: "\f1b5"; } +.bi-bounding-box::before { content: "\f1b6"; } +.bi-box-arrow-down-left::before { content: "\f1b7"; } +.bi-box-arrow-down-right::before { content: "\f1b8"; } +.bi-box-arrow-down::before { content: "\f1b9"; } +.bi-box-arrow-in-down-left::before { content: "\f1ba"; } +.bi-box-arrow-in-down-right::before { content: "\f1bb"; } +.bi-box-arrow-in-down::before { content: "\f1bc"; } +.bi-box-arrow-in-left::before { content: "\f1bd"; } +.bi-box-arrow-in-right::before { content: "\f1be"; } +.bi-box-arrow-in-up-left::before { content: "\f1bf"; } +.bi-box-arrow-in-up-right::before { content: "\f1c0"; } +.bi-box-arrow-in-up::before { content: "\f1c1"; } +.bi-box-arrow-left::before { content: "\f1c2"; } +.bi-box-arrow-right::before { content: "\f1c3"; } +.bi-box-arrow-up-left::before { content: "\f1c4"; } +.bi-box-arrow-up-right::before { content: "\f1c5"; } +.bi-box-arrow-up::before { content: "\f1c6"; } +.bi-box-seam::before { content: "\f1c7"; } +.bi-box::before { content: "\f1c8"; } +.bi-braces::before { content: "\f1c9"; } +.bi-bricks::before { content: "\f1ca"; } +.bi-briefcase-fill::before { content: "\f1cb"; } +.bi-briefcase::before { content: "\f1cc"; } +.bi-brightness-alt-high-fill::before { content: "\f1cd"; } +.bi-brightness-alt-high::before { content: "\f1ce"; } +.bi-brightness-alt-low-fill::before { content: "\f1cf"; } +.bi-brightness-alt-low::before { content: "\f1d0"; } +.bi-brightness-high-fill::before { content: "\f1d1"; } +.bi-brightness-high::before { content: "\f1d2"; } +.bi-brightness-low-fill::before { content: "\f1d3"; } +.bi-brightness-low::before { content: "\f1d4"; } +.bi-broadcast-pin::before { content: "\f1d5"; } +.bi-broadcast::before { content: "\f1d6"; } +.bi-brush-fill::before { content: "\f1d7"; } +.bi-brush::before { content: "\f1d8"; } +.bi-bucket-fill::before { content: "\f1d9"; } +.bi-bucket::before { content: "\f1da"; } +.bi-bug-fill::before { content: "\f1db"; } +.bi-bug::before { content: "\f1dc"; } +.bi-building::before { content: "\f1dd"; } +.bi-bullseye::before { content: "\f1de"; } +.bi-calculator-fill::before { content: "\f1df"; } +.bi-calculator::before { content: "\f1e0"; } +.bi-calendar-check-fill::before { content: "\f1e1"; } +.bi-calendar-check::before { content: "\f1e2"; } +.bi-calendar-date-fill::before { content: "\f1e3"; } +.bi-calendar-date::before { content: "\f1e4"; } +.bi-calendar-day-fill::before { content: "\f1e5"; } +.bi-calendar-day::before { content: "\f1e6"; } +.bi-calendar-event-fill::before { content: "\f1e7"; } +.bi-calendar-event::before { content: "\f1e8"; } +.bi-calendar-fill::before { content: "\f1e9"; } +.bi-calendar-minus-fill::before { content: "\f1ea"; } +.bi-calendar-minus::before { content: "\f1eb"; } +.bi-calendar-month-fill::before { content: "\f1ec"; } +.bi-calendar-month::before { content: "\f1ed"; } +.bi-calendar-plus-fill::before { content: "\f1ee"; } +.bi-calendar-plus::before { content: "\f1ef"; } +.bi-calendar-range-fill::before { content: "\f1f0"; } +.bi-calendar-range::before { content: "\f1f1"; } +.bi-calendar-week-fill::before { content: "\f1f2"; } +.bi-calendar-week::before { content: "\f1f3"; } +.bi-calendar-x-fill::before { content: "\f1f4"; } +.bi-calendar-x::before { content: "\f1f5"; } +.bi-calendar::before { content: "\f1f6"; } +.bi-calendar2-check-fill::before { content: "\f1f7"; } +.bi-calendar2-check::before { content: "\f1f8"; } +.bi-calendar2-date-fill::before { content: "\f1f9"; } +.bi-calendar2-date::before { content: "\f1fa"; } +.bi-calendar2-day-fill::before { content: "\f1fb"; } +.bi-calendar2-day::before { content: "\f1fc"; } +.bi-calendar2-event-fill::before { content: "\f1fd"; } +.bi-calendar2-event::before { content: "\f1fe"; } +.bi-calendar2-fill::before { content: "\f1ff"; } +.bi-calendar2-minus-fill::before { content: "\f200"; } +.bi-calendar2-minus::before { content: "\f201"; } +.bi-calendar2-month-fill::before { content: "\f202"; } +.bi-calendar2-month::before { content: "\f203"; } +.bi-calendar2-plus-fill::before { content: "\f204"; } +.bi-calendar2-plus::before { content: "\f205"; } +.bi-calendar2-range-fill::before { content: "\f206"; } +.bi-calendar2-range::before { content: "\f207"; } +.bi-calendar2-week-fill::before { content: "\f208"; } +.bi-calendar2-week::before { content: "\f209"; } +.bi-calendar2-x-fill::before { content: "\f20a"; } +.bi-calendar2-x::before { content: "\f20b"; } +.bi-calendar2::before { content: "\f20c"; } +.bi-calendar3-event-fill::before { content: "\f20d"; } +.bi-calendar3-event::before { content: "\f20e"; } +.bi-calendar3-fill::before { content: "\f20f"; } +.bi-calendar3-range-fill::before { content: "\f210"; } +.bi-calendar3-range::before { content: "\f211"; } +.bi-calendar3-week-fill::before { content: "\f212"; } +.bi-calendar3-week::before { content: "\f213"; } +.bi-calendar3::before { content: "\f214"; } +.bi-calendar4-event::before { content: "\f215"; } +.bi-calendar4-range::before { content: "\f216"; } +.bi-calendar4-week::before { content: "\f217"; } +.bi-calendar4::before { content: "\f218"; } +.bi-camera-fill::before { content: "\f219"; } +.bi-camera-reels-fill::before { content: "\f21a"; } +.bi-camera-reels::before { content: "\f21b"; } +.bi-camera-video-fill::before { content: "\f21c"; } +.bi-camera-video-off-fill::before { content: "\f21d"; } +.bi-camera-video-off::before { content: "\f21e"; } +.bi-camera-video::before { content: "\f21f"; } +.bi-camera::before { content: "\f220"; } +.bi-camera2::before { content: "\f221"; } +.bi-capslock-fill::before { content: "\f222"; } +.bi-capslock::before { content: "\f223"; } +.bi-card-checklist::before { content: "\f224"; } +.bi-card-heading::before { content: "\f225"; } +.bi-card-image::before { content: "\f226"; } +.bi-card-list::before { content: "\f227"; } +.bi-card-text::before { content: "\f228"; } +.bi-caret-down-fill::before { content: "\f229"; } +.bi-caret-down-square-fill::before { content: "\f22a"; } +.bi-caret-down-square::before { content: "\f22b"; } +.bi-caret-down::before { content: "\f22c"; } +.bi-caret-left-fill::before { content: "\f22d"; } +.bi-caret-left-square-fill::before { content: "\f22e"; } +.bi-caret-left-square::before { content: "\f22f"; } +.bi-caret-left::before { content: "\f230"; } +.bi-caret-right-fill::before { content: "\f231"; } +.bi-caret-right-square-fill::before { content: "\f232"; } +.bi-caret-right-square::before { content: "\f233"; } +.bi-caret-right::before { content: "\f234"; } +.bi-caret-up-fill::before { content: "\f235"; } +.bi-caret-up-square-fill::before { content: "\f236"; } +.bi-caret-up-square::before { content: "\f237"; } +.bi-caret-up::before { content: "\f238"; } +.bi-cart-check-fill::before { content: "\f239"; } +.bi-cart-check::before { content: "\f23a"; } +.bi-cart-dash-fill::before { content: "\f23b"; } +.bi-cart-dash::before { content: "\f23c"; } +.bi-cart-fill::before { content: "\f23d"; } +.bi-cart-plus-fill::before { content: "\f23e"; } +.bi-cart-plus::before { content: "\f23f"; } +.bi-cart-x-fill::before { content: "\f240"; } +.bi-cart-x::before { content: "\f241"; } +.bi-cart::before { content: "\f242"; } +.bi-cart2::before { content: "\f243"; } +.bi-cart3::before { content: "\f244"; } +.bi-cart4::before { content: "\f245"; } +.bi-cash-stack::before { content: "\f246"; } +.bi-cash::before { content: "\f247"; } +.bi-cast::before { content: "\f248"; } +.bi-chat-dots-fill::before { content: "\f249"; } +.bi-chat-dots::before { content: "\f24a"; } +.bi-chat-fill::before { content: "\f24b"; } +.bi-chat-left-dots-fill::before { content: "\f24c"; } +.bi-chat-left-dots::before { content: "\f24d"; } +.bi-chat-left-fill::before { content: "\f24e"; } +.bi-chat-left-quote-fill::before { content: "\f24f"; } +.bi-chat-left-quote::before { content: "\f250"; } +.bi-chat-left-text-fill::before { content: "\f251"; } +.bi-chat-left-text::before { content: "\f252"; } +.bi-chat-left::before { content: "\f253"; } +.bi-chat-quote-fill::before { content: "\f254"; } +.bi-chat-quote::before { content: "\f255"; } +.bi-chat-right-dots-fill::before { content: "\f256"; } +.bi-chat-right-dots::before { content: "\f257"; } +.bi-chat-right-fill::before { content: "\f258"; } +.bi-chat-right-quote-fill::before { content: "\f259"; } +.bi-chat-right-quote::before { content: "\f25a"; } +.bi-chat-right-text-fill::before { content: "\f25b"; } +.bi-chat-right-text::before { content: "\f25c"; } +.bi-chat-right::before { content: "\f25d"; } +.bi-chat-square-dots-fill::before { content: "\f25e"; } +.bi-chat-square-dots::before { content: "\f25f"; } +.bi-chat-square-fill::before { content: "\f260"; } +.bi-chat-square-quote-fill::before { content: "\f261"; } +.bi-chat-square-quote::before { content: "\f262"; } +.bi-chat-square-text-fill::before { content: "\f263"; } +.bi-chat-square-text::before { content: "\f264"; } +.bi-chat-square::before { content: "\f265"; } +.bi-chat-text-fill::before { content: "\f266"; } +.bi-chat-text::before { content: "\f267"; } +.bi-chat::before { content: "\f268"; } +.bi-check-all::before { content: "\f269"; } +.bi-check-circle-fill::before { content: "\f26a"; } +.bi-check-circle::before { content: "\f26b"; } +.bi-check-square-fill::before { content: "\f26c"; } +.bi-check-square::before { content: "\f26d"; } +.bi-check::before { content: "\f26e"; } +.bi-check2-all::before { content: "\f26f"; } +.bi-check2-circle::before { content: "\f270"; } +.bi-check2-square::before { content: "\f271"; } +.bi-check2::before { content: "\f272"; } +.bi-chevron-bar-contract::before { content: "\f273"; } +.bi-chevron-bar-down::before { content: "\f274"; } +.bi-chevron-bar-expand::before { content: "\f275"; } +.bi-chevron-bar-left::before { content: "\f276"; } +.bi-chevron-bar-right::before { content: "\f277"; } +.bi-chevron-bar-up::before { content: "\f278"; } +.bi-chevron-compact-down::before { content: "\f279"; } +.bi-chevron-compact-left::before { content: "\f27a"; } +.bi-chevron-compact-right::before { content: "\f27b"; } +.bi-chevron-compact-up::before { content: "\f27c"; } +.bi-chevron-contract::before { content: "\f27d"; } +.bi-chevron-double-down::before { content: "\f27e"; } +.bi-chevron-double-left::before { content: "\f27f"; } +.bi-chevron-double-right::before { content: "\f280"; } +.bi-chevron-double-up::before { content: "\f281"; } +.bi-chevron-down::before { content: "\f282"; } +.bi-chevron-expand::before { content: "\f283"; } +.bi-chevron-left::before { content: "\f284"; } +.bi-chevron-right::before { content: "\f285"; } +.bi-chevron-up::before { content: "\f286"; } +.bi-circle-fill::before { content: "\f287"; } +.bi-circle-half::before { content: "\f288"; } +.bi-circle-square::before { content: "\f289"; } +.bi-circle::before { content: "\f28a"; } +.bi-clipboard-check::before { content: "\f28b"; } +.bi-clipboard-data::before { content: "\f28c"; } +.bi-clipboard-minus::before { content: "\f28d"; } +.bi-clipboard-plus::before { content: "\f28e"; } +.bi-clipboard-x::before { content: "\f28f"; } +.bi-clipboard::before { content: "\f290"; } +.bi-clock-fill::before { content: "\f291"; } +.bi-clock-history::before { content: "\f292"; } +.bi-clock::before { content: "\f293"; } +.bi-cloud-arrow-down-fill::before { content: "\f294"; } +.bi-cloud-arrow-down::before { content: "\f295"; } +.bi-cloud-arrow-up-fill::before { content: "\f296"; } +.bi-cloud-arrow-up::before { content: "\f297"; } +.bi-cloud-check-fill::before { content: "\f298"; } +.bi-cloud-check::before { content: "\f299"; } +.bi-cloud-download-fill::before { content: "\f29a"; } +.bi-cloud-download::before { content: "\f29b"; } +.bi-cloud-drizzle-fill::before { content: "\f29c"; } +.bi-cloud-drizzle::before { content: "\f29d"; } +.bi-cloud-fill::before { content: "\f29e"; } +.bi-cloud-fog-fill::before { content: "\f29f"; } +.bi-cloud-fog::before { content: "\f2a0"; } +.bi-cloud-fog2-fill::before { content: "\f2a1"; } +.bi-cloud-fog2::before { content: "\f2a2"; } +.bi-cloud-hail-fill::before { content: "\f2a3"; } +.bi-cloud-hail::before { content: "\f2a4"; } +.bi-cloud-haze-1::before { content: "\f2a5"; } +.bi-cloud-haze-fill::before { content: "\f2a6"; } +.bi-cloud-haze::before { content: "\f2a7"; } +.bi-cloud-haze2-fill::before { content: "\f2a8"; } +.bi-cloud-lightning-fill::before { content: "\f2a9"; } +.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } +.bi-cloud-lightning-rain::before { content: "\f2ab"; } +.bi-cloud-lightning::before { content: "\f2ac"; } +.bi-cloud-minus-fill::before { content: "\f2ad"; } +.bi-cloud-minus::before { content: "\f2ae"; } +.bi-cloud-moon-fill::before { content: "\f2af"; } +.bi-cloud-moon::before { content: "\f2b0"; } +.bi-cloud-plus-fill::before { content: "\f2b1"; } +.bi-cloud-plus::before { content: "\f2b2"; } +.bi-cloud-rain-fill::before { content: "\f2b3"; } +.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } +.bi-cloud-rain-heavy::before { content: "\f2b5"; } +.bi-cloud-rain::before { content: "\f2b6"; } +.bi-cloud-slash-fill::before { content: "\f2b7"; } +.bi-cloud-slash::before { content: "\f2b8"; } +.bi-cloud-sleet-fill::before { content: "\f2b9"; } +.bi-cloud-sleet::before { content: "\f2ba"; } +.bi-cloud-snow-fill::before { content: "\f2bb"; } +.bi-cloud-snow::before { content: "\f2bc"; } +.bi-cloud-sun-fill::before { content: "\f2bd"; } +.bi-cloud-sun::before { content: "\f2be"; } +.bi-cloud-upload-fill::before { content: "\f2bf"; } +.bi-cloud-upload::before { content: "\f2c0"; } +.bi-cloud::before { content: "\f2c1"; } +.bi-clouds-fill::before { content: "\f2c2"; } +.bi-clouds::before { content: "\f2c3"; } +.bi-cloudy-fill::before { content: "\f2c4"; } +.bi-cloudy::before { content: "\f2c5"; } +.bi-code-slash::before { content: "\f2c6"; } +.bi-code-square::before { content: "\f2c7"; } +.bi-code::before { content: "\f2c8"; } +.bi-collection-fill::before { content: "\f2c9"; } +.bi-collection-play-fill::before { content: "\f2ca"; } +.bi-collection-play::before { content: "\f2cb"; } +.bi-collection::before { content: "\f2cc"; } +.bi-columns-gap::before { content: "\f2cd"; } +.bi-columns::before { content: "\f2ce"; } +.bi-command::before { content: "\f2cf"; } +.bi-compass-fill::before { content: "\f2d0"; } +.bi-compass::before { content: "\f2d1"; } +.bi-cone-striped::before { content: "\f2d2"; } +.bi-cone::before { content: "\f2d3"; } +.bi-controller::before { content: "\f2d4"; } +.bi-cpu-fill::before { content: "\f2d5"; } +.bi-cpu::before { content: "\f2d6"; } +.bi-credit-card-2-back-fill::before { content: "\f2d7"; } +.bi-credit-card-2-back::before { content: "\f2d8"; } +.bi-credit-card-2-front-fill::before { content: "\f2d9"; } +.bi-credit-card-2-front::before { content: "\f2da"; } +.bi-credit-card-fill::before { content: "\f2db"; } +.bi-credit-card::before { content: "\f2dc"; } +.bi-crop::before { content: "\f2dd"; } +.bi-cup-fill::before { content: "\f2de"; } +.bi-cup-straw::before { content: "\f2df"; } +.bi-cup::before { content: "\f2e0"; } +.bi-cursor-fill::before { content: "\f2e1"; } +.bi-cursor-text::before { content: "\f2e2"; } +.bi-cursor::before { content: "\f2e3"; } +.bi-dash-circle-dotted::before { content: "\f2e4"; } +.bi-dash-circle-fill::before { content: "\f2e5"; } +.bi-dash-circle::before { content: "\f2e6"; } +.bi-dash-square-dotted::before { content: "\f2e7"; } +.bi-dash-square-fill::before { content: "\f2e8"; } +.bi-dash-square::before { content: "\f2e9"; } +.bi-dash::before { content: "\f2ea"; } +.bi-diagram-2-fill::before { content: "\f2eb"; } +.bi-diagram-2::before { content: "\f2ec"; } +.bi-diagram-3-fill::before { content: "\f2ed"; } +.bi-diagram-3::before { content: "\f2ee"; } +.bi-diamond-fill::before { content: "\f2ef"; } +.bi-diamond-half::before { content: "\f2f0"; } +.bi-diamond::before { content: "\f2f1"; } +.bi-dice-1-fill::before { content: "\f2f2"; } +.bi-dice-1::before { content: "\f2f3"; } +.bi-dice-2-fill::before { content: "\f2f4"; } +.bi-dice-2::before { content: "\f2f5"; } +.bi-dice-3-fill::before { content: "\f2f6"; } +.bi-dice-3::before { content: "\f2f7"; } +.bi-dice-4-fill::before { content: "\f2f8"; } +.bi-dice-4::before { content: "\f2f9"; } +.bi-dice-5-fill::before { content: "\f2fa"; } +.bi-dice-5::before { content: "\f2fb"; } +.bi-dice-6-fill::before { content: "\f2fc"; } +.bi-dice-6::before { content: "\f2fd"; } +.bi-disc-fill::before { content: "\f2fe"; } +.bi-disc::before { content: "\f2ff"; } +.bi-discord::before { content: "\f300"; } +.bi-display-fill::before { content: "\f301"; } +.bi-display::before { content: "\f302"; } +.bi-distribute-horizontal::before { content: "\f303"; } +.bi-distribute-vertical::before { content: "\f304"; } +.bi-door-closed-fill::before { content: "\f305"; } +.bi-door-closed::before { content: "\f306"; } +.bi-door-open-fill::before { content: "\f307"; } +.bi-door-open::before { content: "\f308"; } +.bi-dot::before { content: "\f309"; } +.bi-download::before { content: "\f30a"; } +.bi-droplet-fill::before { content: "\f30b"; } +.bi-droplet-half::before { content: "\f30c"; } +.bi-droplet::before { content: "\f30d"; } +.bi-earbuds::before { content: "\f30e"; } +.bi-easel-fill::before { content: "\f30f"; } +.bi-easel::before { content: "\f310"; } +.bi-egg-fill::before { content: "\f311"; } +.bi-egg-fried::before { content: "\f312"; } +.bi-egg::before { content: "\f313"; } +.bi-eject-fill::before { content: "\f314"; } +.bi-eject::before { content: "\f315"; } +.bi-emoji-angry-fill::before { content: "\f316"; } +.bi-emoji-angry::before { content: "\f317"; } +.bi-emoji-dizzy-fill::before { content: "\f318"; } +.bi-emoji-dizzy::before { content: "\f319"; } +.bi-emoji-expressionless-fill::before { content: "\f31a"; } +.bi-emoji-expressionless::before { content: "\f31b"; } +.bi-emoji-frown-fill::before { content: "\f31c"; } +.bi-emoji-frown::before { content: "\f31d"; } +.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } +.bi-emoji-heart-eyes::before { content: "\f31f"; } +.bi-emoji-laughing-fill::before { content: "\f320"; } +.bi-emoji-laughing::before { content: "\f321"; } +.bi-emoji-neutral-fill::before { content: "\f322"; } +.bi-emoji-neutral::before { content: "\f323"; } +.bi-emoji-smile-fill::before { content: "\f324"; } +.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } +.bi-emoji-smile-upside-down::before { content: "\f326"; } +.bi-emoji-smile::before { content: "\f327"; } +.bi-emoji-sunglasses-fill::before { content: "\f328"; } +.bi-emoji-sunglasses::before { content: "\f329"; } +.bi-emoji-wink-fill::before { content: "\f32a"; } +.bi-emoji-wink::before { content: "\f32b"; } +.bi-envelope-fill::before { content: "\f32c"; } +.bi-envelope-open-fill::before { content: "\f32d"; } +.bi-envelope-open::before { content: "\f32e"; } +.bi-envelope::before { content: "\f32f"; } +.bi-eraser-fill::before { content: "\f330"; } +.bi-eraser::before { content: "\f331"; } +.bi-exclamation-circle-fill::before { content: "\f332"; } +.bi-exclamation-circle::before { content: "\f333"; } +.bi-exclamation-diamond-fill::before { content: "\f334"; } +.bi-exclamation-diamond::before { content: "\f335"; } +.bi-exclamation-octagon-fill::before { content: "\f336"; } +.bi-exclamation-octagon::before { content: "\f337"; } +.bi-exclamation-square-fill::before { content: "\f338"; } +.bi-exclamation-square::before { content: "\f339"; } +.bi-exclamation-triangle-fill::before { content: "\f33a"; } +.bi-exclamation-triangle::before { content: "\f33b"; } +.bi-exclamation::before { content: "\f33c"; } +.bi-exclude::before { content: "\f33d"; } +.bi-eye-fill::before { content: "\f33e"; } +.bi-eye-slash-fill::before { content: "\f33f"; } +.bi-eye-slash::before { content: "\f340"; } +.bi-eye::before { content: "\f341"; } +.bi-eyedropper::before { content: "\f342"; } +.bi-eyeglasses::before { content: "\f343"; } +.bi-facebook::before { content: "\f344"; } +.bi-file-arrow-down-fill::before { content: "\f345"; } +.bi-file-arrow-down::before { content: "\f346"; } +.bi-file-arrow-up-fill::before { content: "\f347"; } +.bi-file-arrow-up::before { content: "\f348"; } +.bi-file-bar-graph-fill::before { content: "\f349"; } +.bi-file-bar-graph::before { content: "\f34a"; } +.bi-file-binary-fill::before { content: "\f34b"; } +.bi-file-binary::before { content: "\f34c"; } +.bi-file-break-fill::before { content: "\f34d"; } +.bi-file-break::before { content: "\f34e"; } +.bi-file-check-fill::before { content: "\f34f"; } +.bi-file-check::before { content: "\f350"; } +.bi-file-code-fill::before { content: "\f351"; } +.bi-file-code::before { content: "\f352"; } +.bi-file-diff-fill::before { content: "\f353"; } +.bi-file-diff::before { content: "\f354"; } +.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } +.bi-file-earmark-arrow-down::before { content: "\f356"; } +.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } +.bi-file-earmark-arrow-up::before { content: "\f358"; } +.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } +.bi-file-earmark-bar-graph::before { content: "\f35a"; } +.bi-file-earmark-binary-fill::before { content: "\f35b"; } +.bi-file-earmark-binary::before { content: "\f35c"; } +.bi-file-earmark-break-fill::before { content: "\f35d"; } +.bi-file-earmark-break::before { content: "\f35e"; } +.bi-file-earmark-check-fill::before { content: "\f35f"; } +.bi-file-earmark-check::before { content: "\f360"; } +.bi-file-earmark-code-fill::before { content: "\f361"; } +.bi-file-earmark-code::before { content: "\f362"; } +.bi-file-earmark-diff-fill::before { content: "\f363"; } +.bi-file-earmark-diff::before { content: "\f364"; } +.bi-file-earmark-easel-fill::before { content: "\f365"; } +.bi-file-earmark-easel::before { content: "\f366"; } +.bi-file-earmark-excel-fill::before { content: "\f367"; } +.bi-file-earmark-excel::before { content: "\f368"; } +.bi-file-earmark-fill::before { content: "\f369"; } +.bi-file-earmark-font-fill::before { content: "\f36a"; } +.bi-file-earmark-font::before { content: "\f36b"; } +.bi-file-earmark-image-fill::before { content: "\f36c"; } +.bi-file-earmark-image::before { content: "\f36d"; } +.bi-file-earmark-lock-fill::before { content: "\f36e"; } +.bi-file-earmark-lock::before { content: "\f36f"; } +.bi-file-earmark-lock2-fill::before { content: "\f370"; } +.bi-file-earmark-lock2::before { content: "\f371"; } +.bi-file-earmark-medical-fill::before { content: "\f372"; } +.bi-file-earmark-medical::before { content: "\f373"; } +.bi-file-earmark-minus-fill::before { content: "\f374"; } +.bi-file-earmark-minus::before { content: "\f375"; } +.bi-file-earmark-music-fill::before { content: "\f376"; } +.bi-file-earmark-music::before { content: "\f377"; } +.bi-file-earmark-person-fill::before { content: "\f378"; } +.bi-file-earmark-person::before { content: "\f379"; } +.bi-file-earmark-play-fill::before { content: "\f37a"; } +.bi-file-earmark-play::before { content: "\f37b"; } +.bi-file-earmark-plus-fill::before { content: "\f37c"; } +.bi-file-earmark-plus::before { content: "\f37d"; } +.bi-file-earmark-post-fill::before { content: "\f37e"; } +.bi-file-earmark-post::before { content: "\f37f"; } +.bi-file-earmark-ppt-fill::before { content: "\f380"; } +.bi-file-earmark-ppt::before { content: "\f381"; } +.bi-file-earmark-richtext-fill::before { content: "\f382"; } +.bi-file-earmark-richtext::before { content: "\f383"; } +.bi-file-earmark-ruled-fill::before { content: "\f384"; } +.bi-file-earmark-ruled::before { content: "\f385"; } +.bi-file-earmark-slides-fill::before { content: "\f386"; } +.bi-file-earmark-slides::before { content: "\f387"; } +.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } +.bi-file-earmark-spreadsheet::before { content: "\f389"; } +.bi-file-earmark-text-fill::before { content: "\f38a"; } +.bi-file-earmark-text::before { content: "\f38b"; } +.bi-file-earmark-word-fill::before { content: "\f38c"; } +.bi-file-earmark-word::before { content: "\f38d"; } +.bi-file-earmark-x-fill::before { content: "\f38e"; } +.bi-file-earmark-x::before { content: "\f38f"; } +.bi-file-earmark-zip-fill::before { content: "\f390"; } +.bi-file-earmark-zip::before { content: "\f391"; } +.bi-file-earmark::before { content: "\f392"; } +.bi-file-easel-fill::before { content: "\f393"; } +.bi-file-easel::before { content: "\f394"; } +.bi-file-excel-fill::before { content: "\f395"; } +.bi-file-excel::before { content: "\f396"; } +.bi-file-fill::before { content: "\f397"; } +.bi-file-font-fill::before { content: "\f398"; } +.bi-file-font::before { content: "\f399"; } +.bi-file-image-fill::before { content: "\f39a"; } +.bi-file-image::before { content: "\f39b"; } +.bi-file-lock-fill::before { content: "\f39c"; } +.bi-file-lock::before { content: "\f39d"; } +.bi-file-lock2-fill::before { content: "\f39e"; } +.bi-file-lock2::before { content: "\f39f"; } +.bi-file-medical-fill::before { content: "\f3a0"; } +.bi-file-medical::before { content: "\f3a1"; } +.bi-file-minus-fill::before { content: "\f3a2"; } +.bi-file-minus::before { content: "\f3a3"; } +.bi-file-music-fill::before { content: "\f3a4"; } +.bi-file-music::before { content: "\f3a5"; } +.bi-file-person-fill::before { content: "\f3a6"; } +.bi-file-person::before { content: "\f3a7"; } +.bi-file-play-fill::before { content: "\f3a8"; } +.bi-file-play::before { content: "\f3a9"; } +.bi-file-plus-fill::before { content: "\f3aa"; } +.bi-file-plus::before { content: "\f3ab"; } +.bi-file-post-fill::before { content: "\f3ac"; } +.bi-file-post::before { content: "\f3ad"; } +.bi-file-ppt-fill::before { content: "\f3ae"; } +.bi-file-ppt::before { content: "\f3af"; } +.bi-file-richtext-fill::before { content: "\f3b0"; } +.bi-file-richtext::before { content: "\f3b1"; } +.bi-file-ruled-fill::before { content: "\f3b2"; } +.bi-file-ruled::before { content: "\f3b3"; } +.bi-file-slides-fill::before { content: "\f3b4"; } +.bi-file-slides::before { content: "\f3b5"; } +.bi-file-spreadsheet-fill::before { content: "\f3b6"; } +.bi-file-spreadsheet::before { content: "\f3b7"; } +.bi-file-text-fill::before { content: "\f3b8"; } +.bi-file-text::before { content: "\f3b9"; } +.bi-file-word-fill::before { content: "\f3ba"; } +.bi-file-word::before { content: "\f3bb"; } +.bi-file-x-fill::before { content: "\f3bc"; } +.bi-file-x::before { content: "\f3bd"; } +.bi-file-zip-fill::before { content: "\f3be"; } +.bi-file-zip::before { content: "\f3bf"; } +.bi-file::before { content: "\f3c0"; } +.bi-files-alt::before { content: "\f3c1"; } +.bi-files::before { content: "\f3c2"; } +.bi-film::before { content: "\f3c3"; } +.bi-filter-circle-fill::before { content: "\f3c4"; } +.bi-filter-circle::before { content: "\f3c5"; } +.bi-filter-left::before { content: "\f3c6"; } +.bi-filter-right::before { content: "\f3c7"; } +.bi-filter-square-fill::before { content: "\f3c8"; } +.bi-filter-square::before { content: "\f3c9"; } +.bi-filter::before { content: "\f3ca"; } +.bi-flag-fill::before { content: "\f3cb"; } +.bi-flag::before { content: "\f3cc"; } +.bi-flower1::before { content: "\f3cd"; } +.bi-flower2::before { content: "\f3ce"; } +.bi-flower3::before { content: "\f3cf"; } +.bi-folder-check::before { content: "\f3d0"; } +.bi-folder-fill::before { content: "\f3d1"; } +.bi-folder-minus::before { content: "\f3d2"; } +.bi-folder-plus::before { content: "\f3d3"; } +.bi-folder-symlink-fill::before { content: "\f3d4"; } +.bi-folder-symlink::before { content: "\f3d5"; } +.bi-folder-x::before { content: "\f3d6"; } +.bi-folder::before { content: "\f3d7"; } +.bi-folder2-open::before { content: "\f3d8"; } +.bi-folder2::before { content: "\f3d9"; } +.bi-fonts::before { content: "\f3da"; } +.bi-forward-fill::before { content: "\f3db"; } +.bi-forward::before { content: "\f3dc"; } +.bi-front::before { content: "\f3dd"; } +.bi-fullscreen-exit::before { content: "\f3de"; } +.bi-fullscreen::before { content: "\f3df"; } +.bi-funnel-fill::before { content: "\f3e0"; } +.bi-funnel::before { content: "\f3e1"; } +.bi-gear-fill::before { content: "\f3e2"; } +.bi-gear-wide-connected::before { content: "\f3e3"; } +.bi-gear-wide::before { content: "\f3e4"; } +.bi-gear::before { content: "\f3e5"; } +.bi-gem::before { content: "\f3e6"; } +.bi-geo-alt-fill::before { content: "\f3e7"; } +.bi-geo-alt::before { content: "\f3e8"; } +.bi-geo-fill::before { content: "\f3e9"; } +.bi-geo::before { content: "\f3ea"; } +.bi-gift-fill::before { content: "\f3eb"; } +.bi-gift::before { content: "\f3ec"; } +.bi-github::before { content: "\f3ed"; } +.bi-globe::before { content: "\f3ee"; } +.bi-globe2::before { content: "\f3ef"; } +.bi-google::before { content: "\f3f0"; } +.bi-graph-down::before { content: "\f3f1"; } +.bi-graph-up::before { content: "\f3f2"; } +.bi-grid-1x2-fill::before { content: "\f3f3"; } +.bi-grid-1x2::before { content: "\f3f4"; } +.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } +.bi-grid-3x2-gap::before { content: "\f3f6"; } +.bi-grid-3x2::before { content: "\f3f7"; } +.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } +.bi-grid-3x3-gap::before { content: "\f3f9"; } +.bi-grid-3x3::before { content: "\f3fa"; } +.bi-grid-fill::before { content: "\f3fb"; } +.bi-grid::before { content: "\f3fc"; } +.bi-grip-horizontal::before { content: "\f3fd"; } +.bi-grip-vertical::before { content: "\f3fe"; } +.bi-hammer::before { content: "\f3ff"; } +.bi-hand-index-fill::before { content: "\f400"; } +.bi-hand-index-thumb-fill::before { content: "\f401"; } +.bi-hand-index-thumb::before { content: "\f402"; } +.bi-hand-index::before { content: "\f403"; } +.bi-hand-thumbs-down-fill::before { content: "\f404"; } +.bi-hand-thumbs-down::before { content: "\f405"; } +.bi-hand-thumbs-up-fill::before { content: "\f406"; } +.bi-hand-thumbs-up::before { content: "\f407"; } +.bi-handbag-fill::before { content: "\f408"; } +.bi-handbag::before { content: "\f409"; } +.bi-hash::before { content: "\f40a"; } +.bi-hdd-fill::before { content: "\f40b"; } +.bi-hdd-network-fill::before { content: "\f40c"; } +.bi-hdd-network::before { content: "\f40d"; } +.bi-hdd-rack-fill::before { content: "\f40e"; } +.bi-hdd-rack::before { content: "\f40f"; } +.bi-hdd-stack-fill::before { content: "\f410"; } +.bi-hdd-stack::before { content: "\f411"; } +.bi-hdd::before { content: "\f412"; } +.bi-headphones::before { content: "\f413"; } +.bi-headset::before { content: "\f414"; } +.bi-heart-fill::before { content: "\f415"; } +.bi-heart-half::before { content: "\f416"; } +.bi-heart::before { content: "\f417"; } +.bi-heptagon-fill::before { content: "\f418"; } +.bi-heptagon-half::before { content: "\f419"; } +.bi-heptagon::before { content: "\f41a"; } +.bi-hexagon-fill::before { content: "\f41b"; } +.bi-hexagon-half::before { content: "\f41c"; } +.bi-hexagon::before { content: "\f41d"; } +.bi-hourglass-bottom::before { content: "\f41e"; } +.bi-hourglass-split::before { content: "\f41f"; } +.bi-hourglass-top::before { content: "\f420"; } +.bi-hourglass::before { content: "\f421"; } +.bi-house-door-fill::before { content: "\f422"; } +.bi-house-door::before { content: "\f423"; } +.bi-house-fill::before { content: "\f424"; } +.bi-house::before { content: "\f425"; } +.bi-hr::before { content: "\f426"; } +.bi-hurricane::before { content: "\f427"; } +.bi-image-alt::before { content: "\f428"; } +.bi-image-fill::before { content: "\f429"; } +.bi-image::before { content: "\f42a"; } +.bi-images::before { content: "\f42b"; } +.bi-inbox-fill::before { content: "\f42c"; } +.bi-inbox::before { content: "\f42d"; } +.bi-inboxes-fill::before { content: "\f42e"; } +.bi-inboxes::before { content: "\f42f"; } +.bi-info-circle-fill::before { content: "\f430"; } +.bi-info-circle::before { content: "\f431"; } +.bi-info-square-fill::before { content: "\f432"; } +.bi-info-square::before { content: "\f433"; } +.bi-info::before { content: "\f434"; } +.bi-input-cursor-text::before { content: "\f435"; } +.bi-input-cursor::before { content: "\f436"; } +.bi-instagram::before { content: "\f437"; } +.bi-intersect::before { content: "\f438"; } +.bi-journal-album::before { content: "\f439"; } +.bi-journal-arrow-down::before { content: "\f43a"; } +.bi-journal-arrow-up::before { content: "\f43b"; } +.bi-journal-bookmark-fill::before { content: "\f43c"; } +.bi-journal-bookmark::before { content: "\f43d"; } +.bi-journal-check::before { content: "\f43e"; } +.bi-journal-code::before { content: "\f43f"; } +.bi-journal-medical::before { content: "\f440"; } +.bi-journal-minus::before { content: "\f441"; } +.bi-journal-plus::before { content: "\f442"; } +.bi-journal-richtext::before { content: "\f443"; } +.bi-journal-text::before { content: "\f444"; } +.bi-journal-x::before { content: "\f445"; } +.bi-journal::before { content: "\f446"; } +.bi-journals::before { content: "\f447"; } +.bi-joystick::before { content: "\f448"; } +.bi-justify-left::before { content: "\f449"; } +.bi-justify-right::before { content: "\f44a"; } +.bi-justify::before { content: "\f44b"; } +.bi-kanban-fill::before { content: "\f44c"; } +.bi-kanban::before { content: "\f44d"; } +.bi-key-fill::before { content: "\f44e"; } +.bi-key::before { content: "\f44f"; } +.bi-keyboard-fill::before { content: "\f450"; } +.bi-keyboard::before { content: "\f451"; } +.bi-ladder::before { content: "\f452"; } +.bi-lamp-fill::before { content: "\f453"; } +.bi-lamp::before { content: "\f454"; } +.bi-laptop-fill::before { content: "\f455"; } +.bi-laptop::before { content: "\f456"; } +.bi-layer-backward::before { content: "\f457"; } +.bi-layer-forward::before { content: "\f458"; } +.bi-layers-fill::before { content: "\f459"; } +.bi-layers-half::before { content: "\f45a"; } +.bi-layers::before { content: "\f45b"; } +.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } +.bi-layout-sidebar-inset::before { content: "\f45d"; } +.bi-layout-sidebar-reverse::before { content: "\f45e"; } +.bi-layout-sidebar::before { content: "\f45f"; } +.bi-layout-split::before { content: "\f460"; } +.bi-layout-text-sidebar-reverse::before { content: "\f461"; } +.bi-layout-text-sidebar::before { content: "\f462"; } +.bi-layout-text-window-reverse::before { content: "\f463"; } +.bi-layout-text-window::before { content: "\f464"; } +.bi-layout-three-columns::before { content: "\f465"; } +.bi-layout-wtf::before { content: "\f466"; } +.bi-life-preserver::before { content: "\f467"; } +.bi-lightbulb-fill::before { content: "\f468"; } +.bi-lightbulb-off-fill::before { content: "\f469"; } +.bi-lightbulb-off::before { content: "\f46a"; } +.bi-lightbulb::before { content: "\f46b"; } +.bi-lightning-charge-fill::before { content: "\f46c"; } +.bi-lightning-charge::before { content: "\f46d"; } +.bi-lightning-fill::before { content: "\f46e"; } +.bi-lightning::before { content: "\f46f"; } +.bi-link-45deg::before { content: "\f470"; } +.bi-link::before { content: "\f471"; } +.bi-linkedin::before { content: "\f472"; } +.bi-list-check::before { content: "\f473"; } +.bi-list-nested::before { content: "\f474"; } +.bi-list-ol::before { content: "\f475"; } +.bi-list-stars::before { content: "\f476"; } +.bi-list-task::before { content: "\f477"; } +.bi-list-ul::before { content: "\f478"; } +.bi-list::before { content: "\f479"; } +.bi-lock-fill::before { content: "\f47a"; } +.bi-lock::before { content: "\f47b"; } +.bi-mailbox::before { content: "\f47c"; } +.bi-mailbox2::before { content: "\f47d"; } +.bi-map-fill::before { content: "\f47e"; } +.bi-map::before { content: "\f47f"; } +.bi-markdown-fill::before { content: "\f480"; } +.bi-markdown::before { content: "\f481"; } +.bi-mask::before { content: "\f482"; } +.bi-megaphone-fill::before { content: "\f483"; } +.bi-megaphone::before { content: "\f484"; } +.bi-menu-app-fill::before { content: "\f485"; } +.bi-menu-app::before { content: "\f486"; } +.bi-menu-button-fill::before { content: "\f487"; } +.bi-menu-button-wide-fill::before { content: "\f488"; } +.bi-menu-button-wide::before { content: "\f489"; } +.bi-menu-button::before { content: "\f48a"; } +.bi-menu-down::before { content: "\f48b"; } +.bi-menu-up::before { content: "\f48c"; } +.bi-mic-fill::before { content: "\f48d"; } +.bi-mic-mute-fill::before { content: "\f48e"; } +.bi-mic-mute::before { content: "\f48f"; } +.bi-mic::before { content: "\f490"; } +.bi-minecart-loaded::before { content: "\f491"; } +.bi-minecart::before { content: "\f492"; } +.bi-moisture::before { content: "\f493"; } +.bi-moon-fill::before { content: "\f494"; } +.bi-moon-stars-fill::before { content: "\f495"; } +.bi-moon-stars::before { content: "\f496"; } +.bi-moon::before { content: "\f497"; } +.bi-mouse-fill::before { content: "\f498"; } +.bi-mouse::before { content: "\f499"; } +.bi-mouse2-fill::before { content: "\f49a"; } +.bi-mouse2::before { content: "\f49b"; } +.bi-mouse3-fill::before { content: "\f49c"; } +.bi-mouse3::before { content: "\f49d"; } +.bi-music-note-beamed::before { content: "\f49e"; } +.bi-music-note-list::before { content: "\f49f"; } +.bi-music-note::before { content: "\f4a0"; } +.bi-music-player-fill::before { content: "\f4a1"; } +.bi-music-player::before { content: "\f4a2"; } +.bi-newspaper::before { content: "\f4a3"; } +.bi-node-minus-fill::before { content: "\f4a4"; } +.bi-node-minus::before { content: "\f4a5"; } +.bi-node-plus-fill::before { content: "\f4a6"; } +.bi-node-plus::before { content: "\f4a7"; } +.bi-nut-fill::before { content: "\f4a8"; } +.bi-nut::before { content: "\f4a9"; } +.bi-octagon-fill::before { content: "\f4aa"; } +.bi-octagon-half::before { content: "\f4ab"; } +.bi-octagon::before { content: "\f4ac"; } +.bi-option::before { content: "\f4ad"; } +.bi-outlet::before { content: "\f4ae"; } +.bi-paint-bucket::before { content: "\f4af"; } +.bi-palette-fill::before { content: "\f4b0"; } +.bi-palette::before { content: "\f4b1"; } +.bi-palette2::before { content: "\f4b2"; } +.bi-paperclip::before { content: "\f4b3"; } +.bi-paragraph::before { content: "\f4b4"; } +.bi-patch-check-fill::before { content: "\f4b5"; } +.bi-patch-check::before { content: "\f4b6"; } +.bi-patch-exclamation-fill::before { content: "\f4b7"; } +.bi-patch-exclamation::before { content: "\f4b8"; } +.bi-patch-minus-fill::before { content: "\f4b9"; } +.bi-patch-minus::before { content: "\f4ba"; } +.bi-patch-plus-fill::before { content: "\f4bb"; } +.bi-patch-plus::before { content: "\f4bc"; } +.bi-patch-question-fill::before { content: "\f4bd"; } +.bi-patch-question::before { content: "\f4be"; } +.bi-pause-btn-fill::before { content: "\f4bf"; } +.bi-pause-btn::before { content: "\f4c0"; } +.bi-pause-circle-fill::before { content: "\f4c1"; } +.bi-pause-circle::before { content: "\f4c2"; } +.bi-pause-fill::before { content: "\f4c3"; } +.bi-pause::before { content: "\f4c4"; } +.bi-peace-fill::before { content: "\f4c5"; } +.bi-peace::before { content: "\f4c6"; } +.bi-pen-fill::before { content: "\f4c7"; } +.bi-pen::before { content: "\f4c8"; } +.bi-pencil-fill::before { content: "\f4c9"; } +.bi-pencil-square::before { content: "\f4ca"; } +.bi-pencil::before { content: "\f4cb"; } +.bi-pentagon-fill::before { content: "\f4cc"; } +.bi-pentagon-half::before { content: "\f4cd"; } +.bi-pentagon::before { content: "\f4ce"; } +.bi-people-fill::before { content: "\f4cf"; } +.bi-people::before { content: "\f4d0"; } +.bi-percent::before { content: "\f4d1"; } +.bi-person-badge-fill::before { content: "\f4d2"; } +.bi-person-badge::before { content: "\f4d3"; } +.bi-person-bounding-box::before { content: "\f4d4"; } +.bi-person-check-fill::before { content: "\f4d5"; } +.bi-person-check::before { content: "\f4d6"; } +.bi-person-circle::before { content: "\f4d7"; } +.bi-person-dash-fill::before { content: "\f4d8"; } +.bi-person-dash::before { content: "\f4d9"; } +.bi-person-fill::before { content: "\f4da"; } +.bi-person-lines-fill::before { content: "\f4db"; } +.bi-person-plus-fill::before { content: "\f4dc"; } +.bi-person-plus::before { content: "\f4dd"; } +.bi-person-square::before { content: "\f4de"; } +.bi-person-x-fill::before { content: "\f4df"; } +.bi-person-x::before { content: "\f4e0"; } +.bi-person::before { content: "\f4e1"; } +.bi-phone-fill::before { content: "\f4e2"; } +.bi-phone-landscape-fill::before { content: "\f4e3"; } +.bi-phone-landscape::before { content: "\f4e4"; } +.bi-phone-vibrate-fill::before { content: "\f4e5"; } +.bi-phone-vibrate::before { content: "\f4e6"; } +.bi-phone::before { content: "\f4e7"; } +.bi-pie-chart-fill::before { content: "\f4e8"; } +.bi-pie-chart::before { content: "\f4e9"; } +.bi-pin-angle-fill::before { content: "\f4ea"; } +.bi-pin-angle::before { content: "\f4eb"; } +.bi-pin-fill::before { content: "\f4ec"; } +.bi-pin::before { content: "\f4ed"; } +.bi-pip-fill::before { content: "\f4ee"; } +.bi-pip::before { content: "\f4ef"; } +.bi-play-btn-fill::before { content: "\f4f0"; } +.bi-play-btn::before { content: "\f4f1"; } +.bi-play-circle-fill::before { content: "\f4f2"; } +.bi-play-circle::before { content: "\f4f3"; } +.bi-play-fill::before { content: "\f4f4"; } +.bi-play::before { content: "\f4f5"; } +.bi-plug-fill::before { content: "\f4f6"; } +.bi-plug::before { content: "\f4f7"; } +.bi-plus-circle-dotted::before { content: "\f4f8"; } +.bi-plus-circle-fill::before { content: "\f4f9"; } +.bi-plus-circle::before { content: "\f4fa"; } +.bi-plus-square-dotted::before { content: "\f4fb"; } +.bi-plus-square-fill::before { content: "\f4fc"; } +.bi-plus-square::before { content: "\f4fd"; } +.bi-plus::before { content: "\f4fe"; } +.bi-power::before { content: "\f4ff"; } +.bi-printer-fill::before { content: "\f500"; } +.bi-printer::before { content: "\f501"; } +.bi-puzzle-fill::before { content: "\f502"; } +.bi-puzzle::before { content: "\f503"; } +.bi-question-circle-fill::before { content: "\f504"; } +.bi-question-circle::before { content: "\f505"; } +.bi-question-diamond-fill::before { content: "\f506"; } +.bi-question-diamond::before { content: "\f507"; } +.bi-question-octagon-fill::before { content: "\f508"; } +.bi-question-octagon::before { content: "\f509"; } +.bi-question-square-fill::before { content: "\f50a"; } +.bi-question-square::before { content: "\f50b"; } +.bi-question::before { content: "\f50c"; } +.bi-rainbow::before { content: "\f50d"; } +.bi-receipt-cutoff::before { content: "\f50e"; } +.bi-receipt::before { content: "\f50f"; } +.bi-reception-0::before { content: "\f510"; } +.bi-reception-1::before { content: "\f511"; } +.bi-reception-2::before { content: "\f512"; } +.bi-reception-3::before { content: "\f513"; } +.bi-reception-4::before { content: "\f514"; } +.bi-record-btn-fill::before { content: "\f515"; } +.bi-record-btn::before { content: "\f516"; } +.bi-record-circle-fill::before { content: "\f517"; } +.bi-record-circle::before { content: "\f518"; } +.bi-record-fill::before { content: "\f519"; } +.bi-record::before { content: "\f51a"; } +.bi-record2-fill::before { content: "\f51b"; } +.bi-record2::before { content: "\f51c"; } +.bi-reply-all-fill::before { content: "\f51d"; } +.bi-reply-all::before { content: "\f51e"; } +.bi-reply-fill::before { content: "\f51f"; } +.bi-reply::before { content: "\f520"; } +.bi-rss-fill::before { content: "\f521"; } +.bi-rss::before { content: "\f522"; } +.bi-rulers::before { content: "\f523"; } +.bi-save-fill::before { content: "\f524"; } +.bi-save::before { content: "\f525"; } +.bi-save2-fill::before { content: "\f526"; } +.bi-save2::before { content: "\f527"; } +.bi-scissors::before { content: "\f528"; } +.bi-screwdriver::before { content: "\f529"; } +.bi-search::before { content: "\f52a"; } +.bi-segmented-nav::before { content: "\f52b"; } +.bi-server::before { content: "\f52c"; } +.bi-share-fill::before { content: "\f52d"; } +.bi-share::before { content: "\f52e"; } +.bi-shield-check::before { content: "\f52f"; } +.bi-shield-exclamation::before { content: "\f530"; } +.bi-shield-fill-check::before { content: "\f531"; } +.bi-shield-fill-exclamation::before { content: "\f532"; } +.bi-shield-fill-minus::before { content: "\f533"; } +.bi-shield-fill-plus::before { content: "\f534"; } +.bi-shield-fill-x::before { content: "\f535"; } +.bi-shield-fill::before { content: "\f536"; } +.bi-shield-lock-fill::before { content: "\f537"; } +.bi-shield-lock::before { content: "\f538"; } +.bi-shield-minus::before { content: "\f539"; } +.bi-shield-plus::before { content: "\f53a"; } +.bi-shield-shaded::before { content: "\f53b"; } +.bi-shield-slash-fill::before { content: "\f53c"; } +.bi-shield-slash::before { content: "\f53d"; } +.bi-shield-x::before { content: "\f53e"; } +.bi-shield::before { content: "\f53f"; } +.bi-shift-fill::before { content: "\f540"; } +.bi-shift::before { content: "\f541"; } +.bi-shop-window::before { content: "\f542"; } +.bi-shop::before { content: "\f543"; } +.bi-shuffle::before { content: "\f544"; } +.bi-signpost-2-fill::before { content: "\f545"; } +.bi-signpost-2::before { content: "\f546"; } +.bi-signpost-fill::before { content: "\f547"; } +.bi-signpost-split-fill::before { content: "\f548"; } +.bi-signpost-split::before { content: "\f549"; } +.bi-signpost::before { content: "\f54a"; } +.bi-sim-fill::before { content: "\f54b"; } +.bi-sim::before { content: "\f54c"; } +.bi-skip-backward-btn-fill::before { content: "\f54d"; } +.bi-skip-backward-btn::before { content: "\f54e"; } +.bi-skip-backward-circle-fill::before { content: "\f54f"; } +.bi-skip-backward-circle::before { content: "\f550"; } +.bi-skip-backward-fill::before { content: "\f551"; } +.bi-skip-backward::before { content: "\f552"; } +.bi-skip-end-btn-fill::before { content: "\f553"; } +.bi-skip-end-btn::before { content: "\f554"; } +.bi-skip-end-circle-fill::before { content: "\f555"; } +.bi-skip-end-circle::before { content: "\f556"; } +.bi-skip-end-fill::before { content: "\f557"; } +.bi-skip-end::before { content: "\f558"; } +.bi-skip-forward-btn-fill::before { content: "\f559"; } +.bi-skip-forward-btn::before { content: "\f55a"; } +.bi-skip-forward-circle-fill::before { content: "\f55b"; } +.bi-skip-forward-circle::before { content: "\f55c"; } +.bi-skip-forward-fill::before { content: "\f55d"; } +.bi-skip-forward::before { content: "\f55e"; } +.bi-skip-start-btn-fill::before { content: "\f55f"; } +.bi-skip-start-btn::before { content: "\f560"; } +.bi-skip-start-circle-fill::before { content: "\f561"; } +.bi-skip-start-circle::before { content: "\f562"; } +.bi-skip-start-fill::before { content: "\f563"; } +.bi-skip-start::before { content: "\f564"; } +.bi-slack::before { content: "\f565"; } +.bi-slash-circle-fill::before { content: "\f566"; } +.bi-slash-circle::before { content: "\f567"; } +.bi-slash-square-fill::before { content: "\f568"; } +.bi-slash-square::before { content: "\f569"; } +.bi-slash::before { content: "\f56a"; } +.bi-sliders::before { content: "\f56b"; } +.bi-smartwatch::before { content: "\f56c"; } +.bi-snow::before { content: "\f56d"; } +.bi-snow2::before { content: "\f56e"; } +.bi-snow3::before { content: "\f56f"; } +.bi-sort-alpha-down-alt::before { content: "\f570"; } +.bi-sort-alpha-down::before { content: "\f571"; } +.bi-sort-alpha-up-alt::before { content: "\f572"; } +.bi-sort-alpha-up::before { content: "\f573"; } +.bi-sort-down-alt::before { content: "\f574"; } +.bi-sort-down::before { content: "\f575"; } +.bi-sort-numeric-down-alt::before { content: "\f576"; } +.bi-sort-numeric-down::before { content: "\f577"; } +.bi-sort-numeric-up-alt::before { content: "\f578"; } +.bi-sort-numeric-up::before { content: "\f579"; } +.bi-sort-up-alt::before { content: "\f57a"; } +.bi-sort-up::before { content: "\f57b"; } +.bi-soundwave::before { content: "\f57c"; } +.bi-speaker-fill::before { content: "\f57d"; } +.bi-speaker::before { content: "\f57e"; } +.bi-speedometer::before { content: "\f57f"; } +.bi-speedometer2::before { content: "\f580"; } +.bi-spellcheck::before { content: "\f581"; } +.bi-square-fill::before { content: "\f582"; } +.bi-square-half::before { content: "\f583"; } +.bi-square::before { content: "\f584"; } +.bi-stack::before { content: "\f585"; } +.bi-star-fill::before { content: "\f586"; } +.bi-star-half::before { content: "\f587"; } +.bi-star::before { content: "\f588"; } +.bi-stars::before { content: "\f589"; } +.bi-stickies-fill::before { content: "\f58a"; } +.bi-stickies::before { content: "\f58b"; } +.bi-sticky-fill::before { content: "\f58c"; } +.bi-sticky::before { content: "\f58d"; } +.bi-stop-btn-fill::before { content: "\f58e"; } +.bi-stop-btn::before { content: "\f58f"; } +.bi-stop-circle-fill::before { content: "\f590"; } +.bi-stop-circle::before { content: "\f591"; } +.bi-stop-fill::before { content: "\f592"; } +.bi-stop::before { content: "\f593"; } +.bi-stoplights-fill::before { content: "\f594"; } +.bi-stoplights::before { content: "\f595"; } +.bi-stopwatch-fill::before { content: "\f596"; } +.bi-stopwatch::before { content: "\f597"; } +.bi-subtract::before { content: "\f598"; } +.bi-suit-club-fill::before { content: "\f599"; } +.bi-suit-club::before { content: "\f59a"; } +.bi-suit-diamond-fill::before { content: "\f59b"; } +.bi-suit-diamond::before { content: "\f59c"; } +.bi-suit-heart-fill::before { content: "\f59d"; } +.bi-suit-heart::before { content: "\f59e"; } +.bi-suit-spade-fill::before { content: "\f59f"; } +.bi-suit-spade::before { content: "\f5a0"; } +.bi-sun-fill::before { content: "\f5a1"; } +.bi-sun::before { content: "\f5a2"; } +.bi-sunglasses::before { content: "\f5a3"; } +.bi-sunrise-fill::before { content: "\f5a4"; } +.bi-sunrise::before { content: "\f5a5"; } +.bi-sunset-fill::before { content: "\f5a6"; } +.bi-sunset::before { content: "\f5a7"; } +.bi-symmetry-horizontal::before { content: "\f5a8"; } +.bi-symmetry-vertical::before { content: "\f5a9"; } +.bi-table::before { content: "\f5aa"; } +.bi-tablet-fill::before { content: "\f5ab"; } +.bi-tablet-landscape-fill::before { content: "\f5ac"; } +.bi-tablet-landscape::before { content: "\f5ad"; } +.bi-tablet::before { content: "\f5ae"; } +.bi-tag-fill::before { content: "\f5af"; } +.bi-tag::before { content: "\f5b0"; } +.bi-tags-fill::before { content: "\f5b1"; } +.bi-tags::before { content: "\f5b2"; } +.bi-telegram::before { content: "\f5b3"; } +.bi-telephone-fill::before { content: "\f5b4"; } +.bi-telephone-forward-fill::before { content: "\f5b5"; } +.bi-telephone-forward::before { content: "\f5b6"; } +.bi-telephone-inbound-fill::before { content: "\f5b7"; } +.bi-telephone-inbound::before { content: "\f5b8"; } +.bi-telephone-minus-fill::before { content: "\f5b9"; } +.bi-telephone-minus::before { content: "\f5ba"; } +.bi-telephone-outbound-fill::before { content: "\f5bb"; } +.bi-telephone-outbound::before { content: "\f5bc"; } +.bi-telephone-plus-fill::before { content: "\f5bd"; } +.bi-telephone-plus::before { content: "\f5be"; } +.bi-telephone-x-fill::before { content: "\f5bf"; } +.bi-telephone-x::before { content: "\f5c0"; } +.bi-telephone::before { content: "\f5c1"; } +.bi-terminal-fill::before { content: "\f5c2"; } +.bi-terminal::before { content: "\f5c3"; } +.bi-text-center::before { content: "\f5c4"; } +.bi-text-indent-left::before { content: "\f5c5"; } +.bi-text-indent-right::before { content: "\f5c6"; } +.bi-text-left::before { content: "\f5c7"; } +.bi-text-paragraph::before { content: "\f5c8"; } +.bi-text-right::before { content: "\f5c9"; } +.bi-textarea-resize::before { content: "\f5ca"; } +.bi-textarea-t::before { content: "\f5cb"; } +.bi-textarea::before { content: "\f5cc"; } +.bi-thermometer-half::before { content: "\f5cd"; } +.bi-thermometer-high::before { content: "\f5ce"; } +.bi-thermometer-low::before { content: "\f5cf"; } +.bi-thermometer-snow::before { content: "\f5d0"; } +.bi-thermometer-sun::before { content: "\f5d1"; } +.bi-thermometer::before { content: "\f5d2"; } +.bi-three-dots-vertical::before { content: "\f5d3"; } +.bi-three-dots::before { content: "\f5d4"; } +.bi-toggle-off::before { content: "\f5d5"; } +.bi-toggle-on::before { content: "\f5d6"; } +.bi-toggle2-off::before { content: "\f5d7"; } +.bi-toggle2-on::before { content: "\f5d8"; } +.bi-toggles::before { content: "\f5d9"; } +.bi-toggles2::before { content: "\f5da"; } +.bi-tools::before { content: "\f5db"; } +.bi-tornado::before { content: "\f5dc"; } +.bi-trash-fill::before { content: "\f5dd"; } +.bi-trash::before { content: "\f5de"; } +.bi-trash2-fill::before { content: "\f5df"; } +.bi-trash2::before { content: "\f5e0"; } +.bi-tree-fill::before { content: "\f5e1"; } +.bi-tree::before { content: "\f5e2"; } +.bi-triangle-fill::before { content: "\f5e3"; } +.bi-triangle-half::before { content: "\f5e4"; } +.bi-triangle::before { content: "\f5e5"; } +.bi-trophy-fill::before { content: "\f5e6"; } +.bi-trophy::before { content: "\f5e7"; } +.bi-tropical-storm::before { content: "\f5e8"; } +.bi-truck-flatbed::before { content: "\f5e9"; } +.bi-truck::before { content: "\f5ea"; } +.bi-tsunami::before { content: "\f5eb"; } +.bi-tv-fill::before { content: "\f5ec"; } +.bi-tv::before { content: "\f5ed"; } +.bi-twitch::before { content: "\f5ee"; } +.bi-twitter::before { content: "\f5ef"; } +.bi-type-bold::before { content: "\f5f0"; } +.bi-type-h1::before { content: "\f5f1"; } +.bi-type-h2::before { content: "\f5f2"; } +.bi-type-h3::before { content: "\f5f3"; } +.bi-type-italic::before { content: "\f5f4"; } +.bi-type-strikethrough::before { content: "\f5f5"; } +.bi-type-underline::before { content: "\f5f6"; } +.bi-type::before { content: "\f5f7"; } +.bi-ui-checks-grid::before { content: "\f5f8"; } +.bi-ui-checks::before { content: "\f5f9"; } +.bi-ui-radios-grid::before { content: "\f5fa"; } +.bi-ui-radios::before { content: "\f5fb"; } +.bi-umbrella-fill::before { content: "\f5fc"; } +.bi-umbrella::before { content: "\f5fd"; } +.bi-union::before { content: "\f5fe"; } +.bi-unlock-fill::before { content: "\f5ff"; } +.bi-unlock::before { content: "\f600"; } +.bi-upc-scan::before { content: "\f601"; } +.bi-upc::before { content: "\f602"; } +.bi-upload::before { content: "\f603"; } +.bi-vector-pen::before { content: "\f604"; } +.bi-view-list::before { content: "\f605"; } +.bi-view-stacked::before { content: "\f606"; } +.bi-vinyl-fill::before { content: "\f607"; } +.bi-vinyl::before { content: "\f608"; } +.bi-voicemail::before { content: "\f609"; } +.bi-volume-down-fill::before { content: "\f60a"; } +.bi-volume-down::before { content: "\f60b"; } +.bi-volume-mute-fill::before { content: "\f60c"; } +.bi-volume-mute::before { content: "\f60d"; } +.bi-volume-off-fill::before { content: "\f60e"; } +.bi-volume-off::before { content: "\f60f"; } +.bi-volume-up-fill::before { content: "\f610"; } +.bi-volume-up::before { content: "\f611"; } +.bi-vr::before { content: "\f612"; } +.bi-wallet-fill::before { content: "\f613"; } +.bi-wallet::before { content: "\f614"; } +.bi-wallet2::before { content: "\f615"; } +.bi-watch::before { content: "\f616"; } +.bi-water::before { content: "\f617"; } +.bi-whatsapp::before { content: "\f618"; } +.bi-wifi-1::before { content: "\f619"; } +.bi-wifi-2::before { content: "\f61a"; } +.bi-wifi-off::before { content: "\f61b"; } +.bi-wifi::before { content: "\f61c"; } +.bi-wind::before { content: "\f61d"; } +.bi-window-dock::before { content: "\f61e"; } +.bi-window-sidebar::before { content: "\f61f"; } +.bi-window::before { content: "\f620"; } +.bi-wrench::before { content: "\f621"; } +.bi-x-circle-fill::before { content: "\f622"; } +.bi-x-circle::before { content: "\f623"; } +.bi-x-diamond-fill::before { content: "\f624"; } +.bi-x-diamond::before { content: "\f625"; } +.bi-x-octagon-fill::before { content: "\f626"; } +.bi-x-octagon::before { content: "\f627"; } +.bi-x-square-fill::before { content: "\f628"; } +.bi-x-square::before { content: "\f629"; } +.bi-x::before { content: "\f62a"; } +.bi-youtube::before { content: "\f62b"; } +.bi-zoom-in::before { content: "\f62c"; } +.bi-zoom-out::before { content: "\f62d"; } +.bi-bank::before { content: "\f62e"; } +.bi-bank2::before { content: "\f62f"; } +.bi-bell-slash-fill::before { content: "\f630"; } +.bi-bell-slash::before { content: "\f631"; } +.bi-cash-coin::before { content: "\f632"; } +.bi-check-lg::before { content: "\f633"; } +.bi-coin::before { content: "\f634"; } +.bi-currency-bitcoin::before { content: "\f635"; } +.bi-currency-dollar::before { content: "\f636"; } +.bi-currency-euro::before { content: "\f637"; } +.bi-currency-exchange::before { content: "\f638"; } +.bi-currency-pound::before { content: "\f639"; } +.bi-currency-yen::before { content: "\f63a"; } +.bi-dash-lg::before { content: "\f63b"; } +.bi-exclamation-lg::before { content: "\f63c"; } +.bi-file-earmark-pdf-fill::before { content: "\f63d"; } +.bi-file-earmark-pdf::before { content: "\f63e"; } +.bi-file-pdf-fill::before { content: "\f63f"; } +.bi-file-pdf::before { content: "\f640"; } +.bi-gender-ambiguous::before { content: "\f641"; } +.bi-gender-female::before { content: "\f642"; } +.bi-gender-male::before { content: "\f643"; } +.bi-gender-trans::before { content: "\f644"; } +.bi-headset-vr::before { content: "\f645"; } +.bi-info-lg::before { content: "\f646"; } +.bi-mastodon::before { content: "\f647"; } +.bi-messenger::before { content: "\f648"; } +.bi-piggy-bank-fill::before { content: "\f649"; } +.bi-piggy-bank::before { content: "\f64a"; } +.bi-pin-map-fill::before { content: "\f64b"; } +.bi-pin-map::before { content: "\f64c"; } +.bi-plus-lg::before { content: "\f64d"; } +.bi-question-lg::before { content: "\f64e"; } +.bi-recycle::before { content: "\f64f"; } +.bi-reddit::before { content: "\f650"; } +.bi-safe-fill::before { content: "\f651"; } +.bi-safe2-fill::before { content: "\f652"; } +.bi-safe2::before { content: "\f653"; } +.bi-sd-card-fill::before { content: "\f654"; } +.bi-sd-card::before { content: "\f655"; } +.bi-skype::before { content: "\f656"; } +.bi-slash-lg::before { content: "\f657"; } +.bi-translate::before { content: "\f658"; } +.bi-x-lg::before { content: "\f659"; } +.bi-safe::before { content: "\f65a"; } +.bi-apple::before { content: "\f65b"; } +.bi-microsoft::before { content: "\f65d"; } +.bi-windows::before { content: "\f65e"; } +.bi-behance::before { content: "\f65c"; } +.bi-dribbble::before { content: "\f65f"; } +.bi-line::before { content: "\f660"; } +.bi-medium::before { content: "\f661"; } +.bi-paypal::before { content: "\f662"; } +.bi-pinterest::before { content: "\f663"; } +.bi-signal::before { content: "\f664"; } +.bi-snapchat::before { content: "\f665"; } +.bi-spotify::before { content: "\f666"; } +.bi-stack-overflow::before { content: "\f667"; } +.bi-strava::before { content: "\f668"; } +.bi-wordpress::before { content: "\f669"; } +.bi-vimeo::before { content: "\f66a"; } +.bi-activity::before { content: "\f66b"; } +.bi-easel2-fill::before { content: "\f66c"; } +.bi-easel2::before { content: "\f66d"; } +.bi-easel3-fill::before { content: "\f66e"; } +.bi-easel3::before { content: "\f66f"; } +.bi-fan::before { content: "\f670"; } +.bi-fingerprint::before { content: "\f671"; } +.bi-graph-down-arrow::before { content: "\f672"; } +.bi-graph-up-arrow::before { content: "\f673"; } +.bi-hypnotize::before { content: "\f674"; } +.bi-magic::before { content: "\f675"; } +.bi-person-rolodex::before { content: "\f676"; } +.bi-person-video::before { content: "\f677"; } +.bi-person-video2::before { content: "\f678"; } +.bi-person-video3::before { content: "\f679"; } +.bi-person-workspace::before { content: "\f67a"; } +.bi-radioactive::before { content: "\f67b"; } +.bi-webcam-fill::before { content: "\f67c"; } +.bi-webcam::before { content: "\f67d"; } +.bi-yin-yang::before { content: "\f67e"; } +.bi-bandaid-fill::before { content: "\f680"; } +.bi-bandaid::before { content: "\f681"; } +.bi-bluetooth::before { content: "\f682"; } +.bi-body-text::before { content: "\f683"; } +.bi-boombox::before { content: "\f684"; } +.bi-boxes::before { content: "\f685"; } +.bi-dpad-fill::before { content: "\f686"; } +.bi-dpad::before { content: "\f687"; } +.bi-ear-fill::before { content: "\f688"; } +.bi-ear::before { content: "\f689"; } +.bi-envelope-check-1::before { content: "\f68a"; } +.bi-envelope-check-fill::before { content: "\f68b"; } +.bi-envelope-check::before { content: "\f68c"; } +.bi-envelope-dash-1::before { content: "\f68d"; } +.bi-envelope-dash-fill::before { content: "\f68e"; } +.bi-envelope-dash::before { content: "\f68f"; } +.bi-envelope-exclamation-1::before { content: "\f690"; } +.bi-envelope-exclamation-fill::before { content: "\f691"; } +.bi-envelope-exclamation::before { content: "\f692"; } +.bi-envelope-plus-fill::before { content: "\f693"; } +.bi-envelope-plus::before { content: "\f694"; } +.bi-envelope-slash-1::before { content: "\f695"; } +.bi-envelope-slash-fill::before { content: "\f696"; } +.bi-envelope-slash::before { content: "\f697"; } +.bi-envelope-x-1::before { content: "\f698"; } +.bi-envelope-x-fill::before { content: "\f699"; } +.bi-envelope-x::before { content: "\f69a"; } +.bi-explicit-fill::before { content: "\f69b"; } +.bi-explicit::before { content: "\f69c"; } +.bi-git::before { content: "\f69d"; } +.bi-infinity::before { content: "\f69e"; } +.bi-list-columns-reverse::before { content: "\f69f"; } +.bi-list-columns::before { content: "\f6a0"; } +.bi-meta::before { content: "\f6a1"; } +.bi-mortorboard-fill::before { content: "\f6a2"; } +.bi-mortorboard::before { content: "\f6a3"; } +.bi-nintendo-switch::before { content: "\f6a4"; } +.bi-pc-display-horizontal::before { content: "\f6a5"; } +.bi-pc-display::before { content: "\f6a6"; } +.bi-pc-horizontal::before { content: "\f6a7"; } +.bi-pc::before { content: "\f6a8"; } +.bi-playstation::before { content: "\f6a9"; } +.bi-plus-slash-minus::before { content: "\f6aa"; } +.bi-projector-fill::before { content: "\f6ab"; } +.bi-projector::before { content: "\f6ac"; } +.bi-qr-code-scan::before { content: "\f6ad"; } +.bi-qr-code::before { content: "\f6ae"; } +.bi-quora::before { content: "\f6af"; } +.bi-quote::before { content: "\f6b0"; } +.bi-robot::before { content: "\f6b1"; } +.bi-send-check-fill::before { content: "\f6b2"; } +.bi-send-check::before { content: "\f6b3"; } +.bi-send-dash-fill::before { content: "\f6b4"; } +.bi-send-dash::before { content: "\f6b5"; } +.bi-send-exclamation-1::before { content: "\f6b6"; } +.bi-send-exclamation-fill::before { content: "\f6b7"; } +.bi-send-exclamation::before { content: "\f6b8"; } +.bi-send-fill::before { content: "\f6b9"; } +.bi-send-plus-fill::before { content: "\f6ba"; } +.bi-send-plus::before { content: "\f6bb"; } +.bi-send-slash-fill::before { content: "\f6bc"; } +.bi-send-slash::before { content: "\f6bd"; } +.bi-send-x-fill::before { content: "\f6be"; } +.bi-send-x::before { content: "\f6bf"; } +.bi-send::before { content: "\f6c0"; } +.bi-steam::before { content: "\f6c1"; } +.bi-terminal-dash-1::before { content: "\f6c2"; } +.bi-terminal-dash::before { content: "\f6c3"; } +.bi-terminal-plus::before { content: "\f6c4"; } +.bi-terminal-split::before { content: "\f6c5"; } +.bi-ticket-detailed-fill::before { content: "\f6c6"; } +.bi-ticket-detailed::before { content: "\f6c7"; } +.bi-ticket-fill::before { content: "\f6c8"; } +.bi-ticket-perforated-fill::before { content: "\f6c9"; } +.bi-ticket-perforated::before { content: "\f6ca"; } +.bi-ticket::before { content: "\f6cb"; } +.bi-tiktok::before { content: "\f6cc"; } +.bi-window-dash::before { content: "\f6cd"; } +.bi-window-desktop::before { content: "\f6ce"; } +.bi-window-fullscreen::before { content: "\f6cf"; } +.bi-window-plus::before { content: "\f6d0"; } +.bi-window-split::before { content: "\f6d1"; } +.bi-window-stack::before { content: "\f6d2"; } +.bi-window-x::before { content: "\f6d3"; } +.bi-xbox::before { content: "\f6d4"; } +.bi-ethernet::before { content: "\f6d5"; } +.bi-hdmi-fill::before { content: "\f6d6"; } +.bi-hdmi::before { content: "\f6d7"; } +.bi-usb-c-fill::before { content: "\f6d8"; } +.bi-usb-c::before { content: "\f6d9"; } +.bi-usb-fill::before { content: "\f6da"; } +.bi-usb-plug-fill::before { content: "\f6db"; } +.bi-usb-plug::before { content: "\f6dc"; } +.bi-usb-symbol::before { content: "\f6dd"; } +.bi-usb::before { content: "\f6de"; } +.bi-boombox-fill::before { content: "\f6df"; } +.bi-displayport-1::before { content: "\f6e0"; } +.bi-displayport::before { content: "\f6e1"; } +.bi-gpu-card::before { content: "\f6e2"; } +.bi-memory::before { content: "\f6e3"; } +.bi-modem-fill::before { content: "\f6e4"; } +.bi-modem::before { content: "\f6e5"; } +.bi-motherboard-fill::before { content: "\f6e6"; } +.bi-motherboard::before { content: "\f6e7"; } +.bi-optical-audio-fill::before { content: "\f6e8"; } +.bi-optical-audio::before { content: "\f6e9"; } +.bi-pci-card::before { content: "\f6ea"; } +.bi-router-fill::before { content: "\f6eb"; } +.bi-router::before { content: "\f6ec"; } +.bi-ssd-fill::before { content: "\f6ed"; } +.bi-ssd::before { content: "\f6ee"; } +.bi-thunderbolt-fill::before { content: "\f6ef"; } +.bi-thunderbolt::before { content: "\f6f0"; } +.bi-usb-drive-fill::before { content: "\f6f1"; } +.bi-usb-drive::before { content: "\f6f2"; } +.bi-usb-micro-fill::before { content: "\f6f3"; } +.bi-usb-micro::before { content: "\f6f4"; } +.bi-usb-mini-fill::before { content: "\f6f5"; } +.bi-usb-mini::before { content: "\f6f6"; } +.bi-cloud-haze2::before { content: "\f6f7"; } +.bi-device-hdd-fill::before { content: "\f6f8"; } +.bi-device-hdd::before { content: "\f6f9"; } +.bi-device-ssd-fill::before { content: "\f6fa"; } +.bi-device-ssd::before { content: "\f6fb"; } +.bi-displayport-fill::before { content: "\f6fc"; } +.bi-mortarboard-fill::before { content: "\f6fd"; } +.bi-mortarboard::before { content: "\f6fe"; } +.bi-terminal-x::before { content: "\f6ff"; } +.bi-arrow-through-heart-fill::before { content: "\f700"; } +.bi-arrow-through-heart::before { content: "\f701"; } +.bi-badge-sd-fill::before { content: "\f702"; } +.bi-badge-sd::before { content: "\f703"; } +.bi-bag-heart-fill::before { content: "\f704"; } +.bi-bag-heart::before { content: "\f705"; } +.bi-balloon-fill::before { content: "\f706"; } +.bi-balloon-heart-fill::before { content: "\f707"; } +.bi-balloon-heart::before { content: "\f708"; } +.bi-balloon::before { content: "\f709"; } +.bi-box2-fill::before { content: "\f70a"; } +.bi-box2-heart-fill::before { content: "\f70b"; } +.bi-box2-heart::before { content: "\f70c"; } +.bi-box2::before { content: "\f70d"; } +.bi-braces-asterisk::before { content: "\f70e"; } +.bi-calendar-heart-fill::before { content: "\f70f"; } +.bi-calendar-heart::before { content: "\f710"; } +.bi-calendar2-heart-fill::before { content: "\f711"; } +.bi-calendar2-heart::before { content: "\f712"; } +.bi-chat-heart-fill::before { content: "\f713"; } +.bi-chat-heart::before { content: "\f714"; } +.bi-chat-left-heart-fill::before { content: "\f715"; } +.bi-chat-left-heart::before { content: "\f716"; } +.bi-chat-right-heart-fill::before { content: "\f717"; } +.bi-chat-right-heart::before { content: "\f718"; } +.bi-chat-square-heart-fill::before { content: "\f719"; } +.bi-chat-square-heart::before { content: "\f71a"; } +.bi-clipboard-check-fill::before { content: "\f71b"; } +.bi-clipboard-data-fill::before { content: "\f71c"; } +.bi-clipboard-fill::before { content: "\f71d"; } +.bi-clipboard-heart-fill::before { content: "\f71e"; } +.bi-clipboard-heart::before { content: "\f71f"; } +.bi-clipboard-minus-fill::before { content: "\f720"; } +.bi-clipboard-plus-fill::before { content: "\f721"; } +.bi-clipboard-pulse::before { content: "\f722"; } +.bi-clipboard-x-fill::before { content: "\f723"; } +.bi-clipboard2-check-fill::before { content: "\f724"; } +.bi-clipboard2-check::before { content: "\f725"; } +.bi-clipboard2-data-fill::before { content: "\f726"; } +.bi-clipboard2-data::before { content: "\f727"; } +.bi-clipboard2-fill::before { content: "\f728"; } +.bi-clipboard2-heart-fill::before { content: "\f729"; } +.bi-clipboard2-heart::before { content: "\f72a"; } +.bi-clipboard2-minus-fill::before { content: "\f72b"; } +.bi-clipboard2-minus::before { content: "\f72c"; } +.bi-clipboard2-plus-fill::before { content: "\f72d"; } +.bi-clipboard2-plus::before { content: "\f72e"; } +.bi-clipboard2-pulse-fill::before { content: "\f72f"; } +.bi-clipboard2-pulse::before { content: "\f730"; } +.bi-clipboard2-x-fill::before { content: "\f731"; } +.bi-clipboard2-x::before { content: "\f732"; } +.bi-clipboard2::before { content: "\f733"; } +.bi-emoji-kiss-fill::before { content: "\f734"; } +.bi-emoji-kiss::before { content: "\f735"; } +.bi-envelope-heart-fill::before { content: "\f736"; } +.bi-envelope-heart::before { content: "\f737"; } +.bi-envelope-open-heart-fill::before { content: "\f738"; } +.bi-envelope-open-heart::before { content: "\f739"; } +.bi-envelope-paper-fill::before { content: "\f73a"; } +.bi-envelope-paper-heart-fill::before { content: "\f73b"; } +.bi-envelope-paper-heart::before { content: "\f73c"; } +.bi-envelope-paper::before { content: "\f73d"; } +.bi-filetype-aac::before { content: "\f73e"; } +.bi-filetype-ai::before { content: "\f73f"; } +.bi-filetype-bmp::before { content: "\f740"; } +.bi-filetype-cs::before { content: "\f741"; } +.bi-filetype-css::before { content: "\f742"; } +.bi-filetype-csv::before { content: "\f743"; } +.bi-filetype-doc::before { content: "\f744"; } +.bi-filetype-docx::before { content: "\f745"; } +.bi-filetype-exe::before { content: "\f746"; } +.bi-filetype-gif::before { content: "\f747"; } +.bi-filetype-heic::before { content: "\f748"; } +.bi-filetype-html::before { content: "\f749"; } +.bi-filetype-java::before { content: "\f74a"; } +.bi-filetype-jpg::before { content: "\f74b"; } +.bi-filetype-js::before { content: "\f74c"; } +.bi-filetype-jsx::before { content: "\f74d"; } +.bi-filetype-key::before { content: "\f74e"; } +.bi-filetype-m4p::before { content: "\f74f"; } +.bi-filetype-md::before { content: "\f750"; } +.bi-filetype-mdx::before { content: "\f751"; } +.bi-filetype-mov::before { content: "\f752"; } +.bi-filetype-mp3::before { content: "\f753"; } +.bi-filetype-mp4::before { content: "\f754"; } +.bi-filetype-otf::before { content: "\f755"; } +.bi-filetype-pdf::before { content: "\f756"; } +.bi-filetype-php::before { content: "\f757"; } +.bi-filetype-png::before { content: "\f758"; } +.bi-filetype-ppt-1::before { content: "\f759"; } +.bi-filetype-ppt::before { content: "\f75a"; } +.bi-filetype-psd::before { content: "\f75b"; } +.bi-filetype-py::before { content: "\f75c"; } +.bi-filetype-raw::before { content: "\f75d"; } +.bi-filetype-rb::before { content: "\f75e"; } +.bi-filetype-sass::before { content: "\f75f"; } +.bi-filetype-scss::before { content: "\f760"; } +.bi-filetype-sh::before { content: "\f761"; } +.bi-filetype-svg::before { content: "\f762"; } +.bi-filetype-tiff::before { content: "\f763"; } +.bi-filetype-tsx::before { content: "\f764"; } +.bi-filetype-ttf::before { content: "\f765"; } +.bi-filetype-txt::before { content: "\f766"; } +.bi-filetype-wav::before { content: "\f767"; } +.bi-filetype-woff::before { content: "\f768"; } +.bi-filetype-xls-1::before { content: "\f769"; } +.bi-filetype-xls::before { content: "\f76a"; } +.bi-filetype-xml::before { content: "\f76b"; } +.bi-filetype-yml::before { content: "\f76c"; } +.bi-heart-arrow::before { content: "\f76d"; } +.bi-heart-pulse-fill::before { content: "\f76e"; } +.bi-heart-pulse::before { content: "\f76f"; } +.bi-heartbreak-fill::before { content: "\f770"; } +.bi-heartbreak::before { content: "\f771"; } +.bi-hearts::before { content: "\f772"; } +.bi-hospital-fill::before { content: "\f773"; } +.bi-hospital::before { content: "\f774"; } +.bi-house-heart-fill::before { content: "\f775"; } +.bi-house-heart::before { content: "\f776"; } +.bi-incognito::before { content: "\f777"; } +.bi-magnet-fill::before { content: "\f778"; } +.bi-magnet::before { content: "\f779"; } +.bi-person-heart::before { content: "\f77a"; } +.bi-person-hearts::before { content: "\f77b"; } +.bi-phone-flip::before { content: "\f77c"; } +.bi-plugin::before { content: "\f77d"; } +.bi-postage-fill::before { content: "\f77e"; } +.bi-postage-heart-fill::before { content: "\f77f"; } +.bi-postage-heart::before { content: "\f780"; } +.bi-postage::before { content: "\f781"; } +.bi-postcard-fill::before { content: "\f782"; } +.bi-postcard-heart-fill::before { content: "\f783"; } +.bi-postcard-heart::before { content: "\f784"; } +.bi-postcard::before { content: "\f785"; } +.bi-search-heart-fill::before { content: "\f786"; } +.bi-search-heart::before { content: "\f787"; } +.bi-sliders2-vertical::before { content: "\f788"; } +.bi-sliders2::before { content: "\f789"; } +.bi-trash3-fill::before { content: "\f78a"; } +.bi-trash3::before { content: "\f78b"; } +.bi-valentine::before { content: "\f78c"; } +.bi-valentine2::before { content: "\f78d"; } +.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; } +.bi-wrench-adjustable-circle::before { content: "\f78f"; } +.bi-wrench-adjustable::before { content: "\f790"; } +.bi-filetype-json::before { content: "\f791"; } +.bi-filetype-pptx::before { content: "\f792"; } +.bi-filetype-xlsx::before { content: "\f793"; } +.bi-1-circle-1::before { content: "\f794"; } +.bi-1-circle-fill-1::before { content: "\f795"; } +.bi-1-circle-fill::before { content: "\f796"; } +.bi-1-circle::before { content: "\f797"; } +.bi-1-square-fill::before { content: "\f798"; } +.bi-1-square::before { content: "\f799"; } +.bi-2-circle-1::before { content: "\f79a"; } +.bi-2-circle-fill-1::before { content: "\f79b"; } +.bi-2-circle-fill::before { content: "\f79c"; } +.bi-2-circle::before { content: "\f79d"; } +.bi-2-square-fill::before { content: "\f79e"; } +.bi-2-square::before { content: "\f79f"; } +.bi-3-circle-1::before { content: "\f7a0"; } +.bi-3-circle-fill-1::before { content: "\f7a1"; } +.bi-3-circle-fill::before { content: "\f7a2"; } +.bi-3-circle::before { content: "\f7a3"; } +.bi-3-square-fill::before { content: "\f7a4"; } +.bi-3-square::before { content: "\f7a5"; } +.bi-4-circle-1::before { content: "\f7a6"; } +.bi-4-circle-fill-1::before { content: "\f7a7"; } +.bi-4-circle-fill::before { content: "\f7a8"; } +.bi-4-circle::before { content: "\f7a9"; } +.bi-4-square-fill::before { content: "\f7aa"; } +.bi-4-square::before { content: "\f7ab"; } +.bi-5-circle-1::before { content: "\f7ac"; } +.bi-5-circle-fill-1::before { content: "\f7ad"; } +.bi-5-circle-fill::before { content: "\f7ae"; } +.bi-5-circle::before { content: "\f7af"; } +.bi-5-square-fill::before { content: "\f7b0"; } +.bi-5-square::before { content: "\f7b1"; } +.bi-6-circle-1::before { content: "\f7b2"; } +.bi-6-circle-fill-1::before { content: "\f7b3"; } +.bi-6-circle-fill::before { content: "\f7b4"; } +.bi-6-circle::before { content: "\f7b5"; } +.bi-6-square-fill::before { content: "\f7b6"; } +.bi-6-square::before { content: "\f7b7"; } +.bi-7-circle-1::before { content: "\f7b8"; } +.bi-7-circle-fill-1::before { content: "\f7b9"; } +.bi-7-circle-fill::before { content: "\f7ba"; } +.bi-7-circle::before { content: "\f7bb"; } +.bi-7-square-fill::before { content: "\f7bc"; } +.bi-7-square::before { content: "\f7bd"; } +.bi-8-circle-1::before { content: "\f7be"; } +.bi-8-circle-fill-1::before { content: "\f7bf"; } +.bi-8-circle-fill::before { content: "\f7c0"; } +.bi-8-circle::before { content: "\f7c1"; } +.bi-8-square-fill::before { content: "\f7c2"; } +.bi-8-square::before { content: "\f7c3"; } +.bi-9-circle-1::before { content: "\f7c4"; } +.bi-9-circle-fill-1::before { content: "\f7c5"; } +.bi-9-circle-fill::before { content: "\f7c6"; } +.bi-9-circle::before { content: "\f7c7"; } +.bi-9-square-fill::before { content: "\f7c8"; } +.bi-9-square::before { content: "\f7c9"; } +.bi-airplane-engines-fill::before { content: "\f7ca"; } +.bi-airplane-engines::before { content: "\f7cb"; } +.bi-airplane-fill::before { content: "\f7cc"; } +.bi-airplane::before { content: "\f7cd"; } +.bi-alexa::before { content: "\f7ce"; } +.bi-alipay::before { content: "\f7cf"; } +.bi-android::before { content: "\f7d0"; } +.bi-android2::before { content: "\f7d1"; } +.bi-box-fill::before { content: "\f7d2"; } +.bi-box-seam-fill::before { content: "\f7d3"; } +.bi-browser-chrome::before { content: "\f7d4"; } +.bi-browser-edge::before { content: "\f7d5"; } +.bi-browser-firefox::before { content: "\f7d6"; } +.bi-browser-safari::before { content: "\f7d7"; } +.bi-c-circle-1::before { content: "\f7d8"; } +.bi-c-circle-fill-1::before { content: "\f7d9"; } +.bi-c-circle-fill::before { content: "\f7da"; } +.bi-c-circle::before { content: "\f7db"; } +.bi-c-square-fill::before { content: "\f7dc"; } +.bi-c-square::before { content: "\f7dd"; } +.bi-capsule-pill::before { content: "\f7de"; } +.bi-capsule::before { content: "\f7df"; } +.bi-car-front-fill::before { content: "\f7e0"; } +.bi-car-front::before { content: "\f7e1"; } +.bi-cassette-fill::before { content: "\f7e2"; } +.bi-cassette::before { content: "\f7e3"; } +.bi-cc-circle-1::before { content: "\f7e4"; } +.bi-cc-circle-fill-1::before { content: "\f7e5"; } +.bi-cc-circle-fill::before { content: "\f7e6"; } +.bi-cc-circle::before { content: "\f7e7"; } +.bi-cc-square-fill::before { content: "\f7e8"; } +.bi-cc-square::before { content: "\f7e9"; } +.bi-cup-hot-fill::before { content: "\f7ea"; } +.bi-cup-hot::before { content: "\f7eb"; } +.bi-currency-rupee::before { content: "\f7ec"; } +.bi-dropbox::before { content: "\f7ed"; } +.bi-escape::before { content: "\f7ee"; } +.bi-fast-forward-btn-fill::before { content: "\f7ef"; } +.bi-fast-forward-btn::before { content: "\f7f0"; } +.bi-fast-forward-circle-fill::before { content: "\f7f1"; } +.bi-fast-forward-circle::before { content: "\f7f2"; } +.bi-fast-forward-fill::before { content: "\f7f3"; } +.bi-fast-forward::before { content: "\f7f4"; } +.bi-filetype-sql::before { content: "\f7f5"; } +.bi-fire::before { content: "\f7f6"; } +.bi-google-play::before { content: "\f7f7"; } +.bi-h-circle-1::before { content: "\f7f8"; } +.bi-h-circle-fill-1::before { content: "\f7f9"; } +.bi-h-circle-fill::before { content: "\f7fa"; } +.bi-h-circle::before { content: "\f7fb"; } +.bi-h-square-fill::before { content: "\f7fc"; } +.bi-h-square::before { content: "\f7fd"; } +.bi-indent::before { content: "\f7fe"; } +.bi-lungs-fill::before { content: "\f7ff"; } +.bi-lungs::before { content: "\f800"; } +.bi-microsoft-teams::before { content: "\f801"; } +.bi-p-circle-1::before { content: "\f802"; } +.bi-p-circle-fill-1::before { content: "\f803"; } +.bi-p-circle-fill::before { content: "\f804"; } +.bi-p-circle::before { content: "\f805"; } +.bi-p-square-fill::before { content: "\f806"; } +.bi-p-square::before { content: "\f807"; } +.bi-pass-fill::before { content: "\f808"; } +.bi-pass::before { content: "\f809"; } +.bi-prescription::before { content: "\f80a"; } +.bi-prescription2::before { content: "\f80b"; } +.bi-r-circle-1::before { content: "\f80c"; } +.bi-r-circle-fill-1::before { content: "\f80d"; } +.bi-r-circle-fill::before { content: "\f80e"; } +.bi-r-circle::before { content: "\f80f"; } +.bi-r-square-fill::before { content: "\f810"; } +.bi-r-square::before { content: "\f811"; } +.bi-repeat-1::before { content: "\f812"; } +.bi-repeat::before { content: "\f813"; } +.bi-rewind-btn-fill::before { content: "\f814"; } +.bi-rewind-btn::before { content: "\f815"; } +.bi-rewind-circle-fill::before { content: "\f816"; } +.bi-rewind-circle::before { content: "\f817"; } +.bi-rewind-fill::before { content: "\f818"; } +.bi-rewind::before { content: "\f819"; } +.bi-train-freight-front-fill::before { content: "\f81a"; } +.bi-train-freight-front::before { content: "\f81b"; } +.bi-train-front-fill::before { content: "\f81c"; } +.bi-train-front::before { content: "\f81d"; } +.bi-train-lightrail-front-fill::before { content: "\f81e"; } +.bi-train-lightrail-front::before { content: "\f81f"; } +.bi-truck-front-fill::before { content: "\f820"; } +.bi-truck-front::before { content: "\f821"; } +.bi-ubuntu::before { content: "\f822"; } +.bi-unindent::before { content: "\f823"; } +.bi-unity::before { content: "\f824"; } +.bi-universal-access-circle::before { content: "\f825"; } +.bi-universal-access::before { content: "\f826"; } +.bi-virus::before { content: "\f827"; } +.bi-virus2::before { content: "\f828"; } +.bi-wechat::before { content: "\f829"; } +.bi-yelp::before { content: "\f82a"; } +.bi-sign-stop-fill::before { content: "\f82b"; } +.bi-sign-stop-lights-fill::before { content: "\f82c"; } +.bi-sign-stop-lights::before { content: "\f82d"; } +.bi-sign-stop::before { content: "\f82e"; } +.bi-sign-turn-left-fill::before { content: "\f82f"; } +.bi-sign-turn-left::before { content: "\f830"; } +.bi-sign-turn-right-fill::before { content: "\f831"; } +.bi-sign-turn-right::before { content: "\f832"; } +.bi-sign-turn-slight-left-fill::before { content: "\f833"; } +.bi-sign-turn-slight-left::before { content: "\f834"; } +.bi-sign-turn-slight-right-fill::before { content: "\f835"; } +.bi-sign-turn-slight-right::before { content: "\f836"; } +.bi-sign-yield-fill::before { content: "\f837"; } +.bi-sign-yield::before { content: "\f838"; } +.bi-ev-station-fill::before { content: "\f839"; } +.bi-ev-station::before { content: "\f83a"; } +.bi-fuel-pump-diesel-fill::before { content: "\f83b"; } +.bi-fuel-pump-diesel::before { content: "\f83c"; } +.bi-fuel-pump-fill::before { content: "\f83d"; } +.bi-fuel-pump::before { content: "\f83e"; } +.bi-0-circle-fill::before { content: "\f83f"; } +.bi-0-circle::before { content: "\f840"; } +.bi-0-square-fill::before { content: "\f841"; } +.bi-0-square::before { content: "\f842"; } +.bi-rocket-fill::before { content: "\f843"; } +.bi-rocket-takeoff-fill::before { content: "\f844"; } +.bi-rocket-takeoff::before { content: "\f845"; } +.bi-rocket::before { content: "\f846"; } +.bi-stripe::before { content: "\f847"; } +.bi-subscript::before { content: "\f848"; } +.bi-superscript::before { content: "\f849"; } +.bi-trello::before { content: "\f84a"; } +.bi-envelope-at-fill::before { content: "\f84b"; } +.bi-envelope-at::before { content: "\f84c"; } +.bi-regex::before { content: "\f84d"; } +.bi-text-wrap::before { content: "\f84e"; } +.bi-sign-dead-end-fill::before { content: "\f84f"; } +.bi-sign-dead-end::before { content: "\f850"; } +.bi-sign-do-not-enter-fill::before { content: "\f851"; } +.bi-sign-do-not-enter::before { content: "\f852"; } +.bi-sign-intersection-fill::before { content: "\f853"; } +.bi-sign-intersection-side-fill::before { content: "\f854"; } +.bi-sign-intersection-side::before { content: "\f855"; } +.bi-sign-intersection-t-fill::before { content: "\f856"; } +.bi-sign-intersection-t::before { content: "\f857"; } +.bi-sign-intersection-y-fill::before { content: "\f858"; } +.bi-sign-intersection-y::before { content: "\f859"; } +.bi-sign-intersection::before { content: "\f85a"; } +.bi-sign-merge-left-fill::before { content: "\f85b"; } +.bi-sign-merge-left::before { content: "\f85c"; } +.bi-sign-merge-right-fill::before { content: "\f85d"; } +.bi-sign-merge-right::before { content: "\f85e"; } +.bi-sign-no-left-turn-fill::before { content: "\f85f"; } +.bi-sign-no-left-turn::before { content: "\f860"; } +.bi-sign-no-parking-fill::before { content: "\f861"; } +.bi-sign-no-parking::before { content: "\f862"; } +.bi-sign-no-right-turn-fill::before { content: "\f863"; } +.bi-sign-no-right-turn::before { content: "\f864"; } +.bi-sign-railroad-fill::before { content: "\f865"; } +.bi-sign-railroad::before { content: "\f866"; } +.bi-building-add::before { content: "\f867"; } +.bi-building-check::before { content: "\f868"; } +.bi-building-dash::before { content: "\f869"; } +.bi-building-down::before { content: "\f86a"; } +.bi-building-exclamation::before { content: "\f86b"; } +.bi-building-fill-add::before { content: "\f86c"; } +.bi-building-fill-check::before { content: "\f86d"; } +.bi-building-fill-dash::before { content: "\f86e"; } +.bi-building-fill-down::before { content: "\f86f"; } +.bi-building-fill-exclamation::before { content: "\f870"; } +.bi-building-fill-gear::before { content: "\f871"; } +.bi-building-fill-lock::before { content: "\f872"; } +.bi-building-fill-slash::before { content: "\f873"; } +.bi-building-fill-up::before { content: "\f874"; } +.bi-building-fill-x::before { content: "\f875"; } +.bi-building-fill::before { content: "\f876"; } +.bi-building-gear::before { content: "\f877"; } +.bi-building-lock::before { content: "\f878"; } +.bi-building-slash::before { content: "\f879"; } +.bi-building-up::before { content: "\f87a"; } +.bi-building-x::before { content: "\f87b"; } +.bi-buildings-fill::before { content: "\f87c"; } +.bi-buildings::before { content: "\f87d"; } +.bi-bus-front-fill::before { content: "\f87e"; } +.bi-bus-front::before { content: "\f87f"; } +.bi-ev-front-fill::before { content: "\f880"; } +.bi-ev-front::before { content: "\f881"; } +.bi-globe-americas::before { content: "\f882"; } +.bi-globe-asia-australia::before { content: "\f883"; } +.bi-globe-central-south-asia::before { content: "\f884"; } +.bi-globe-europe-africa::before { content: "\f885"; } +.bi-house-add-fill::before { content: "\f886"; } +.bi-house-add::before { content: "\f887"; } +.bi-house-check-fill::before { content: "\f888"; } +.bi-house-check::before { content: "\f889"; } +.bi-house-dash-fill::before { content: "\f88a"; } +.bi-house-dash::before { content: "\f88b"; } +.bi-house-down-fill::before { content: "\f88c"; } +.bi-house-down::before { content: "\f88d"; } +.bi-house-exclamation-fill::before { content: "\f88e"; } +.bi-house-exclamation::before { content: "\f88f"; } +.bi-house-gear-fill::before { content: "\f890"; } +.bi-house-gear::before { content: "\f891"; } +.bi-house-lock-fill::before { content: "\f892"; } +.bi-house-lock::before { content: "\f893"; } +.bi-house-slash-fill::before { content: "\f894"; } +.bi-house-slash::before { content: "\f895"; } +.bi-house-up-fill::before { content: "\f896"; } +.bi-house-up::before { content: "\f897"; } +.bi-house-x-fill::before { content: "\f898"; } +.bi-house-x::before { content: "\f899"; } +.bi-person-add::before { content: "\f89a"; } +.bi-person-down::before { content: "\f89b"; } +.bi-person-exclamation::before { content: "\f89c"; } +.bi-person-fill-add::before { content: "\f89d"; } +.bi-person-fill-check::before { content: "\f89e"; } +.bi-person-fill-dash::before { content: "\f89f"; } +.bi-person-fill-down::before { content: "\f8a0"; } +.bi-person-fill-exclamation::before { content: "\f8a1"; } +.bi-person-fill-gear::before { content: "\f8a2"; } +.bi-person-fill-lock::before { content: "\f8a3"; } +.bi-person-fill-slash::before { content: "\f8a4"; } +.bi-person-fill-up::before { content: "\f8a5"; } +.bi-person-fill-x::before { content: "\f8a6"; } +.bi-person-gear::before { content: "\f8a7"; } +.bi-person-lock::before { content: "\f8a8"; } +.bi-person-slash::before { content: "\f8a9"; } +.bi-person-up::before { content: "\f8aa"; } +.bi-scooter::before { content: "\f8ab"; } +.bi-taxi-front-fill::before { content: "\f8ac"; } +.bi-taxi-front::before { content: "\f8ad"; } +.bi-amd::before { content: "\f8ae"; } +.bi-database-add::before { content: "\f8af"; } +.bi-database-check::before { content: "\f8b0"; } +.bi-database-dash::before { content: "\f8b1"; } +.bi-database-down::before { content: "\f8b2"; } +.bi-database-exclamation::before { content: "\f8b3"; } +.bi-database-fill-add::before { content: "\f8b4"; } +.bi-database-fill-check::before { content: "\f8b5"; } +.bi-database-fill-dash::before { content: "\f8b6"; } +.bi-database-fill-down::before { content: "\f8b7"; } +.bi-database-fill-exclamation::before { content: "\f8b8"; } +.bi-database-fill-gear::before { content: "\f8b9"; } +.bi-database-fill-lock::before { content: "\f8ba"; } +.bi-database-fill-slash::before { content: "\f8bb"; } +.bi-database-fill-up::before { content: "\f8bc"; } +.bi-database-fill-x::before { content: "\f8bd"; } +.bi-database-fill::before { content: "\f8be"; } +.bi-database-gear::before { content: "\f8bf"; } +.bi-database-lock::before { content: "\f8c0"; } +.bi-database-slash::before { content: "\f8c1"; } +.bi-database-up::before { content: "\f8c2"; } +.bi-database-x::before { content: "\f8c3"; } +.bi-database::before { content: "\f8c4"; } +.bi-houses-fill::before { content: "\f8c5"; } +.bi-houses::before { content: "\f8c6"; } +.bi-nvidia::before { content: "\f8c7"; } +.bi-person-vcard-fill::before { content: "\f8c8"; } +.bi-person-vcard::before { content: "\f8c9"; } +.bi-sina-weibo::before { content: "\f8ca"; } +.bi-tencent-qq::before { content: "\f8cb"; } +.bi-wikipedia::before { content: "\f8cc"; } diff --git a/site/src/jsMain/resources/bootstrap-icons.json b/site/src/jsMain/resources/bootstrap-icons.json new file mode 100644 index 0000000..01e6f90 --- /dev/null +++ b/site/src/jsMain/resources/bootstrap-icons.json @@ -0,0 +1,1998 @@ +{ + "123": 63103, + "alarm-fill": 61697, + "alarm": 61698, + "align-bottom": 61699, + "align-center": 61700, + "align-end": 61701, + "align-middle": 61702, + "align-start": 61703, + "align-top": 61704, + "alt": 61705, + "app-indicator": 61706, + "app": 61707, + "archive-fill": 61708, + "archive": 61709, + "arrow-90deg-down": 61710, + "arrow-90deg-left": 61711, + "arrow-90deg-right": 61712, + "arrow-90deg-up": 61713, + "arrow-bar-down": 61714, + "arrow-bar-left": 61715, + "arrow-bar-right": 61716, + "arrow-bar-up": 61717, + "arrow-clockwise": 61718, + "arrow-counterclockwise": 61719, + "arrow-down-circle-fill": 61720, + "arrow-down-circle": 61721, + "arrow-down-left-circle-fill": 61722, + "arrow-down-left-circle": 61723, + "arrow-down-left-square-fill": 61724, + "arrow-down-left-square": 61725, + "arrow-down-left": 61726, + "arrow-down-right-circle-fill": 61727, + "arrow-down-right-circle": 61728, + "arrow-down-right-square-fill": 61729, + "arrow-down-right-square": 61730, + "arrow-down-right": 61731, + "arrow-down-short": 61732, + "arrow-down-square-fill": 61733, + "arrow-down-square": 61734, + "arrow-down-up": 61735, + "arrow-down": 61736, + "arrow-left-circle-fill": 61737, + "arrow-left-circle": 61738, + "arrow-left-right": 61739, + "arrow-left-short": 61740, + "arrow-left-square-fill": 61741, + "arrow-left-square": 61742, + "arrow-left": 61743, + "arrow-repeat": 61744, + "arrow-return-left": 61745, + "arrow-return-right": 61746, + "arrow-right-circle-fill": 61747, + "arrow-right-circle": 61748, + "arrow-right-short": 61749, + "arrow-right-square-fill": 61750, + "arrow-right-square": 61751, + "arrow-right": 61752, + "arrow-up-circle-fill": 61753, + "arrow-up-circle": 61754, + "arrow-up-left-circle-fill": 61755, + "arrow-up-left-circle": 61756, + "arrow-up-left-square-fill": 61757, + "arrow-up-left-square": 61758, + "arrow-up-left": 61759, + "arrow-up-right-circle-fill": 61760, + "arrow-up-right-circle": 61761, + "arrow-up-right-square-fill": 61762, + "arrow-up-right-square": 61763, + "arrow-up-right": 61764, + "arrow-up-short": 61765, + "arrow-up-square-fill": 61766, + "arrow-up-square": 61767, + "arrow-up": 61768, + "arrows-angle-contract": 61769, + "arrows-angle-expand": 61770, + "arrows-collapse": 61771, + "arrows-expand": 61772, + "arrows-fullscreen": 61773, + "arrows-move": 61774, + "aspect-ratio-fill": 61775, + "aspect-ratio": 61776, + "asterisk": 61777, + "at": 61778, + "award-fill": 61779, + "award": 61780, + "back": 61781, + "backspace-fill": 61782, + "backspace-reverse-fill": 61783, + "backspace-reverse": 61784, + "backspace": 61785, + "badge-3d-fill": 61786, + "badge-3d": 61787, + "badge-4k-fill": 61788, + "badge-4k": 61789, + "badge-8k-fill": 61790, + "badge-8k": 61791, + "badge-ad-fill": 61792, + "badge-ad": 61793, + "badge-ar-fill": 61794, + "badge-ar": 61795, + "badge-cc-fill": 61796, + "badge-cc": 61797, + "badge-hd-fill": 61798, + "badge-hd": 61799, + "badge-tm-fill": 61800, + "badge-tm": 61801, + "badge-vo-fill": 61802, + "badge-vo": 61803, + "badge-vr-fill": 61804, + "badge-vr": 61805, + "badge-wc-fill": 61806, + "badge-wc": 61807, + "bag-check-fill": 61808, + "bag-check": 61809, + "bag-dash-fill": 61810, + "bag-dash": 61811, + "bag-fill": 61812, + "bag-plus-fill": 61813, + "bag-plus": 61814, + "bag-x-fill": 61815, + "bag-x": 61816, + "bag": 61817, + "bar-chart-fill": 61818, + "bar-chart-line-fill": 61819, + "bar-chart-line": 61820, + "bar-chart-steps": 61821, + "bar-chart": 61822, + "basket-fill": 61823, + "basket": 61824, + "basket2-fill": 61825, + "basket2": 61826, + "basket3-fill": 61827, + "basket3": 61828, + "battery-charging": 61829, + "battery-full": 61830, + "battery-half": 61831, + "battery": 61832, + "bell-fill": 61833, + "bell": 61834, + "bezier": 61835, + "bezier2": 61836, + "bicycle": 61837, + "binoculars-fill": 61838, + "binoculars": 61839, + "blockquote-left": 61840, + "blockquote-right": 61841, + "book-fill": 61842, + "book-half": 61843, + "book": 61844, + "bookmark-check-fill": 61845, + "bookmark-check": 61846, + "bookmark-dash-fill": 61847, + "bookmark-dash": 61848, + "bookmark-fill": 61849, + "bookmark-heart-fill": 61850, + "bookmark-heart": 61851, + "bookmark-plus-fill": 61852, + "bookmark-plus": 61853, + "bookmark-star-fill": 61854, + "bookmark-star": 61855, + "bookmark-x-fill": 61856, + "bookmark-x": 61857, + "bookmark": 61858, + "bookmarks-fill": 61859, + "bookmarks": 61860, + "bookshelf": 61861, + "bootstrap-fill": 61862, + "bootstrap-reboot": 61863, + "bootstrap": 61864, + "border-all": 61865, + "border-bottom": 61866, + "border-center": 61867, + "border-inner": 61868, + "border-left": 61869, + "border-middle": 61870, + "border-outer": 61871, + "border-right": 61872, + "border-style": 61873, + "border-top": 61874, + "border-width": 61875, + "border": 61876, + "bounding-box-circles": 61877, + "bounding-box": 61878, + "box-arrow-down-left": 61879, + "box-arrow-down-right": 61880, + "box-arrow-down": 61881, + "box-arrow-in-down-left": 61882, + "box-arrow-in-down-right": 61883, + "box-arrow-in-down": 61884, + "box-arrow-in-left": 61885, + "box-arrow-in-right": 61886, + "box-arrow-in-up-left": 61887, + "box-arrow-in-up-right": 61888, + "box-arrow-in-up": 61889, + "box-arrow-left": 61890, + "box-arrow-right": 61891, + "box-arrow-up-left": 61892, + "box-arrow-up-right": 61893, + "box-arrow-up": 61894, + "box-seam": 61895, + "box": 61896, + "braces": 61897, + "bricks": 61898, + "briefcase-fill": 61899, + "briefcase": 61900, + "brightness-alt-high-fill": 61901, + "brightness-alt-high": 61902, + "brightness-alt-low-fill": 61903, + "brightness-alt-low": 61904, + "brightness-high-fill": 61905, + "brightness-high": 61906, + "brightness-low-fill": 61907, + "brightness-low": 61908, + "broadcast-pin": 61909, + "broadcast": 61910, + "brush-fill": 61911, + "brush": 61912, + "bucket-fill": 61913, + "bucket": 61914, + "bug-fill": 61915, + "bug": 61916, + "building": 61917, + "bullseye": 61918, + "calculator-fill": 61919, + "calculator": 61920, + "calendar-check-fill": 61921, + "calendar-check": 61922, + "calendar-date-fill": 61923, + "calendar-date": 61924, + "calendar-day-fill": 61925, + "calendar-day": 61926, + "calendar-event-fill": 61927, + "calendar-event": 61928, + "calendar-fill": 61929, + "calendar-minus-fill": 61930, + "calendar-minus": 61931, + "calendar-month-fill": 61932, + "calendar-month": 61933, + "calendar-plus-fill": 61934, + "calendar-plus": 61935, + "calendar-range-fill": 61936, + "calendar-range": 61937, + "calendar-week-fill": 61938, + "calendar-week": 61939, + "calendar-x-fill": 61940, + "calendar-x": 61941, + "calendar": 61942, + "calendar2-check-fill": 61943, + "calendar2-check": 61944, + "calendar2-date-fill": 61945, + "calendar2-date": 61946, + "calendar2-day-fill": 61947, + "calendar2-day": 61948, + "calendar2-event-fill": 61949, + "calendar2-event": 61950, + "calendar2-fill": 61951, + "calendar2-minus-fill": 61952, + "calendar2-minus": 61953, + "calendar2-month-fill": 61954, + "calendar2-month": 61955, + "calendar2-plus-fill": 61956, + "calendar2-plus": 61957, + "calendar2-range-fill": 61958, + "calendar2-range": 61959, + "calendar2-week-fill": 61960, + "calendar2-week": 61961, + "calendar2-x-fill": 61962, + "calendar2-x": 61963, + "calendar2": 61964, + "calendar3-event-fill": 61965, + "calendar3-event": 61966, + "calendar3-fill": 61967, + "calendar3-range-fill": 61968, + "calendar3-range": 61969, + "calendar3-week-fill": 61970, + "calendar3-week": 61971, + "calendar3": 61972, + "calendar4-event": 61973, + "calendar4-range": 61974, + "calendar4-week": 61975, + "calendar4": 61976, + "camera-fill": 61977, + "camera-reels-fill": 61978, + "camera-reels": 61979, + "camera-video-fill": 61980, + "camera-video-off-fill": 61981, + "camera-video-off": 61982, + "camera-video": 61983, + "camera": 61984, + "camera2": 61985, + "capslock-fill": 61986, + "capslock": 61987, + "card-checklist": 61988, + "card-heading": 61989, + "card-image": 61990, + "card-list": 61991, + "card-text": 61992, + "caret-down-fill": 61993, + "caret-down-square-fill": 61994, + "caret-down-square": 61995, + "caret-down": 61996, + "caret-left-fill": 61997, + "caret-left-square-fill": 61998, + "caret-left-square": 61999, + "caret-left": 62000, + "caret-right-fill": 62001, + "caret-right-square-fill": 62002, + "caret-right-square": 62003, + "caret-right": 62004, + "caret-up-fill": 62005, + "caret-up-square-fill": 62006, + "caret-up-square": 62007, + "caret-up": 62008, + "cart-check-fill": 62009, + "cart-check": 62010, + "cart-dash-fill": 62011, + "cart-dash": 62012, + "cart-fill": 62013, + "cart-plus-fill": 62014, + "cart-plus": 62015, + "cart-x-fill": 62016, + "cart-x": 62017, + "cart": 62018, + "cart2": 62019, + "cart3": 62020, + "cart4": 62021, + "cash-stack": 62022, + "cash": 62023, + "cast": 62024, + "chat-dots-fill": 62025, + "chat-dots": 62026, + "chat-fill": 62027, + "chat-left-dots-fill": 62028, + "chat-left-dots": 62029, + "chat-left-fill": 62030, + "chat-left-quote-fill": 62031, + "chat-left-quote": 62032, + "chat-left-text-fill": 62033, + "chat-left-text": 62034, + "chat-left": 62035, + "chat-quote-fill": 62036, + "chat-quote": 62037, + "chat-right-dots-fill": 62038, + "chat-right-dots": 62039, + "chat-right-fill": 62040, + "chat-right-quote-fill": 62041, + "chat-right-quote": 62042, + "chat-right-text-fill": 62043, + "chat-right-text": 62044, + "chat-right": 62045, + "chat-square-dots-fill": 62046, + "chat-square-dots": 62047, + "chat-square-fill": 62048, + "chat-square-quote-fill": 62049, + "chat-square-quote": 62050, + "chat-square-text-fill": 62051, + "chat-square-text": 62052, + "chat-square": 62053, + "chat-text-fill": 62054, + "chat-text": 62055, + "chat": 62056, + "check-all": 62057, + "check-circle-fill": 62058, + "check-circle": 62059, + "check-square-fill": 62060, + "check-square": 62061, + "check": 62062, + "check2-all": 62063, + "check2-circle": 62064, + "check2-square": 62065, + "check2": 62066, + "chevron-bar-contract": 62067, + "chevron-bar-down": 62068, + "chevron-bar-expand": 62069, + "chevron-bar-left": 62070, + "chevron-bar-right": 62071, + "chevron-bar-up": 62072, + "chevron-compact-down": 62073, + "chevron-compact-left": 62074, + "chevron-compact-right": 62075, + "chevron-compact-up": 62076, + "chevron-contract": 62077, + "chevron-double-down": 62078, + "chevron-double-left": 62079, + "chevron-double-right": 62080, + "chevron-double-up": 62081, + "chevron-down": 62082, + "chevron-expand": 62083, + "chevron-left": 62084, + "chevron-right": 62085, + "chevron-up": 62086, + "circle-fill": 62087, + "circle-half": 62088, + "circle-square": 62089, + "circle": 62090, + "clipboard-check": 62091, + "clipboard-data": 62092, + "clipboard-minus": 62093, + "clipboard-plus": 62094, + "clipboard-x": 62095, + "clipboard": 62096, + "clock-fill": 62097, + "clock-history": 62098, + "clock": 62099, + "cloud-arrow-down-fill": 62100, + "cloud-arrow-down": 62101, + "cloud-arrow-up-fill": 62102, + "cloud-arrow-up": 62103, + "cloud-check-fill": 62104, + "cloud-check": 62105, + "cloud-download-fill": 62106, + "cloud-download": 62107, + "cloud-drizzle-fill": 62108, + "cloud-drizzle": 62109, + "cloud-fill": 62110, + "cloud-fog-fill": 62111, + "cloud-fog": 62112, + "cloud-fog2-fill": 62113, + "cloud-fog2": 62114, + "cloud-hail-fill": 62115, + "cloud-hail": 62116, + "cloud-haze-1": 62117, + "cloud-haze-fill": 62118, + "cloud-haze": 62119, + "cloud-haze2-fill": 62120, + "cloud-lightning-fill": 62121, + "cloud-lightning-rain-fill": 62122, + "cloud-lightning-rain": 62123, + "cloud-lightning": 62124, + "cloud-minus-fill": 62125, + "cloud-minus": 62126, + "cloud-moon-fill": 62127, + "cloud-moon": 62128, + "cloud-plus-fill": 62129, + "cloud-plus": 62130, + "cloud-rain-fill": 62131, + "cloud-rain-heavy-fill": 62132, + "cloud-rain-heavy": 62133, + "cloud-rain": 62134, + "cloud-slash-fill": 62135, + "cloud-slash": 62136, + "cloud-sleet-fill": 62137, + "cloud-sleet": 62138, + "cloud-snow-fill": 62139, + "cloud-snow": 62140, + "cloud-sun-fill": 62141, + "cloud-sun": 62142, + "cloud-upload-fill": 62143, + "cloud-upload": 62144, + "cloud": 62145, + "clouds-fill": 62146, + "clouds": 62147, + "cloudy-fill": 62148, + "cloudy": 62149, + "code-slash": 62150, + "code-square": 62151, + "code": 62152, + "collection-fill": 62153, + "collection-play-fill": 62154, + "collection-play": 62155, + "collection": 62156, + "columns-gap": 62157, + "columns": 62158, + "command": 62159, + "compass-fill": 62160, + "compass": 62161, + "cone-striped": 62162, + "cone": 62163, + "controller": 62164, + "cpu-fill": 62165, + "cpu": 62166, + "credit-card-2-back-fill": 62167, + "credit-card-2-back": 62168, + "credit-card-2-front-fill": 62169, + "credit-card-2-front": 62170, + "credit-card-fill": 62171, + "credit-card": 62172, + "crop": 62173, + "cup-fill": 62174, + "cup-straw": 62175, + "cup": 62176, + "cursor-fill": 62177, + "cursor-text": 62178, + "cursor": 62179, + "dash-circle-dotted": 62180, + "dash-circle-fill": 62181, + "dash-circle": 62182, + "dash-square-dotted": 62183, + "dash-square-fill": 62184, + "dash-square": 62185, + "dash": 62186, + "diagram-2-fill": 62187, + "diagram-2": 62188, + "diagram-3-fill": 62189, + "diagram-3": 62190, + "diamond-fill": 62191, + "diamond-half": 62192, + "diamond": 62193, + "dice-1-fill": 62194, + "dice-1": 62195, + "dice-2-fill": 62196, + "dice-2": 62197, + "dice-3-fill": 62198, + "dice-3": 62199, + "dice-4-fill": 62200, + "dice-4": 62201, + "dice-5-fill": 62202, + "dice-5": 62203, + "dice-6-fill": 62204, + "dice-6": 62205, + "disc-fill": 62206, + "disc": 62207, + "discord": 62208, + "display-fill": 62209, + "display": 62210, + "distribute-horizontal": 62211, + "distribute-vertical": 62212, + "door-closed-fill": 62213, + "door-closed": 62214, + "door-open-fill": 62215, + "door-open": 62216, + "dot": 62217, + "download": 62218, + "droplet-fill": 62219, + "droplet-half": 62220, + "droplet": 62221, + "earbuds": 62222, + "easel-fill": 62223, + "easel": 62224, + "egg-fill": 62225, + "egg-fried": 62226, + "egg": 62227, + "eject-fill": 62228, + "eject": 62229, + "emoji-angry-fill": 62230, + "emoji-angry": 62231, + "emoji-dizzy-fill": 62232, + "emoji-dizzy": 62233, + "emoji-expressionless-fill": 62234, + "emoji-expressionless": 62235, + "emoji-frown-fill": 62236, + "emoji-frown": 62237, + "emoji-heart-eyes-fill": 62238, + "emoji-heart-eyes": 62239, + "emoji-laughing-fill": 62240, + "emoji-laughing": 62241, + "emoji-neutral-fill": 62242, + "emoji-neutral": 62243, + "emoji-smile-fill": 62244, + "emoji-smile-upside-down-fill": 62245, + "emoji-smile-upside-down": 62246, + "emoji-smile": 62247, + "emoji-sunglasses-fill": 62248, + "emoji-sunglasses": 62249, + "emoji-wink-fill": 62250, + "emoji-wink": 62251, + "envelope-fill": 62252, + "envelope-open-fill": 62253, + "envelope-open": 62254, + "envelope": 62255, + "eraser-fill": 62256, + "eraser": 62257, + "exclamation-circle-fill": 62258, + "exclamation-circle": 62259, + "exclamation-diamond-fill": 62260, + "exclamation-diamond": 62261, + "exclamation-octagon-fill": 62262, + "exclamation-octagon": 62263, + "exclamation-square-fill": 62264, + "exclamation-square": 62265, + "exclamation-triangle-fill": 62266, + "exclamation-triangle": 62267, + "exclamation": 62268, + "exclude": 62269, + "eye-fill": 62270, + "eye-slash-fill": 62271, + "eye-slash": 62272, + "eye": 62273, + "eyedropper": 62274, + "eyeglasses": 62275, + "facebook": 62276, + "file-arrow-down-fill": 62277, + "file-arrow-down": 62278, + "file-arrow-up-fill": 62279, + "file-arrow-up": 62280, + "file-bar-graph-fill": 62281, + "file-bar-graph": 62282, + "file-binary-fill": 62283, + "file-binary": 62284, + "file-break-fill": 62285, + "file-break": 62286, + "file-check-fill": 62287, + "file-check": 62288, + "file-code-fill": 62289, + "file-code": 62290, + "file-diff-fill": 62291, + "file-diff": 62292, + "file-earmark-arrow-down-fill": 62293, + "file-earmark-arrow-down": 62294, + "file-earmark-arrow-up-fill": 62295, + "file-earmark-arrow-up": 62296, + "file-earmark-bar-graph-fill": 62297, + "file-earmark-bar-graph": 62298, + "file-earmark-binary-fill": 62299, + "file-earmark-binary": 62300, + "file-earmark-break-fill": 62301, + "file-earmark-break": 62302, + "file-earmark-check-fill": 62303, + "file-earmark-check": 62304, + "file-earmark-code-fill": 62305, + "file-earmark-code": 62306, + "file-earmark-diff-fill": 62307, + "file-earmark-diff": 62308, + "file-earmark-easel-fill": 62309, + "file-earmark-easel": 62310, + "file-earmark-excel-fill": 62311, + "file-earmark-excel": 62312, + "file-earmark-fill": 62313, + "file-earmark-font-fill": 62314, + "file-earmark-font": 62315, + "file-earmark-image-fill": 62316, + "file-earmark-image": 62317, + "file-earmark-lock-fill": 62318, + "file-earmark-lock": 62319, + "file-earmark-lock2-fill": 62320, + "file-earmark-lock2": 62321, + "file-earmark-medical-fill": 62322, + "file-earmark-medical": 62323, + "file-earmark-minus-fill": 62324, + "file-earmark-minus": 62325, + "file-earmark-music-fill": 62326, + "file-earmark-music": 62327, + "file-earmark-person-fill": 62328, + "file-earmark-person": 62329, + "file-earmark-play-fill": 62330, + "file-earmark-play": 62331, + "file-earmark-plus-fill": 62332, + "file-earmark-plus": 62333, + "file-earmark-post-fill": 62334, + "file-earmark-post": 62335, + "file-earmark-ppt-fill": 62336, + "file-earmark-ppt": 62337, + "file-earmark-richtext-fill": 62338, + "file-earmark-richtext": 62339, + "file-earmark-ruled-fill": 62340, + "file-earmark-ruled": 62341, + "file-earmark-slides-fill": 62342, + "file-earmark-slides": 62343, + "file-earmark-spreadsheet-fill": 62344, + "file-earmark-spreadsheet": 62345, + "file-earmark-text-fill": 62346, + "file-earmark-text": 62347, + "file-earmark-word-fill": 62348, + "file-earmark-word": 62349, + "file-earmark-x-fill": 62350, + "file-earmark-x": 62351, + "file-earmark-zip-fill": 62352, + "file-earmark-zip": 62353, + "file-earmark": 62354, + "file-easel-fill": 62355, + "file-easel": 62356, + "file-excel-fill": 62357, + "file-excel": 62358, + "file-fill": 62359, + "file-font-fill": 62360, + "file-font": 62361, + "file-image-fill": 62362, + "file-image": 62363, + "file-lock-fill": 62364, + "file-lock": 62365, + "file-lock2-fill": 62366, + "file-lock2": 62367, + "file-medical-fill": 62368, + "file-medical": 62369, + "file-minus-fill": 62370, + "file-minus": 62371, + "file-music-fill": 62372, + "file-music": 62373, + "file-person-fill": 62374, + "file-person": 62375, + "file-play-fill": 62376, + "file-play": 62377, + "file-plus-fill": 62378, + "file-plus": 62379, + "file-post-fill": 62380, + "file-post": 62381, + "file-ppt-fill": 62382, + "file-ppt": 62383, + "file-richtext-fill": 62384, + "file-richtext": 62385, + "file-ruled-fill": 62386, + "file-ruled": 62387, + "file-slides-fill": 62388, + "file-slides": 62389, + "file-spreadsheet-fill": 62390, + "file-spreadsheet": 62391, + "file-text-fill": 62392, + "file-text": 62393, + "file-word-fill": 62394, + "file-word": 62395, + "file-x-fill": 62396, + "file-x": 62397, + "file-zip-fill": 62398, + "file-zip": 62399, + "file": 62400, + "files-alt": 62401, + "files": 62402, + "film": 62403, + "filter-circle-fill": 62404, + "filter-circle": 62405, + "filter-left": 62406, + "filter-right": 62407, + "filter-square-fill": 62408, + "filter-square": 62409, + "filter": 62410, + "flag-fill": 62411, + "flag": 62412, + "flower1": 62413, + "flower2": 62414, + "flower3": 62415, + "folder-check": 62416, + "folder-fill": 62417, + "folder-minus": 62418, + "folder-plus": 62419, + "folder-symlink-fill": 62420, + "folder-symlink": 62421, + "folder-x": 62422, + "folder": 62423, + "folder2-open": 62424, + "folder2": 62425, + "fonts": 62426, + "forward-fill": 62427, + "forward": 62428, + "front": 62429, + "fullscreen-exit": 62430, + "fullscreen": 62431, + "funnel-fill": 62432, + "funnel": 62433, + "gear-fill": 62434, + "gear-wide-connected": 62435, + "gear-wide": 62436, + "gear": 62437, + "gem": 62438, + "geo-alt-fill": 62439, + "geo-alt": 62440, + "geo-fill": 62441, + "geo": 62442, + "gift-fill": 62443, + "gift": 62444, + "github": 62445, + "globe": 62446, + "globe2": 62447, + "google": 62448, + "graph-down": 62449, + "graph-up": 62450, + "grid-1x2-fill": 62451, + "grid-1x2": 62452, + "grid-3x2-gap-fill": 62453, + "grid-3x2-gap": 62454, + "grid-3x2": 62455, + "grid-3x3-gap-fill": 62456, + "grid-3x3-gap": 62457, + "grid-3x3": 62458, + "grid-fill": 62459, + "grid": 62460, + "grip-horizontal": 62461, + "grip-vertical": 62462, + "hammer": 62463, + "hand-index-fill": 62464, + "hand-index-thumb-fill": 62465, + "hand-index-thumb": 62466, + "hand-index": 62467, + "hand-thumbs-down-fill": 62468, + "hand-thumbs-down": 62469, + "hand-thumbs-up-fill": 62470, + "hand-thumbs-up": 62471, + "handbag-fill": 62472, + "handbag": 62473, + "hash": 62474, + "hdd-fill": 62475, + "hdd-network-fill": 62476, + "hdd-network": 62477, + "hdd-rack-fill": 62478, + "hdd-rack": 62479, + "hdd-stack-fill": 62480, + "hdd-stack": 62481, + "hdd": 62482, + "headphones": 62483, + "headset": 62484, + "heart-fill": 62485, + "heart-half": 62486, + "heart": 62487, + "heptagon-fill": 62488, + "heptagon-half": 62489, + "heptagon": 62490, + "hexagon-fill": 62491, + "hexagon-half": 62492, + "hexagon": 62493, + "hourglass-bottom": 62494, + "hourglass-split": 62495, + "hourglass-top": 62496, + "hourglass": 62497, + "house-door-fill": 62498, + "house-door": 62499, + "house-fill": 62500, + "house": 62501, + "hr": 62502, + "hurricane": 62503, + "image-alt": 62504, + "image-fill": 62505, + "image": 62506, + "images": 62507, + "inbox-fill": 62508, + "inbox": 62509, + "inboxes-fill": 62510, + "inboxes": 62511, + "info-circle-fill": 62512, + "info-circle": 62513, + "info-square-fill": 62514, + "info-square": 62515, + "info": 62516, + "input-cursor-text": 62517, + "input-cursor": 62518, + "instagram": 62519, + "intersect": 62520, + "journal-album": 62521, + "journal-arrow-down": 62522, + "journal-arrow-up": 62523, + "journal-bookmark-fill": 62524, + "journal-bookmark": 62525, + "journal-check": 62526, + "journal-code": 62527, + "journal-medical": 62528, + "journal-minus": 62529, + "journal-plus": 62530, + "journal-richtext": 62531, + "journal-text": 62532, + "journal-x": 62533, + "journal": 62534, + "journals": 62535, + "joystick": 62536, + "justify-left": 62537, + "justify-right": 62538, + "justify": 62539, + "kanban-fill": 62540, + "kanban": 62541, + "key-fill": 62542, + "key": 62543, + "keyboard-fill": 62544, + "keyboard": 62545, + "ladder": 62546, + "lamp-fill": 62547, + "lamp": 62548, + "laptop-fill": 62549, + "laptop": 62550, + "layer-backward": 62551, + "layer-forward": 62552, + "layers-fill": 62553, + "layers-half": 62554, + "layers": 62555, + "layout-sidebar-inset-reverse": 62556, + "layout-sidebar-inset": 62557, + "layout-sidebar-reverse": 62558, + "layout-sidebar": 62559, + "layout-split": 62560, + "layout-text-sidebar-reverse": 62561, + "layout-text-sidebar": 62562, + "layout-text-window-reverse": 62563, + "layout-text-window": 62564, + "layout-three-columns": 62565, + "layout-wtf": 62566, + "life-preserver": 62567, + "lightbulb-fill": 62568, + "lightbulb-off-fill": 62569, + "lightbulb-off": 62570, + "lightbulb": 62571, + "lightning-charge-fill": 62572, + "lightning-charge": 62573, + "lightning-fill": 62574, + "lightning": 62575, + "link-45deg": 62576, + "link": 62577, + "linkedin": 62578, + "list-check": 62579, + "list-nested": 62580, + "list-ol": 62581, + "list-stars": 62582, + "list-task": 62583, + "list-ul": 62584, + "list": 62585, + "lock-fill": 62586, + "lock": 62587, + "mailbox": 62588, + "mailbox2": 62589, + "map-fill": 62590, + "map": 62591, + "markdown-fill": 62592, + "markdown": 62593, + "mask": 62594, + "megaphone-fill": 62595, + "megaphone": 62596, + "menu-app-fill": 62597, + "menu-app": 62598, + "menu-button-fill": 62599, + "menu-button-wide-fill": 62600, + "menu-button-wide": 62601, + "menu-button": 62602, + "menu-down": 62603, + "menu-up": 62604, + "mic-fill": 62605, + "mic-mute-fill": 62606, + "mic-mute": 62607, + "mic": 62608, + "minecart-loaded": 62609, + "minecart": 62610, + "moisture": 62611, + "moon-fill": 62612, + "moon-stars-fill": 62613, + "moon-stars": 62614, + "moon": 62615, + "mouse-fill": 62616, + "mouse": 62617, + "mouse2-fill": 62618, + "mouse2": 62619, + "mouse3-fill": 62620, + "mouse3": 62621, + "music-note-beamed": 62622, + "music-note-list": 62623, + "music-note": 62624, + "music-player-fill": 62625, + "music-player": 62626, + "newspaper": 62627, + "node-minus-fill": 62628, + "node-minus": 62629, + "node-plus-fill": 62630, + "node-plus": 62631, + "nut-fill": 62632, + "nut": 62633, + "octagon-fill": 62634, + "octagon-half": 62635, + "octagon": 62636, + "option": 62637, + "outlet": 62638, + "paint-bucket": 62639, + "palette-fill": 62640, + "palette": 62641, + "palette2": 62642, + "paperclip": 62643, + "paragraph": 62644, + "patch-check-fill": 62645, + "patch-check": 62646, + "patch-exclamation-fill": 62647, + "patch-exclamation": 62648, + "patch-minus-fill": 62649, + "patch-minus": 62650, + "patch-plus-fill": 62651, + "patch-plus": 62652, + "patch-question-fill": 62653, + "patch-question": 62654, + "pause-btn-fill": 62655, + "pause-btn": 62656, + "pause-circle-fill": 62657, + "pause-circle": 62658, + "pause-fill": 62659, + "pause": 62660, + "peace-fill": 62661, + "peace": 62662, + "pen-fill": 62663, + "pen": 62664, + "pencil-fill": 62665, + "pencil-square": 62666, + "pencil": 62667, + "pentagon-fill": 62668, + "pentagon-half": 62669, + "pentagon": 62670, + "people-fill": 62671, + "people": 62672, + "percent": 62673, + "person-badge-fill": 62674, + "person-badge": 62675, + "person-bounding-box": 62676, + "person-check-fill": 62677, + "person-check": 62678, + "person-circle": 62679, + "person-dash-fill": 62680, + "person-dash": 62681, + "person-fill": 62682, + "person-lines-fill": 62683, + "person-plus-fill": 62684, + "person-plus": 62685, + "person-square": 62686, + "person-x-fill": 62687, + "person-x": 62688, + "person": 62689, + "phone-fill": 62690, + "phone-landscape-fill": 62691, + "phone-landscape": 62692, + "phone-vibrate-fill": 62693, + "phone-vibrate": 62694, + "phone": 62695, + "pie-chart-fill": 62696, + "pie-chart": 62697, + "pin-angle-fill": 62698, + "pin-angle": 62699, + "pin-fill": 62700, + "pin": 62701, + "pip-fill": 62702, + "pip": 62703, + "play-btn-fill": 62704, + "play-btn": 62705, + "play-circle-fill": 62706, + "play-circle": 62707, + "play-fill": 62708, + "play": 62709, + "plug-fill": 62710, + "plug": 62711, + "plus-circle-dotted": 62712, + "plus-circle-fill": 62713, + "plus-circle": 62714, + "plus-square-dotted": 62715, + "plus-square-fill": 62716, + "plus-square": 62717, + "plus": 62718, + "power": 62719, + "printer-fill": 62720, + "printer": 62721, + "puzzle-fill": 62722, + "puzzle": 62723, + "question-circle-fill": 62724, + "question-circle": 62725, + "question-diamond-fill": 62726, + "question-diamond": 62727, + "question-octagon-fill": 62728, + "question-octagon": 62729, + "question-square-fill": 62730, + "question-square": 62731, + "question": 62732, + "rainbow": 62733, + "receipt-cutoff": 62734, + "receipt": 62735, + "reception-0": 62736, + "reception-1": 62737, + "reception-2": 62738, + "reception-3": 62739, + "reception-4": 62740, + "record-btn-fill": 62741, + "record-btn": 62742, + "record-circle-fill": 62743, + "record-circle": 62744, + "record-fill": 62745, + "record": 62746, + "record2-fill": 62747, + "record2": 62748, + "reply-all-fill": 62749, + "reply-all": 62750, + "reply-fill": 62751, + "reply": 62752, + "rss-fill": 62753, + "rss": 62754, + "rulers": 62755, + "save-fill": 62756, + "save": 62757, + "save2-fill": 62758, + "save2": 62759, + "scissors": 62760, + "screwdriver": 62761, + "search": 62762, + "segmented-nav": 62763, + "server": 62764, + "share-fill": 62765, + "share": 62766, + "shield-check": 62767, + "shield-exclamation": 62768, + "shield-fill-check": 62769, + "shield-fill-exclamation": 62770, + "shield-fill-minus": 62771, + "shield-fill-plus": 62772, + "shield-fill-x": 62773, + "shield-fill": 62774, + "shield-lock-fill": 62775, + "shield-lock": 62776, + "shield-minus": 62777, + "shield-plus": 62778, + "shield-shaded": 62779, + "shield-slash-fill": 62780, + "shield-slash": 62781, + "shield-x": 62782, + "shield": 62783, + "shift-fill": 62784, + "shift": 62785, + "shop-window": 62786, + "shop": 62787, + "shuffle": 62788, + "signpost-2-fill": 62789, + "signpost-2": 62790, + "signpost-fill": 62791, + "signpost-split-fill": 62792, + "signpost-split": 62793, + "signpost": 62794, + "sim-fill": 62795, + "sim": 62796, + "skip-backward-btn-fill": 62797, + "skip-backward-btn": 62798, + "skip-backward-circle-fill": 62799, + "skip-backward-circle": 62800, + "skip-backward-fill": 62801, + "skip-backward": 62802, + "skip-end-btn-fill": 62803, + "skip-end-btn": 62804, + "skip-end-circle-fill": 62805, + "skip-end-circle": 62806, + "skip-end-fill": 62807, + "skip-end": 62808, + "skip-forward-btn-fill": 62809, + "skip-forward-btn": 62810, + "skip-forward-circle-fill": 62811, + "skip-forward-circle": 62812, + "skip-forward-fill": 62813, + "skip-forward": 62814, + "skip-start-btn-fill": 62815, + "skip-start-btn": 62816, + "skip-start-circle-fill": 62817, + "skip-start-circle": 62818, + "skip-start-fill": 62819, + "skip-start": 62820, + "slack": 62821, + "slash-circle-fill": 62822, + "slash-circle": 62823, + "slash-square-fill": 62824, + "slash-square": 62825, + "slash": 62826, + "sliders": 62827, + "smartwatch": 62828, + "snow": 62829, + "snow2": 62830, + "snow3": 62831, + "sort-alpha-down-alt": 62832, + "sort-alpha-down": 62833, + "sort-alpha-up-alt": 62834, + "sort-alpha-up": 62835, + "sort-down-alt": 62836, + "sort-down": 62837, + "sort-numeric-down-alt": 62838, + "sort-numeric-down": 62839, + "sort-numeric-up-alt": 62840, + "sort-numeric-up": 62841, + "sort-up-alt": 62842, + "sort-up": 62843, + "soundwave": 62844, + "speaker-fill": 62845, + "speaker": 62846, + "speedometer": 62847, + "speedometer2": 62848, + "spellcheck": 62849, + "square-fill": 62850, + "square-half": 62851, + "square": 62852, + "stack": 62853, + "star-fill": 62854, + "star-half": 62855, + "star": 62856, + "stars": 62857, + "stickies-fill": 62858, + "stickies": 62859, + "sticky-fill": 62860, + "sticky": 62861, + "stop-btn-fill": 62862, + "stop-btn": 62863, + "stop-circle-fill": 62864, + "stop-circle": 62865, + "stop-fill": 62866, + "stop": 62867, + "stoplights-fill": 62868, + "stoplights": 62869, + "stopwatch-fill": 62870, + "stopwatch": 62871, + "subtract": 62872, + "suit-club-fill": 62873, + "suit-club": 62874, + "suit-diamond-fill": 62875, + "suit-diamond": 62876, + "suit-heart-fill": 62877, + "suit-heart": 62878, + "suit-spade-fill": 62879, + "suit-spade": 62880, + "sun-fill": 62881, + "sun": 62882, + "sunglasses": 62883, + "sunrise-fill": 62884, + "sunrise": 62885, + "sunset-fill": 62886, + "sunset": 62887, + "symmetry-horizontal": 62888, + "symmetry-vertical": 62889, + "table": 62890, + "tablet-fill": 62891, + "tablet-landscape-fill": 62892, + "tablet-landscape": 62893, + "tablet": 62894, + "tag-fill": 62895, + "tag": 62896, + "tags-fill": 62897, + "tags": 62898, + "telegram": 62899, + "telephone-fill": 62900, + "telephone-forward-fill": 62901, + "telephone-forward": 62902, + "telephone-inbound-fill": 62903, + "telephone-inbound": 62904, + "telephone-minus-fill": 62905, + "telephone-minus": 62906, + "telephone-outbound-fill": 62907, + "telephone-outbound": 62908, + "telephone-plus-fill": 62909, + "telephone-plus": 62910, + "telephone-x-fill": 62911, + "telephone-x": 62912, + "telephone": 62913, + "terminal-fill": 62914, + "terminal": 62915, + "text-center": 62916, + "text-indent-left": 62917, + "text-indent-right": 62918, + "text-left": 62919, + "text-paragraph": 62920, + "text-right": 62921, + "textarea-resize": 62922, + "textarea-t": 62923, + "textarea": 62924, + "thermometer-half": 62925, + "thermometer-high": 62926, + "thermometer-low": 62927, + "thermometer-snow": 62928, + "thermometer-sun": 62929, + "thermometer": 62930, + "three-dots-vertical": 62931, + "three-dots": 62932, + "toggle-off": 62933, + "toggle-on": 62934, + "toggle2-off": 62935, + "toggle2-on": 62936, + "toggles": 62937, + "toggles2": 62938, + "tools": 62939, + "tornado": 62940, + "trash-fill": 62941, + "trash": 62942, + "trash2-fill": 62943, + "trash2": 62944, + "tree-fill": 62945, + "tree": 62946, + "triangle-fill": 62947, + "triangle-half": 62948, + "triangle": 62949, + "trophy-fill": 62950, + "trophy": 62951, + "tropical-storm": 62952, + "truck-flatbed": 62953, + "truck": 62954, + "tsunami": 62955, + "tv-fill": 62956, + "tv": 62957, + "twitch": 62958, + "twitter": 62959, + "type-bold": 62960, + "type-h1": 62961, + "type-h2": 62962, + "type-h3": 62963, + "type-italic": 62964, + "type-strikethrough": 62965, + "type-underline": 62966, + "type": 62967, + "ui-checks-grid": 62968, + "ui-checks": 62969, + "ui-radios-grid": 62970, + "ui-radios": 62971, + "umbrella-fill": 62972, + "umbrella": 62973, + "union": 62974, + "unlock-fill": 62975, + "unlock": 62976, + "upc-scan": 62977, + "upc": 62978, + "upload": 62979, + "vector-pen": 62980, + "view-list": 62981, + "view-stacked": 62982, + "vinyl-fill": 62983, + "vinyl": 62984, + "voicemail": 62985, + "volume-down-fill": 62986, + "volume-down": 62987, + "volume-mute-fill": 62988, + "volume-mute": 62989, + "volume-off-fill": 62990, + "volume-off": 62991, + "volume-up-fill": 62992, + "volume-up": 62993, + "vr": 62994, + "wallet-fill": 62995, + "wallet": 62996, + "wallet2": 62997, + "watch": 62998, + "water": 62999, + "whatsapp": 63000, + "wifi-1": 63001, + "wifi-2": 63002, + "wifi-off": 63003, + "wifi": 63004, + "wind": 63005, + "window-dock": 63006, + "window-sidebar": 63007, + "window": 63008, + "wrench": 63009, + "x-circle-fill": 63010, + "x-circle": 63011, + "x-diamond-fill": 63012, + "x-diamond": 63013, + "x-octagon-fill": 63014, + "x-octagon": 63015, + "x-square-fill": 63016, + "x-square": 63017, + "x": 63018, + "youtube": 63019, + "zoom-in": 63020, + "zoom-out": 63021, + "bank": 63022, + "bank2": 63023, + "bell-slash-fill": 63024, + "bell-slash": 63025, + "cash-coin": 63026, + "check-lg": 63027, + "coin": 63028, + "currency-bitcoin": 63029, + "currency-dollar": 63030, + "currency-euro": 63031, + "currency-exchange": 63032, + "currency-pound": 63033, + "currency-yen": 63034, + "dash-lg": 63035, + "exclamation-lg": 63036, + "file-earmark-pdf-fill": 63037, + "file-earmark-pdf": 63038, + "file-pdf-fill": 63039, + "file-pdf": 63040, + "gender-ambiguous": 63041, + "gender-female": 63042, + "gender-male": 63043, + "gender-trans": 63044, + "headset-vr": 63045, + "info-lg": 63046, + "mastodon": 63047, + "messenger": 63048, + "piggy-bank-fill": 63049, + "piggy-bank": 63050, + "pin-map-fill": 63051, + "pin-map": 63052, + "plus-lg": 63053, + "question-lg": 63054, + "recycle": 63055, + "reddit": 63056, + "safe-fill": 63057, + "safe2-fill": 63058, + "safe2": 63059, + "sd-card-fill": 63060, + "sd-card": 63061, + "skype": 63062, + "slash-lg": 63063, + "translate": 63064, + "x-lg": 63065, + "safe": 63066, + "apple": 63067, + "microsoft": 63069, + "windows": 63070, + "behance": 63068, + "dribbble": 63071, + "line": 63072, + "medium": 63073, + "paypal": 63074, + "pinterest": 63075, + "signal": 63076, + "snapchat": 63077, + "spotify": 63078, + "stack-overflow": 63079, + "strava": 63080, + "wordpress": 63081, + "vimeo": 63082, + "activity": 63083, + "easel2-fill": 63084, + "easel2": 63085, + "easel3-fill": 63086, + "easel3": 63087, + "fan": 63088, + "fingerprint": 63089, + "graph-down-arrow": 63090, + "graph-up-arrow": 63091, + "hypnotize": 63092, + "magic": 63093, + "person-rolodex": 63094, + "person-video": 63095, + "person-video2": 63096, + "person-video3": 63097, + "person-workspace": 63098, + "radioactive": 63099, + "webcam-fill": 63100, + "webcam": 63101, + "yin-yang": 63102, + "bandaid-fill": 63104, + "bandaid": 63105, + "bluetooth": 63106, + "body-text": 63107, + "boombox": 63108, + "boxes": 63109, + "dpad-fill": 63110, + "dpad": 63111, + "ear-fill": 63112, + "ear": 63113, + "envelope-check-1": 63114, + "envelope-check-fill": 63115, + "envelope-check": 63116, + "envelope-dash-1": 63117, + "envelope-dash-fill": 63118, + "envelope-dash": 63119, + "envelope-exclamation-1": 63120, + "envelope-exclamation-fill": 63121, + "envelope-exclamation": 63122, + "envelope-plus-fill": 63123, + "envelope-plus": 63124, + "envelope-slash-1": 63125, + "envelope-slash-fill": 63126, + "envelope-slash": 63127, + "envelope-x-1": 63128, + "envelope-x-fill": 63129, + "envelope-x": 63130, + "explicit-fill": 63131, + "explicit": 63132, + "git": 63133, + "infinity": 63134, + "list-columns-reverse": 63135, + "list-columns": 63136, + "meta": 63137, + "mortorboard-fill": 63138, + "mortorboard": 63139, + "nintendo-switch": 63140, + "pc-display-horizontal": 63141, + "pc-display": 63142, + "pc-horizontal": 63143, + "pc": 63144, + "playstation": 63145, + "plus-slash-minus": 63146, + "projector-fill": 63147, + "projector": 63148, + "qr-code-scan": 63149, + "qr-code": 63150, + "quora": 63151, + "quote": 63152, + "robot": 63153, + "send-check-fill": 63154, + "send-check": 63155, + "send-dash-fill": 63156, + "send-dash": 63157, + "send-exclamation-1": 63158, + "send-exclamation-fill": 63159, + "send-exclamation": 63160, + "send-fill": 63161, + "send-plus-fill": 63162, + "send-plus": 63163, + "send-slash-fill": 63164, + "send-slash": 63165, + "send-x-fill": 63166, + "send-x": 63167, + "send": 63168, + "steam": 63169, + "terminal-dash-1": 63170, + "terminal-dash": 63171, + "terminal-plus": 63172, + "terminal-split": 63173, + "ticket-detailed-fill": 63174, + "ticket-detailed": 63175, + "ticket-fill": 63176, + "ticket-perforated-fill": 63177, + "ticket-perforated": 63178, + "ticket": 63179, + "tiktok": 63180, + "window-dash": 63181, + "window-desktop": 63182, + "window-fullscreen": 63183, + "window-plus": 63184, + "window-split": 63185, + "window-stack": 63186, + "window-x": 63187, + "xbox": 63188, + "ethernet": 63189, + "hdmi-fill": 63190, + "hdmi": 63191, + "usb-c-fill": 63192, + "usb-c": 63193, + "usb-fill": 63194, + "usb-plug-fill": 63195, + "usb-plug": 63196, + "usb-symbol": 63197, + "usb": 63198, + "boombox-fill": 63199, + "displayport-1": 63200, + "displayport": 63201, + "gpu-card": 63202, + "memory": 63203, + "modem-fill": 63204, + "modem": 63205, + "motherboard-fill": 63206, + "motherboard": 63207, + "optical-audio-fill": 63208, + "optical-audio": 63209, + "pci-card": 63210, + "router-fill": 63211, + "router": 63212, + "ssd-fill": 63213, + "ssd": 63214, + "thunderbolt-fill": 63215, + "thunderbolt": 63216, + "usb-drive-fill": 63217, + "usb-drive": 63218, + "usb-micro-fill": 63219, + "usb-micro": 63220, + "usb-mini-fill": 63221, + "usb-mini": 63222, + "cloud-haze2": 63223, + "device-hdd-fill": 63224, + "device-hdd": 63225, + "device-ssd-fill": 63226, + "device-ssd": 63227, + "displayport-fill": 63228, + "mortarboard-fill": 63229, + "mortarboard": 63230, + "terminal-x": 63231, + "arrow-through-heart-fill": 63232, + "arrow-through-heart": 63233, + "badge-sd-fill": 63234, + "badge-sd": 63235, + "bag-heart-fill": 63236, + "bag-heart": 63237, + "balloon-fill": 63238, + "balloon-heart-fill": 63239, + "balloon-heart": 63240, + "balloon": 63241, + "box2-fill": 63242, + "box2-heart-fill": 63243, + "box2-heart": 63244, + "box2": 63245, + "braces-asterisk": 63246, + "calendar-heart-fill": 63247, + "calendar-heart": 63248, + "calendar2-heart-fill": 63249, + "calendar2-heart": 63250, + "chat-heart-fill": 63251, + "chat-heart": 63252, + "chat-left-heart-fill": 63253, + "chat-left-heart": 63254, + "chat-right-heart-fill": 63255, + "chat-right-heart": 63256, + "chat-square-heart-fill": 63257, + "chat-square-heart": 63258, + "clipboard-check-fill": 63259, + "clipboard-data-fill": 63260, + "clipboard-fill": 63261, + "clipboard-heart-fill": 63262, + "clipboard-heart": 63263, + "clipboard-minus-fill": 63264, + "clipboard-plus-fill": 63265, + "clipboard-pulse": 63266, + "clipboard-x-fill": 63267, + "clipboard2-check-fill": 63268, + "clipboard2-check": 63269, + "clipboard2-data-fill": 63270, + "clipboard2-data": 63271, + "clipboard2-fill": 63272, + "clipboard2-heart-fill": 63273, + "clipboard2-heart": 63274, + "clipboard2-minus-fill": 63275, + "clipboard2-minus": 63276, + "clipboard2-plus-fill": 63277, + "clipboard2-plus": 63278, + "clipboard2-pulse-fill": 63279, + "clipboard2-pulse": 63280, + "clipboard2-x-fill": 63281, + "clipboard2-x": 63282, + "clipboard2": 63283, + "emoji-kiss-fill": 63284, + "emoji-kiss": 63285, + "envelope-heart-fill": 63286, + "envelope-heart": 63287, + "envelope-open-heart-fill": 63288, + "envelope-open-heart": 63289, + "envelope-paper-fill": 63290, + "envelope-paper-heart-fill": 63291, + "envelope-paper-heart": 63292, + "envelope-paper": 63293, + "filetype-aac": 63294, + "filetype-ai": 63295, + "filetype-bmp": 63296, + "filetype-cs": 63297, + "filetype-css": 63298, + "filetype-csv": 63299, + "filetype-doc": 63300, + "filetype-docx": 63301, + "filetype-exe": 63302, + "filetype-gif": 63303, + "filetype-heic": 63304, + "filetype-html": 63305, + "filetype-java": 63306, + "filetype-jpg": 63307, + "filetype-js": 63308, + "filetype-jsx": 63309, + "filetype-key": 63310, + "filetype-m4p": 63311, + "filetype-md": 63312, + "filetype-mdx": 63313, + "filetype-mov": 63314, + "filetype-mp3": 63315, + "filetype-mp4": 63316, + "filetype-otf": 63317, + "filetype-pdf": 63318, + "filetype-php": 63319, + "filetype-png": 63320, + "filetype-ppt-1": 63321, + "filetype-ppt": 63322, + "filetype-psd": 63323, + "filetype-py": 63324, + "filetype-raw": 63325, + "filetype-rb": 63326, + "filetype-sass": 63327, + "filetype-scss": 63328, + "filetype-sh": 63329, + "filetype-svg": 63330, + "filetype-tiff": 63331, + "filetype-tsx": 63332, + "filetype-ttf": 63333, + "filetype-txt": 63334, + "filetype-wav": 63335, + "filetype-woff": 63336, + "filetype-xls-1": 63337, + "filetype-xls": 63338, + "filetype-xml": 63339, + "filetype-yml": 63340, + "heart-arrow": 63341, + "heart-pulse-fill": 63342, + "heart-pulse": 63343, + "heartbreak-fill": 63344, + "heartbreak": 63345, + "hearts": 63346, + "hospital-fill": 63347, + "hospital": 63348, + "house-heart-fill": 63349, + "house-heart": 63350, + "incognito": 63351, + "magnet-fill": 63352, + "magnet": 63353, + "person-heart": 63354, + "person-hearts": 63355, + "phone-flip": 63356, + "plugin": 63357, + "postage-fill": 63358, + "postage-heart-fill": 63359, + "postage-heart": 63360, + "postage": 63361, + "postcard-fill": 63362, + "postcard-heart-fill": 63363, + "postcard-heart": 63364, + "postcard": 63365, + "search-heart-fill": 63366, + "search-heart": 63367, + "sliders2-vertical": 63368, + "sliders2": 63369, + "trash3-fill": 63370, + "trash3": 63371, + "valentine": 63372, + "valentine2": 63373, + "wrench-adjustable-circle-fill": 63374, + "wrench-adjustable-circle": 63375, + "wrench-adjustable": 63376, + "filetype-json": 63377, + "filetype-pptx": 63378, + "filetype-xlsx": 63379, + "1-circle-1": 63380, + "1-circle-fill-1": 63381, + "1-circle-fill": 63382, + "1-circle": 63383, + "1-square-fill": 63384, + "1-square": 63385, + "2-circle-1": 63386, + "2-circle-fill-1": 63387, + "2-circle-fill": 63388, + "2-circle": 63389, + "2-square-fill": 63390, + "2-square": 63391, + "3-circle-1": 63392, + "3-circle-fill-1": 63393, + "3-circle-fill": 63394, + "3-circle": 63395, + "3-square-fill": 63396, + "3-square": 63397, + "4-circle-1": 63398, + "4-circle-fill-1": 63399, + "4-circle-fill": 63400, + "4-circle": 63401, + "4-square-fill": 63402, + "4-square": 63403, + "5-circle-1": 63404, + "5-circle-fill-1": 63405, + "5-circle-fill": 63406, + "5-circle": 63407, + "5-square-fill": 63408, + "5-square": 63409, + "6-circle-1": 63410, + "6-circle-fill-1": 63411, + "6-circle-fill": 63412, + "6-circle": 63413, + "6-square-fill": 63414, + "6-square": 63415, + "7-circle-1": 63416, + "7-circle-fill-1": 63417, + "7-circle-fill": 63418, + "7-circle": 63419, + "7-square-fill": 63420, + "7-square": 63421, + "8-circle-1": 63422, + "8-circle-fill-1": 63423, + "8-circle-fill": 63424, + "8-circle": 63425, + "8-square-fill": 63426, + "8-square": 63427, + "9-circle-1": 63428, + "9-circle-fill-1": 63429, + "9-circle-fill": 63430, + "9-circle": 63431, + "9-square-fill": 63432, + "9-square": 63433, + "airplane-engines-fill": 63434, + "airplane-engines": 63435, + "airplane-fill": 63436, + "airplane": 63437, + "alexa": 63438, + "alipay": 63439, + "android": 63440, + "android2": 63441, + "box-fill": 63442, + "box-seam-fill": 63443, + "browser-chrome": 63444, + "browser-edge": 63445, + "browser-firefox": 63446, + "browser-safari": 63447, + "c-circle-1": 63448, + "c-circle-fill-1": 63449, + "c-circle-fill": 63450, + "c-circle": 63451, + "c-square-fill": 63452, + "c-square": 63453, + "capsule-pill": 63454, + "capsule": 63455, + "car-front-fill": 63456, + "car-front": 63457, + "cassette-fill": 63458, + "cassette": 63459, + "cc-circle-1": 63460, + "cc-circle-fill-1": 63461, + "cc-circle-fill": 63462, + "cc-circle": 63463, + "cc-square-fill": 63464, + "cc-square": 63465, + "cup-hot-fill": 63466, + "cup-hot": 63467, + "currency-rupee": 63468, + "dropbox": 63469, + "escape": 63470, + "fast-forward-btn-fill": 63471, + "fast-forward-btn": 63472, + "fast-forward-circle-fill": 63473, + "fast-forward-circle": 63474, + "fast-forward-fill": 63475, + "fast-forward": 63476, + "filetype-sql": 63477, + "fire": 63478, + "google-play": 63479, + "h-circle-1": 63480, + "h-circle-fill-1": 63481, + "h-circle-fill": 63482, + "h-circle": 63483, + "h-square-fill": 63484, + "h-square": 63485, + "indent": 63486, + "lungs-fill": 63487, + "lungs": 63488, + "microsoft-teams": 63489, + "p-circle-1": 63490, + "p-circle-fill-1": 63491, + "p-circle-fill": 63492, + "p-circle": 63493, + "p-square-fill": 63494, + "p-square": 63495, + "pass-fill": 63496, + "pass": 63497, + "prescription": 63498, + "prescription2": 63499, + "r-circle-1": 63500, + "r-circle-fill-1": 63501, + "r-circle-fill": 63502, + "r-circle": 63503, + "r-square-fill": 63504, + "r-square": 63505, + "repeat-1": 63506, + "repeat": 63507, + "rewind-btn-fill": 63508, + "rewind-btn": 63509, + "rewind-circle-fill": 63510, + "rewind-circle": 63511, + "rewind-fill": 63512, + "rewind": 63513, + "train-freight-front-fill": 63514, + "train-freight-front": 63515, + "train-front-fill": 63516, + "train-front": 63517, + "train-lightrail-front-fill": 63518, + "train-lightrail-front": 63519, + "truck-front-fill": 63520, + "truck-front": 63521, + "ubuntu": 63522, + "unindent": 63523, + "unity": 63524, + "universal-access-circle": 63525, + "universal-access": 63526, + "virus": 63527, + "virus2": 63528, + "wechat": 63529, + "yelp": 63530, + "sign-stop-fill": 63531, + "sign-stop-lights-fill": 63532, + "sign-stop-lights": 63533, + "sign-stop": 63534, + "sign-turn-left-fill": 63535, + "sign-turn-left": 63536, + "sign-turn-right-fill": 63537, + "sign-turn-right": 63538, + "sign-turn-slight-left-fill": 63539, + "sign-turn-slight-left": 63540, + "sign-turn-slight-right-fill": 63541, + "sign-turn-slight-right": 63542, + "sign-yield-fill": 63543, + "sign-yield": 63544, + "ev-station-fill": 63545, + "ev-station": 63546, + "fuel-pump-diesel-fill": 63547, + "fuel-pump-diesel": 63548, + "fuel-pump-fill": 63549, + "fuel-pump": 63550, + "0-circle-fill": 63551, + "0-circle": 63552, + "0-square-fill": 63553, + "0-square": 63554, + "rocket-fill": 63555, + "rocket-takeoff-fill": 63556, + "rocket-takeoff": 63557, + "rocket": 63558, + "stripe": 63559, + "subscript": 63560, + "superscript": 63561, + "trello": 63562, + "envelope-at-fill": 63563, + "envelope-at": 63564, + "regex": 63565, + "text-wrap": 63566, + "sign-dead-end-fill": 63567, + "sign-dead-end": 63568, + "sign-do-not-enter-fill": 63569, + "sign-do-not-enter": 63570, + "sign-intersection-fill": 63571, + "sign-intersection-side-fill": 63572, + "sign-intersection-side": 63573, + "sign-intersection-t-fill": 63574, + "sign-intersection-t": 63575, + "sign-intersection-y-fill": 63576, + "sign-intersection-y": 63577, + "sign-intersection": 63578, + "sign-merge-left-fill": 63579, + "sign-merge-left": 63580, + "sign-merge-right-fill": 63581, + "sign-merge-right": 63582, + "sign-no-left-turn-fill": 63583, + "sign-no-left-turn": 63584, + "sign-no-parking-fill": 63585, + "sign-no-parking": 63586, + "sign-no-right-turn-fill": 63587, + "sign-no-right-turn": 63588, + "sign-railroad-fill": 63589, + "sign-railroad": 63590, + "building-add": 63591, + "building-check": 63592, + "building-dash": 63593, + "building-down": 63594, + "building-exclamation": 63595, + "building-fill-add": 63596, + "building-fill-check": 63597, + "building-fill-dash": 63598, + "building-fill-down": 63599, + "building-fill-exclamation": 63600, + "building-fill-gear": 63601, + "building-fill-lock": 63602, + "building-fill-slash": 63603, + "building-fill-up": 63604, + "building-fill-x": 63605, + "building-fill": 63606, + "building-gear": 63607, + "building-lock": 63608, + "building-slash": 63609, + "building-up": 63610, + "building-x": 63611, + "buildings-fill": 63612, + "buildings": 63613, + "bus-front-fill": 63614, + "bus-front": 63615, + "ev-front-fill": 63616, + "ev-front": 63617, + "globe-americas": 63618, + "globe-asia-australia": 63619, + "globe-central-south-asia": 63620, + "globe-europe-africa": 63621, + "house-add-fill": 63622, + "house-add": 63623, + "house-check-fill": 63624, + "house-check": 63625, + "house-dash-fill": 63626, + "house-dash": 63627, + "house-down-fill": 63628, + "house-down": 63629, + "house-exclamation-fill": 63630, + "house-exclamation": 63631, + "house-gear-fill": 63632, + "house-gear": 63633, + "house-lock-fill": 63634, + "house-lock": 63635, + "house-slash-fill": 63636, + "house-slash": 63637, + "house-up-fill": 63638, + "house-up": 63639, + "house-x-fill": 63640, + "house-x": 63641, + "person-add": 63642, + "person-down": 63643, + "person-exclamation": 63644, + "person-fill-add": 63645, + "person-fill-check": 63646, + "person-fill-dash": 63647, + "person-fill-down": 63648, + "person-fill-exclamation": 63649, + "person-fill-gear": 63650, + "person-fill-lock": 63651, + "person-fill-slash": 63652, + "person-fill-up": 63653, + "person-fill-x": 63654, + "person-gear": 63655, + "person-lock": 63656, + "person-slash": 63657, + "person-up": 63658, + "scooter": 63659, + "taxi-front-fill": 63660, + "taxi-front": 63661, + "amd": 63662, + "database-add": 63663, + "database-check": 63664, + "database-dash": 63665, + "database-down": 63666, + "database-exclamation": 63667, + "database-fill-add": 63668, + "database-fill-check": 63669, + "database-fill-dash": 63670, + "database-fill-down": 63671, + "database-fill-exclamation": 63672, + "database-fill-gear": 63673, + "database-fill-lock": 63674, + "database-fill-slash": 63675, + "database-fill-up": 63676, + "database-fill-x": 63677, + "database-fill": 63678, + "database-gear": 63679, + "database-lock": 63680, + "database-slash": 63681, + "database-up": 63682, + "database-x": 63683, + "database": 63684, + "houses-fill": 63685, + "houses": 63686, + "nvidia": 63687, + "person-vcard-fill": 63688, + "person-vcard": 63689, + "sina-weibo": 63690, + "tencent-qq": 63691, + "wikipedia": 63692 +} \ No newline at end of file diff --git a/site/src/jsMain/resources/bootstrap.css b/site/src/jsMain/resources/bootstrap.css new file mode 100644 index 0000000..b1a1675 --- /dev/null +++ b/site/src/jsMain/resources/bootstrap.css @@ -0,0 +1,12 @@ +@charset "UTF-8";/*! + * Bootswatch v5.2.3 (https://bootswatch.com) + * Theme: darkly + * Copyright 2012-2022 Thomas Park + * Licensed under MIT + * Based on Bootstrap +*//*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */@import url(https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap);:root{--bs-blue:#375a7f;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#e74c3c;--bs-orange:#fd7e14;--bs-yellow:#f39c12;--bs-green:#00bc8c;--bs-teal:#20c997;--bs-cyan:#3498db;--bs-black:#000;--bs-white:#fff;--bs-gray:#888;--bs-gray-dark:#303030;--bs-gray-100:#f8f9fa;--bs-gray-200:#ebebeb;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#888;--bs-gray-700:#444;--bs-gray-800:#303030;--bs-gray-900:#222;--bs-primary:#375a7f;--bs-secondary:#444;--bs-success:#00bc8c;--bs-info:#3498db;--bs-warning:#f39c12;--bs-danger:#e74c3c;--bs-light:#adb5bd;--bs-dark:#303030;--bs-primary-rgb:55,90,127;--bs-secondary-rgb:68,68,68;--bs-success-rgb:0,188,140;--bs-info-rgb:52,152,219;--bs-warning-rgb:243,156,18;--bs-danger-rgb:231,76,60;--bs-light-rgb:173,181,189;--bs-dark-rgb:48,48,48;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:255,255,255;--bs-body-bg-rgb:34,34,34;--bs-font-sans-serif:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#fff;--bs-body-bg:#222;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#00bc8c;--bs-link-hover-color:#009670;--bs-code-color:#e83e8c;--bs-highlight-bg:#fdebd0}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.h1,h1{font-size:3rem}}.h2,h2{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h2,h2{font-size:2.5rem}}.h3,h3{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h3,h3{font-size:2rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;color:inherit}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{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:#888;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button: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-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::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{padding-left:0;list-style:none}.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:#888}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#222;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#888}.container,.container-fluid,.container-lg,.container-md,.container-sm,.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-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.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.3333333333%}.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.6666666667%}.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:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.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.3333333333%}.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.6666666667%}.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:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.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.3333333333%}.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.6666666667%}.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:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.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.3333333333%}.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.6666666667%}.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:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.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.3333333333%}.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.6666666667%}.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:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.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.3333333333%}.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.6666666667%}.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:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.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:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:#444;--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.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-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color:#fff;--bs-table-bg:#375a7f;--bs-table-border-color:#4b6b8c;--bs-table-striped-bg:#416285;--bs-table-striped-color:#fff;--bs-table-active-bg:#4b6b8c;--bs-table-active-color:#fff;--bs-table-hover-bg:#466689;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#fff;--bs-table-bg:#444444;--bs-table-border-color:#575757;--bs-table-striped-bg:#4d4d4d;--bs-table-striped-color:#fff;--bs-table-active-bg:#575757;--bs-table-active-color:#fff;--bs-table-hover-bg:#525252;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#fff;--bs-table-bg:#00bc8c;--bs-table-border-color:#1ac398;--bs-table-striped-bg:#0dbf92;--bs-table-striped-color:#fff;--bs-table-active-bg:#1ac398;--bs-table-active-color:#fff;--bs-table-hover-bg:#13c195;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#fff;--bs-table-bg:#3498db;--bs-table-border-color:#48a2df;--bs-table-striped-bg:#3e9ddd;--bs-table-striped-color:#fff;--bs-table-active-bg:#48a2df;--bs-table-active-color:#fff;--bs-table-hover-bg:#43a0de;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#fff;--bs-table-bg:#f39c12;--bs-table-border-color:#f4a62a;--bs-table-striped-bg:#f4a11e;--bs-table-striped-color:#fff;--bs-table-active-bg:#f4a62a;--bs-table-active-color:#fff;--bs-table-hover-bg:#f4a324;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#fff;--bs-table-bg:#e74c3c;--bs-table-border-color:#e95e50;--bs-table-striped-bg:#e85546;--bs-table-striped-color:#fff;--bs-table-active-bg:#e95e50;--bs-table-active-color:#fff;--bs-table-hover-bg:#e9594b;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#fff;--bs-table-bg:#adb5bd;--bs-table-border-color:#b5bcc4;--bs-table-striped-bg:#b1b9c0;--bs-table-striped-color:#fff;--bs-table-active-bg:#b5bcc4;--bs-table-active-color:#fff;--bs-table-hover-bg:#b3bbc2;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#303030;--bs-table-border-color:#454545;--bs-table-striped-bg:#3a3a3a;--bs-table-striped-color:#fff;--bs-table-active-bg:#454545;--bs-table-active-color:#fff;--bs-table-hover-bg:#404040;--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 + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#888}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#303030;background-color:#fff;background-clip:padding-box;border:1px solid #222;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;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:#303030;background-color:#fff;border-color:#9badbf;outline:0;box-shadow:0 0 0 .25rem rgba(55,90,127,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#888;opacity:1}.form-control::placeholder{color:#888;opacity:1}.form-control:disabled{background-color:#ebebeb;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#fff;background-color:#444;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#fff;background-color:#444;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#414141}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#414141}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#fff;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#303030;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23303030' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #222;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#9badbf;outline:0;box-shadow:0 0 0 .25rem rgba(55,90,127,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#ebebeb}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #303030}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.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{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;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:#9badbf;outline:0;box-shadow:0 0 0 .25rem rgba(55,90,127,.25)}.form-check-input:checked{background-color:#375a7f;border-color:#375a7f}.form-check-input:checked[type=checkbox]{background-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]{background-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:#375a7f;border-color:#375a7f;background-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{width:2em;margin-left:-2.5em;background-image: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");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{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%239badbf'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image: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}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #222,0 0 0 .25rem rgba(55,90,127,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #222,0 0 0 .25rem rgba(55,90,127,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#375a7f;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c3ced9}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#375a7f;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#c3ced9}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px 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-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{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:#adb5bd;text-align:center;white-space:nowrap;background-color:#444;border:1px solid #222;border-radius:.375rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.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,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.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,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){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:-1px;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:#00bc8c}.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:rgba(0,188,140,.9);border-radius:.375rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#00bc8c;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='%2300bc8c' 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)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#00bc8c;box-shadow:0 0 0 .25rem rgba(0,188,140,.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)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#00bc8c}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23303030' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' 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-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#00bc8c;box-shadow:0 0 0 .25rem rgba(0,188,140,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#00bc8c}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#00bc8c}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(0,188,140,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#00bc8c}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#e74c3c}.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:rgba(231,76,60,.9);border-radius:.375rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#e74c3c;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='%23e74c3c'%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='%23e74c3c' 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)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#e74c3c;box-shadow:0 0 0 .25rem rgba(231,76,60,.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)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#e74c3c}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23303030' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),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='%23e74c3c'%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='%23e74c3c' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#e74c3c;box-shadow:0 0 0 .25rem rgba(231,76,60,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#e74c3c}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#e74c3c}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(231,76,60,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#e74c3c}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#fff;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 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;-moz-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,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{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,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{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:#fff;--bs-btn-bg:#375a7f;--bs-btn-border-color:#375a7f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#2f4d6c;--bs-btn-hover-border-color:#2c4866;--bs-btn-focus-shadow-rgb:85,115,146;--bs-btn-active-color:#fff;--bs-btn-active-bg:#2c4866;--bs-btn-active-border-color:#29445f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#375a7f;--bs-btn-disabled-border-color:#375a7f}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#444;--bs-btn-border-color:#444;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#3a3a3a;--bs-btn-hover-border-color:#363636;--bs-btn-focus-shadow-rgb:96,96,96;--bs-btn-active-color:#fff;--bs-btn-active-bg:#363636;--bs-btn-active-border-color:#333333;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#444;--bs-btn-disabled-border-color:#444}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#00bc8c;--bs-btn-border-color:#00bc8c;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#00a077;--bs-btn-hover-border-color:#009670;--bs-btn-focus-shadow-rgb:38,198,157;--bs-btn-active-color:#fff;--bs-btn-active-bg:#009670;--bs-btn-active-border-color:#008d69;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#00bc8c;--bs-btn-disabled-border-color:#00bc8c}.btn-info{--bs-btn-color:#fff;--bs-btn-bg:#3498db;--bs-btn-border-color:#3498db;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#2c81ba;--bs-btn-hover-border-color:#2a7aaf;--bs-btn-focus-shadow-rgb:82,167,224;--bs-btn-active-color:#fff;--bs-btn-active-bg:#2a7aaf;--bs-btn-active-border-color:#2772a4;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#3498db;--bs-btn-disabled-border-color:#3498db}.btn-warning{--bs-btn-color:#fff;--bs-btn-bg:#f39c12;--bs-btn-border-color:#f39c12;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#cf850f;--bs-btn-hover-border-color:#c27d0e;--bs-btn-focus-shadow-rgb:245,171,54;--bs-btn-active-color:#fff;--bs-btn-active-bg:#c27d0e;--bs-btn-active-border-color:#b6750e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#f39c12;--bs-btn-disabled-border-color:#f39c12}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#e74c3c;--bs-btn-border-color:#e74c3c;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#c44133;--bs-btn-hover-border-color:#b93d30;--bs-btn-focus-shadow-rgb:235,103,89;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b93d30;--bs-btn-active-border-color:#ad392d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#e74c3c;--bs-btn-disabled-border-color:#e74c3c}.btn-light{--bs-btn-color:#fff;--bs-btn-bg:#adb5bd;--bs-btn-border-color:#adb5bd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#939aa1;--bs-btn-hover-border-color:#8a9197;--bs-btn-focus-shadow-rgb:185,192,199;--bs-btn-active-color:#fff;--bs-btn-active-bg:#8a9197;--bs-btn-active-border-color:#82888e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#adb5bd;--bs-btn-disabled-border-color:#adb5bd}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#303030;--bs-btn-border-color:#303030;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#4f4f4f;--bs-btn-hover-border-color:#454545;--bs-btn-focus-shadow-rgb:79,79,79;--bs-btn-active-color:#fff;--bs-btn-active-bg:#595959;--bs-btn-active-border-color:#454545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#303030;--bs-btn-disabled-border-color:#303030}.btn-outline-primary{--bs-btn-color:#375a7f;--bs-btn-border-color:#375a7f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#375a7f;--bs-btn-hover-border-color:#375a7f;--bs-btn-focus-shadow-rgb:55,90,127;--bs-btn-active-color:#fff;--bs-btn-active-bg:#375a7f;--bs-btn-active-border-color:#375a7f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#375a7f;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#375a7f;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#444;--bs-btn-border-color:#444;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#444;--bs-btn-hover-border-color:#444;--bs-btn-focus-shadow-rgb:68,68,68;--bs-btn-active-color:#fff;--bs-btn-active-bg:#444;--bs-btn-active-border-color:#444;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#444;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#444;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#00bc8c;--bs-btn-border-color:#00bc8c;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#00bc8c;--bs-btn-hover-border-color:#00bc8c;--bs-btn-focus-shadow-rgb:0,188,140;--bs-btn-active-color:#fff;--bs-btn-active-bg:#00bc8c;--bs-btn-active-border-color:#00bc8c;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#00bc8c;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#00bc8c;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#3498db;--bs-btn-border-color:#3498db;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#3498db;--bs-btn-hover-border-color:#3498db;--bs-btn-focus-shadow-rgb:52,152,219;--bs-btn-active-color:#fff;--bs-btn-active-bg:#3498db;--bs-btn-active-border-color:#3498db;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#3498db;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#3498db;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#f39c12;--bs-btn-border-color:#f39c12;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#f39c12;--bs-btn-hover-border-color:#f39c12;--bs-btn-focus-shadow-rgb:243,156,18;--bs-btn-active-color:#fff;--bs-btn-active-bg:#f39c12;--bs-btn-active-border-color:#f39c12;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f39c12;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f39c12;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#e74c3c;--bs-btn-border-color:#e74c3c;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#e74c3c;--bs-btn-hover-border-color:#e74c3c;--bs-btn-focus-shadow-rgb:231,76,60;--bs-btn-active-color:#fff;--bs-btn-active-bg:#e74c3c;--bs-btn-active-border-color:#e74c3c;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#e74c3c;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#e74c3c;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#adb5bd;--bs-btn-border-color:#adb5bd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#adb5bd;--bs-btn-hover-border-color:#adb5bd;--bs-btn-focus-shadow-rgb:173,181,189;--bs-btn-active-color:#fff;--bs-btn-active-bg:#adb5bd;--bs-btn-active-border-color:#adb5bd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 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{--bs-btn-color:#303030;--bs-btn-border-color:#303030;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#303030;--bs-btn-hover-border-color:#303030;--bs-btn-focus-shadow-rgb:48,48,48;--bs-btn-active-color:#fff;--bs-btn-active-bg:#303030;--bs-btn-active-border-color:#303030;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#303030;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#303030;--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:#888;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:85,115,146;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.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}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-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:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:#fff;--bs-dropdown-bg:#222;--bs-dropdown-border-color:#444;--bs-dropdown-border-radius:0.375rem;--bs-dropdown-border-width:1px;--bs-dropdown-inner-border-radius:calc(0.375rem - 1px);--bs-dropdown-divider-bg:#444;--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color:#fff;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-link-hover-bg:#375a7f;--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#375a7f;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#888;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.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}.dropdown-item:focus,.dropdown-item:hover{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:#303030;--bs-dropdown-border-color:#444;--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:#444;--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#375a7f;--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-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.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-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:2rem;--bs-nav-link-padding-y:0.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:#adb5bd;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;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:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:#444;--bs-nav-tabs-border-radius:0.375rem;--bs-nav-tabs-link-hover-border-color:#444 #444 transparent;--bs-nav-tabs-link-active-color:#fff;--bs-nav-tabs-link-active-bg:#222;--bs-nav-tabs-link-active-border-color:#444 #444 transparent;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));background:0 0;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:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{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:0.375rem;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#375a7f}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.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-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{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:1rem;--bs-navbar-color:rgba(34, 34, 34, 0.7);--bs-navbar-hover-color:#222;--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:#222;--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:#222;--bs-navbar-brand-hover-color:#222;--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.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%2834, 34, 34, 0.7%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(34, 34, 34, 0.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.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-lg,.navbar>.container-md,.navbar>.container-sm,.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:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.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 .show>.nav-link{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:focus,.navbar-text a:hover{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{--bs-navbar-color:rgba(255, 255, 255, 0.6);--bs-navbar-hover-color:#fff;--bs-navbar-disabled-color:rgba(255, 255, 255, 0.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, 0.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.6%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:0.5rem;--bs-card-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:#444;--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#303030;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);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)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.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-bottom,.card-img-top{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-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{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-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:#fff;--bs-accordion-bg:#222;--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:1px;--bs-accordion-border-radius:0.375rem;--bs-accordion-inner-border-radius:calc(0.375rem - 1px);--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:#fff;--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='%23fff'%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-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.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='%23325172'%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-focus-border-color:#9badbf;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(55, 90, 127, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:#325172;--bs-accordion-active-bg:#ebeff2}.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;border-color:var(--bs-accordion-btn-focus-border-color);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-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-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-collapse{border-width:0}.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-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x:0.75rem;--bs-breadcrumb-padding-y:0.375rem;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg:#444;--bs-breadcrumb-border-radius:0.25rem;--bs-breadcrumb-divider-color:#888;--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:#888;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:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:#fff;--bs-pagination-bg:#00bc8c;--bs-pagination-border-width:0;--bs-pagination-border-color:transparent;--bs-pagination-border-radius:0.375rem;--bs-pagination-hover-color:#fff;--bs-pagination-hover-bg:#00efb2;--bs-pagination-hover-border-color:transparent;--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:#ebebeb;--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(55, 90, 127, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#00efb2;--bs-pagination-active-border-color:transparent;--bs-pagination-disabled-color:#fff;--bs-pagination-disabled-bg:#007053;--bs-pagination-disabled-border-color:transparent;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)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{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:0}.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:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:0.5rem}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:0.25rem}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;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:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;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}.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:#21364c;--bs-alert-bg:#d7dee5;--bs-alert-border-color:#c3ced9}.alert-primary .alert-link{color:#1a2b3d}.alert-secondary{--bs-alert-color:#292929;--bs-alert-bg:#dadada;--bs-alert-border-color:#c7c7c7}.alert-secondary .alert-link{color:#212121}.alert-success{--bs-alert-color:#007154;--bs-alert-bg:#ccf2e8;--bs-alert-border-color:#b3ebdd}.alert-success .alert-link{color:#005a43}.alert-info{--bs-alert-color:#1f5b83;--bs-alert-bg:#d6eaf8;--bs-alert-border-color:#c2e0f4}.alert-info .alert-link{color:#194969}.alert-warning{--bs-alert-color:#925e0b;--bs-alert-bg:#fdebd0;--bs-alert-border-color:#fbe1b8}.alert-warning .alert-link{color:#754b09}.alert-danger{--bs-alert-color:#8b2e24;--bs-alert-bg:#fadbd8;--bs-alert-border-color:#f8c9c5}.alert-danger .alert-link{color:#6f251d}.alert-light{--bs-alert-color:#686d71;--bs-alert-bg:#eff0f2;--bs-alert-border-color:#e6e9eb}.alert-light .alert-link{color:#53575a}.alert-dark{--bs-alert-color:#1d1d1d;--bs-alert-bg:#d6d6d6;--bs-alert-border-color:#c1c1c1}.alert-dark .alert-link{color:#171717}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:#444;--bs-progress-border-radius:0.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#375a7f;--bs-progress-bar-transition:width 0.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-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:#fff;--bs-list-group-bg:#303030;--bs-list-group-border-color:#444;--bs-list-group-border-width:1px;--bs-list-group-border-radius:0.375rem;--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:#444;--bs-list-group-action-hover-color:#fff;--bs-list-group-action-hover-bg:#444;--bs-list-group-action-active-color:#fff;--bs-list-group-action-active-bg:#222;--bs-list-group-disabled-color:#888;--bs-list-group-disabled-bg:#303030;--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#375a7f;--bs-list-group-active-border-color:#375a7f;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:focus,.list-group-item-action:hover{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{color:#21364c;background-color:#d7dee5}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#21364c;background-color:#c2c8ce}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#21364c;border-color:#21364c}.list-group-item-secondary{color:#292929;background-color:#dadada}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#292929;background-color:#c4c4c4}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#292929;border-color:#292929}.list-group-item-success{color:#007154;background-color:#ccf2e8}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#007154;background-color:#b8dad1}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#007154;border-color:#007154}.list-group-item-info{color:#1f5b83;background-color:#d6eaf8}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#1f5b83;background-color:#c1d3df}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#1f5b83;border-color:#1f5b83}.list-group-item-warning{color:#925e0b;background-color:#fdebd0}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#925e0b;background-color:#e4d4bb}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#925e0b;border-color:#925e0b}.list-group-item-danger{color:#8b2e24;background-color:#fadbd8}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#8b2e24;background-color:#e1c5c2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#8b2e24;border-color:#8b2e24}.list-group-item-light{color:#686d71;background-color:#eff0f2}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#686d71;background-color:#d7d8da}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}.list-group-item-dark{color:#1d1d1d;background-color:#d6d6d6}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1d1d1d;background-color:#c1c1c1}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1d1d1d;border-color:#1d1d1d}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#fff;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%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") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.4}.btn-close:hover{color:#fff;text-decoration:none;opacity:1}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(55,90,127,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:#444;--bs-toast-border-width:1px;--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:0.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color:#888;--bs-toast-header-bg:#303030;--bs-toast-header-border-color:rgba(0, 0, 0, 0.05);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:-webkit-max-content;width:-moz-max-content;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:0.5rem;--bs-modal-color: ;--bs-modal-bg:#303030;--bs-modal-border-color:#444;--bs-modal-border-width:1px;--bs-modal-border-radius:0.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:#444;--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:#444;--bs-modal-footer-border-width:1px;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:translate(0,-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:0.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;justify-content:space-between;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:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.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-footer,.modal-fullscreen .modal-header{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-footer,.modal-fullscreen-sm-down .modal-header{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-footer,.modal-fullscreen-md-down .modal-header{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-footer,.modal-fullscreen-lg-down .modal-header{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-footer,.modal-fullscreen-xl-down .modal-header{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-footer,.modal-fullscreen-xxl-down .modal-header{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:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:#fff;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:0.375rem;--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);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-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .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-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .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:0.875rem;--bs-popover-bg:#303030;--bs-popover-border-width:1px;--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:0.5rem;--bs-popover-inner-border-radius:calc(0.5rem - 1px);--bs-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg:#444;--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:#fff;--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.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::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.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-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-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-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.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-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.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%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{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:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-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%;list-style:none}.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-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{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:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.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:0.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:-0.125em;--bs-spinner-animation-speed:0.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,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--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: ;--bs-offcanvas-bg:#303030;--bs-offcanvas-border-width:1px;--bs-offcanvas-border-color:#444;--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)}@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:transform .3s ease-in-out}}@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:translateX(-100%)}}@media (max-width:575.98px){.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:translateX(100%)}}@media (max-width:575.98px){.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%)}}@media (max-width:575.98px){.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%)}}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}}@media (max-width:575.98px){.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{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:transform .3s ease-in-out}}@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:translateX(-100%)}}@media (max-width:767.98px){.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:translateX(100%)}}@media (max-width:767.98px){.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%)}}@media (max-width:767.98px){.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%)}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}}@media (max-width:767.98px){.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{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:transform .3s ease-in-out}}@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:translateX(-100%)}}@media (max-width:991.98px){.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:translateX(100%)}}@media (max-width:991.98px){.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%)}}@media (max-width:991.98px){.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%)}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}}@media (max-width:991.98px){.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{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:transform .3s ease-in-out}}@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:translateX(-100%)}}@media (max-width:1199.98px){.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:translateX(100%)}}@media (max-width:1199.98px){.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%)}}@media (max-width:1199.98px){.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%)}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}}@media (max-width:1199.98px){.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{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:transform .3s ease-in-out}}@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:translateX(-100%)}}@media (max-width:1399.98px){.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:translateX(100%)}}@media (max-width:1399.98px){.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%)}}@media (max-width:1399.98px){.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%)}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}}@media (max-width:1399.98px){.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{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:transform .3s ease-in-out}@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:translateX(-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:translateX(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.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{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;justify-content:space-between;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-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.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%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(55,90,127,var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(68,68,68,var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(0,188,140,var(--bs-bg-opacity,1))!important}.text-bg-info{color:#fff!important;background-color:RGBA(52,152,219,var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#fff!important;background-color:RGBA(243,156,18,var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(231,76,60,var(--bs-bg-opacity,1))!important}.text-bg-light{color:#fff!important;background-color:RGBA(173,181,189,var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(48,48,48,var(--bs-bg-opacity,1))!important}.link-primary{color:#375a7f!important}.link-primary:focus,.link-primary:hover{color:#2c4866!important}.link-secondary{color:#444!important}.link-secondary:focus,.link-secondary:hover{color:#363636!important}.link-success{color:#00bc8c!important}.link-success:focus,.link-success:hover{color:#009670!important}.link-info{color:#3498db!important}.link-info:focus,.link-info:hover{color:#2a7aaf!important}.link-warning{color:#f39c12!important}.link-warning:focus,.link-warning:hover{color:#c27d0e!important}.link-danger{color:#e74c3c!important}.link-danger:focus,.link-danger:hover{color:#b93d30!important}.link-light{color:#adb5bd!important}.link-light:focus,.link-light:hover{color:#8a9197!important}.link-dark{color:#303030!important}.link-dark:focus,.link-dark:hover{color:#262626!important}.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:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;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){position:absolute!important;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}.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:1px;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}.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}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display: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:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;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:translateX(-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-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-1{--bs-border-width:1px}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.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}.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}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.425rem + 2.1vw)!important}.fs-2{font-size:calc(1.375rem + 1.5vw)!important}.fs-3{font-size:calc(1.325rem + .9vw)!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-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!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-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:#888!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-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-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-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-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-2xl)!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-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float: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-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}.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}.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-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}.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}.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-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}.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}.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-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}.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}.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-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}.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:3rem!important}.fs-2{font-size:2.5rem!important}.fs-3{font-size:2rem!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-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}}:root{color-scheme:dark}.blockquote-footer{color:#888}.form-control{color-scheme:light}.input-group-addon{color:#fff}.form-floating>label{color:#444}.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover,.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:#fff}.breadcrumb a{color:#fff}.pagination a:hover{text-decoration:none}.alert{color:#fff;border:none}.alert .alert-link,.alert a{color:#fff;text-decoration:underline}.alert-primary{background-color:#375a7f}.alert-secondary{background-color:#444}.alert-success{background-color:#00bc8c}.alert-info{background-color:#3498db}.alert-warning{background-color:#f39c12}.alert-danger{background-color:#e74c3c}.alert-light{background-color:#adb5bd}.alert-dark{background-color:#303030} \ No newline at end of file diff --git a/site/src/jsMain/resources/bootstrap.js b/site/src/jsMain/resources/bootstrap.js new file mode 100644 index 0000000..819659b --- /dev/null +++ b/site/src/jsMain/resources/bootstrap.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},m=t=>{"function"==typeof t&&t()},_=(e,i,n=!0)=>{if(!n)return void m(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),m(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=N(t);return C.has(o)||(o=t),[n,s,o]}function D(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return j(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return j(n,{delegateTarget:t}),i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function S(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t,e,i,n){const s=e[i]||{};for(const o of Object.keys(s))if(o.includes(n)){const n=s[o];S(t,e,i,n.callable,n.delegationSelector)}}function N(t){return t=t.replace(y,""),T[t]||t}const P={on(t,e,i,n){D(t,e,i,n,!1)},one(t,e,i,n){D(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))I(t,l,i,e.slice(1));for(const i of Object.keys(c)){const n=i.replace(w,"");if(!a||e.includes(n)){const e=c[i];S(t,l,r,e.callable,e.delegationSelector)}}}else{if(!Object.keys(c).length)return;S(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=j(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function j(t,e){for(const[i,n]of Object.entries(e||{}))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};function $(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function W(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${W(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${W(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=$(t.dataset[n])}return e},getDataAttribute:(t,e)=>$(t.getAttribute(`data-bs-${W(e)}`))};class F{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const n of Object.keys(e)){const s=e[n],r=t[n],a=o(r)?"element":null==(i=r)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}var i}}class z extends F{constructor(t,e){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(e),H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.2.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;P.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class R extends z{static get NAME(){return"alert"}close(){if(P.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),P.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=R.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}q(R,"close"),g(R);const V='[data-bs-toggle="button"]';class K extends z{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}P.on(document,"click.bs.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()})),g(K);const Q={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))}},X={endCallback:null,leftCallback:null,rightCallback:null},Y={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class U extends F{constructor(t,e){super(),this._element=t,t&&U.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return X}static get DefaultType(){return Y}static get NAME(){return"swipe"}dispose(){P.off(this._element,".bs.swipe")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),m(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&m(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),P.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),P.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),P.on(this._element,"touchend.bs.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const G="next",J="prev",Z="left",tt="right",et="slid.bs.carousel",it="carousel",nt="active",st={ArrowLeft:tt,ArrowRight:Z},ot={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},rt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class at extends z{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=Q.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===it&&this.cycle()}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"carousel"}next(){this._slide(G)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(J)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,et,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,et,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?G:J;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),P.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&U.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of Q.find(".carousel-item img",this._element))P.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(Z)),rightCallback:()=>this._slide(this._directionToOrder(tt)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new U(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=st[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=Q.findOne(".active",this._indicatorsElement);e.classList.remove(nt),e.removeAttribute("aria-current");const i=Q.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(nt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===G,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r("slide.bs.carousel").defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(nt),i.classList.remove(nt,c,l),this._isSliding=!1,r(et)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return Q.findOne(".active.carousel-item",this._element)}_getItems(){return Q.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===Z?J:G:t===Z?G:J}_orderToDirection(t){return p()?t===J?Z:tt:t===J?tt:Z}static jQueryInterface(t){return this.each((function(){const e=at.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=n(this);if(!e||!e.classList.contains(it))return;t.preventDefault();const i=at.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),P.on(window,"load.bs.carousel.data-api",(()=>{const t=Q.find('[data-bs-ride="carousel"]');for(const e of t)at.getOrCreateInstance(e)})),g(at);const lt="show",ct="collapse",ht="collapsing",dt='[data-bs-toggle="collapse"]',ut={parent:null,toggle:!0},ft={parent:"(null|element)",toggle:"boolean"};class pt extends z{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const n=Q.find(dt);for(const t of n){const e=i(t),n=Q.find(e).filter((t=>t===this._element));null!==e&&n.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return ut}static get DefaultType(){return ft}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>pt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[e]="",P.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);for(const t of this._triggerArray){const e=n(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),P.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(dt);for(const e of t){const t=n(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=Q.find(":scope .collapse .collapse",this._config.parent);return Q.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}P.on(document,"click.bs.collapse.data-api",dt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this),n=Q.find(e);for(const t of n)pt.getOrCreateInstance(t,{toggle:!1}).toggle()})),g(pt);var gt="top",mt="bottom",_t="right",bt="left",vt="auto",yt=[gt,mt,_t,bt],wt="start",At="end",Et="clippingParents",Tt="viewport",Ct="popper",Ot="reference",xt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+At])}),[]),kt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+At])}),[]),Lt="beforeRead",Dt="read",St="afterRead",It="beforeMain",Nt="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",$t=[Lt,Dt,St,It,Nt,Pt,jt,Mt,Ht];function Wt(t){return t?(t.nodeName||"").toLowerCase():null}function Bt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Ft(t){return t instanceof Bt(t).Element||t instanceof Element}function zt(t){return t instanceof Bt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Bt(t).ShadowRoot||t instanceof ShadowRoot)}const Rt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];zt(s)&&Wt(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});zt(n)&&Wt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Vt(t){return t.split("-")[0]}var Kt=Math.max,Qt=Math.min,Xt=Math.round;function Yt(){var t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ut(){return!/^((?!chrome|android).)*safari/i.test(Yt())}function Gt(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&zt(t)&&(s=t.offsetWidth>0&&Xt(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Xt(n.height)/t.offsetHeight||1);var r=(Ft(t)?Bt(t):window).visualViewport,a=!Ut()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Jt(t){var e=Gt(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Zt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function te(t){return Bt(t).getComputedStyle(t)}function ee(t){return["table","td","th"].indexOf(Wt(t))>=0}function ie(t){return((Ft(t)?t.ownerDocument:t.document)||window.document).documentElement}function ne(t){return"html"===Wt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||ie(t)}function se(t){return zt(t)&&"fixed"!==te(t).position?t.offsetParent:null}function oe(t){for(var e=Bt(t),i=se(t);i&&ee(i)&&"static"===te(i).position;)i=se(i);return i&&("html"===Wt(i)||"body"===Wt(i)&&"static"===te(i).position)?e:i||function(t){var e=/firefox/i.test(Yt());if(/Trident/i.test(Yt())&&zt(t)&&"fixed"===te(t).position)return null;var i=ne(t);for(qt(i)&&(i=i.host);zt(i)&&["html","body"].indexOf(Wt(i))<0;){var n=te(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function re(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function ae(t,e,i){return Kt(t,Qt(e,i))}function le(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ce(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const he={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=Vt(i.placement),l=re(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return le("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ce(t,yt))}(s.padding,i),d=Jt(o),u="y"===l?gt:bt,f="y"===l?mt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],g=r[l]-i.rects.reference[l],m=oe(o),_=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,b=p/2-g/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=ae(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Zt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function de(t){return t.split("-")[1]}var ue={top:"auto",right:"auto",bottom:"auto",left:"auto"};function fe(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,g=void 0===p?0:p,m="function"==typeof h?h({x:f,y:g}):{x:f,y:g};f=m.x,g=m.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=bt,y=gt,w=window;if(c){var A=oe(i),E="clientHeight",T="clientWidth";A===Bt(i)&&"static"!==te(A=ie(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===gt||(s===bt||s===_t)&&o===At)&&(y=mt,g-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,g*=l?1:-1),s!==bt&&(s!==gt&&s!==mt||o!==At)||(v=_t,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&ue),x=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:Xt(e*n)/n||0,y:Xt(i*n)/n||0}}({x:f,y:g}):{x:f,y:g};return f=x.x,g=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+g+"px)":"translate3d("+f+"px, "+g+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?g+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const pe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:Vt(e.placement),variation:de(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,fe(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,fe(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ge={passive:!0};const me={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=Bt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ge)})),a&&l.addEventListener("resize",i.update,ge),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ge)})),a&&l.removeEventListener("resize",i.update,ge)}},data:{}};var _e={left:"right",right:"left",bottom:"top",top:"bottom"};function be(t){return t.replace(/left|right|bottom|top/g,(function(t){return _e[t]}))}var ve={start:"end",end:"start"};function ye(t){return t.replace(/start|end/g,(function(t){return ve[t]}))}function we(t){var e=Bt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ae(t){return Gt(ie(t)).left+we(t).scrollLeft}function Ee(t){var e=te(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Te(t){return["html","body","#document"].indexOf(Wt(t))>=0?t.ownerDocument.body:zt(t)&&Ee(t)?t:Te(ne(t))}function Ce(t,e){var i;void 0===e&&(e=[]);var n=Te(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Bt(n),r=s?[o].concat(o.visualViewport||[],Ee(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ce(ne(r)))}function Oe(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function xe(t,e,i){return e===Tt?Oe(function(t,e){var i=Bt(t),n=ie(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ut();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ae(t),y:l}}(t,i)):Ft(e)?function(t,e){var i=Gt(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Oe(function(t){var e,i=ie(t),n=we(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ae(t),l=-n.scrollTop;return"rtl"===te(s||i).direction&&(a+=Kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ie(t)))}function ke(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Vt(s):null,r=s?de(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case gt:e={x:a,y:i.y-n.height};break;case mt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?re(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case At:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Et:a,c=i.rootBoundary,h=void 0===c?Tt:c,d=i.elementContext,u=void 0===d?Ct:d,f=i.altBoundary,p=void 0!==f&&f,g=i.padding,m=void 0===g?0:g,_=le("number"!=typeof m?m:ce(m,yt)),b=u===Ct?Ot:Ct,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Ce(ne(t)),i=["absolute","fixed"].indexOf(te(t).position)>=0&&zt(t)?oe(t):t;return Ft(i)?e.filter((function(t){return Ft(t)&&Zt(t,i)&&"body"!==Wt(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=xe(t,i,n);return e.top=Kt(s.top,e.top),e.right=Qt(s.right,e.right),e.bottom=Qt(s.bottom,e.bottom),e.left=Kt(s.left,e.left),e}),xe(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Ft(y)?y:y.contextElement||ie(t.elements.popper),l,h,r),A=Gt(t.elements.reference),E=ke({reference:A,element:v,strategy:"absolute",placement:s}),T=Oe(Object.assign({},v,E)),C=u===Ct?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Ct&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[_t,mt].indexOf(t)>=0?1:-1,i=[gt,mt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function De(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?kt:l,h=de(n),d=h?a?xt:xt.filter((function(t){return de(t)===h})):yt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=Le(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Vt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Se={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,g=i.allowedAutoPlacements,m=e.options.placement,_=Vt(m),b=l||(_!==m&&p?function(t){if(Vt(t)===vt)return[];var e=be(t);return[ye(t),e,ye(e)]}(m):[be(m)]),v=[m].concat(b).reduce((function(t,i){return t.concat(Vt(i)===vt?De(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:g}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,D=L?"width":"height",S=Le(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=L?k?_t:bt:k?mt:gt;y[D]>w[D]&&(I=be(I));var N=be(I),P=[];if(o&&P.push(S[x]<=0),a&&P.push(S[I]<=0,S[N]<=0),P.every((function(t){return t}))){T=O,E=!1;break}A.set(O,P)}if(E)for(var j=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ie(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Ne(t){return[gt,_t,mt,bt].some((function(e){return t[e]>=0}))}const Pe={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Le(e,{elementContext:"reference"}),a=Le(e,{altBoundary:!0}),l=Ie(r,n),c=Ie(a,s,o),h=Ne(l),d=Ne(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},je={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=kt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Vt(t),s=[bt,gt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[bt,_t].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Me={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ke({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},He={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,g=void 0===p?0:p,m=Le(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Vt(e.placement),b=de(e.placement),v=!b,y=re(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,D="y"===y?gt:bt,S="y"===y?mt:_t,I="y"===y?"height":"width",N=A[y],P=N+m[D],j=N-m[S],M=f?-T[I]/2:0,H=b===wt?E[I]:T[I],$=b===wt?-T[I]:-E[I],W=e.elements.arrow,B=f&&W?Jt(W):{width:0,height:0},F=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=F[D],q=F[S],R=ae(0,E[I],B[I]),V=v?E[I]/2-M-R-z-O.mainAxis:H-R-z-O.mainAxis,K=v?-E[I]/2+M+R+q+O.mainAxis:$+R+q+O.mainAxis,Q=e.elements.arrow&&oe(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=N+K-Y,G=ae(f?Qt(P,N+V-Y-X):P,N,f?Kt(j,U):j);A[y]=G,k[y]=G-N}if(a){var J,Z="x"===y?gt:bt,tt="x"===y?mt:_t,et=A[w],it="y"===w?"height":"width",nt=et+m[Z],st=et-m[tt],ot=-1!==[gt,bt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=ae(t,e,i);return n>i?i:n}(at,et,lt):ae(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function $e(t,e,i){void 0===i&&(i=!1);var n,s,o=zt(e),r=zt(e)&&function(t){var e=t.getBoundingClientRect(),i=Xt(e.width)/t.offsetWidth||1,n=Xt(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ie(e),l=Gt(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Wt(e)||Ee(a))&&(c=(n=e)!==Bt(n)&&zt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:we(n)),zt(e)?((h=Gt(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ae(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function We(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Fe(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=Q.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=Q.find(ti);for(const i of e){const e=hi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Xe,Ye].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ze)?this:Q.prev(this,Ze)[0]||Q.next(this,Ze)[0]||Q.findOne(Ze,t.delegateTarget.parentNode),o=hi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ge,Ze,hi.dataApiKeydownHandler),P.on(document,Ge,ei,hi.dataApiKeydownHandler),P.on(document,Ue,hi.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",hi.clearMenus),P.on(document,Ue,Ze,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ui=".sticky-top",fi="padding-right",pi="margin-right";class gi{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,fi,(e=>e+t)),this._setElementAttributes(di,fi,(e=>e+t)),this._setElementAttributes(ui,pi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,fi),this._resetElementAttributes(di,fi),this._resetElementAttributes(ui,pi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of Q.find(t,this._element))e(i)}}const mi="show",_i="mousedown.bs.backdrop",bi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},vi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class yi extends F{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return bi}static get DefaultType(){return vi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void m(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(mi),this._emulateAnimation((()=>{m(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(mi),this._emulateAnimation((()=>{this.dispose(),m(t)}))):m(t)}dispose(){this._isAppended&&(P.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),P.on(t,_i,(()=>{m(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const wi=".bs.focustrap",Ai="backward",Ei={autofocus:!0,trapElement:null},Ti={autofocus:"boolean",trapElement:"element"};class Ci extends F{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ei}static get DefaultType(){return Ti}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,wi),P.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),P.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,wi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=Q.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Ai?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ai:"forward")}}const Oi="hidden.bs.modal",xi="show.bs.modal",ki="modal-open",Li="show",Di="modal-static",Si={backdrop:!0,focus:!0,keyboard:!0},Ii={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ni extends z{constructor(t,e){super(t,e),this._dialog=Q.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new gi,this._addEventListeners()}static get Default(){return Si}static get DefaultType(){return Ii}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(ki),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Li),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])P.off(t,".bs.modal");this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new yi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ci({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=Q.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(Li),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.modal",(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),P.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),P.on(this._element,"mousedown.dismiss.bs.modal",(t=>{P.one(this._element,"click.dismiss.bs.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(ki),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,Oi)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Di)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Di),this._queueCallback((()=>{this._element.classList.remove(Di),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,xi,(t=>{t.defaultPrevented||P.one(e,Oi,(()=>{a(this)&&this.focus()}))}));const i=Q.findOne(".modal.show");i&&Ni.getInstance(i).hide(),Ni.getOrCreateInstance(e).toggle(this)})),q(Ni),g(Ni);const Pi="show",ji="showing",Mi="hiding",Hi=".offcanvas.show",$i="hidePrevented.bs.offcanvas",Wi="hidden.bs.offcanvas",Bi={backdrop:!0,keyboard:!0,scroll:!1},Fi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class zi extends z{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Bi}static get DefaultType(){return Fi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new gi).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ji),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Pi),this._element.classList.remove(ji),P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Mi),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Pi,Mi),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new gi).reset(),P.trigger(this._element,Wi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new yi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,$i)}:null})}_initializeFocusTrap(){return new Ci({trapElement:this._element})}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,$i))}))}static jQueryInterface(t){return this.each((function(){const e=zi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;P.one(e,Wi,(()=>{a(this)&&this.focus()}));const i=Q.findOne(Hi);i&&i!==e&&zi.getInstance(i).hide(),zi.getOrCreateInstance(e).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of Q.find(Hi))zi.getOrCreateInstance(t).show()})),P.on(window,"resize.bs.offcanvas",(()=>{for(const t of Q.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&zi.getOrCreateInstance(t).hide()})),q(zi),g(zi);const qi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Ri=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Vi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ki=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!qi.has(i)||Boolean(Ri.test(t.nodeValue)||Vi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Qi={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Xi={allowList:Qi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Yi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ui={entry:"(string|element|function|null)",selector:"(string|element)"};class Gi extends F{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Ui)}_setContent(t,e,i){const n=Q.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Ki(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return"function"==typeof t?t(this):t}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ji=new Set(["sanitize","allowList","sanitizeFn"]),Zi="fade",tn="show",en=".modal",nn="hide.bs.modal",sn="hover",on="focus",rn={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},an={allowList:Qi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ln={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cn extends z{constructor(t,e){if(void 0===Ke)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return an}static get DefaultType(){return ln}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(en),nn,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._queueCallback((()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Zi,tn),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Zi),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Gi({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Zi)}_isShown(){return this.tip&&this.tip.classList.contains(tn)}_createPopper(t){const e="function"==typeof this._config.placement?this._config.placement.call(this,t,this._element):this._config.placement,i=rn[e.toUpperCase()];return Ve(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===sn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===sn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?on:sn]=!0,e._enter()})),P.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?on:sn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(en),nn,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ji.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(cn);const hn={...cn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},dn={...cn.DefaultType,content:"(null|string|element|function)"};class un extends cn{static get Default(){return hn}static get DefaultType(){return dn}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn="click.bs.scrollspy",pn="active",gn="[href]",mn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},_n={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class bn extends z{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return mn}static get DefaultType(){return _n}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,fn),P.on(this._config.target,fn,gn,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=Q.find(gn,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=Q.findOne(e.hash,this._element);a(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(pn),this._activateParents(t),P.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))Q.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(pn);else for(const e of Q.parents(t,".nav, .list-group"))for(const t of Q.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(pn)}_clearActiveClass(t){t.classList.remove(pn);const e=Q.find("[href].active",t);for(const t of e)t.classList.remove(pn)}static jQueryInterface(t){return this.each((function(){const e=bn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of Q.find('[data-bs-spy="scroll"]'))bn.getOrCreateInstance(t)})),g(bn);const vn="ArrowLeft",yn="ArrowRight",wn="ArrowUp",An="ArrowDown",En="active",Tn="fade",Cn="show",On='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',xn=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${On}`;class kn extends z{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,"keydown.bs.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?P.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;P.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(En),this._activate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add(Cn)}),t,t.classList.contains(Tn)))}_deactivate(t,e){t&&(t.classList.remove(En),t.blur(),this._deactivate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove(Cn)}),t,t.classList.contains(Tn)))}_keydown(t){if(![vn,yn,wn,An].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[yn,An].includes(t.key),i=b(this._getChildren().filter((t=>!l(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),kn.getOrCreateInstance(i).show())}_getChildren(){return Q.find(xn,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=n(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=Q.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",En),n(".dropdown-menu",Cn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(En)}_getInnerElement(t){return t.matches(xn)?t:Q.findOne(xn,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=kn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab",On,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||kn.getOrCreateInstance(this).show()})),P.on(window,"load.bs.tab",(()=>{for(const t of Q.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))kn.getOrCreateInstance(t)})),g(kn);const Ln="hide",Dn="show",Sn="showing",In={animation:"boolean",autohide:"boolean",delay:"number"},Nn={animation:!0,autohide:!0,delay:5e3};class Pn extends z{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Nn}static get DefaultType(){return In}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Ln),d(this._element),this._element.classList.add(Dn,Sn),this._queueCallback((()=>{this._element.classList.remove(Sn),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(Sn),this._queueCallback((()=>{this._element.classList.add(Ln),this._element.classList.remove(Sn,Dn),P.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Dn),super.dispose()}isShown(){return this._element.classList.contains(Dn)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),P.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Pn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return q(Pn),g(Pn),{Alert:R,Button:K,Carousel:at,Collapse:pt,Dropdown:hi,Modal:Ni,Offcanvas:zi,Popover:un,ScrollSpy:bn,Tab:kn,Toast:Pn,Tooltip:cn}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/site/src/jsMain/resources/fonts/bootstrap-icons.woff b/site/src/jsMain/resources/fonts/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..bfb8665462021325359a1f0edb98621830fdff68 GIT binary patch literal 164352 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 ?$zCB1vuv5!*^-RV*lE@mHJ2(y(4NCPDEwd3Y@ zQH*f9tQK8$x8P8Uj&FRY%QihI2SJ@I(4hfj9Ezhc!r^Odv9$9XLn#cFoU!AxcL3Rs z?_B%G>)3a_0tLu}6;k*#Gl+CRG{p*tD@0fTv4990Ai+Z^#PZCsCNs(qVFkn%A}oLy z4&mAdVQdHTT(Ql^VPe~Otsz`V1&pntl@k~dz%T>GB@F8EG)m1fSdT7X?~>#ENE`;G zrGQcsJkzFY*d=qEAF2Sx6%DrJ5VlzJ2P$+8kCKsSLCB;3lN?74lc#|BJam{3!!kK?to-hGI2n zMJ%);4LU{)y0vF&rrUYnGiv75bBP_h-zjMg4IPk`!L+7@YB&Xg+rCHC>>enY4Gm3` zt;4iJg=)A2f}6j;s@dIAQXd-XBFltnF$sBtX7l$qkog!gC;v15YlZ{!>m5wK6-^*I zDa2w~)%4gWSJH81^o=}Z9{*>mL#6^`5@Pa&Xh_gWt>$-COpiTn?mMpZzF~pPi2qDA z$drOiJ`JsQz8GeK;D-C?n%#x3+(SdrWRFovmgb+*YIgsAeFkY;n3j-W42M9=r~B_A z(;qT#L#8%6WWM`XXigg6ox`NZ5*{L(NPfH}CbHZ$id0m{(j__bC!yV)a|Y=kJ4mBJ z>H<&L z5-7#EhD0D-p*g5_1=RY1*kA=h5(uca!4lr;DMY)QScdric!LcH1t6~Aaw=qDB*6miap(%N!@&KxhIX4n#$~qEJ9Md0=-s;=9%q zYq;gM1nn-`59(`yiX5nHg38fLP>BQ;d8i@`Dte&u0@@-9D%tUhgNI?{ft|?+kJdKU z@SQVp+Kf$i+{}wmEs~`Z0w6YVGuokgBo4<{M5KNypueP^za!sY8AN>43uOrpKIWrc z`xy=iw(#Jlpw!lFoqeuM zaCB1M*<3uidic|4IEZFLludg2Kcg!DDJR5M^GNsK0B2;!&M)?8hf-DQ!6)hbS(VpKWNj^~{5!R}|I!Mv zfj}Ju+5A}xo>l%yB#143itfKAbf}JMG0tcQM zuma)=5f(r!Ai@SnuxARPJk(JJjy!AR_>3(?ppKzu3ava_Wa_GyXG%jWGayPb7r0?a@UdVYg-J`efrb!?c{rxr2E(v(CymWw;>V_2pJ%4==PZBNP7F2X`Icz zw90ia)mQZP?{0afa6lIvTq2$+&Ys|kn!i7Ks(an5p9vxwfLK99=lV{!!uMD1mH7AoHsN{16pUXwRq~cPu)aaoHOOKG7P=kR-Hf8w1;PAPPZ4+ad`Ks7 za_y+WBQpB#b)%r>dsav%0j(homDHgf(jdRnT{(|Pg1u+s+EMnDl}=>>Zyenj$PAdS z{mXfFPmxRP3*Fu1$P8^rQ$e~A9Z$*aIs|$EQXlGW^Q6Kc zP=P=j0woAEAy5O*5Rox&D3X~Wwuc~*?oOFE^+XGIYeT>ffeQrm5SV+SIl95C$-2sqKXV+p35=1p>aDB@LO1|{yS0r&=Fg*8dU0&ZYG+tj4h!I0lV9K^FMmsS>r52M1i0HLK3Ym)b>U; z@Q8DJd7&N>u|TYYWRp40vNcuq_#kusN82WA+hn zhyvm#B+x)a08tGIl)B!e4x`+j^!73~2$xqVuLlJ2_VSyc?mU`SaE=F4!0y*%91!4~ ze|JD~0wtP2hyzg(uP*c=TsCkvef|g8G`Rf(iGbZUKV05Lix%VArrh>&=w`h7#mP(A z&{ z=tH#_mktSl*o1^05LdRPx)jh|0cY=I2UZ8?pIe5q#CaX@1!Q!D&p)RQWs9r!e=9ri z^cA?S0rNF@)MRuJW{cZNj_*3+LwBW~WXcZwVVZxwc+MVIy+;#}QP$Qy=W?dZ=&)+F z-E@9pc5*&v7h0IsytX-vOb*U4-L8r=RJYuB#&`FI=v)dIuW)1+IuVzPX#<#> z{*w*Y%c!G;N|sAY;uH!J6HvC?HwC3M0gm)g8mxJ$KNl|5wG-J1o|V-pHumCI~idshSMw^wMXKJGif zKmX2FC3FszATC{yruvw4hsRoAF#lz(Y#hXjgW{AwnsLN%RlXlgDI`5&59PvuK;}ueo@B#)N9C@1W2WHV{zf;5davW(O)8aof z4>B_$lM*r?>mzB!)-@FEzt_+Zrz-xOqGG2RlBYtD=$yczL>)>Lh`Zl=6F~7RDt7fD zMF_q?ok)G8wniiz*&xcGrnorZEk&Fv{*#XfSDN}hhq>DR0XnQNZH1c@t+--Dg?O)B zQNT=_@cuu@g;+iWc@Pu=(9MAW!|a84@Gh(mwSpi;>#R^g@CX7iQW5onQGKMeNT#l$ z2w$e6;v#O>loV~Xq74B*1TGNJlcG&l%ps74-~|Lk5Gav~2o*$g!$R_-c>ri}<6=?- z^O;4THpYY@Oad8*yQ{pVAs_~@8%Qd`Rsfz$Ov=_Z=9D6#bWpLzvq11~`ns3F2XP_}_`Ru)eUBGiWIj_?cQC zGZUv0|BU3u@u#@uLHa&1;((0``6CYgP)$LNkoHW97_sY1id*L5X3opTyo>=S(VkHO z^CxJ@@BlOSWlTsCkw_qT#gB$2sSt}=*M7dS?i&54Z-(&M9Y0X*b9UGN*7uK7wU6B001ye_ zZ0dh&-WOEu)891sM!qKx2$Mb_ETF>#b%cSF4LLljeKOew-c9=>O_kJ;n_Q#K+Z9M2tlL(5T>XUo%8&$ z0_&;~AO zL>I%|ke;bx;3>(c2S6tE!@Qd>scQG++M_6R?YJWqhhgW*&uh7!RQ07_8di(af@=(NB==6~u6xBpQ7HV4-4A z#oLsUu=}S}glDC}eVC=M9lvyr$e3KmjYG{P1H%Hk~6ty_t>Wdg-;Zt@)4BT*&s+Oqi|+Te=GPCoC6{fYK4FZU05=yq)|&0jle~EutCWA(6=% z(n3qMwQ8YdVE@yFb5_#Gz8cmYli1J6A!;lUNj3Gu94>MNu>;efw%^gnQx{}r+fk`Q z#`N7DXB82-jfn2XX(I(VqGe6gs84*QP1Z{8ASxptqdOQ|U-54v?wIUuk05^Zjv`fs z!1u|)hAjTTBOPFXFLR7_ulNJU)I68D>XFKmD!PktYsQ`;p@@1^SG6l=Tx$?lKt@9o zZmth}uyJrB10o1#OF6A&X}|2k7mzAbeS+)#lRBwqx!Ai#xGiF3Pl@gd3V16!)hn^R zY(Q!FxlvAuaCM)XxOBpn>Z98PkM(3$&P(zaXd)4hE5wKyL#pq}Sp_d!8{>(N@uF1U zA7|&kB>$sINc$N7L{;-5689>D8r0CG6L%4G13~ zYlUy+_jy$_(nq=f{%O{|>99Z%CB^3s|90db%{tIELG@gID);T#p`c0WV9@+`t7)#t z^J7BQ-E&Hw4+o(tH|2J0qn5|B^;HJX6Ies~2f6=_o@P*a&TEMrPFbPaO%BsC`reOA z&I>yPYcYELBHSLMoJMtp9A?RGUtHN~ zfO{J6u)%uQ(vw*Q+9IDqsA>I2tg{aML&Bcn*Yq30kpCjimMgt@Nb;3K36|?KDIsjT5TFvPg$|v+cS`^FKLXgQhVphg5&7y%IylX^fpj$J zNV4%Q3A*bV9~(`D@$Xw|RgDFeL7^G6pq_a4z_I@gx&SNNa$YTn8Cd;X@FhwQT%~3 zM)Uv7AIG;Z#c@UsGAUormQJFV_oA16vFPvl$(>00k0dH%-d+A(Mj!SF;VCk)V2GO? zFF?0f>#zw`dxlU1q$cjH%-e1BIUv=UT9cal9v*3Li(Fc$#`TgX3~~yI>dQw$ra5Hp z{AY3jv-Ks>z;7i|Dd%WzTxo_-0duuy>uc7)F?iInMKAZ$HgolxCw9`R=2nU~M=J{7 zuJUz%aG!o?9Aeq~7?nsqFnZ&wjFr}5eB#jqI4*w=gVefr_2TsW1sl)q2eYdeDvd90 z^UM#eW42W~^j)&%8KOBB9;lGg*ra zM^r|%p*rXoS)bXZ|Mn@fkf@3 z#ouf53(?ei>_Q5ZRC=sJt55j#ZjR~|yj?BS|F&ny^Y_@1>iL;>)F;bVANu?|M7euT zc(XJNrhK;eqqZ%h91Igo3jMFEruszP;pr(gluiCH@3$ozg)Zy>pEb_!2<31)VEkE# zQw^dL!KZF`^V_gK?v7~i;Tm45tr+6VXPnEtqq%j9RHTBc1da^Ie-ayp(64+z+@153 z0y3T9$nl&f(P4dj9lxm%mOQ^$qHD2Q)XrW!(#;pWxY@H&w#WmkZ2GB-h1a3q)hY>R zCBISMyA?90Q+adN-BUnMlLWCfguTuNnq@O zh95EUi?%GPe`kRPpAS}b2&XG3fzb+#W601WoOUMw#w%cu0OOuEFs=e47Z?$!PDXlN zx}blWLu27=Fk8y^?6GoEQDXZuMwrSg6`Vk%0dW_kwi+O1i}e%B5}W#QdB|V=w#FQT z4l6KHfk6cfL&yLPZwkleycNurr9HAUs3A#gszZCopQal3fwG@7T3#%Y{`i}@=ko0x zT&`XpSEPL9OZwKIN}h+h(YRR|0nW(Hn%BU90|Wek$1B((9jtV(54MKUXPpIl`cEa! z|7(^+wtJPaMlPA^Tp#pdla?K&^YkyT1@C67xY>qZ@$FudDvUwv_S<7*_i(mCF6?nF z9%KP)Z*=A>Y1}yCe41iqf35p&KdG0&*-lEtcQsCGFs}O2fJRfdEk!-DtEnYYc50$! zzLL|7huL;BkJ-y;D}+?!@f{}SH*y!uw546jh>wgDIBPjZ&hS0|*W|zE3`Cy9bwLJK z_}-W<$?Dc+(255w8DM6yf>s*&FIz5PiUM;G{UvY>m}5GiNe@g$Fuv4nEoaFbdG;xp zet#}{9u<3nvu$fpVLVy4BVCrP(0`act+)02;!=v+{;+?>aLct6_AV3VG}M8SiAic= zs?WZWq0ywA+~iLS3k$h4!#uBHIty4GB6o{r{OfiuBfE>qn03(nrHQY1&0Krwzb<~P z331+}iy^$0Zg=w|SzqhIQH#UOk$|oLzh9pxg0pKsmRQ8?U$AYL_TV>YwZfO#M7N_3 z=PoV|=i(I355sRu9kQH!a(_-L*>2JQJUm2ei$u=-yOo96R&SI!yJf{Rp7Ixo^V!Hi z%pZ0|N=95XW`g&G&!c)`Wj_w7D#8}j!ge`(ox}Njn7yHcpN3u0qIIr{R{0UH*B3pi z*r&oDVGR$azZ)r6YuHI}-}W!dF{^J=_;=brdZWxb>5&G*6Ty|VD4Q|M4$hz%h7WwI zLLU4&9Iq47${#=SX&06@jwCL6({0pneV8y;W$b$Vh^~Geu8-A(7{~ec>qh00nK5?w z<2vPlrBAO>_3lR_XNkw@{h_0!JtLfQ^eJRa{g!+C4YUFF?-`|Z>3ORo^L?4!AJWYW z_;rObCvxF>ZdQ>VR>7WFyIw}`gib#2UeBeLGf$^FePxbY+<)y}cb(Th z<57akfuTaFE4vdV3{qV=d(|mN#HNe_sgEcYGMw(>r8{t4eSwFZj|j&iTVisyc+wK3 z%QFi!lb;92@w1B^qMV!~9@XEH9USHz@q4a(DnU`J9sj5Yv09rWw|B)&Ne8Zz{LtRi z?AqQwrssFy<63yMjpa;~`RC^w_qV>D$_RgP>*DWLQo>Lq8T8S>n25LWM1N*SWq$l6 zOIfl#VwX~{-ki^sjosY1(VAE}#GxD}MEyeR*2ovRt|npw>}H7(d|uzD*IV2~#w7^x z1+M)QJIo-WojtO?9Db+_Yra7h_bLn-!!l08R~zi3%I_UFEvm2Dy-jwsdx>^onD4zK z?=PaQwRVC+XH(k1fu)~buPDQ>1#idXaQ^sp?`E;p7sb}`@DWZ$TgRxoY1onnSfSxdPmhx9 z#(3mS1urLIlfs8b73TO8ioxW9QQJ z4q;~q`poq{6mxM=FB)3;YHr=L>>0 zLZj@cq>|JB&TxtiGS(SV{W+_BxhQMdQ>%MB12U}7LN03_!@hD?yl2MYZ#-F|9x3s}H{WJLIGw+G zQS9IpvMJ~tadb2F^6Bq1LU~sT0&e2@8zV6W+B!(FFZI0fu~pb^)|(a07F)zxl3Mwn z7cULLeq5~gccgJ^l1=g1^}8i_Pi`5mUp{gn7_+t$mHHhs5VM$r^Klea%;DB%{CpXX zCK4}@nb^L^KC_M7OZbS-)nbMSQ&x6 zk&OMI_4ev_3C=K$-jvb^xoyfzBc5haSQP1dA zqT>k%(|1^2WF#JKy}nYxK*Gn-RD3_la`yct6&YJ6E{W6KI_`U-_m6vprGi#<14nV6 zik5g<6x$N*>!+JGVC(-TdFptPer*$NADyrO1VU3%x;;FkZ(Zt)k;|2DceGmP-`utY& z?i|IEb7$*4*&gjwVj3a{s2Nz#ZJE$`eW-N5<+fz@-lf|WB4pjZrn3@wMIDR%&~&>ORU9RTMrHa|E>x2Z>9=22pG}9Xxqhwka(U74IV9}PX=92R zQ{StNxzf*FhWODNFxnQmm#ChQjVGnSv0dMF$&cda4EDYVlRl9zXY70Y74}wvxHBh1 zMv=37=Bo7F-?yl8d>pRnUA?D7N_nL);GOvoX0(TS0{hksBdf+O=_&2$nRiN;XCJ#$ zUDimn_X|JC-`Ud<>xr%_X(SSlf+RzZ_!*fehY6|3PRe$*HC+SR72nzA8$V<~GVcxKc-8fM?aVnlmMb$`-cG}hXDT+U( zaov1@^aFo%E6Wono!1o%ujTX?OFlS8jRbIfcD^D{<6O*fSH4x?(_`s6H~5)C`RHP_ znJ7mMlin>UUl~snE*?YN!Y0f2wO9SxGM>ijq`)zC=pJTNIZ>Q7S)B_$~h) zUCwIgb!;%S*{sZ;6#ZeJu5`TxYdRHO8zjKe>IPpU(0?&2 zJM4aQe#mlz+3$`Y+c4@KgVX(t8M`88?>sG)tXHH;S_-7@%37P@pYd1v*voLY5ftO( zQX5w{uTb|8oqD4(BG9NA(*x@U3CD*rG^OwOxcC(lFWXib%a4ty1Y9!(|FhOE(H$9w zFJAjqTr9aGUTf-QXC!G4BYPdmo1A~%9UJv3+cY2jCV)0EHa-~3A6=;5Oh3t0#4036 zdYWij+tWH3d1O?QCfTkb^qJCx$dtO_(x2Kt2hR(?Ti$;}oX~vbor9tr6@3^z$9WI) zLk637GyImx3W#r5w*iQ)iC}#@v;VU z8qUDTz}rf}0fvS#w0h3Jw5CTa#?uMAOCM+T|JuQ>|M;MJb`vgt-?sRzH;{{{@}~^kBfyX&y*yrTmTCX{+(UXUc%ptNzq@aCJN(Fc z(b~+Q!2X&ezhv`<3hG8cPd3k;g7^HR4i&6qUrwz*1Rphv@vJsK&l!1AoXqJUS1oF| z<$XhFC$b=iChnw@4oheu`+b^|Fv@ahlYui+{EfjImex`C%oS^<5d)v6&2+-s^m4KX z^uE4>GkFeFb29qD593xjZSNBISReB*JtcfLZ`lM#uG3&chOw#~R4`NI1cJdc9)rUF?Tj1Q{a3g~F6l)>DIT zYR9z~_+B6JzRV_NknE|%houIR+LKbilWus==v|0?sW71~yo*t>M^=;sKFKtEPTXKK zMkw@!I&#@adqLAL=UKldY*8hr3CKkcGZZ#&B`rHx5i7q zL;adPq_MoZSL{=R7Hv&kQ4(s1p!TW}8l-wR`hjF9tJE7Aiyacr5l4`d_#~jt z)N8(o>!Gl$PLJl;o2ea@AXd`NklM{D%}&{k4ZHudNFZ6JUaaSzao$yV#8dfzSwbN%5gH<5GD z&l2ZwHwOx_+Xa>TPo9RAlJa6D;>1guS;)RTIyfC|G9(-nBHA2}*t&uIL9!hZ`R{9( z4L>ZcW>k92iNSlH6yJ1BR@5aklfYQFAlQR~`S~l!i9ZI*?>1jPApiA1btu)~;Zo}5 z?$y1V)b2;I`@M<@Ij-TUB*$`b{pE%vE_U{3i5}OpJljV}b2_Or-WwA5)aqZ)BG=uj z;_mrNA{4H~*E0H@zw}{0H=XK;|F&Pw9V&{s%>~x1cNVk6tsl5|G3#5+az>WlHUoT* zW1I$9*#@ifu=4D5J$oswmcr~jx(@4|JI_}A1T0_a9x;1YM|R)*#f>Ftg$e*{idxxrjY8fH|9qABkLA_r@gF2_$M_;99 zkOsRy5a4sU8!w`P=Mun7~F!Gm~$A z{QBvN7eqc3fzAcZKinII)Hp-6Umm}|x}A$jt-~?hj4JMr7H=&wmH5&Bf$yH~%&OBD z&dYT9+%!HT|Dv*1o*8TG>6|SeWL)|e!K`6t`1558yY&5y z%j*x=Uy@jhJUU>z-y@;mnd3!2EWvAO5J@_5dEcW*DDP0wRY9;^S^W|>dV}gw$fdoS z@V#wn>MFb6R|1TvWf?cxk7geC_!Noqq*_UH$GQ02Xq+P#{4xv!jdlmZH z+v^7#K1|A7uq=i9?omzWD>SNk^Sp^vywbeazl1W6s}9Utj4*yi_dESx34G!fu%$imvsF zb@SIaXQ)P&BZwX}xh-AASxx_48T)zZ_bXX7Pv1Ju$MkKX2&_IclBaTgFE&qnQ{U_s zwSR~rGHaE-(M2sy=Fg2giZ|?a`Fp({TQxmQD!=VNw5WQx6dzJ|Be_Y0kgkJO;fdKd z6s2bH-6O?@F}|F9yLD9o$*Rrk{Q{M_j>$KZQFJ%6CGhg37RNUl4LkqvvYrW4k0sr$ ztDD;ArgNuS$mDh^;sA@uS}Ic-JOHz2<9yF zjtog|$^0A7N%Oz$d4E=AiYoc@W|qaReSEuXW;UegMm8ZwX!-ld<7~vkYgPQEo;>ta zmHm5941WA888Ir-dW;}atCYUVfK2&vpi+S5%Ke?Ya6IUGK{<58f^w{1ldbE3+ z_$78MeP=$HR${s&J$u)k6>0*HW%=Bx|h zt5|Sn%O1m5UuDQd3{gO&3*;*{AKc}*>0}5_^|3+FkNS+roZrQ6k|;5Wt~;4#EGQwN zah9C!lW9z@@zri-uPWAQ~ zEaW$!oR${a31*4O8Ps=ajoP36u#K)MJ)B~t`TIC?BQMgaD}qjG$^^eQfXXUpO6z_j zrMUkAr1>@x;h+Dg*C~Lc5WJ(u7GzgheV5$s_e$}dr(_<-1H9ac5~m$o;&rK7E-g<@ z?LA%V7HluR5s$-dZVJv39da0a4cC+rTa@bMuN=k7-WZRK%@W#*Y*~0!xqcM+;)WO@ zCG%DBoN7`|+{@&&Fltz6j44Lmwv_bP2IX0-aIGF8;e<}QKvcpmsXWUEVT?S>W9$o% zXIa_7v<;jMX59r67Erx`B@8!clpRCun9J%3AUpbrjzDLGf?iJct82+vV4UP&4LMJ8 z4C@HHksbLM9w$5Ux{QmK9fOocm%&1A$B-vFK<7CB!g;9gKF*`Qs&Z%0Z^<2~$w4xp zQqU_a1L_3e2fmDJgu0z>D6iP$DZzQ+0Ov@kNMDmo(v&5sAqX>VC`iW^Kpg3l=dwPc$VlRhKpH=Ha?5^23mZz745rDOguOKw~-74DT_^ z2z-MwGF>y>^GATs)UsaD`C8dO>S>V0#Iyl4o}N%-;yNuvN>WkX-#b*11KApvJRQ(* z%qh;#I}>KHD4L35ip8Qi(RN#irDW{K^r}5Wb_IpmPD9TI#w;jmFQJWP90=d5jpa?_ zZ7i`&&UzF2N61nZhq3fL0ZDKv6Xjy%)_@7s6BdMUOMDp!C_8B;}8V{MIBM2Qj>wJwU{a+(@Br%jRp&bTwrxBPlFrg0$ z<=FxCj@@C#^_^+ZD6k8owFp7}q<}Xi-oFOD=EQ4! zu?cm^_C1y%l$Zip4PjTDB3u+V@w?!!(RVnJ`nzJEj5gD2xz~ZNbD;$5W{hg+YQ$U& z#tyIgAKeXIKbl9-Pvp@PTK=wSKe3yl#aJGrKjjok1?IN27PCOgGpvWJ>RUlFAJIbh zww`T1XWI0@CIyx#Y+DrdEPWh3Nl3|j65jhfj9aKf6+GQarMbk9MWKDee(rLdo5}#w z9}MfKjO&mVOb`U@MfCn+a~BD8jo5+m+tfD@07GZ%b8>Pae>(xx{E{p_iA)5C29=>p zi8x(~WCH8o>%dq06T3Ig%ofot9@Ve7fdF?cQkQu23@6MUt{S&VIx_riw;{fC={CcT zZoT3ail`Qq+d!i>)Vo)Jz`77Jsq6w^Co8T)s@Ud2xBJK36HXmKut(QB?Jb{S$_+n{B7$ zy3;NxNBtv=t2mdd0|qArB`69@!k~MUSG+;chr#vMWXrC~a@B54#;JvkjZV8w7Hny% zI@797Nj9chGm!eD8(sHCbafU|d3SN$wA(ETfifu^6}kf$(NB`NEVvyO_T|aZ(#%3x zlFEfn&_9z5SwcKcyt5TsLRm;r=O+6g}mC=te@)7!KF^wnV=iSQTcHiDA z`ZRpbW47P6ed-*%11W;9l!X#lKCo0dX-svU(x?{lryul)E-5ZCpZE-&OKN33-?KubYHds);1XaPb3iY(0L zfWjw$hM)*B91U)fwh{y(TlW|(E6EzU&~(@GRuDL)MSV@zdcQ7U{yFgc1k&Su5!9M= z=be)F2oOg3LtzM{D81nqpNVVWDEHkb6GENTb6_4tQG&if%uS)Oyywke4RLWf<)*jr z>7r9Gf2`=Ih|XYspK@_9NBW0C*GpeUZHFzdM?=Bo&91E7SQWcu$*O8;rRC-tjZq=RebEdzPuJ()!e&c$0CC`jD`I*p)bDaI zH2961bV!8T%pE{?ijz>++oKVTLSoa)N5@rSaT6-xbX@llX#Z3QsD_I*_lbu`F4Nbt z7%gZySk6Rg2?12n0acEYo)WaW76*@Upct2SJzI zZZ&v>#bovMVyKvu+1l$t8lxw4TZccvbWHf0ih+E0rCU)IO*OohZ>XBA-WB8cUnrVp zY1#p{n&3StU_Vqu)=*`h@CChK+Xcgfq^w>QVPB5xQUeZH;0|yna4o?giPIPc6^LUB z48ny3vJxdOh%9%y6;*~>_$?1=p{SKILapnnhSfDcxhrOoZ?hD&?5NGn&1Q-| z2+(=8)o46X3gZaZxBc1*fbk*4q{orDSTR&gypKPPoVZK!7^cf$z`~fwc(* z=SZ)>D%-;tQkbMn**a~J!fVPPI<E?uQo_SK6AR?};V< zet>*)bAEoGP%>?o8^SS0B3Z_9M+(Om)Pz>J!QDx% zDgX%Jd@=I4M=<*>I$G%uqINj+l(op6sB$$zo~aG6>;pN~(T&0lIaKoxDMgRbe9W{~*(i2hj0;QJr zqZsIl_E8ubAd06p2=&C@w(Vl^&l3spYOi8jPEmIZps^1cmsQd|af z1&A;RiQWwnG0x=u>N22_6v~FCm8@c=jaP=F7ahy4%+gv3h=+3_;^B}~&%xzI1(_EG zsHf`|K!H?XY$p~Aw#y^cP9Z+HjJydl-k51_1wIOpV}ss+c9Tl0o5+%%_orSlRSu@e zlwT%wtDcb<8>db=j=QmW;>700;lso2q)VgOp*G00LYjY%=HK#m;?%pL*jLa3%RUqy zJe0?$Q2Hq-m;$ghhDpU#8>%yl!l0k14WsQh>V#K(0F(m#*H*=Xzkd}MtW_7Q@b}}j zPOVC+)sKRR1c?HN52i}K55y%(mwNq`o44PdYRd|=4n%65 zDnL*>%K-8jpi{YR`u5w8#t?O4h_BgQ+n%JcDaZ8o(Am;TWPAHB5BK!6n=oXZr!(u<2a<~ z*WGh579TJ*zEq}kE=PTx_;+*Y z@H0hc1o-6}LeR%G@XWlF0&RRD9v7hg884*lh4xb=W2^F42G2G+jZ^OB)EaWRGqGpF zG0{%4OzrLsLFK=Vt0px~dl~_KMsp?{XX0&WeOdOm;%!Z)P?7MK~MYcjEg0=sLJb!>!A!D@nFAHkVZJcV{MnPj>e&-yGkLAN!fQY6KADQc72&A61CCPBDn`+BFB;hCYJ@z@ycb5D@W*9vVsaig zM`OK?%oy&Bj(fw>Hbi-83?@zsSf>2HY=?nlJs`%@YNR4)Nx)h~tN{U=8uyUEk82ZtjUqEW~W zNUGF8K5RguiQLi5gX;}A<SS4vCDHO^!IWO39iFZ2tycHeW)EvR zFY-K$jfh@Q(S4Qhre-%JnZW%|Isu?i7Hm^a#mm+K?j`OBjorQ01-KP7q{_k0pm*@K z@)|}zg)!k1m(_ehnC&@EZ&nce+GX3-pi}BRau{3V2-zwa6AeWons*c(g(amiVfY7XfxvfqF3-EY4le|? z17VFVSx^ba(ZF~W3Sl)4^s+9hL?~zi|3bkKEz2m_rM>V|vI~Y~iN-(g0vc*Fe2Is@ znHr#?i>M&7)UY*^CxXBmYC(tW0iisR_%8}-xhN39aD)UGln+f9!CyDTiG%Wvl|D)b z!c6SYdV|h@d)HU6f?Oslq)~J}s}dSSXd&>MKJw z9bYj$;%Hkd;^&f3D}fNk+L_dMe32}24z*q`aI4%Q?n>@@p#5FkYq{5>?T`k1D+;)1 ze(fk-J%Vym!S(ZyQo;a1D?xYz*WBU@gXo3$I(#vDp&JakN>>S19=5ujrmkC!yPCxg zO?`k@QEh38f+0(41>2dd4$y8Pt4-11WmT%MtCQgsdnJ0dQP^n1|4%<`>3Xx%wVHP| z!qhE14KURfbwN?&ihvhV59Fw#O7k>J#b#GVc*R}`pB;c)pN4_mH?`b6@`CV|L!1*QglHEMR*XO%W@bpG)xSV1bamp`-Etv z#gccEXZLQr`KH26esOwV>GBkU!_+MiE-8YW410WtM1jU-X^Omo2oA3z1k(?QX50Qv zerfS_H{E=rb(2@xH(h+kD6*Rjla&mz-^@-Gfoj7Q_DVCn3ZJnLI8F=woED(x>~ebn z!#%+9LGCDOCT|0)rlEUe37Ta?d;LR(T4sV#_)NO+@t z*CX+dxP@KP5?zV&fL}lwv=i(jEaosrreg?35&PfcrZ=*hfQCz`YClM`bXeX<2v)l@dx31uB0$t%v z+(R^y^ays+0lOG(p!ZYaz+GK$y00)&hGw(fT}1R}S8ov0K1{l~4J?dBzLYdDWTK!q*cht90qQnk+$an;pd1_=oBH(B>72Tx zQlI0~O=tugk8ExxainY96y4V@uMJG6z!tjGVRha-0woiu2;9L2QQ=Se6;QS+!%#%! zpa1_KdPtJxEDVdgf}s`jS4-Irj=6>tfq|*jzM;{)+!A0#Cd) zjCbzg6*)YZxsFZq~4G>(|0x}1hHC>rcHa@j`fCp+&SpiaQ`l}cH*?*P+#T^%@Rng z3Z18!H3@+VL*W_Tp=zO^}|liyv`5= zA+da$8GJ&AUmEy#gO-Og9kjf=h6@Y*TDa$6oZ1ALc{T77_3fJA(en)Fmn|MN=l~~{ z7kTupT){A&G@icKW1b;6YqQ9&;{DzVwOh1c9M85fTb311_Ie$RQv6D*Tv7{Wsbshn z^Nw2#OHviJvsW@^^CJc4R-WzyXR3xj=Q%$+z>*eZHwJge(Z`qb=9f!6hi4rgI z)=4L^E8#jF86!H-O(n{{8(JdJ7(wHAPj|X>CzK9OKYJ}n(=};ouOKP9Nn}%3Bw?=) zgEkV#nv8#|GgfsnXlhzBn5-73S7|)fzauMTlG8YpBRE^s3o~7UaY?qofQs%gXe5s8 zmDm0nErm47wXkqWF@M^h@?MYjNm9mRM{NdERZCIU04ur#f6D4~d2-%wA=yndVG@tm z3ZAZlTLYnVU>jA?Z9I9lmFil!Pn_omN)C{!Y$y_OctMnu_uf|Y zipAOt&r8B2f%|)>DCo6veF$!;;LlCE=oVHgJ5}d%KyN{ss~e8*T9Z6Jo9QX6MzZs# zBb5&8y(-77;7rbODjTmt8!Lvh@HcX==HA9Vn$xnG zu9~#$9iE5t;)*vc8KRl#7OFO7G>Jkh1u>5y_dA0C=Q&X2#+4iB2opeCT_m>Yq5|fI zYhY+6^rgI;PuQjdY9AhLI_==#VetmRG*#6!g%zi!6a-P3Did-YIXQCsUYer;f}lyH zxU!K@g`NsRuJ8xyXmp^6`(2I9nS`Osp{i~pvd(@ zxNf20aTS9+^txzo1TJFQ#i;xpx^`(bpxOmRDVPEb`D{z8gtbUNnG!VBGCg7&8T39G zR$Ugqi(f#W3zZT;Kay)ptEB=TV{j)CTIS89F~$B3!TYJxQy&l6autH3plBgzMK6N^9rq@aS+=_=ih#ZTb$0M$5X z=u!BHnQ%8G5vQlb8x$f56cSS|dUIv7y|*UXT33)dLajCBh?Q2!2C_9YOY}+;hw6f& zONL+M4bOJ~f3onDPMk(XHER}#4PE#KU0tR5ya=aKMJ;ys25M`eSUe&*RoR~0Q&Z)t zEzcJ%SKYs^DRxa%oS>`=MMD=oz2Qs6dd-w3MO}(?>Kcv1yd3Z7L1((qt0bVdE$VDV zXJ?Kko5=*>e9cjU6EyKuO)r^&ZG|n|yVWQ`U)<!5NYT0brLjS=H$sQGSkDLDty` zXT1rUKh~M~Y2F{DAdrlhT0tHkJ4X4FHPfFigB9IV;9J$oz12#6 ztvLUN8+xlJ-!NZ%jai&*{a|adXvPVIp^&m`Vif8gNcxl9tGIi)2f6ofKhFIW_hh`9 zkTq{F<06y3P{uylY~eGRZhXX&guN__XYh?PqI`xeNEWx4wKgiZ6CT1%mE;*_))hnRF1smaPTRdQ z6YgU(oq08k_r5^rn9rrVt|(No7*M4(09|{HD(7@lvo2L@wz~38?2CQLui)6vV>s?-Dv81)EEEQA8*_1nh$0bf+fgoS@U3`pB*U z{s&7Cov#!`!Tik&2A$fF&JzXNqfPg!Nh$s4pVAo&y9aito1re=eYdE8F6$VmoyW2K zcVT?8w#G}pf$J()sKW_!38b+nSXm`*hR!XGdIUzrTZ9(hr>f3iZIb%X4m$$=JcWg5 z((7I)X>HZGLz3<=)IStLH$ZfFS>X>bpk#4%Rg@)AXO+KQ6vf5AWj4!n{Tq4pPYL~W z)vu48{<5|HwQwRWsjJB~sdXkTH@2^4%E9mQ+!}s~HOf1-sToP(nsYtbkM|p-@dP`B zRfBnsD(6G!C0ds(UP^2SjBEyBh=ABvE|cGB)hqFaQL7mSU-Gm}-rxOSRjXPo!B4SL z%8IQ0uA1vhY!8Y!AX})-P)DbVsAYW%bZpm9| zUa^5!E=$ck=GI!-&Nr`C{#3JQ4H0QUCZz0PAw zlwbvhWt=Yhx^&}>k~S}uj7?ggXsC2a!Z(sqG!T~mrz{D=H?f?o3|P!5X^^f-mrjpR zfxJcqa=KWk+0~MCwV}T0W2zxa8u9H-qm(WGZw&Q!v68>58f`=QrXWc2H{knlUO}P0 zz*F2FZZ`D%?6C#krBL2@kr#rCtJ}kW80?(w+9$v{`?U&i)9xz!6ZWG}So&bwmBO{7p6k-)1#_l&Q;8 z?CLmf%Swm*@>QjvR0^mi65juyffuCYvG>klSe*0Et462Zt;63L_$LkcN1PdIr=uEx zx#JlHy}&-z*prb|UGcN>s*z06J=XT^9|=_(Bz z4X<;TbJua-$9+Hd2JS}z?;l9*vfWFt8zM5scQ>Ub1raKh`288WcOBhHi9HIU9F)*K zaIHUx37np`L^6BReQ(;EW|5hsIfluPF*JmD{ZZ_z=*G06CxjN()dXY%0p7>Z)MjXQ z7)?G&smTa{6#dUc#+|}KUnq9eS^ieI_b9vnaER6(7SU}CAzO@#rX+cmlJYDTah8&E zeSLl7OyYNs@w{-AR2ydq=yFM~j4N2z`m1|MX6rp3x8CDh3VTOZ==^}(dT81zPB&Yn zQfp>kxmAY0tzyG746jjq?=in>8@Ai5{?byx2(B&^s*mGy_&5A|ajRJOjdM@=HS%_ zXJ!tzL`4y24)3+C*~3>H+2uY*Z)BV%1yon`Y56w_5lWe5z=2 zbM=bL*QWT|>gC59hFIWDUX_+*kf_sd?)MLfp5+D~x_YHhDWrU+igb-$kFI3s#ZgWu zY(a$KK3yc->atxHshKg{d2z&s{_4xCO&9Q3^^a94vS$F>KNTV}JZ%Ki)4>)VHY$Kg zz-QTX{3|Kid(}eWJ;|%^cQ$+%4qOUu<{MRnQ6yKIE={|k=OS)(iq2(Z;r!R#hng1MjSvSK2K+e=``g1V zHO(R9{C{&Fbsl!l|8?f{O$|+uT0Q!%pZN^4JpWffg-7v&%!!g@0rJ&!7k?a@k4ET) zO8}ZyiT$jG=f1;!qI2q}6erkEbS}9UNb6T~cgOU8JNLts=8tk8;~wK4=YElUiu>o> zzXWQ(w6yL|k0(?*&4T4XzPp0K3t#pwlF(ld+tVl|DdqO$=0}UVSR#)j>K+O|%|WLe zrfJ~?W{>1hefrkQh?9y#aJaW}N< zKl-Qxf29%nkt&iWIevZQ&JfkE9!oM>!lUjm#a2_)x;jNBXP89p5N+Bc@*DTXZgE}e zM|^-g3_8_S+zIX^cQfd;xW3|z+*?wViCW{&gst(*D0{1}x+tDgBw9Wv|;RU1)n8)2H_G3H?$uUuPFhcesPSdbE4J z=(e4(!kCu58wMED)QdTKT0qU&~I~}TZVcNlv9zOc#%3{4|uvAY6i;i`NA~9 zapF$7ASGfO)uHb)P2nTq|JHcD@E<^Lcp~~AuRM&^8_s|IA9iF^D!%r_(yTv5Wr+Q7 zYePO=_h)QM)K|#c;d=P}ktjwxJWoXjPo_T;x1X&fxiRi;^wqaxPp$(wsqGJU#i_i$ z8ryKxUq@{?(xgT;=MUud)g^Cw8{PNPjd?CoeMU+0q7H<1RG(e9|Gkfdc2t_f7&Ku! zSfCz_@s9G-FwXaqYbABf>`&49xn#N1Xqs|mJ6Yv{&OKpTWovEsz3AieXSsjF{So)? zxo>jkxc`UykKA{F|Kjkb0S2y${wdjeK=x%cAM{essIKp|B={r<*GG;`1N-%X5trfp zOfJhU%CwbJ`+Dp16d`hr%b~?*G`G48zPuYo7@mMq*%M)#D zD2M1$@XS3)K5$xPADv?-_Luk*F3@;0ld(R=xir#RD-@7)hN8(QV_jS>fq~u>xah(w zr*JXh<|(?UaI@1nvkpI7cpyp}?z4w3KHBWG*%LS-2ui^eWvqVw7Ec zX^{+VfBhj@co+KeJ!6!pi_SABR^BDZABuc}u6Z0M(>{fh45C~zp23&jg>$>_62sRI zQ|a?5^hAIBn&JJN5XOVyZl~G3a_Ch$-k+b^hk)%q$mW1PyEBM5`?w1baY8Tzk*#G? z$UdOm6?8wlG;9jprGc#-T+75H#LXO%&5HY}O^k!%;l>A%gl*iC0?c7y@H{tbnVm051kDnH0=_ex&kod>L zonImt>mmKKni{Shq*rOq?F8u!R1*5XJq4n~Af$z-AjEmx$9D!0_oE5{Ai;I&Dy#(UNHw2}gc}!bWB^|q2Y1rmhGm(bBg?v@+u_kAsY!dY zcWiD;qGV^dS(e8&w^0~}`h*EG+9wRgY^}D728S>{et{syZSEpu?qF#1s%YP#7hUG& zx42~gcqM{8gI^`w3@N?y4y)Y+@v>VWC2j74W&bwvWqfT@eX$bCx{dn5XLu_aot|?u_KlX?xUtWP4plPN_QI-j%A8^dmT@p4S&g zn?7ax;_xM8_Ds9mg`#ue0A||Vh4*zA-0&{CuglkVcp95$fyN4(=D0TN*@{GFi)!df zoJpc|6)*6DL4VMvZt3C&CFz6V`K=E;U_Y#B4?hjkBQ=A%SzbJ z` zSy|)Pc=*%g&nkSl-&<1tbW-~EB|k8>)Wz*fOt){B`qQCTCk=r+O}P`d4GO$z7(C&i z>S|5y^M(o?r@{ASt#|%;?X+{6EGXCV!n5e`@~psLtK2Tj1v*d?GI{UK&t2(7`70Su z;GwdvIjzysv`j3{;i5Ni+3WgHc+fbG@&d&vv&Ibj9p^&kwE(P10`P5RioGTa+s|Ed z`ph-+0N<8YYL?3I1E)u`khw5?bf11Y_5oUm?U0;{LMbF{=m>?&88NbDH<k?@z>0%DyAa#SrWYwvE;R0Cx~f4!@AZ0T zdcFUxNA~jktRP?45u}@BVV37R9eU#?N$6ZB3->geO?%?9X7jQM856+7F<7Q*hbYX zHhtf*iZgYY-nSgzZx+p}VK)NLDZu?}GGEg~dVDcWb)6TXma`%3xO$7h{#zq=E)@2Z zKjC(MD7d;Svbx6bfVSz4`u?@jseUjt(bM&k*lyCebZD$)4yb82)Mhg}uHWX|_6+== zyWBnHUVi@h^ojK(2SkZ3;FL%^S-aJti#Oqh)`p+W4*WdXZpZ0P=QO)YP#2-oZ?(V$D2X>}hq?c=8XQAPQvZ63GHbtrX1dK=vi@)JD&3A!4$ zWYnPjbZSOPGi`@05Pg;ortX`aP5Tu?&1WQaEm2<~$og%9(Y(=kd0c*39x zcczTN>b{fh1*<#^$M^93d!!J&Eegz58ou{V--G(fJ=6RtNt~P^WM+~s1&{1`+;en| zU>oGrA>17%jC2(0^@(i)6s2fqb&%I=O%ZyiW5C3fc$~@tc+v&EtBWMrIyYKA_uY6c z-9HFI4J}i3LHP;}nCducy|3IV)8&2T)^o9rCCXbF_s|Cg72Xzf_;fF-S#=z@I`Add z6Hf8m+;H7)d2wr};5HmbzNbo-y-DG%!sNx*)vcGybuM0S`|m;@W88`E03Guz(y>Ai z#X0Oo-qyIOIo|1Fuw1wiWb5_>bGtsprda-rUHuk|C;3?xr}AV{jc3Evj6am|<~_o~ zdg?6Tq>?6(k_+##?*-zJ8W#q5i2nsXvI7Eg)LDD&jAKQL)%VxPBG$f)&Mh&@{d^^ zewj7OPq5Q_S=)S!ol^YveVLD5mCkP?^No@e zk1|d3;;=Bv8(+FeWJuJGw?Z(ASqHFik~;+$pi6TowhY6SP~l+ zdj<`ndGcfvfe1gpx9AB@vnsq1o7EeIGP6Gn;pP=DI&Pv~?R&?`sz2p&UpmFqYx7BV3*P(Qg*g>nKSR`DXG(pJ1%;EMP zQP%I3&VPOO%DI}Xlx#zNoq6hnzwwHz><^hn(HYpjKLv$uwJ)ES-e)y+$DO@u?jDhd zim1J=SwGR9RaRz+q}0|CuqiKw3)h?;6p0X_2;HJ+DJ8`MwpC>bK(@#QlF-#)-GCKEi4~v2*#DCZDB0RQ~tKtx^>c=7*(lpx^cf8u!! ziW4+m_!|Og0Ul^X{I|g5*S!&|LQnibU~C@Br^mzeLJ~0@;sFlCiz>kXMV$I$LRbax z_}h4a;p8FxSX>){oTf)szXhHmlV_&`F**hDbc9V&_$3k|5Rbou7lI@}a&J@>!v9@V z6T<%i0R)H?A)n{*DB$(m!Wu~8u{cG)43T(wD*X^-d*2DHKRuBdA^_H~EyD3{;YhK` z^HFShoFD4Ic>=>ovbZex+g%huvY>2Q!!_@?Z^_yUnS%_y8)n=p)JN6|&8DO)f~aUP z^pec7BI<>SyXSeCz`wBn!9A{~sRs0M3e;3qG*L7Pn(Po_R*LQ0YkbQ7j4-TmS8`Y5 z{@c5PMd@^B6dKvgr-4psAQ?#EhedvQu)JGf&w>P0Fg~4T)N2xNijrNZ9ShpmS9DFj z<%(U_gNl#?{S&U%2u>GS^jtx&}0k2y}*C9E2Fn8jC#k zdPjJS&AOyXQjISfA2f=5O_DUBvADX}u=z@RzFpzZ%F^d`%hEqD$!x10ujRTeFS4&i zWz6kR$|MQLUQ1;A@|>z9eh~PpGNxeXGtiHSpGo34wn3Y}lKVl9a~Cn>ghjj_C|S^r z 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� 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 literal 0 HcmV?d00001 diff --git a/site/src/jsMain/resources/fonts/bootstrap-icons.woff2 b/site/src/jsMain/resources/fonts/bootstrap-icons.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4df0df20cf9641e55aefa452d69c019f91f7fae1 GIT binary patch literal 121296 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∋u^PFDVy~RToGR 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 + + + + Kotka Streams + + + + + + + + + + + + + + +

+ + + + + + + diff --git a/site/src/jsMain/resources/ks-logo.svg b/site/src/jsMain/resources/ks-logo.svg new file mode 100644 index 0000000..ed6d50e --- /dev/null +++ b/site/src/jsMain/resources/ks-logo.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/src/jsMain/resources/logos.css b/site/src/jsMain/resources/logos.css new file mode 100644 index 0000000..6605fb0 --- /dev/null +++ b/site/src/jsMain/resources/logos.css @@ -0,0 +1,772 @@ +/*.bi::before {*/ +/* display: inline-block;*/ +/* content: "";*/ +/* vertical-align: -.125em;*/ +/* background-image: url("data:image/svg+xml,");*/ +/* background-repeat: no-repeat;*/ +/* background-size: 1rem 1rem;*/ +/*}*/ + + +.kotka-logo { + display: inline-block; + background-color: transparent; + background-repeat: no-repeat; + background-size: contain; + vertical-align: top; + text-indent: -9000px +} + +.kotka-logo._logo-kotka { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='120.1' height='130.2' viewBox='0 0 120.1 130.2' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='31.841' y1='120.558' x2='110.24' y2='73.24'%3E%3Cstop offset='0' stop-color='%23FCEE39'/%3E%3Cstop offset='1' stop-color='%23F37B3D'/%3E%3C/linearGradient%3E%3Cpath d='M118.6,71.8c0.9-0.8,1.4-1.9,1.5-3.2c0.1-2.6-1.8-4.7-4.4-4.9 c-1.2-0.1-2.4,0.4-3.3,1.1l0,0l-83.8,45.9c-1.9,0.8-3.6,2.2-4.7,4.1c-2.9,4.8-1.3,11,3.6,13.9c3.4,2,7.5,1.8,10.7-0.2l0,0l0,0 c0.2-0.2,0.5-0.3,0.7-0.5l78-54.8C117.3,72.9,118.4,72.1,118.6,71.8L118.6,71.8L118.6,71.8z' fill='url(%23a)'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='48.361' y1='6.908' x2='119.918' y2='69.555'%3E%3Cstop offset='0' stop-color='%23EF5A6B'/%3E%3Cstop offset='.57' stop-color='%23F26F4E'/%3E%3Cstop offset='1' stop-color='%23F37B3D'/%3E%3C/linearGradient%3E%3Cpath d='M118.8,65.1L118.8,65.1L55,2.5C53.6,1,51.6,0,49.3,0 c-4.3,0-7.7,3.5-7.7,7.7v0c0,2.1,0.8,3.9,2.1,5.3l0,0l0,0c0.4,0.4,0.8,0.7,1.2,1l67.4,57.7l0,0c0.8,0.7,1.8,1.2,3,1.3 c2.6,0.1,4.7-1.8,4.9-4.4C120.2,67.3,119.7,66,118.8,65.1z' fill='url(%23b)'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='52.947' y1='63.641' x2='10.538' y2='37.156'%3E%3Cstop offset='0' stop-color='%237C59A4'/%3E%3Cstop offset='.385' stop-color='%23AF4C92'/%3E%3Cstop offset='.765' stop-color='%23DC4183'/%3E%3Cstop offset='.957' stop-color='%23ED3D7D'/%3E%3C/linearGradient%3E%3Cpath d='M57.1,59.5C57,59.5,17.7,28.5,16.9,28l0,0l0,0c-0.6-0.3-1.2-0.6-1.8-0.9 c-5.8-2.2-12.2,0.8-14.4,6.6c-1.9,5.1,0.2,10.7,4.6,13.4l0,0l0,0C6,47.5,6.6,47.8,7.3,48c0.4,0.2,45.4,18.8,45.4,18.8l0,0 c1.8,0.8,3.9,0.3,5.1-1.2C59.3,63.7,59,61,57.1,59.5z' fill='url(%23c)'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='52.174' y1='3.702' x2='10.771' y2='37.897'%3E%3Cstop offset='0' stop-color='%23EF5A6B'/%3E%3Cstop offset='.364' stop-color='%23EE4E72'/%3E%3Cstop offset='1' stop-color='%23ED3D7D'/%3E%3C/linearGradient%3E%3Cpath d='M49.3,0c-1.7,0-3.3,0.6-4.6,1.5L4.9,28.3c-0.1,0.1-0.2,0.1-0.2,0.2l-0.1,0 l0,0c-1.7,1.2-3.1,3-3.9,5.1C-1.5,39.4,1.5,45.9,7.3,48c3.6,1.4,7.5,0.7,10.4-1.4l0,0l0,0c0.7-0.5,1.3-1,1.8-1.6l34.6-31.2l0,0 c1.8-1.4,3-3.6,3-6.1v0C57.1,3.5,53.6,0,49.3,0z' fill='url(%23d)'/%3E%3Cpath fill='%23000' d='M34.6 37.4H85.6V88.4H34.6z'/%3E%3Cpath fill='%23FFF' d='M39 78.8H58.1V82H39z'/%3E%3Cg fill='%23FFF'%3E%3Cpath d='M38.8,50.8l1.5-1.4c0.4,0.5,0.8,0.8,1.3,0.8c0.6,0,0.9-0.4,0.9-1.2l0-5.3l2.3,0 l0,5.3c0,1-0.3,1.8-0.8,2.3c-0.5,0.5-1.3,0.8-2.3,0.8C40.2,52.2,39.4,51.6,38.8,50.8z'/%3E%3Cpath d='M45.3,43.8l6.7,0v1.9l-4.4,0V47l4,0l0,1.8l-4,0l0,1.3l4.5,0l0,2l-6.7,0 L45.3,43.8z'/%3E%3Cpath d='M55,45.8l-2.5,0l0-2l7.3,0l0,2l-2.5,0l0,6.3l-2.3,0L55,45.8z'/%3E%3Cpath d='M39,54l4.3,0c1,0,1.8,0.3,2.3,0.7c0.3,0.3,0.5,0.8,0.5,1.4v0 c0,1-0.5,1.5-1.3,1.9c1,0.3,1.6,0.9,1.6,2v0c0,1.4-1.2,2.3-3.1,2.3l-4.3,0L39,54z M43.8,56.6c0-0.5-0.4-0.7-1-0.7l-1.5,0l0,1.5 l1.4,0C43.4,57.3,43.8,57.1,43.8,56.6L43.8,56.6z M43,59l-1.8,0l0,1.5H43c0.7,0,1.1-0.3,1.1-0.8v0C44.1,59.2,43.7,59,43,59z'/%3E%3Cpath d='M46.8,54l3.9,0c1.3,0,2.1,0.3,2.7,0.9c0.5,0.5,0.7,1.1,0.7,1.9v0 c0,1.3-0.7,2.1-1.7,2.6l2,2.9l-2.6,0l-1.7-2.5h-1l0,2.5l-2.3,0L46.8,54z M50.6,58c0.8,0,1.2-0.4,1.2-1v0c0-0.7-0.5-1-1.2-1 l-1.5,0v2H50.6z'/%3E%3Cpath d='M56.8,54l2.2,0l3.5,8.4l-2.5,0l-0.6-1.5l-3.2,0l-0.6,1.5l-2.4,0L56.8,54z M58.8,59l-0.9-2.3L57,59L58.8,59z'/%3E%3Cpath d='M62.8,54l2.3,0l0,8.3l-2.3,0L62.8,54z'/%3E%3Cpath d='M65.7,54l2.1,0l3.4,4.4l0-4.4l2.3,0l0,8.3l-2,0L68,57.8l0,4.6l-2.3,0L65.7,54z'/%3E%3Cpath d='M73.7,61.1l1.3-1.5c0.8,0.7,1.7,1,2.7,1c0.6,0,1-0.2,1-0.6v0 c0-0.4-0.3-0.5-1.4-0.8c-1.8-0.4-3.1-0.9-3.1-2.6v0c0-1.5,1.2-2.7,3.2-2.7c1.4,0,2.5,0.4,3.4,1.1l-1.2,1.6 c-0.8-0.5-1.6-0.8-2.3-0.8c-0.6,0-0.8,0.2-0.8,0.5v0c0,0.4,0.3,0.5,1.4,0.8c1.9,0.4,3.1,1,3.1,2.6v0c0,1.7-1.3,2.7-3.4,2.7 C76.1,62.5,74.7,62,73.7,61.1z'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-jetbrains._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-jetbrains._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-jetbrains._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-jetbrains._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-jetbrains._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-jetbrains-square { + background-image: url("data:image/svg+xml,%3Csvg data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 700'%3E%3Ctitle%3Ejetbrains-simple_2%3C/title%3E%3Cpath d='M0 0H700V700H0z'/%3E%3Cpath fill='%23fff' d='M60.379 568.75H322.879V612.5H60.379z'/%3E%3Cpath d='M57.428,184.315L77.8,165.083c5.542,6.682,10.758,10.594,17.929,10.594,7.823,0,12.877-5.378,12.877-15.972V87.5h31.457v72.367c0,14.343-3.586,24.448-11.246,32.109-7.5,7.5-18.254,11.572-31.294,11.572C77.638,203.548,65.577,195.236,57.428,184.315Z' fill='%23fff'/%3E%3Cpath fill='%23fff' d='M147.394 87.5L239.156 87.5 239.156 114.23 178.688 114.23 178.688 131.67 233.451 131.67 233.451 156.607 178.688 156.607 178.688 174.699 239.971 174.699 239.971 201.592 147.394 201.592 147.394 87.5z'/%3E%3Cpath fill='%23fff' d='M280.491 115.208L246.427 115.208 246.427 87.5 346.338 87.5 346.338 115.208 312.111 115.208 312.111 201.592 280.491 201.592 280.491 115.208z'/%3E%3Cpath d='M139.736,282.7c10.106-4.4,17.6-12.224,17.6-25.426v-0.326A25.675,25.675,0,0,0,150,238.364c-6.682-6.52-16.788-10.106-31.131-10.106H60.362V342.35H119.2c27.218,0,43.191-11.9,43.191-31.457v-0.326C162.392,295.083,153.591,287.26,139.736,282.7Zm-48.57-29.011h20.7c9.29,0,14.343,3.422,14.343,9.779v0.326c0,6.682-5.542,9.942-15.158,9.942H91.166V253.685Zm39.607,52.808c0,6.682-5.379,10.431-15.158,10.431H91.166V295.9h24.123c10.594,0,15.484,4.075,15.484,10.269v0.326Z' fill='%23fff'/%3E%3Cpath d='M335.8,227.444H305.325l-42.63,101.193-17.833-26.056c14.18-6.031,23.469-17.6,23.469-35.205V267.05c0-11.246-3.422-19.885-10.1-26.567-7.661-7.661-19.722-12.224-37.162-12.224H167.116V342.35h31.619V307.8h14.017l22.981,34.553H290l8.15-20.536h44.169l8.149,20.536h33.9Zm-99.093,42.05c0,8.312-6.357,13.529-16.951,13.529H198.736V255.477H219.6c10.432,0,17.114,4.564,17.114,13.692v0.325ZM307.444,297.2l12.877-32.271L333.033,297.2H307.444Z' fill='%23fff'/%3E%3Cpath fill='%23fff' d='M388.119 228.258H419.73800000000006V342.35H388.119z'/%3E%3Cpath fill='%23fff' d='M427.56 228.258L457.061 228.258 504.001 288.564 504.001 228.258 535.295 228.258 535.295 342.35 507.75 342.35 458.854 279.763 458.854 342.35 427.56 342.35 427.56 228.258z'/%3E%3Cpath d='M537.277,325.4l17.6-21.025c11.409,8.964,23.8,13.691,37,13.691,8.638,0,13.2-2.934,13.2-7.824v-0.325c0-4.89-3.749-7.335-19.4-11.084-24.286-5.541-43.03-12.387-43.03-35.694v-0.326c0-21.188,16.788-36.509,44.17-36.509,19.4,0,34.553,5.216,46.94,15.158L617.956,263.79c-10.431-7.5-21.84-11.246-31.946-11.246-7.66,0-11.409,3.1-11.409,7.334V260.2c0,5.216,3.912,7.5,19.885,11.083,26.078,5.7,42.377,14.18,42.377,35.531v0.326c0,23.307-18.418,37.161-46.126,37.161C570.526,344.306,551.457,337.95,537.277,325.4Z' fill='%23fff'/%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-jetbrains-square._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-jetbrains-square._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-jetbrains-square._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-jetbrains-square._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-jetbrains-square._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-appcode { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3Cpath fill='%23247CE6' d='M59.2 55L70 26.3 37.3 19 33 31.2z'/%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='20.617' y1='57.755' x2='70' y2='57.755'%3E%3Cstop offset='.194' stop-color='%2300DAF0'/%3E%3Cstop offset='.903' stop-color='%23247CE6'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M70 56.1L53.5 70 20.6 61.5 29.4 45.5z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='1.274' y1='17.415' x2='38.41' y2='17.415'%3E%3Cstop offset='.194' stop-color='%2300DAF0'/%3E%3Cstop offset='.903' stop-color='%23247CE6'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M9.7 34.8L1.3 10.8 38.4 0 35.4 31z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='45.876' y1='72.222' x2='11.197' y2='23.824'%3E%3Cstop offset='.091' stop-color='%231DDF93'/%3E%3Cstop offset='.484' stop-color='%2300DAF0'/%3E%3Cstop offset='.903' stop-color='%23247CE6'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M61.1 40.5L50.7 22.7 50.9 22.6 38.4 0 0 41.5 0 70 69.8 56.1z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.4 48.5H33.599999999999994V51.2H17.4z'/%3E%3Cpath d='M24.5,19h3.6l7.6,17.9h-4.1l-1.6-4h-7.5l-1.6,4h-4L24.5,19z M28.6,29.4l-2.4-5.8l-2.4,5.8H28.6z' fill='%23FFF'/%3E%3Cpath d='M34.7,28.1L34.7,28.1c0-5.2,3.9-9.4,9.4-9.4c3.4,0,5.4,1.1,7.1,2.8l-2.5,2.9c-1.4-1.3-2.8-2-4.6-2 c-3,0-5.2,2.5-5.2,5.6V28c0,3.1,2.1,5.7,5.2,5.7c2.1,0,3.3-0.8,4.7-2.1l2.5,2.5c-1.9,2-3.9,3.2-7.4,3.2 C38.6,37.3,34.7,33.2,34.7,28.1' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-appcode._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-appcode._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-appcode._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-appcode._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-appcode._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-clion { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='22.254' y1='15.137' x2='45.654' y2='15.137'%3E%3Cstop offset='0' stop-color='%23ED358C'/%3E%3Cstop offset='.155' stop-color='%23E9388C'/%3E%3Cstop offset='.297' stop-color='%23DE418C'/%3E%3Cstop offset='.433' stop-color='%23CC508C'/%3E%3Cstop offset='.566' stop-color='%23B2658D'/%3E%3Cstop offset='.697' stop-color='%2390808D'/%3E%3Cstop offset='.826' stop-color='%2367A18E'/%3E%3Cstop offset='.951' stop-color='%2337C78F'/%3E%3Cstop offset='1' stop-color='%2322D88F'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M26.9 28.4L22.3 30.3 26.4 0 42.6 8.8z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='17.8' y1='8.982' x2='7.505' y2='78.065'%3E%3Cstop offset='.091' stop-color='%2322D88F'/%3E%3Cstop offset='.903' stop-color='%23029DE0'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M24.3 42L26.7 0 6.5 12.7 0 51.5z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='63.836' y1='6.492' x2='-6.583' y2='80.865'%3E%3Cstop offset='.091' stop-color='%2322D88F'/%3E%3Cstop offset='.903' stop-color='%23029DE0'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M68.6 21L59.6 2.7 42.6 8.8 30.1 22.7 0 51.5 22.7 68 51.2 42.3z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='40.114' y1='49.366' x2='66.875' y2='53.171'%3E%3Cstop offset='.091' stop-color='%2322D88F'/%3E%3Cstop offset='.903' stop-color='%23029DE0'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23d)' d='M29.4 29.9L25.5 53.9 41.5 66.2 59 70 70 45z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3Cpath d='M17.2,28.1L17.2,28.1c0-5.1,3.8-9.3,9.3-9.3c3.4,0,5.4,1.1,7.1,2.8l-2.5,2.9c-1.4-1.3-2.8-2-4.6-2 c-3,0-5.2,2.5-5.2,5.6V28c0,3.1,2.1,5.6,5.2,5.6c2,0,3.3-0.8,4.7-2.1l2.5,2.5c-1.8,2-3.9,3.2-7.3,3.2 C21.1,37.3,17.2,33.2,17.2,28.1' fill='%23FFF'/%3E%3Cpath d='M36.4,19.1h3.9v14.6h7.8v3.3H36.4V19.1z' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-clion._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-clion._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-clion._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-clion._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-clion._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-datagrip { + background-image: url("data:image/svg+xml,%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3Cpath fill='%239775F8' d='M65.5 10.9L70 39.5 53 49.4 49.8 33.2z'/%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='41.069' y1='54.357' x2='46.521' y2='67.944' gradientTransform='matrix(1 0 0 -1 0 72)'%3E%3Cstop offset='0' stop-color='%239775F8'/%3E%3Cstop offset='.952' stop-color='%2322D88F'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M65.5 10.9L40.5 0 19.4 17.5 49.8 33.2z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='17.067' y1='35.739' x2='24.146' y2='4.895' gradientTransform='matrix(1 0 0 -1 0 72)'%3E%3Cstop offset='0' stop-color='%239775F8'/%3E%3Cstop offset='.214' stop-color='%23689CCE'/%3E%3Cstop offset='.423' stop-color='%2342BDAC'/%3E%3Cstop offset='.59' stop-color='%232BD197'/%3E%3Cstop offset='.694' stop-color='%2322D88F'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M47.3 70L18 30.6 9.3 36.4 0.6 62.5z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='4.9' y1='37.969' x2='66.239' y2='4.102' gradientTransform='matrix(1 0 0 -1 0 72)'%3E%3Cstop offset='.075' stop-color='%2322D88F'/%3E%3Cstop offset='.72' stop-color='%239775F8'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M52.8 50.1L32.3 36.6 0 32.3 47.3 70z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='0' y1='45.15' x2='61.646' y2='45.15' gradientTransform='matrix(1 0 0 -1 0 72)'%3E%3Cstop offset='.075' stop-color='%2322D88F'/%3E%3Cstop offset='.266' stop-color='%235AB0B4'/%3E%3Cstop offset='.565' stop-color='%23B86CF2'/%3E%3Cstop offset='1' stop-color='%23FF59E6'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23d)' d='M0 0.5L0 32.3 60.8 53.2 65.5 10.9z'/%3E%3Cg%3E%3Cpath d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cg fill='%23FFF'%3E%3Cpath d='M17.8,19h7c5.6,0,9.5,3.9,9.5,8.9V28c0,5-3.9,8.9-9.5,8.9h-7V19z M21.7,22.6v10.8h3 c3.2,0,5.4-2.2,5.4-5.3V28c0-3.2-2.2-5.4-5.4-5.4H21.7z'/%3E%3Cpath d='M35,28L35,28c0-5.1,4-9.3,9.4-9.3c3.2,0,5.2,0.9,7,2.5l-2.5,3c-1.4-1.2-2.6-1.8-4.7-1.8 c-2.9,0-5.1,2.5-5.1,5.6V28c0,3.3,2.2,5.7,5.4,5.7c1.4,0,2.7-0.4,3.7-1.1V30h-4v-3.4H52v7.8c-1.8,1.6-4.4,2.8-7.6,2.8 C38.8,37.2,35,33.3,35,28z'/%3E%3C/g%3E%3Cpath fill='%23FFF' d='M17.4 48.5H33.599999999999994V51.2H17.4z'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-datagrip._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-datagrip._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-datagrip._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-datagrip._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-datagrip._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-dotcover { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='37.049' y1='55.637' x2='23.558' y2='5.422'%3E%3Cstop offset='.048' stop-color='%237866FF'/%3E%3Cstop offset='.135' stop-color='%238265FA'/%3E%3Cstop offset='.281' stop-color='%239C64EE'/%3E%3Cstop offset='.467' stop-color='%23C661D9'/%3E%3Cstop offset='.608' stop-color='%23EB5FC7'/%3E%3Cstop offset='.729' stop-color='%23FA6398'/%3E%3Cstop offset='.769' stop-color='%23FF6488'/%3E%3Cstop offset='.995' stop-color='%23FF7500'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M42.8 0L0 4.8 0 26.8 10.7 62.6 64.6 48.9z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='69.11' y1='50.451' x2='57.169' y2='46.132'%3E%3Cstop offset='.247' stop-color='%237866FF'/%3E%3Cstop offset='.346' stop-color='%238F5FFA'/%3E%3Cstop offset='.531' stop-color='%23B353F1'/%3E%3Cstop offset='.705' stop-color='%23CD4AEB'/%3E%3Cstop offset='.859' stop-color='%23DD45E7'/%3E%3Cstop offset='.979' stop-color='%23E343E6'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M70 41.3L65.9 22.2 56.7 34.9 50.3 54.2 48.2 70 64 60z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='57.012' y1='46.84' x2='23.73' y2='32.867'%3E%3Cstop offset='.006' stop-color='%23E343E6'/%3E%3Cstop offset='.064' stop-color='%23E649CA'/%3E%3Cstop offset='.19' stop-color='%23EF5982'/%3E%3Cstop offset='.372' stop-color='%23FD7110'/%3E%3Cstop offset='.398' stop-color='%23FF7500'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M65.9 22.2L52.5 15.8 36.8 17.2 21.4 27.9 18.3 47.1 31.8 65.5 48.2 70z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cg fill='%23FFF'%3E%3Cpath d='M17.5,19.1h7c5.6,0,9.5,3.9,9.5,8.9v0.1c0,5-3.9,8.9-9.5,8.9h-7V19.1z M21.4,22.7v10.8h3 c3.2,0,5.4-2.2,5.4-5.3v-0.1c0-3.2-2.2-5.4-5.4-5.4H21.4z'/%3E%3Cpath d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3Cpath d='M35.4,28.1L35.4,28.1c0-5.1,3.8-9.3,9.3-9.3c3.4,0,5.4,1.1,7.1,2.8l-2.5,2.9c-1.4-1.3-2.8-2-4.6-2 c-3,0-5.2,2.5-5.2,5.6v0.1c0,3.1,2.1,5.6,5.2,5.6c2,0,3.3-0.8,4.7-2.1l2.5,2.5c-1.8,2-3.9,3.2-7.3,3.2 C39.4,37.3,35.4,33.3,35.4,28.1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-dotcover._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-dotcover._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-dotcover._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-dotcover._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-dotcover._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-dotmemory { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='20.477' y1='18.782' x2='32.464' y2='68.958'%3E%3Cstop offset='0' stop-color='%237866FF'/%3E%3Cstop offset='.023' stop-color='%237E64FE'/%3E%3Cstop offset='.195' stop-color='%23AA56F3'/%3E%3Cstop offset='.349' stop-color='%23C94CEC'/%3E%3Cstop offset='.48' stop-color='%23DC45E8'/%3E%3Cstop offset='.57' stop-color='%23E343E6'/%3E%3Cstop offset='.641' stop-color='%23E859BC'/%3E%3Cstop offset='.819' stop-color='%23F48F58'/%3E%3Cstop offset='.942' stop-color='%23FCB019'/%3E%3Cstop offset='1' stop-color='%23FFBD00'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M8 65.1L0.1 37.6 51.7 45.2 44.3 70z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='49.418' y1='41.451' x2='32.72' y2='7.516'%3E%3Cstop offset='0' stop-color='%237866FF'/%3E%3Cstop offset='.202' stop-color='%23965CF8'/%3E%3Cstop offset='.64' stop-color='%23E343E6'/%3E%3Cstop offset='.968' stop-color='%23FFBD00'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M23.5 0.1L42.1 5.4 63.2 0 70 46.3 13.4 37.6z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='26.353' y1='53.604' x2='36.21' y2='30.222'%3E%3Cstop offset='.118' stop-color='%23E343E6'/%3E%3Cstop offset='.211' stop-color='%23C84CEC'/%3E%3Cstop offset='.338' stop-color='%23AB55F3'/%3E%3Cstop offset='.472' stop-color='%23955DF8'/%3E%3Cstop offset='.618' stop-color='%238562FC'/%3E%3Cstop offset='.781' stop-color='%237B65FE'/%3E%3Cstop offset='1' stop-color='%237866FF'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M70 46.1L67.3 28.9 25.6 14.4 0.1 19.9 0 37.7 49.6 51.3z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.4 48.5H33.599999999999994V51.2H17.4z'/%3E%3Cpath d='M17.4,19h6.9c5.6,0,9.5,3.9,9.5,8.9V28c0,5-3.9,9-9.5,9h-6.9V19z M21.3,22.6v10.8h2.9 c3.2,0,5.4-2.2,5.4-5.4V28c0-3.2-2.2-5.4-5.4-5.4H21.3z' fill='%23FFF'/%3E%3Cpath fill='%23FFF' d='M34.8 19.1L39.1 19.1 43.7 26.6 48.4 19.1 52.6 19.1 52.6 36.9 48.7 36.9 48.7 25.2 43.7 32.8 43.6 32.8 38.7 25.3 38.7 36.9 34.8 36.9z'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-dotmemory._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-dotmemory._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-dotmemory._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-dotmemory._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-dotmemory._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-dotpeek { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='10.879' y1='26.793' x2='47.049' y2='63.717'%3E%3Cstop offset='.097' stop-color='%23E343E6'/%3E%3Cstop offset='.108' stop-color='%23D948E8'/%3E%3Cstop offset='.165' stop-color='%23AC5DEF'/%3E%3Cstop offset='.222' stop-color='%23876FF5'/%3E%3Cstop offset='.279' stop-color='%236B7DF9'/%3E%3Cstop offset='.336' stop-color='%235687FC'/%3E%3Cstop offset='.392' stop-color='%234A8DFE'/%3E%3Cstop offset='.446' stop-color='%23468FFF'/%3E%3Cstop offset='.935' stop-color='%2300CAFF'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M44.3 20.9L5.2 30.3 0 40.8 14.1 70 49.3 63.9z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='9.66' y1='55.746' x2='32.843' y2='36.427'%3E%3Cstop offset='.097' stop-color='%23E343E6'/%3E%3Cstop offset='.118' stop-color='%23DE45E7'/%3E%3Cstop offset='.289' stop-color='%23B951F0'/%3E%3Cstop offset='.462' stop-color='%239D5AF6'/%3E%3Cstop offset='.632' stop-color='%238861FB'/%3E%3Cstop offset='.802' stop-color='%237C65FE'/%3E%3Cstop offset='.968' stop-color='%237866FF'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M65.8 31.5L38.2 14 0 22.1 0 40.8 62.6 53.3z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='39.855' y1='16.927' x2='56.356' y2='50.653'%3E%3Cstop offset='.199' stop-color='%23E343E6'/%3E%3Cstop offset='.31' stop-color='%23DA46E8'/%3E%3Cstop offset='.491' stop-color='%23C24EEE'/%3E%3Cstop offset='.718' stop-color='%239A5BF7'/%3E%3Cstop offset='.887' stop-color='%237866FF'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M70 31.3L39.6 0 15.8 7.2 23.6 30.9 62.6 53.3z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='19.875' y1='18.305' x2='61.328' y2='8.256'%3E%3Cstop offset='.097' stop-color='%23E343E6'/%3E%3Cstop offset='.175' stop-color='%23DA48E7'/%3E%3Cstop offset='.302' stop-color='%23C157EA'/%3E%3Cstop offset='.464' stop-color='%23996FEE'/%3E%3Cstop offset='.653' stop-color='%236290F4'/%3E%3Cstop offset='.863' stop-color='%231CB9FC'/%3E%3Cstop offset='.941' stop-color='%2300CAFF'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23d)' d='M64.5 19.6L61.8 0 51.3 0 39.6 0 15.8 7.2 23.6 30.9z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.4 48.5H33.599999999999994V51.2H17.4z'/%3E%3Cg fill='%23FFF'%3E%3Cpath d='M17.5,19.1h7c5.6,0,9.5,3.9,9.5,8.9v0.1c0,5-3.9,8.9-9.5,8.9h-7V19.1z M21.4,22.7v10.8h3 c3.2,0,5.4-2.2,5.4-5.3v-0.1c0-3.2-2.2-5.4-5.4-5.4H21.4z'/%3E%3Cpath d='M35.6,19.1h7.3c4.3,0,6.9,2.5,6.9,6.2v0.1c0,4.1-3.2,6.3-7.2,6.3h-3V37h-3.9V19.1z M42.6,28.1 c2,0,3.1-1.2,3.1-2.7v-0.1c0-1.8-1.2-2.7-3.2-2.7h-3v5.5H42.6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-dotpeek._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-dotpeek._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-dotpeek._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-dotpeek._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-dotpeek._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-dottrace { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='-1.332' y1='43.737' x2='67.042' y2='26.097'%3E%3Cstop offset='.124' stop-color='%237866FF'/%3E%3Cstop offset='.538' stop-color='%23FE2EB6'/%3E%3Cstop offset='.855' stop-color='%23FD0486'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M67.3 16L43.7 0 0 31.1 11.1 70 58.9 60.3z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='45.915' y1='38.91' x2='67.658' y2='9.099'%3E%3Cstop offset='.124' stop-color='%23FF0080'/%3E%3Cstop offset='.259' stop-color='%23FE0385'/%3E%3Cstop offset='.411' stop-color='%23FA0C92'/%3E%3Cstop offset='.571' stop-color='%23F41BA9'/%3E%3Cstop offset='.736' stop-color='%23EB2FC8'/%3E%3Cstop offset='.866' stop-color='%23E343E6'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M67.3 16L43.7 0 38 15.7 38 47.8 70 47.8z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.4 48.5H33.599999999999994V51.2H17.4z'/%3E%3Cg fill='%23FFF'%3E%3Cpath d='M17.4,19.1h6.9c5.6,0,9.5,3.8,9.5,8.9V28c0,5-3.9,8.9-9.5,8.9h-6.9V19.1z M21.4,22.7v10.7h3 c3.2,0,5.4-2.2,5.4-5.3V28c0-3.2-2.2-5.4-5.4-5.4H21.4z'/%3E%3Cpath d='M40.3 22.7L34.9 22.7 34.9 19.1 49.6 19.1 49.6 22.7 44.2 22.7 44.2 37 40.3 37z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-dottrace._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-dottrace._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-dottrace._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-dottrace._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-dottrace._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-gogland { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='218.31' y1='276.731' x2='206.336' y2='294.988' gradientTransform='translate(-286.906 -405.031) scale(1.5625)'%3E%3Cstop offset='.174' stop-color='%23078EFC'/%3E%3Cstop offset='.204' stop-color='%23118AFC'/%3E%3Cstop offset='.435' stop-color='%235971FC'/%3E%3Cstop offset='.627' stop-color='%238E5EFC'/%3E%3Cstop offset='.77' stop-color='%23AF52FC'/%3E%3Cstop offset='.849' stop-color='%23BB4EFC'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M57.274,22.361l9.541,21.197l-13.49,23.045L20.922,40.202L37.493,24.23L57.274,22.361z'/%3E%3Cpath fill='%23BB4EFC' d='M43.499,42.747l9.826,23.857L23.39,56.314l-2.468-16.111L43.499,42.747z'/%3E%3Cpath fill='%23078EFC' d='M24.281,9.433l13.776,7.06l-12.398,37.54L0.69,53.773l5.364-11.895L0.69,26.677L24.281,9.433z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='188.25' y1='278.506' x2='212.533' y2='260.237' gradientTransform='translate(-286.906 -405.031) scale(1.5625)'%3E%3Cstop offset='.174' stop-color='%23078EFC'/%3E%3Cstop offset='.204' stop-color='%23118AFC'/%3E%3Cstop offset='.435' stop-color='%235971FC'/%3E%3Cstop offset='.627' stop-color='%238E5EFC'/%3E%3Cstop offset='.77' stop-color='%23AF52FC'/%3E%3Cstop offset='.849' stop-color='%23BB4EFC'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M41.563,0.479l6.515,22.17L0.69,26.677L15.761,0.479H41.563z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='189.941' y1='296.496' x2='220.469' y2='276.879' gradientTransform='translate(-286.906 -405.031) scale(1.5625)'%3E%3Cstop offset='0' stop-color='%23078EFC'/%3E%3Cstop offset='.106' stop-color='%2315A7D3'/%3E%3Cstop offset='.228' stop-color='%2323BFAA'/%3E%3Cstop offset='.348' stop-color='%232DD28B'/%3E%3Cstop offset='.463' stop-color='%2335DF74'/%3E%3Cstop offset='.573' stop-color='%2339E767'/%3E%3Cstop offset='.67' stop-color='%233BEA62'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M66.815 14.519L39.091 21.099 0.69 53.773 25.458 66.604 46.973 44.423z'/%3E%3Cg%3E%3Cpath d='M11.711 11.5H55.794V55.583H11.711z'/%3E%3Cpath fill='%23FFF' d='M16.119 48.309H32.65V50.954H16.119z'/%3E%3Cg fill='%23FFF'%3E%3Cpath d='M14.607,25.88v-0.054c-0.18-5.295,3.967-9.734,9.262-9.913c0.09-0.003,0.179-0.005,0.269-0.005 c2.64-0.135,5.22,0.815,7.142,2.63l-2.52,3.206c-1.251-1.272-2.969-1.975-4.753-1.945c-3.083,0.226-5.41,2.889-5.22,5.974v0.054 c-0.258,3.091,2.039,5.805,5.13,6.063c0.125,0.01,0.251,0.017,0.377,0.019c1.347,0.04,2.67-0.365,3.765-1.151v-2.74h-4.025v-3.643 h7.895v8.328c-2.113,1.955-4.886,3.041-7.765,3.043c-5.162,0.123-9.446-3.963-9.569-9.125c0,0,0,0,0,0 C14.59,26.374,14.594,26.127,14.607,25.88z'/%3E%3Cpath d='M33.609,25.88v-0.054c-0.141-5.335,4.069-9.774,9.405-9.915s9.774,4.069,9.915,9.405 c0.004,0.152,0.004,0.305,0.001,0.457v0.054c0.141,5.335-4.069,9.774-9.405,9.915c-5.335,0.141-9.774-4.069-9.915-9.405l0,0 C33.606,26.185,33.606,26.033,33.609,25.88z M48.75,25.88v-0.054c0.186-3.14-2.209-5.835-5.349-6.021 c-0.053-0.003-0.105-0.005-0.158-0.007c-3.096,0.078-5.542,2.65-5.464,5.746c0,0,0,0,0,0c0.002,0.076,0.005,0.152,0.01,0.229 v0.054c-0.186,3.14,2.209,5.835,5.349,6.021c0.053,0.003,0.105,0.005,0.158,0.007c3.096-0.078,5.542-2.65,5.464-5.746c0,0,0,0,0,0 C48.758,26.033,48.755,25.956,48.75,25.88z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-gogland._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-gogland._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-gogland._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-gogland._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-gogland._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-hub { + background-image: url("data:image/svg+xml,%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 70 70' width='70' height='70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='40.415' y1='69.001' x2='39.585' y2='30.566' gradientTransform='matrix(1 0 0 -1 0 69.89)'%3E%3Cstop offset='.328' stop-color='%2300B8F1'/%3E%3Cstop offset='.973' stop-color='%239758FB'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M61.3,0.9c-1.7-0.8-3.6-1-5.5-0.8c-0.3,0-45.3,3.8-45.3,3.8l31.8,37.5l5.8,0.3L66.3,22 C72.4,15.9,71.1,5,61.3,0.9z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='58.345' y1='64.017' x2='11.932' y2='13.636'%3E%3Cstop offset='0' stop-color='%23FFEE45'/%3E%3Cstop offset='1' stop-color='%239758FB'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M53.6,47.2l-1.3,2l-16-19.5L20.8,40.1L46.5,68c0.5,0.5,1.2,0.9,1.9,1.3c1.4,0.7,3,0.9,4.6,0.4 c1.5-0.4,2.6-1.2,3.5-2.1c0.1-0.1,10.8-10.7,10.8-10.7L53.6,47.2z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='31.025' y1='60.401' x2='21.392' y2='39.808' gradientTransform='matrix(1 0 0 -1 0 69.89)'%3E%3Cstop offset='.328' stop-color='%2300B8F1'/%3E%3Cstop offset='.79' stop-color='%239758FB'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M45.7,41.6L19.6,8.4l0,0c-1.1-1.6-2.8-2.9-5-3.8c-1.7-0.7-3.7-0.9-5.5-0.5 C-0.5,6.2-2.7,16.7,3.5,22.3l18.1,18.6L45.7,41.6z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='-3.259' y1='17.766' x2='68.816' y2='17.766' gradientTransform='matrix(1 0 0 -1 0 69.89)'%3E%3Cstop offset='0' stop-color='%2300B8F1'/%3E%3Cstop offset='.306' stop-color='%239758FB'/%3E%3Cstop offset='.989' stop-color='%23FFEE45'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23d)' d='M63.2,40.5c-3.4-1-5.3-0.7-9.8-0.8l-38-5.4L4.5,44.7c-6.9,6.8-5.8,18.7,4.4,23.8 c2.6,1.3,5.5,1.7,8.2,1.3l0,0c19.3-3.6,43.5-9.4,43.7-9.4c0.4-0.1,0.9-0.2,1.3-0.3c6.3-1.9,8.9-7.8,7.4-12.8 C68.7,44.5,66.5,41.5,63.2,40.5z'/%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cg fill='%23FFF'%3E%3Cpath d='M17.4,19.1h4v7.2h7.4v-7.2h4v18.1h-4v-7.3h-7.4v7.3h-4V19.1z'/%3E%3Cpath d='M35.7,19.1h8.4c2.1,0,3.7,0.6,4.7,1.6c0.8,0.8,1.2,1.8,1.2,3.1v0.1c0,2-1.1,3.2-2.4,3.9 c2.1,0.8,3.4,2,3.4,4.5v0.1c0,3.3-2.7,5-6.8,5h-8.6V19.1H35.7z M46.2,24.4c0-1.2-0.9-1.9-2.6-1.9h-3.9v3.8h3.7 C45.1,26.4,46.2,25.8,46.2,24.4L46.2,24.4z M44.2,29.7h-4.6v4h4.7c1.8,0,2.8-0.6,2.8-2v-0.1C47.2,30.5,46.3,29.7,44.2,29.7z'/%3E%3C/g%3E%3Cpath fill='%23FFF' d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-hub._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-hub._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-hub._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-hub._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-hub._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-intellij-idea { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='.79' y1='40.089' x2='33.317' y2='40.089'%3E%3Cstop offset='.258' stop-color='%23F97A12'/%3E%3Cstop offset='.459' stop-color='%23B07B58'/%3E%3Cstop offset='.724' stop-color='%23577BAE'/%3E%3Cstop offset='.91' stop-color='%231E7CE5'/%3E%3Cstop offset='1' stop-color='%23087CFA'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M17.7 54.6L0.8 41.2 9.2 25.6 33.3 35z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='25.767' y1='24.88' x2='79.424' y2='54.57'%3E%3Cstop offset='0' stop-color='%23F97A12'/%3E%3Cstop offset='.072' stop-color='%23CB7A3E'/%3E%3Cstop offset='.154' stop-color='%239E7B6A'/%3E%3Cstop offset='.242' stop-color='%23757B91'/%3E%3Cstop offset='.334' stop-color='%23537BB1'/%3E%3Cstop offset='.432' stop-color='%23387CCC'/%3E%3Cstop offset='.538' stop-color='%23237CE0'/%3E%3Cstop offset='.655' stop-color='%23147CEF'/%3E%3Cstop offset='.792' stop-color='%230B7CF7'/%3E%3Cstop offset='1' stop-color='%23087CFA'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M70 18.7L68.7 59.2 41.8 70 25.6 59.6 49.3 35 38.9 12.3 48.2 1.1z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='63.228' y1='42.915' x2='48.29' y2='-1.719'%3E%3Cstop offset='0' stop-color='%23FE315D'/%3E%3Cstop offset='.078' stop-color='%23CB417E'/%3E%3Cstop offset='.16' stop-color='%239E4E9B'/%3E%3Cstop offset='.247' stop-color='%23755BB4'/%3E%3Cstop offset='.339' stop-color='%235365CA'/%3E%3Cstop offset='.436' stop-color='%23386DDB'/%3E%3Cstop offset='.541' stop-color='%232374E9'/%3E%3Cstop offset='.658' stop-color='%231478F3'/%3E%3Cstop offset='.794' stop-color='%230B7BF8'/%3E%3Cstop offset='1' stop-color='%23087CFA'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M70 18.7L48.7 43.9 38.9 12.3 48.2 1.1z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='10.72' y1='16.473' x2='55.524' y2='90.58'%3E%3Cstop offset='0' stop-color='%23FE315D'/%3E%3Cstop offset='.04' stop-color='%23F63462'/%3E%3Cstop offset='.104' stop-color='%23DF3A71'/%3E%3Cstop offset='.167' stop-color='%23C24383'/%3E%3Cstop offset='.291' stop-color='%23AD4A91'/%3E%3Cstop offset='.55' stop-color='%23755BB4'/%3E%3Cstop offset='.917' stop-color='%231D76ED'/%3E%3Cstop offset='1' stop-color='%23087CFA'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23d)' d='M33.7 58.1L5.6 68.3 10.1 52.5 16 33.1 0 27.7 10.1 0 32.1 2.7 53.7 27.4z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.7 13.5H56.900000000000006V56.7H13.7z'/%3E%3Cpath fill='%23FFF' d='M17.7 48.6H33.9V51.300000000000004H17.7z'/%3E%3Cpath fill='%23FFF' d='M29.4 22.4L29.4 19.1 20.4 19.1 20.4 22.4 23 22.4 23 33.7 20.4 33.7 20.4 37 29.4 37 29.4 33.7 26.9 33.7 26.9 22.4z'/%3E%3Cpath d='M38,37.3c-1.4,0-2.6-0.3-3.5-0.8c-0.9-0.5-1.7-1.2-2.3-1.9l2.5-2.8c0.5,0.6,1,1,1.5,1.3 c0.5,0.3,1.1,0.5,1.7,0.5c0.7,0,1.3-0.2,1.8-0.7c0.4-0.5,0.6-1.2,0.6-2.3V19.1h4v11.7c0,1.1-0.1,2-0.4,2.8c-0.3,0.8-0.7,1.4-1.3,2 c-0.5,0.5-1.2,1-2,1.2C39.8,37.1,39,37.3,38,37.3' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-intellij-idea._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-intellij-idea._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-intellij-idea._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-intellij-idea._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-intellij-idea._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-kotlin { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 60 60' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='15.959' y1='-13.014' x2='44.307' y2='15.333' gradientTransform='matrix(1 0 0 -1 0 61)'%3E%3Cstop offset='.097' stop-color='%230095D5'/%3E%3Cstop offset='.301' stop-color='%23238AD9'/%3E%3Cstop offset='.621' stop-color='%23557BDE'/%3E%3Cstop offset='.864' stop-color='%237472E2'/%3E%3Cstop offset='1' stop-color='%23806EE3'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M0 60L30.1 29.9 60 60z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='4.209' y1='48.941' x2='20.673' y2='65.405' gradientTransform='matrix(1 0 0 -1 0 61)'%3E%3Cstop offset='.118' stop-color='%230095D5'/%3E%3Cstop offset='.418' stop-color='%233C83DC'/%3E%3Cstop offset='.696' stop-color='%236D74E1'/%3E%3Cstop offset='.833' stop-color='%23806EE3'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M0 0L30.1 0 0 32.5z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='-10.102' y1='5.836' x2='45.731' y2='61.669' gradientTransform='matrix(1 0 0 -1 0 61)'%3E%3Cstop offset='.107' stop-color='%23C757BC'/%3E%3Cstop offset='.214' stop-color='%23D0609A'/%3E%3Cstop offset='.425' stop-color='%23E1725C'/%3E%3Cstop offset='.605' stop-color='%23EE7E2F'/%3E%3Cstop offset='.743' stop-color='%23F58613'/%3E%3Cstop offset='.823' stop-color='%23F88909'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M30.1 0L0 31.7 0 60 30.1 29.9 60 0z'/%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-kotlin._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-kotlin._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-kotlin._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-kotlin._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-kotlin._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-mps { + background-image: url("data:image/svg+xml,%3Csvg data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 140 140'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='105.979' y1='186.085' x2='-27.244' y2='15.44' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.091' stop-color='%230b8fff'/%3E%3Cstop offset='.208' stop-color='%230d94f6'/%3E%3Cstop offset='.396' stop-color='%2311a3de'/%3E%3Cstop offset='.633' stop-color='%2318bbb7'/%3E%3Cstop offset='.871' stop-color='%2321d789'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='178.605' y1='129.386' x2='45.382' y2='-41.259' xlink:href='%23a'/%3E%3ClinearGradient id='c' x1='78.586' y1='105.516' x2='126.297' y2='-22.788' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.123' stop-color='%2321d789'/%3E%3Cstop offset='.132' stop-color='%2327d788'/%3E%3Cstop offset='.216' stop-color='%2359d87b'/%3E%3Cstop offset='.303' stop-color='%2385d970'/%3E%3Cstop offset='.394' stop-color='%23abda67'/%3E%3Cstop offset='.487' stop-color='%23cadb5f'/%3E%3Cstop offset='.585' stop-color='%23e1db59'/%3E%3Cstop offset='.688' stop-color='%23f2dc55'/%3E%3Cstop offset='.802' stop-color='%23fcdc53'/%3E%3Cstop offset='.946' stop-color='%23ffdc52'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ctitle%3Emps_logo%3C/title%3E%3Cpath fill='url(%23a)' d='M0 140L140 140 70 70 0 0 0 140z'/%3E%3Cpath data-name='<Path>' fill='url(%23b)' d='M140 140L70 70 140 0 140 140z'/%3E%3Cpath data-name='<Path>' fill='url(%23c)' d='M102 102L70 70 140 0 102 102z'/%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-mps._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-mps._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-mps._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-mps._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-mps._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-phpstorm { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='.558' y1='46.846' x2='29.947' y2='8.026'%3E%3Cstop offset='.016' stop-color='%23765AF8'/%3E%3Cstop offset='.382' stop-color='%23B345F1'/%3E%3Cstop offset='.758' stop-color='%23FA3293'/%3E%3Cstop offset='.941' stop-color='%23FF318C'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M39.6 15.2L36.3 5.2 11.9 0 0 13.5 37.2 32.5z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='2.73' y1='48.379' x2='32.072' y2='9.621'%3E%3Cstop offset='.016' stop-color='%23765AF8'/%3E%3Cstop offset='.382' stop-color='%23B345F1'/%3E%3Cstop offset='.758' stop-color='%23FA3293'/%3E%3Cstop offset='.941' stop-color='%23FF318C'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M28 41.4L27.3 20.6 0 13.5 6.7 53.6 28 53.4z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='50.857' y1='46.405' x2='34.274' y2='7.048'%3E%3Cstop offset='.183' stop-color='%23765AF8'/%3E%3Cstop offset='.238' stop-color='%238655F6'/%3E%3Cstop offset='.345' stop-color='%239F4CF3'/%3E%3Cstop offset='.443' stop-color='%23AE47F2'/%3E%3Cstop offset='.522' stop-color='%23B345F1'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M22.1 41L23.4 24.5 43.2 4.2 60.9 7.4 70 30.1 60.5 39.5 45 37 35.4 47.1z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='63.266' y1='57.339' x2='24.698' y2='27.516'%3E%3Cstop offset='.016' stop-color='%23765AF8'/%3E%3Cstop offset='.382' stop-color='%23B345F1'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23d)' d='M43.2 4.2L14.8 29.4 20.3 61.8 43.9 70 70 54.4z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3Cpath d='M17.3,19h7.3c4.3,0,6.9,2.5,6.9,6.2v0.1c0,4.2-3.2,6.3-7.3,6.3h-3l0,5.4h-3.9L17.3,19z M24.4,28 c2,0,3.1-1.2,3.1-2.7v-0.1c0-1.8-1.2-2.7-3.2-2.7h-3V28H24.4z' fill='%23FFF'/%3E%3Cpath d='M32.5,34.4l2.3-2.8c1.6,1.3,3.3,2.2,5.4,2.2c1.6,0,2.6-0.6,2.6-1.7V32c0-1-0.6-1.5-3.6-2.3 c-3.6-0.9-6-1.9-6-5.5v-0.1c0-3.3,2.6-5.4,6.3-5.4c2.6,0,4.9,0.8,6.7,2.3l-2.1,3c-1.6-1.1-3.2-1.8-4.7-1.8c-1.5,0-2.3,0.7-2.3,1.6 v0.1c0,1.2,0.8,1.6,3.9,2.4c3.6,1,5.7,2.3,5.7,5.4v0.1c0,3.6-2.7,5.6-6.6,5.6C37.4,37.3,34.7,36.3,32.5,34.4' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-phpstorm._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-phpstorm._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-phpstorm._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-phpstorm._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-phpstorm._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-pycharm { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='24.998' y1='27.046' x2='66.656' y2='27.046'%3E%3Cstop offset='0' stop-color='%2321D789'/%3E%3Cstop offset='1' stop-color='%2307C3F2'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M49.1 11L69.5 28.1 62.2 43 49.8 39.6 39.2 39.6z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='-24.559' y1='59.081' x2='61.22' y2='-4.241'%3E%3Cstop offset='.011' stop-color='%23FCF84A'/%3E%3Cstop offset='.112' stop-color='%23A7EB62'/%3E%3Cstop offset='.206' stop-color='%235FE077'/%3E%3Cstop offset='.273' stop-color='%2332DA84'/%3E%3Cstop offset='.306' stop-color='%2321D789'/%3E%3Cstop offset='.577' stop-color='%2321D789'/%3E%3Cstop offset='.597' stop-color='%2321D789'/%3E%3Cstop offset='.686' stop-color='%2320D68C'/%3E%3Cstop offset='.763' stop-color='%231ED497'/%3E%3Cstop offset='.835' stop-color='%2319D1A9'/%3E%3Cstop offset='.904' stop-color='%2313CCC2'/%3E%3Cstop offset='.971' stop-color='%230BC6E1'/%3E%3Cstop offset='1' stop-color='%2307C3F2'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M28.5 22.1L24.5 43 24.1 50.2 14.2 54.5 0 56 4.3 10.7 29.9 0 45.7 10.4z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='9.33' y1='77.654' x2='23.637' y2='32.76'%3E%3Cstop offset='0' stop-color='%2321D789'/%3E%3Cstop offset='.164' stop-color='%2324D788'/%3E%3Cstop offset='.305' stop-color='%232FD886'/%3E%3Cstop offset='.437' stop-color='%2341DA82'/%3E%3Cstop offset='.564' stop-color='%235ADC7D'/%3E%3Cstop offset='.688' stop-color='%237AE077'/%3E%3Cstop offset='.809' stop-color='%23A1E36E'/%3E%3Cstop offset='.925' stop-color='%23CFE865'/%3E%3Cstop offset='1' stop-color='%23F1EB5E'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M28.5 22.1L30.4 62.5 24 70 0 56 19.7 26.6z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='28.275' y1='38.623' x2='59.409' y2='-3.236'%3E%3Cstop offset='0' stop-color='%2321D789'/%3E%3Cstop offset='.061' stop-color='%2324D788'/%3E%3Cstop offset='.113' stop-color='%232FD886'/%3E%3Cstop offset='.162' stop-color='%2341DA82'/%3E%3Cstop offset='.209' stop-color='%235ADD7D'/%3E%3Cstop offset='.255' stop-color='%2379E077'/%3E%3Cstop offset='.258' stop-color='%237CE076'/%3E%3Cstop offset='.499' stop-color='%238CE173'/%3E%3Cstop offset='.925' stop-color='%23B2E56B'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23d)' d='M54.9 19.1L30.6 19.1 52.1 0z'/%3E%3ClinearGradient id='e' gradientUnits='userSpaceOnUse' x1='75.889' y1='43.95' x2='13.158' y2='43.369'%3E%3Cstop offset='.387' stop-color='%23FCF84A'/%3E%3Cstop offset='.536' stop-color='%23ECF451'/%3E%3Cstop offset='.826' stop-color='%23C2E964'/%3E%3Cstop offset='.925' stop-color='%23B2E56B'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23e)' d='M70 62.6L48.6 69.9 20.2 61.9 28.5 22.1 31.8 19.1 49.1 17.5 47.5 34.9 61.3 29.6z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3Cpath d='M17.3,19.1h7.3c4.3,0,6.9,2.5,6.9,6.2v0.1c0,4.1-3.2,6.3-7.2,6.3h-3V37h-3.9V19.1z M24.4,28.1 c2,0,3.1-1.2,3.1-2.7v-0.1c0-1.8-1.2-2.7-3.2-2.7h-3v5.5H24.4z' fill='%23FFF'/%3E%3Cpath d='M33.1,28.1L33.1,28.1c0-5.1,3.8-9.3,9.3-9.3c3.4,0,5.4,1.1,7.1,2.8l-2.5,2.9c-1.4-1.3-2.8-2-4.6-2 c-3,0-5.2,2.5-5.2,5.6V28c0,3.1,2.1,5.6,5.2,5.6c2,0,3.3-0.8,4.7-2.1l2.5,2.5c-1.8,2-3.9,3.2-7.3,3.2C37,37.3,33.1,33.2,33.1,28.1' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-pycharm._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-pycharm._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-pycharm._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-pycharm._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-pycharm._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-pycharm-edu { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='24.998' y1='27.046' x2='66.656' y2='27.046'%3E%3Cstop offset='0' stop-color='%2321D789'/%3E%3Cstop offset='1' stop-color='%2307C3F2'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M49.1 11L69.5 28.1 62.2 43 49.8 39.6 39.2 39.6z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='-24.559' y1='59.081' x2='61.22' y2='-4.241'%3E%3Cstop offset='.011' stop-color='%23FCF84A'/%3E%3Cstop offset='.112' stop-color='%23A7EB62'/%3E%3Cstop offset='.206' stop-color='%235FE077'/%3E%3Cstop offset='.273' stop-color='%2332DA84'/%3E%3Cstop offset='.306' stop-color='%2321D789'/%3E%3Cstop offset='.577' stop-color='%2321D789'/%3E%3Cstop offset='.597' stop-color='%2321D789'/%3E%3Cstop offset='.686' stop-color='%2320D68C'/%3E%3Cstop offset='.763' stop-color='%231ED497'/%3E%3Cstop offset='.835' stop-color='%2319D1A9'/%3E%3Cstop offset='.904' stop-color='%2313CCC2'/%3E%3Cstop offset='.971' stop-color='%230BC6E1'/%3E%3Cstop offset='1' stop-color='%2307C3F2'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M28.5 22.1L24.5 43 24.1 50.2 14.2 54.5 0 56 4.3 10.7 29.9 0 45.7 10.4z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='9.33' y1='77.654' x2='23.637' y2='32.76'%3E%3Cstop offset='0' stop-color='%2321D789'/%3E%3Cstop offset='.164' stop-color='%2324D788'/%3E%3Cstop offset='.305' stop-color='%232FD886'/%3E%3Cstop offset='.437' stop-color='%2341DA82'/%3E%3Cstop offset='.564' stop-color='%235ADC7D'/%3E%3Cstop offset='.688' stop-color='%237AE077'/%3E%3Cstop offset='.809' stop-color='%23A1E36E'/%3E%3Cstop offset='.925' stop-color='%23CFE865'/%3E%3Cstop offset='1' stop-color='%23F1EB5E'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M28.5 22.1L30.4 62.5 24 70 0 56 19.7 26.6z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='28.275' y1='38.623' x2='59.409' y2='-3.236'%3E%3Cstop offset='0' stop-color='%2321D789'/%3E%3Cstop offset='.061' stop-color='%2324D788'/%3E%3Cstop offset='.113' stop-color='%232FD886'/%3E%3Cstop offset='.162' stop-color='%2341DA82'/%3E%3Cstop offset='.209' stop-color='%235ADD7D'/%3E%3Cstop offset='.255' stop-color='%2379E077'/%3E%3Cstop offset='.258' stop-color='%237CE076'/%3E%3Cstop offset='.499' stop-color='%238CE173'/%3E%3Cstop offset='.925' stop-color='%23B2E56B'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23d)' d='M54.9 19.1L30.6 19.1 52.1 0z'/%3E%3ClinearGradient id='e' gradientUnits='userSpaceOnUse' x1='75.889' y1='43.95' x2='13.158' y2='43.369'%3E%3Cstop offset='.387' stop-color='%23FCF84A'/%3E%3Cstop offset='.536' stop-color='%23ECF451'/%3E%3Cstop offset='.826' stop-color='%23C2E964'/%3E%3Cstop offset='.925' stop-color='%23B2E56B'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23e)' d='M70 62.6L48.6 69.9 20.2 61.9 28.5 22.1 31.8 19.1 49.1 17.5 47.5 34.9 61.3 29.6z'/%3E%3Cg%3E%3Cpath d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3Cpath d='M17.3,19.1h7.3c4.3,0,6.9,2.5,6.9,6.2v0.1c0,4.1-3.2,6.3-7.2,6.3h-3V37h-3.9V19.1z M24.4,28.1 c2,0,3.1-1.2,3.1-2.7v-0.1c0-1.8-1.2-2.7-3.2-2.7h-3v5.5H24.4z' fill='%23FFF'/%3E%3Cpath d='M33.6,19.1h13.5v3.5h-9.6v3.6H46v3.5h-8.4v3.8h9.7V37H33.6V19.1z' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-pycharm-edu._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-pycharm-edu._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-pycharm-edu._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-pycharm-edu._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-pycharm-edu._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-rider { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='70.226' y1='27.799' x2='-5.13' y2='63.122' gradientTransform='matrix(1 0 0 -1 0 71.28)' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23c90f5e'/%3E%3Cstop offset='.221' stop-color='%23c90f5e'/%3E%3Cstop offset='.236' stop-color='%23c90f5e'/%3E%3Cstop offset='.356' stop-color='%23ca135c'/%3E%3Cstop offset='.466' stop-color='%23ce1e57'/%3E%3Cstop offset='.574' stop-color='%23d4314e'/%3E%3Cstop offset='.678' stop-color='%23dc4b41'/%3E%3Cstop offset='.782' stop-color='%23e66d31'/%3E%3Cstop offset='.883' stop-color='%23f3961d'/%3E%3Cstop offset='.942' stop-color='%23fcb20f'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='24.659' y1='61.996' x2='46.048' y2='2.934' gradientTransform='matrix(1 0 0 -1 0 71.28)' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.042' stop-color='%23077cfb'/%3E%3Cstop offset='.445' stop-color='%23c90f5e'/%3E%3Cstop offset='.958' stop-color='%23077cfb'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='17.396' y1='63.346' x2='33.194' y2='7.201' gradientTransform='matrix(1 0 0 -1 0 71.28)' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.277' stop-color='%23c90f5e'/%3E%3Cstop offset='.974' stop-color='%23fcb20f'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ctitle%3Erider%3C/title%3E%3Cpath fill='url(%23a)' d='M70 27.237L63.391 23.75 20.926 0 3.827 17.921 21.619 41.068 60.537 44.397 70 27.237z'/%3E%3Cpath fill='url(%23b)' d='M50.423 16.132L44.271 1.107 27.643 17.471 11.768 50.194 49.411 70 70 57.98 50.423 16.132z'/%3E%3Cpath fill='url(%23c)' d='M20.926 0L0 14.095 7.779 62.172 27.848 69.889 53.78 48.823 20.926 0z'/%3E%3Cg%3E%3Cpath d='M13.302 13.193H56.916V56.806999999999995H13.302z'/%3E%3Cg fill='%23fff'%3E%3Cpath d='M17.22741,18.86293h8.39564a7.38416,7.38416,0,0,1,5.34268,1.85358,5.86989,5.86989,0,0,1,1.52648,4.1433h0A5.74339,5.74339,0,0,1,28.567,30.5296l4.47041,6.54206H28.34891L24.42368,31.1838h-3.162v5.88785H17.22741V18.86293h0ZM25.296,27.69471c1.96262,0,3.053-1.09034,3.053-2.61682h0c0-1.74455-1.19938-2.61682-3.162-2.61682H21.15265v5.23365H25.296Z'/%3E%3Cpath d='M36.09034,18.86293H43.2866c5.77882,0,9.70405,3.92523,9.70405,9.15888h0c0,5.12461-3.92523,9.15888-9.70405,9.15888H36.09034V18.86293Zm4.03427,3.59813V33.47352h3.162a5.23727,5.23727,0,0,0,5.56075-5.45171h0a5.26493,5.26493,0,0,0-5.56075-5.56075h-3.162Z'/%3E%3C/g%3E%3Cpath fill='%23fff' d='M17.227 48.629H33.582V51.355H17.227z'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-rider._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-rider._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-rider._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-rider._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-rider._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-resharper { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='22.945' y1='75.787' x2='74.787' y2='20.642'%3E%3Cstop offset='.016' stop-color='%23B35BA3'/%3E%3Cstop offset='.404' stop-color='%23C41E57'/%3E%3Cstop offset='.468' stop-color='%23C41E57'/%3E%3Cstop offset='.65' stop-color='%23EB8523'/%3E%3Cstop offset='.952' stop-color='%23FEBD11'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M49.8 15.2L36 36.7 58.4 70 70 23.1z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='17.719' y1='73.292' x2='69.556' y2='18.152'%3E%3Cstop offset='.016' stop-color='%23B35BA3'/%3E%3Cstop offset='.404' stop-color='%23C41E57'/%3E%3Cstop offset='.468' stop-color='%23C41E57'/%3E%3Cstop offset='.704' stop-color='%23EB8523'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M51.1 15.7L49 0 18.8 33.6 27.6 42.3 20.8 70 58.4 70z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='1.828' y1='53.428' x2='48.825' y2='9.226'%3E%3Cstop offset='.016' stop-color='%23B35BA3'/%3E%3Cstop offset='.661' stop-color='%23C41E57'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M49 0L11.6 0 0 47.1 55.6 47.1z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='49.894' y1='-11.557' x2='48.859' y2='24.035'%3E%3Cstop offset='.5' stop-color='%23C41E57'/%3E%3Cstop offset='.667' stop-color='%23D13F48'/%3E%3Cstop offset='.795' stop-color='%23D94F39'/%3E%3Cstop offset='.866' stop-color='%23DD5433'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23d)' d='M55.3 47.1L51.1 15.7 49 0 41.7 23z'/%3E%3Cg%3E%3Cpath transform='matrix(-1 .00258 -.00258 -1 70.029 70.081)' fill='%23000' d='M13.4 13.5H56.6V56.7H13.4z'/%3E%3Cpath transform='rotate(-.148 25.676 49.97)' fill='%23FFF' d='M17.6 48.6H33.8V51.300000000000004H17.6z'/%3E%3Cpath d='M17.4,19.1l8.2,0c2.3,0,4,0.6,5.2,1.8c1,1,1.5,2.4,1.5,4.1l0,0.1c0,1.5-0.3,2.6-1.1,3.5 c-0.7,0.9-1.6,1.6-2.8,2l4.4,6.4l-4.6,0l-3.7-5.5l-3.3,0l0,5.5l-3.9,0L17.4,19.1z M25.3,27.8c1,0,1.7-0.2,2.2-0.7 c0.5-0.5,0.8-1.1,0.8-1.8l0-0.1c0-0.9-0.3-1.5-0.8-1.9c-0.5-0.4-1.3-0.6-2.3-0.6l-3.9,0l0,5.1L25.3,27.8z' fill='%23FFF'/%3E%3Cpath d='M36,33.2l-1.9,0l0-3.3l2.5,0l0.6-3.8l-2.3,0l0-3.3l2.8,0l0.6-3.7l3.4,0l-0.6,3.7l3.7,0l0.6-3.7 l3.4,0l-0.6,3.7l1.9,0l0,3.3l-2.5,0L47,29.9l2.3,0l0,3.3l-2.8,0L45.8,37l-3.4,0l0.7-3.8l-3.7,0L38.7,37l-3.4,0L36,33.2z M43.7,29.9l0.6-3.8l-3.7,0L40,29.9L43.7,29.9z' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-resharper._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-resharper._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-resharper._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-resharper._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-resharper._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-resharper-cpp { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='8.063' y1='16.141' x2='29.26' y2='69.757'%3E%3Cstop offset='.22' stop-color='%23C40B55'/%3E%3Cstop offset='.683' stop-color='%23E343E6'/%3E%3Cstop offset='.925' stop-color='%23F59252'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M20.2 15.2L34 36.7 11.6 70 0 23.1z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='875.719' y1='73.292' x2='927.556' y2='18.152' gradientTransform='matrix(-1 0 0 1 928 0)'%3E%3Cstop offset='.113' stop-color='%23FFBD00'/%3E%3Cstop offset='.586' stop-color='%23E343E6'/%3E%3Cstop offset='.817' stop-color='%23EC841B'/%3E%3Cstop offset='.935' stop-color='%23FFBD00'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M18.9 15.7L21 0 51.2 33.6 42.4 42.3 49.2 70 11.6 70z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='25.5' y1='-1.93' x2='69.96' y2='51.168'%3E%3Cstop offset='.129' stop-color='%23FFBD00'/%3E%3Cstop offset='.64' stop-color='%23E343E6'/%3E%3Cstop offset='.909' stop-color='%23C40B55'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M35.3 47.1L70 47.1 58.4 0 21 0z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath d='M17.4,19h8.2c2.3,0,4,0.6,5.2,1.8c1,1,1.5,2.4,1.5,4.1V25c0,1.5-0.4,2.6-1.1,3.5 c-0.7,0.9-1.6,1.6-2.8,2l4.4,6.4h-4.6l-3.7-5.5h-3.3l0,5.5h-3.9V19z M25.4,27.7c1,0,1.7-0.2,2.2-0.7c0.5-0.5,0.8-1.1,0.8-1.8 v-0.1c0-0.9-0.3-1.5-0.8-1.9c-0.5-0.4-1.3-0.6-2.3-0.6h-3.9v5.1H25.4z' fill='%23FFF'/%3E%3Cpath fill='%23FFF' d='M17.4 48.5H33.599999999999994V51.2H17.4z'/%3E%3Cg%3E%3Cpath d='M43.7,24.4h-4v-3.6h4v-4h3.7v4h4v3.6h-4v4h-3.7V24.4z' fill='%23FFF'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M37.1,34.6h-4V31h4v-4h3.7v4h4v3.6h-4v4h-3.7V34.6z' fill='%23FFF'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-resharper-cpp._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-resharper-cpp._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-resharper-cpp._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-resharper-cpp._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-resharper-cpp._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-rubymine { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='49.609' y1='52.554' x2='30.346' y2='7.163'%3E%3Cstop offset='.172' stop-color='%23FF1F51'/%3E%3Cstop offset='.28' stop-color='%23FF3648'/%3E%3Cstop offset='.468' stop-color='%23FF593B'/%3E%3Cstop offset='.646' stop-color='%23FF7231'/%3E%3Cstop offset='.809' stop-color='%23FF812B'/%3E%3Cstop offset='.941' stop-color='%23FF8629'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M58.2 0L38.2 7.2 22.4 0 6.9 38.9 24.7 31.8 24.4 51.5 62.5 52.2 70 13.7z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='33.259' y1='12.887' x2='25.105' y2='33.436'%3E%3Cstop offset='.022' stop-color='%239039D0'/%3E%3Cstop offset='.629' stop-color='%23FF1F51'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M50.8 22.7L25.6 6.2 5.3 18.7 49.8 35.9z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='.29' y1='11.224' x2='45.284' y2='68.42'%3E%3Cstop offset='.107' stop-color='%239039D0'/%3E%3Cstop offset='.387' stop-color='%23FF1F51'/%3E%3Cstop offset='.629' stop-color='%23FF1F51'/%3E%3Cstop offset='.66' stop-color='%23FF3648'/%3E%3Cstop offset='.714' stop-color='%23FF593B'/%3E%3Cstop offset='.765' stop-color='%23FF7231'/%3E%3Cstop offset='.812' stop-color='%23FF812B'/%3E%3Cstop offset='.85' stop-color='%23FF8629'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M29.1 68.2L55.3 64.7 47 48.7 52.5 42 53.1 37.9 25.6 6.1 0 12.4 0 49.1 14.8 70 29.1 68.2 29.1 68.2 29.1 68.2 29.1 68.2z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3Cpath fill='%23FFF' d='M34.6 19L38.9 19 43.6 26.6 48.3 19 52.6 19 52.6 36.9 48.6 36.9 48.6 25.2 43.6 32.9 43.5 32.9 38.5 25.3 38.5 36.9 34.6 36.9z'/%3E%3Cpath d='M17.4,19h8.2c2.3,0,4,0.6,5.2,1.8c1,1,1.5,2.4,1.5,4.1v0.1c0,1.5-0.4,2.6-1.1,3.5 c-0.7,0.9-1.6,1.6-2.8,2l4.4,6.4h-4.6l-3.7-5.5h-3.3l0,5.5h-3.9V19z M25.4,27.7c1,0,1.7-0.2,2.2-0.7c0.5-0.5,0.8-1.1,0.8-1.8v-0.1 c0-0.9-0.3-1.5-0.8-1.9c-0.5-0.4-1.3-0.6-2.3-0.6h-3.9v5.1H25.4z' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-rubymine._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-rubymine._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-rubymine._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-rubymine._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-rubymine._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-teamcity { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='1.774' y1='31.273' x2='40.166' y2='31.273'%3E%3Cstop offset='0' stop-color='%23905CFB'/%3E%3Cstop offset='.068' stop-color='%23776CF9'/%3E%3Cstop offset='.173' stop-color='%235681F7'/%3E%3Cstop offset='.286' stop-color='%233B92F5'/%3E%3Cstop offset='.41' stop-color='%23269FF4'/%3E%3Cstop offset='.547' stop-color='%2317A9F3'/%3E%3Cstop offset='.711' stop-color='%230FAEF2'/%3E%3Cstop offset='.968' stop-color='%230CB0F2'/%3E%3C/linearGradient%3E%3Cpath d='M39.7,47.9l-6.1-34c-0.4-2.4-1.2-4.8-2.7-7.1c-2-3.2-5.2-5.4-8.8-6.3 C7.9-2.9-2.6,11.3,3.6,23.9c0,0,0,0,0,0l14.8,31.7c0.4,1,1,2,1.7,2.9c1.2,1.6,2.8,2.8,4.7,3.4C34.4,64.9,42.1,56.4,39.7,47.9z' fill='url(%23a)'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='5.311' y1='9.669' x2='69.228' y2='43.866'%3E%3Cstop offset='0' stop-color='%23905CFB'/%3E%3Cstop offset='.068' stop-color='%23776CF9'/%3E%3Cstop offset='.173' stop-color='%235681F7'/%3E%3Cstop offset='.286' stop-color='%233B92F5'/%3E%3Cstop offset='.41' stop-color='%23269FF4'/%3E%3Cstop offset='.547' stop-color='%2317A9F3'/%3E%3Cstop offset='.711' stop-color='%230FAEF2'/%3E%3Cstop offset='.968' stop-color='%230CB0F2'/%3E%3C/linearGradient%3E%3Cpath d='M67.4,26.5c-1.4-2.2-3.4-3.9-5.7-4.9L25.5,1.7l0,0c-1-0.5-2.1-1-3.3-1.3 C6.7-3.2-4.4,13.8,5.5,27c1.5,2,3.6,3.6,6,4.5L48,47.9c0.8,0.5,1.6,0.8,2.5,1.1C64.5,53.4,75.1,38.6,67.4,26.5z' fill='url(%23b)'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='-19.284' y1='70.82' x2='55.983' y2='33.186'%3E%3Cstop offset='0' stop-color='%233BEA62'/%3E%3Cstop offset='.117' stop-color='%2331DE80'/%3E%3Cstop offset='.302' stop-color='%2324CEA8'/%3E%3Cstop offset='.484' stop-color='%231AC1C9'/%3E%3Cstop offset='.659' stop-color='%2312B7DF'/%3E%3Cstop offset='.824' stop-color='%230EB2ED'/%3E%3Cstop offset='.968' stop-color='%230CB0F2'/%3E%3C/linearGradient%3E%3Cpath d='M67.4,26.5c-1.8-2.8-4.6-4.8-7.9-5.6c-3.5-0.8-6.8-0.5-9.6,0.7L11.4,36.1 c0,0-0.2,0.1-0.6,0.4C0.9,40.4-4,53.3,4,64c1.8,2.4,4.3,4.2,7.1,5c5.3,1.6,10.1,1,14-1.1c0,0,0.1,0,0.1,0l37.6-20.1 c0,0,0,0,0.1-0.1C69.5,43.9,72.6,34.6,67.4,26.5z' fill='url(%23c)'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='38.944' y1='5.85' x2='5.423' y2='77.509'%3E%3Cstop offset='0' stop-color='%233BEA62'/%3E%3Cstop offset='.094' stop-color='%232FDB87'/%3E%3Cstop offset='.196' stop-color='%2324CEA8'/%3E%3Cstop offset='.306' stop-color='%231BC3C3'/%3E%3Cstop offset='.426' stop-color='%2314BAD8'/%3E%3Cstop offset='.56' stop-color='%2310B5E7'/%3E%3Cstop offset='.719' stop-color='%230DB1EF'/%3E%3Cstop offset='.968' stop-color='%230CB0F2'/%3E%3C/linearGradient%3E%3Cpath d='M50.3,12.8c1.2-2.7,1.1-6-0.9-9c-1.1-1.8-2.9-3-4.9-3.5c-4.5-1.1-8.3,1-10.1,4.2L3.5,42 c0,0,0,0,0,0.1C-0.9,47.9-1.6,56.5,4,64c1.8,2.4,4.3,4.2,7.1,5c10.5,3.3,19.3-2.5,22.1-10.8L50.3,12.8z' fill='url(%23d)'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3Cpath fill='%23FFF' d='M22.9 22.7L17.5 22.7 17.5 19.1 32.3 19.1 32.3 22.7 26.8 22.7 26.8 37 22.9 37z'/%3E%3Cpath d='M32.5,28.1L32.5,28.1c0-5.1,3.8-9.3,9.3-9.3c3.4,0,5.4,1.1,7.1,2.8l-2.5,2.9c-1.4-1.3-2.8-2-4.6-2 c-3,0-5.2,2.5-5.2,5.6V28c0,3.1,2.1,5.6,5.2,5.6c2,0,3.3-0.8,4.7-2.1l2.5,2.5c-1.8,2-3.9,3.2-7.3,3.2 C36.4,37.3,32.5,33.2,32.5,28.1' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-teamcity._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-teamcity._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-teamcity._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-teamcity._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-teamcity._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-toolbox { + background-image: url("data:image/svg+xml,%3Csvg data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='2.18' y1='23.255' x2='30.041' y2='8.782' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.043' stop-color='%23ff8618'/%3E%3Cstop offset='.382' stop-color='%23ff246e'/%3E%3Cstop offset='.989' stop-color='%23af1df5'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ctitle%3EToolBox_trayIcon_colour_32-01%3C/title%3E%3Cpath d='M26,22.4713l-6.83,3.8311V23.2578L26,19.4268v3.0445Z' fill='%23fff'/%3E%3Cpath fill='%23000001' d='M16 32.076L30 24.065 30 8.057 16 16.067 16 32.076z'/%3E%3Cpath fill='%23fff' d='M18.925 24.641L18.925 27.041 25.026 23.55 25.026 21.15 18.925 24.641z'/%3E%3Cpath fill='url(%23a)' d='M16 0.076L2 8.057 2 8.057 2 8.057 2 24.065 16 32.076 16 16.067 30 8.057 16 0.076z'/%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-toolbox._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-toolbox._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-toolbox._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-toolbox._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-toolbox._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-upsource { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='64.913' y1='54.385' x2='17.513' y2='47.275' gradientTransform='matrix(1 0 0 -1 0 65.395)'%3E%3Cstop offset='0' stop-color='%23FF8200'/%3E%3Cstop offset='.973' stop-color='%23905CFB'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M60.5 24L9.6 26.9 9.3 7.4 55.2 0.2z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='15.675' y1='30.593' x2='20.093' y2='55.275' gradientTransform='matrix(1 0 0 -1 0 65.395)'%3E%3Cstop offset='0' stop-color='%230CB0F2'/%3E%3Cstop offset='.973' stop-color='%23905CFB'/%3E%3C/linearGradient%3E%3Cpath d='M20.3,43.2l16.4-20.8L18.9,10.2l0,0c-3.1-2.8-7.8-4-12.6-2c-2.4,1-4.3,2.9-5.3,5.3 c-2.1,5-0.8,9.9,2.4,12.9l0,0L20.3,43.2z' fill='url(%23b)'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='58.335' y1='11.729' x2='26.978' y2='27.043' gradientTransform='matrix(1 0 0 -1 0 65.395)'%3E%3Cstop offset='0' stop-color='%230CB0F2'/%3E%3Cstop offset='.973' stop-color='%23905CFB'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M20.3 43.2L45.5 68.1 61.2 38.8 36.7 22.4z'/%3E%3ClinearGradient id='d' gradientUnits='userSpaceOnUse' x1='60.678' y1='9.337' x2='7.352' y2='28.508' gradientTransform='matrix(1 0 0 -1 0 65.395)'%3E%3Cstop offset='0' stop-color='%230CB0F2'/%3E%3Cstop offset='.973' stop-color='%23905CFB'/%3E%3C/linearGradient%3E%3Cpath d='M53.9,36.6L53.9,36.6l-41.9-2l0,0c-1.6-0.3-3.4-0.2-5.3,0.6c-1.8,0.8-3.2,2.1-3.9,3.9 c-2.1,4.9,0.4,9.6,4.5,11.2l0,0L44.8,68c0.5,0.3,3,1,3,1c2,0.6,4.2,0.9,6.2,0.9c2.5,0,5.3-0.7,8.1-2.1c2.6-1.3,4.2-3.4,5.6-6 c1.7-3,2.2-5.8,2.2-8.6C69.8,44.5,62.6,37.2,53.9,36.6z' fill='url(%23d)'/%3E%3ClinearGradient id='e' gradientUnits='userSpaceOnUse' x1='64.194' y1='59.46' x2='18.524' y2='22.651' gradientTransform='matrix(1 0 0 -1 0 65.395)'%3E%3Cstop offset='0' stop-color='%23FF8200'/%3E%3Cstop offset='.973' stop-color='%23905CFB'/%3E%3C/linearGradient%3E%3Cpath d='M52.1,1.1c-0.7,0.3-1.4,0.7-2,1.1l0,0L26.9,19.7l11.5,16.8l25.2-14.1 c1.9-0.9,3.4-2.5,4.3-4.3C73.5,7.3,63.1-3.5,52.1,1.1z' fill='url(%23e)'/%3E%3Cpath fill='%23905CFB' d='M14.5 49.8L38.4 36.5 26.9 19.7 4.9 36.2z'/%3E%3ClinearGradient id='f' gradientUnits='userSpaceOnUse' x1='30.448' y1='16.152' x2='2.265' y2='26.168' gradientTransform='matrix(1 0 0 -1 0 65.395)'%3E%3Cstop offset='0' stop-color='%230CB0F2'/%3E%3Cstop offset='.973' stop-color='%23905CFB'/%3E%3C/linearGradient%3E%3Cpath d='M20.4,56.4V35L12,34.6H12c-1.6-0.3-3.4-0.2-5.3,0.6c-1.8,0.8-3.2,2.1-3.9,3.9 c-2.1,4.9,0.4,9.6,4.5,11.2h0.1L20.4,56.4z' fill='url(%23f)'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cg fill='%23FFF'%3E%3Cpath d='M17.5,29.4V19h4v10.3c0,3,1.5,4.5,3.9,4.5s3.9-1.5,3.9-4.4V19h4v10.2c0,5.5-3.1,8.2-8,8.2 C20.5,37.5,17.5,34.7,17.5,29.4z'/%3E%3Cpath d='M35.4,19h7.4c4.3,0,6.9,2.6,6.9,6.3v0.1c0,4.2-3.3,6.4-7.3,6.4h-3v5.4h-4V19z M42.6,28.2 c2,0,3.2-1.2,3.2-2.7v-0.1c0-1.8-1.2-2.7-3.2-2.7h-3.1v5.5H42.6z'/%3E%3C/g%3E%3Cpath fill='%23FFF' d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-upsource._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-upsource._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-upsource._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-upsource._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-upsource._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-webstorm { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='25.068' y1='1.46' x2='43.183' y2='66.675'%3E%3Cstop offset='.285' stop-color='%2300CDD7'/%3E%3Cstop offset='.941' stop-color='%232086D7'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M9.4 63.3L0 7.3 17.5 0.1 28.6 6.7 38.8 1.2 60.1 9.4 48.1 70z'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='30.72' y1='9.734' x2='61.365' y2='54.671'%3E%3Cstop offset='.14' stop-color='%23FFF045'/%3E%3Cstop offset='.366' stop-color='%2300CDD7'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23b)' d='M70 23.7L61 1.4 44.6 0 19.3 24.3 26.1 55.6 38.8 64.6 70 46 62.3 31.7z'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='61.082' y1='15.29' x2='65.106' y2='29.544'%3E%3Cstop offset='.285' stop-color='%2300CDD7'/%3E%3Cstop offset='.941' stop-color='%232086D7'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23c)' d='M56 20.4L62.3 31.7 70 23.7 64.4 9.8z'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.5 48.5H33.7V51.2H17.5z'/%3E%3Cpath d='M38.7,34.3l2.3-2.8c1.6,1.3,3.3,2.2,5.3,2.2c1.6,0,2.5-0.6,2.5-1.7v-0.1c0-1-0.6-1.5-3.6-2.3 c-3.6-0.9-5.8-1.9-5.8-5.5v-0.1c0-3.3,2.6-5.4,6.2-5.4c2.6,0,4.8,0.8,6.6,2.3l-2,3c-1.6-1.1-3.1-1.8-4.6-1.8 c-1.5,0-2.3,0.7-2.3,1.6v0.1c0,1.2,0.8,1.6,3.8,2.4c3.6,1,5.6,2.3,5.6,5.4v0.1c0,3.6-2.7,5.6-6.5,5.6 C43.5,37.2,40.8,36.2,38.7,34.3' fill='%23FFF'/%3E%3Cpath fill='%23FFF' d='M35.2 19L32.5 29.4 29.5 19 26.5 19 23.4 29.4 20.7 19 16.6 19 21.7 36.9 25 36.9 28 26.5 30.9 36.9 34.3 36.9 39.4 19z'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-webstorm._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-webstorm._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-webstorm._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-webstorm._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-webstorm._size-5 { + width: 150px; + height: 150px +} + +.jetbrains-logo._logo-youtrack { + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' width='70' height='70' viewBox='0 0 70 70' xml:space='preserve'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='7.083' y1='16.294' x2='64.106' y2='42.288' gradientTransform='matrix(1 0 0 -1 0 71.047)'%3E%3Cstop offset='0' stop-color='%23905CFB'/%3E%3Cstop offset='.165' stop-color='%236677F8'/%3E%3Cstop offset='.378' stop-color='%233596F5'/%3E%3Cstop offset='.54' stop-color='%2317A9F3'/%3E%3Cstop offset='.632' stop-color='%230CB0F2'/%3E%3C/linearGradient%3E%3Cpath d='M66.9,47.5c-0.2-0.2-13.1-12.6-13.1-12.6s9.8-10.4,12.4-13c0.8-0.8,1.5-1.6,2-2.6 c3.6-6.1,1.5-13.9-4.6-17.5c-4.5-2.6-10.1-2.2-14.1,0.8c-0.7,0.5-1.3,1-1.9,1.6C47.3,4.6,33.7,17,21.9,27.8l22.1,14L20.8,67.9 c-1.4,1-2.8,1.6-4.3,1.9c0.3,0,0.5,0,0.8-0.1c4.6-0.7,43.9-7.3,45.8-7.7c2.3-0.4,4.4-1.8,5.7-3.9C71,54.5,70,50,66.9,47.5z' fill='url(%23a)'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='30.31' y1='42.916' x2='1.068' y2='68.744' gradientTransform='matrix(1 0 0 -1 0 71.047)'%3E%3Cstop offset='0' stop-color='%23905CFB'/%3E%3Cstop offset='.072' stop-color='%23A554E6'/%3E%3Cstop offset='.252' stop-color='%23D641B5'/%3E%3Cstop offset='.39' stop-color='%23F43597'/%3E%3Cstop offset='.468' stop-color='%23FF318C'/%3E%3C/linearGradient%3E%3Cpath d='M45.9,30.5c-0.4-2.7-1.8-4.9-3.8-6.5C40,22.4,23.8,5.6,22,3.7C19.2,1,15.2-0.5,11.1,0.2 C4.1,1.2-0.8,7.8,0.3,14.8c0.5,3.5,2.5,6.5,5.1,8.4c2.6,2,23,16,24.3,17c2.1,1.6,4.9,2.5,7.7,2C42.9,41.2,46.8,36,45.9,30.5z' fill='url(%23b)'/%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='4.983' y1='12.362' x2='74.023' y2='55.864' gradientTransform='matrix(1 0 0 -1 0 71.047)'%3E%3Cstop offset='0' stop-color='%23905CFB'/%3E%3Cstop offset='.165' stop-color='%236677F8'/%3E%3Cstop offset='.378' stop-color='%233596F5'/%3E%3Cstop offset='.54' stop-color='%2317A9F3'/%3E%3Cstop offset='.632' stop-color='%230CB0F2'/%3E%3C/linearGradient%3E%3Cpath d='M23,67.8c0.1,0,23.3-26.1,23.3-26.1L22.9,26.9c-8.3,7.6-16,14.5-17.8,16.2 c-1.1,1-2.2,2.3-3,3.7c-4.3,7.4-1.8,16.8,5.6,21.1C10.7,69.6,17.5,71.7,23,67.8z' fill='url(%23c)'/%3E%3Cg%3E%3Cpath fill='%23000' d='M13.4 13.4H56.6V56.6H13.4z'/%3E%3Cpath fill='%23FFF' d='M17.4 48.5H33.599999999999994V51.2H17.4z'/%3E%3Cpath fill='%23FFF' d='M23.8 29.9L17 19.1 21.6 19.1 25.8 26.2 30.2 19.1 34.7 19.1 27.8 29.8 27.8 37 23.8 37z'/%3E%3Cpath fill='%23FFF' d='M41.6 22.7L36.1 22.7 36.1 19.1 51 19.1 51 22.7 45.5 22.7 45.5 37 41.6 37z'/%3E%3C/g%3E%3C/svg%3E") +} + +.jetbrains-logo._logo-youtrack._size-1 { + width: 40px; + height: 40px +} + +.jetbrains-logo._logo-youtrack._size-2 { + width: 60px; + height: 60px +} + +.jetbrains-logo._logo-youtrack._size-3 { + width: 75px; + height: 75px +} + +.jetbrains-logo._logo-youtrack._size-4 { + width: 100px; + height: 100px +} + +.jetbrains-logo._logo-youtrack._size-5 { + width: 150px; + height: 150px +} diff --git a/site/src/jsMain/resources/main.scss b/site/src/jsMain/resources/main.scss new file mode 100644 index 0000000..f8bd0a0 --- /dev/null +++ b/site/src/jsMain/resources/main.scss @@ -0,0 +1,17 @@ +$prim1: #FFFF63; +$prim2: #FFFF39; +$prim3: #FFFF00; +$prim4: #C5C500; +$prim5: #9B9B00; + +$sec1: #C1F25E; +$sec2: #B1EF35; +$sec3: #9FEE00; +$sec4: #9FEE00; +$sec5: #7BB800; + +$tert1: #FFE463; +$tert2: #FFDD39; +$tert3: #FFD300; +$tert4: #FFD300; +$tert5: #9B8000; diff --git a/site/src/jsTest/kotlin/examplesTest.kt b/site/src/jsTest/kotlin/examplesTest.kt new file mode 100644 index 0000000..2c225be --- /dev/null +++ b/site/src/jsTest/kotlin/examplesTest.kt @@ -0,0 +1,62 @@ +package dev.adamko.kotka.site + +import dev.adamko.kotka.site.content.namingOperators +import kotlin.test.Test +import kotlinx.browser.document +import org.jetbrains.compose.web.testutils.* +import org.w3c.dom.asList + +// scrape the tree, and create snippets +data class Snippet( + val filename: String, + val testCode: String, + val expected: String, +) + +class ExamplesTest { + + @Test + fun testButton() = runTest { + println("running testButton()...") + composition { + namingOperators() + } + + val testCodes = document.querySelectorAll("[data-test-code]") + .asList() + .forEach { node -> + println(node.textContent) + } + val nodes = document.querySelectorAll("[data-test-expected]") + + println(nodes.length) + println(nodes) + + root.childNodes // ... + + val snippets: List = emptyList() + + // save the snippets to disk... + snippets.forEach { snippet -> + + // testCode can be saved directly to 'filename' + saveFile(snippet.filename, snippet.testCode) + + // also generate a test + saveFile( + "test-${snippet.filename}", """ + fun `test ${snippet.filename}`() { + val output = captureOutput { main() } + assertEquals(snippet.expected, output) + } + """.trimIndent() + ) + } + + // somehow (a custom Gradle task?) run the generated tests... + } + + fun saveFile(filename: String, content: String) { + // save file to disk... + } +} diff --git a/site/src/jvmMain/kotlin/mainJvm.kt b/site/src/jvmMain/kotlin/mainJvm.kt new file mode 100644 index 0000000..e69de29 diff --git a/site/src/jvmMain/kotlin/snippets/ContentElement.kt b/site/src/jvmMain/kotlin/snippets/ContentElement.kt new file mode 100644 index 0000000..255d59d --- /dev/null +++ b/site/src/jvmMain/kotlin/snippets/ContentElement.kt @@ -0,0 +1 @@ +package dev.adamko.kotka.site.snippets From 083bd193de13e0a95878a38b0a5ddf99982d80c0 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Fri, 13 Jan 2023 11:24:12 +0100 Subject: [PATCH 2/7] mark site as documentation in GitHub Language stats --- .gitattributes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitattributes b/.gitattributes index e566c14..1e7e8cf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -16,3 +16,6 @@ text eol=lf # (binary is a macro for -text -diff) *.jar binary *.war binary + +# https://github.com/github/linguist/blob/v7.24.1/docs/overrides.md +site/** linguist-documentation From 1a860556208669e4e957d39fd6abab9e829fcccd Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Mon, 13 Mar 2023 15:39:21 +0100 Subject: [PATCH 3/7] site WIP --- site/src/commonMain/kotlin/DocPage.kt | 52 ++++++++++--------- .../kotlin/snippets/snippetDocElements.kt | 18 +++++-- site/src/jvmMain/kotlin/mainJvm.kt | 0 .../jvmMain/kotlin/snippets/ContentElement.kt | 1 - 4 files changed, 42 insertions(+), 29 deletions(-) delete mode 100644 site/src/jvmMain/kotlin/mainJvm.kt delete mode 100644 site/src/jvmMain/kotlin/snippets/ContentElement.kt diff --git a/site/src/commonMain/kotlin/DocPage.kt b/site/src/commonMain/kotlin/DocPage.kt index 805b87b..ce7d51d 100644 --- a/site/src/commonMain/kotlin/DocPage.kt +++ b/site/src/commonMain/kotlin/DocPage.kt @@ -34,17 +34,17 @@ fun TagConsumer.namingOperators2(): T { } - val consumedAsWithBackticks by registeringExample() - - consumedAsWithBackticks.codeBlockKotlin( - """ - val stream: KStream = builder.stream( - "input", - // 'as' is a keyword - must escape it with backticks - Consumed.`as`("Customer_transactions_input_topic") - ) - """.trimIndent() - ) + val consumedAsWithBackticks by registeringExample { + codeBlockKotlin( + """ + val stream: KStream = builder.stream( + "input", + // 'as' is a keyword - must escape it with backticks + Consumed.`as`("Customer_transactions_input_topic") + ) + """.trimIndent() + ) + } p { text("Kotka streams provides an extension function, ") @@ -52,28 +52,30 @@ fun TagConsumer.namingOperators2(): T { text(" that performs the same functionality - no backticks required.") } - val consumedAsWithoutBackticks by registeringExample() - - consumedAsWithoutBackticks.codeBlockKotlin( - """ - import dev.adamko.kotka.extensions.* - - val stream: KStream = builder.stream( - "input", - consumedAs("Customer_transactions_input_topic") - ) - """.trimIndent() - ) + val consumedAsWithoutBackticks by registeringExample { + codeBlockKotlin( + """ + import dev.adamko.kotka.extensions.* + + val stream: KStream = builder.stream( + "input", + consumedAs("Customer_transactions_input_topic") + ) + """.trimIndent() + ) + } p { text("Both functions produce the same topology, with a named Source.") } - expectedResult(consumedAsWithBackticks, consumedAsWithoutBackticks, code = """ + expectedResult( + consumedAsWithBackticks, consumedAsWithoutBackticks, code = """ Topologies: Sub-topology: 0 Source: Customer_transactions_input_topic (topics: [input]) - """.trimIndent()) + """.trimIndent() + ) } } diff --git a/site/src/commonMain/kotlin/snippets/snippetDocElements.kt b/site/src/commonMain/kotlin/snippets/snippetDocElements.kt index 2b0897c..11c052a 100644 --- a/site/src/commonMain/kotlin/snippets/snippetDocElements.kt +++ b/site/src/commonMain/kotlin/snippets/snippetDocElements.kt @@ -87,6 +87,11 @@ class CodeSnippetContext( attributes["data-test-code"] = name } +// fun CodeSnippetExample.expectedResult(@Language("TEXT") code: String) = +// codeBlock(code, "plaintext") { +// attributes["data-test-expected"] = name +// } + fun expectedResult( example: CodeSnippetExample, vararg examples: CodeSnippetExample, @@ -109,7 +114,9 @@ class CodeSnippetExample( ) -fun CodeSnippetContext<*>.registeringExample() = CodeSnippetExampleDelegateProvider(this) +fun CodeSnippetContext<*>.registeringExample( + block: CodeSnippetExample.() -> Unit = {}, +) = CodeSnippetExampleDelegateProvider(this, block) class CodeSnippetExampleDelegate( @@ -120,13 +127,18 @@ class CodeSnippetExampleDelegate( } class CodeSnippetExampleDelegateProvider( - private val context: CodeSnippetContext<*> + private val context: CodeSnippetContext<*>, + private val block: CodeSnippetExample.() -> Unit = {}, ) : PropertyDelegateProvider { override operator fun provideDelegate( thisRef: Any?, property: KProperty<*> - ) = CodeSnippetExampleDelegate(context.registerExample(property.name)) + ): CodeSnippetExampleDelegate { + val example = context.registerExample(property.name) + example.block() + return CodeSnippetExampleDelegate(example) + } } diff --git a/site/src/jvmMain/kotlin/mainJvm.kt b/site/src/jvmMain/kotlin/mainJvm.kt deleted file mode 100644 index e69de29..0000000 diff --git a/site/src/jvmMain/kotlin/snippets/ContentElement.kt b/site/src/jvmMain/kotlin/snippets/ContentElement.kt deleted file mode 100644 index 255d59d..0000000 --- a/site/src/jvmMain/kotlin/snippets/ContentElement.kt +++ /dev/null @@ -1 +0,0 @@ -package dev.adamko.kotka.site.snippets From a11aa766d036cc5e808482e2420cae5969d5edb5 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Mon, 13 Mar 2023 15:40:09 +0100 Subject: [PATCH 4/7] update kdocs --- .../kotka/extensions/QueryableStoreType.kt | 1 + .../kotka/extensions/namedOperations.kt | 23 ++++++------ .../kotka/extensions/state/keyValueStore.kt | 36 +++++++++---------- .../extensions/streams/BranchedKStream.kt | 2 +- .../kotka/extensions/streams/KStream.kt | 23 ++++++++---- .../adamko/kotka/extensions/streamsBuilder.kt | 2 ++ .../adamko/kotka/extensions/tables/KTable.kt | 34 ++++++++---------- .../src/main/kotlin/main.kt | 23 ------------ 8 files changed, 63 insertions(+), 81 deletions(-) delete mode 100644 modules/kotka-streams-extensions/src/main/kotlin/main.kt diff --git a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/QueryableStoreType.kt b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/QueryableStoreType.kt index b2f9834..3a59a63 100644 --- a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/QueryableStoreType.kt +++ b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/QueryableStoreType.kt @@ -5,4 +5,5 @@ import org.apache.kafka.streams.state.ReadOnlyKeyValueStore import org.apache.kafka.streams.state.ValueAndTimestamp +/** @see org.apache.kafka.streams.state.QueryableStoreType */ typealias TimestampedQueryStoreType = QueryableStoreType>> diff --git a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/namedOperations.kt b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/namedOperations.kt index 4f76a9f..e396aee 100644 --- a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/namedOperations.kt +++ b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/namedOperations.kt @@ -2,21 +2,12 @@ package dev.adamko.kotka.extensions import org.apache.kafka.common.serialization.Serde import org.apache.kafka.streams.Topology -import org.apache.kafka.streams.kstream.Branched -import org.apache.kafka.streams.kstream.Consumed -import org.apache.kafka.streams.kstream.Grouped -import org.apache.kafka.streams.kstream.Joined -import org.apache.kafka.streams.kstream.KeyValueMapper -import org.apache.kafka.streams.kstream.Named -import org.apache.kafka.streams.kstream.Printed -import org.apache.kafka.streams.kstream.Produced -import org.apache.kafka.streams.kstream.Repartitioned -import org.apache.kafka.streams.kstream.TableJoined +import org.apache.kafka.streams.kstream.* import org.apache.kafka.streams.processor.StreamPartitioner import org.apache.kafka.streams.processor.TimestampExtractor -/** @see [Named] */ +/** @see Named */ fun namedAs(name: String): Named = Named.`as`(name) @@ -66,7 +57,7 @@ fun joinedAs( .withOtherValueSerde(otherValueSerde) -/** @see [Grouped.`as`] */ +/** @see Grouped.as */ fun groupedAs( name: String? = null, keySerde: Serde? = null, @@ -77,7 +68,7 @@ fun groupedAs( .withValueSerde(valueSerde) -/** @see [Consumed.`as`] */ +/** @see Consumed.as */ fun consumedAs( name: String? = null, keySerde: Serde? = null, @@ -92,10 +83,12 @@ fun consumedAs( .withTimestampExtractor(timestampExtractor) +/** @see [Branched.`as`] */ fun branchedAs(name: String): Branched = Branched.`as`(name) +/** @see TableJoined.as */ fun tableJoined( name: String? = null, partitioner: StreamPartitioner? = null, @@ -106,6 +99,7 @@ fun tableJoined( .withOtherPartitioner(otherPartitioner) +/** @see Printed */ fun printed( name: String? = null, outputStream: PrintedOutputStream, @@ -131,7 +125,10 @@ fun printed( } +/** @see printed */ sealed interface PrintedOutputStream { + /** @see Printed.toSysOut */ object SysOut : PrintedOutputStream + /** @see Printed.toFile */ data class File(val filePath: String) : PrintedOutputStream } diff --git a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/state/keyValueStore.kt b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/state/keyValueStore.kt index d0679ea..6a5d0a2 100644 --- a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/state/keyValueStore.kt +++ b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/state/keyValueStore.kt @@ -10,12 +10,12 @@ typealias KeyValueIteratorOperation = KeyValueIterator.() -> /** - * Iterate over [all][KeyValueStore.all] records. + * Iterate over [all][org.apache.kafka.streams.state.KeyValueStore.all] records. * * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.all + * @see org.apache.kafka.streams.state.KeyValueStore.all */ inline fun KeyValueStore.useAll( operation: KeyValueIteratorOperation @@ -24,12 +24,12 @@ inline fun KeyValueStore.useAll( /** - * Reverse-iterate over [all][KeyValueStore.reverseAll] records. + * Reverse-iterate over [all][org.apache.kafka.streams.state.KeyValueStore.reverseAll] records. * * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.reverseAll + * @see org.apache.kafka.streams.state.KeyValueStore.reverseAll */ inline fun KeyValueStore.useReverseAll( operation: KeyValueIteratorOperation @@ -38,12 +38,12 @@ inline fun KeyValueStore.useReverseAll( /** - * Iterate over [a range][KeyValueStore.range] of records. + * Iterate over [a range][org.apache.kafka.streams.state.KeyValueStore.range] of records. * * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.range + * @see org.apache.kafka.streams.state.KeyValueStore.range */ inline fun KeyValueStore.useRange( from: K? = null, @@ -54,12 +54,12 @@ inline fun KeyValueStore.useRange( /** - * Reverse-iterate over [a range][KeyValueStore.range] of records. + * Reverse-iterate over [a range][org.apache.kafka.streams.state.KeyValueStore.range] of records. * * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.reverseRange + * @see org.apache.kafka.streams.state.KeyValueStore.reverseRange */ inline fun KeyValueStore.useReverseRange( from: K? = null, @@ -75,7 +75,7 @@ inline fun KeyValueStore.useReverseRange( * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.prefixScan + * @see org.apache.kafka.streams.state.KeyValueStore.prefixScan */ inline fun KeyValueStore.usePrefixScan( prefix: Prefix, @@ -86,36 +86,36 @@ inline fun KeyValueStore.usePrefixScan( /** - * Generate a [Sequence] of [all][KeyValueStore.all] records. + * Generate a [Sequence] of [all][org.apache.kafka.streams.state.KeyValueStore.all] records. * * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.all + * @see org.apache.kafka.streams.state.KeyValueStore.all */ fun KeyValueStore.allAsSequence(): Sequence> = all().use { it.asSequence() } /** - * Generate a [Sequence] of all records, in [reverse][KeyValueStore.reverseAll] + * Generate a [Sequence] of all records, in [reverse][org.apache.kafka.streams.state.KeyValueStore.reverseAll] * * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.reverseAll + * @see org.apache.kafka.streams.state.KeyValueStore.reverseAll */ fun KeyValueStore.reverseAllAsSequence(): Sequence> = reverseAll().use { it.asSequence() } /** - * Generate a [Sequence] of [a range][KeyValueStore.range] of records. + * Generate a [Sequence] of [a range][org.apache.kafka.streams.state.KeyValueStore.range] of records. * * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.range + * @see org.apache.kafka.streams.state.KeyValueStore.range */ fun KeyValueStore.rangeAsSequence( from: K? = null, @@ -125,12 +125,12 @@ fun KeyValueStore.rangeAsSequence( /** - * Generate a [Sequence] of [a reverse-range][KeyValueStore.range] of records. + * Generate a [Sequence] of [a reverse-range][org.apache.kafka.streams.state.KeyValueStore.range] of records. * * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.reverseRange + * @see org.apache.kafka.streams.state.KeyValueStore.reverseRange */ fun KeyValueStore.reverseRangeAsSequence( from: K? = null, @@ -145,7 +145,7 @@ fun KeyValueStore.reverseRangeAsSequence( * This function is useful because the [KeyValueIterator] will be closed automatically * (see: [kotlin.io.use]) after all values have been consumed. * - * @see KeyValueStore.prefixScan + * @see org.apache.kafka.streams.state.KeyValueStore.prefixScan */ fun KeyValueStore.prefixScanAsSequence( prefix: Prefix, diff --git a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streams/BranchedKStream.kt b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streams/BranchedKStream.kt index 403202d..9ffa2e6 100644 --- a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streams/BranchedKStream.kt +++ b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streams/BranchedKStream.kt @@ -5,7 +5,7 @@ import org.apache.kafka.streams.kstream.BranchedKStream import org.apache.kafka.streams.kstream.Predicate -/** See [BranchedKStream.branch] */ +/** @see org.apache.kafka.streams.kstream.BranchedKStream.branch */ fun BranchedKStream.branch( branched: Branched, predicate: Predicate, diff --git a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streams/KStream.kt b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streams/KStream.kt index 4c19b25..7d96428 100644 --- a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streams/KStream.kt +++ b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streams/KStream.kt @@ -20,7 +20,7 @@ import org.apache.kafka.streams.processor.TopicNameExtractor import org.apache.kafka.streams.state.KeyValueStore -/** @see KStream.map */ +/** @see org.apache.kafka.streams.kstream.KStream.map */ inline fun KStream.map( name: String, crossinline mapper: (key: inK, value: inV) -> Pair @@ -28,14 +28,14 @@ inline fun KStream.map( map({ k, v -> mapper(k, v).toKeyValue() }, namedAs(name)) -/** @see [KStream.mapValues] */ +/** @see org.apache.kafka.streams.kstream.KStream.mapValues */ fun KStream.mapValues( name: String, mapper: (key: K, value: inV) -> outV ): KStream = mapValues(mapper, namedAs(name)) -/** @see KStream.flatMap */ +/** @see org.apache.kafka.streams.kstream.KStream.flatMap */ inline fun KStream.flatMap( name: String? = null, crossinline mapper: (key: inK, value: inV) -> Iterable> @@ -47,7 +47,7 @@ inline fun KStream.flatMap( } -/** @see KStream.flatMapValues */ +/** @see org.apache.kafka.streams.kstream.KStream.flatMapValues */ inline fun KStream.flatMapValues( name: String? = null, crossinline mapper: (key: inK, value: inV) -> Iterable @@ -59,13 +59,14 @@ inline fun KStream.flatMapValues( } -/** @see KStream.groupBy */ +/** @see org.apache.kafka.streams.kstream.KStream.groupBy */ fun KStream.groupBy( grouped: Grouped, keySelector: (K, V) -> outK ): KGroupedStream = groupBy(keySelector, grouped) +/** @see org.apache.kafka.streams.kstream.KStream.to */ fun KStream.to( produced: Produced? = null, topicNameExtractor: TopicNameExtractorKt, @@ -83,24 +84,28 @@ fun KStream.to( } +/** @see org.apache.kafka.streams.kstream.KStream.filter */ fun KStream.filter( name: String, predicate: (K, V) -> Boolean, ): KStream = filter(predicate, namedAs(name)) +/** @see org.apache.kafka.streams.kstream.KStream.filterNot */ fun KStream.filterNot( name: String, predicate: (K, V) -> Boolean, ): KStream = filterNot(predicate, namedAs(name)) +/** @see org.apache.kafka.streams.kstream.KStream.merge */ fun KStream.merge( name: String, other: KStream, ): KStream = merge(other, namedAs(name)) +/** @see org.apache.kafka.streams.kstream.KStream.toTable */ fun KStream.toTable( name: String? = null, materialized: Materialized>? = null @@ -114,6 +119,7 @@ fun KStream.toTable( } +/** @see org.apache.kafka.streams.kstream.KStream.split */ fun KStream.split( name: String? = null ): BranchedKStream = @@ -123,6 +129,7 @@ fun KStream.split( } +/** @see org.apache.kafka.streams.kstream.KStream.join */ fun KStream.join( table: KTable, joined: Joined, @@ -134,6 +141,7 @@ fun KStream.join( ) +/** @see org.apache.kafka.streams.kstream.KStream.join */ fun KStream.join( name: String, globalTable: GlobalKTable, @@ -148,6 +156,7 @@ fun KStream.join( ) +/** @see org.apache.kafka.streams.kstream.KStream.leftJoin */ fun KStream.leftJoin( name: String, globalTable: GlobalKTable, @@ -162,7 +171,7 @@ fun KStream.leftJoin( ) -/** @see KStream.foreach */ +/** @see org.apache.kafka.streams.kstream.KStream.foreach */ fun KStream.forEach( name: String? = null, forEachAction: ForeachAction, @@ -172,7 +181,7 @@ fun KStream.forEach( } -/** @see KStream.peek */ +/** @see org.apache.kafka.streams.kstream.KStream.peek */ fun KStream.peek( name: String? = null, forEachAction: ForeachAction, diff --git a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streamsBuilder.kt b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streamsBuilder.kt index 409d179..86bdbe2 100644 --- a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streamsBuilder.kt +++ b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/streamsBuilder.kt @@ -5,6 +5,7 @@ import org.apache.kafka.streams.kstream.Consumed import org.apache.kafka.streams.kstream.KStream +/** @see org.apache.kafka.streams.StreamsBuilder.stream */ fun StreamsBuilder.stream( consumed: Consumed? = null, vararg topics: String, @@ -14,6 +15,7 @@ fun StreamsBuilder.stream( } +/** @see org.apache.kafka.streams.StreamsBuilder.stream */ fun StreamsBuilder.stream( vararg topics: String, ): KStream = stream(topics.toList()) diff --git a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/tables/KTable.kt b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/tables/KTable.kt index 6d72eff..105cd78 100644 --- a/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/tables/KTable.kt +++ b/modules/kotka-streams-extensions/src/main/kotlin/dev/adamko/kotka/extensions/tables/KTable.kt @@ -4,18 +4,11 @@ import dev.adamko.kotka.extensions.namedAs import dev.adamko.kotka.extensions.tableJoined import org.apache.kafka.common.utils.Bytes import org.apache.kafka.streams.KeyValue -import org.apache.kafka.streams.kstream.Grouped -import org.apache.kafka.streams.kstream.KGroupedTable -import org.apache.kafka.streams.kstream.KStream -import org.apache.kafka.streams.kstream.KTable -import org.apache.kafka.streams.kstream.KeyValueMapper -import org.apache.kafka.streams.kstream.Materialized -import org.apache.kafka.streams.kstream.TableJoined -import org.apache.kafka.streams.kstream.ValueJoiner +import org.apache.kafka.streams.kstream.* import org.apache.kafka.streams.state.KeyValueStore -/** @see [KTable.mapValues] */ +/** @see org.apache.kafka.streams.kstream.KTable.mapValues */ fun KTable.mapValues( name: String? = null, materialized: Materialized>? = null, @@ -29,7 +22,7 @@ fun KTable.mapValues( } -/** @See [KTable.groupBy] */ +/** @see org.apache.kafka.streams.kstream.KTable.groupBy */ fun KTable.groupBy( grouped: Grouped? = null, selector: KeyValueMapper> @@ -39,7 +32,7 @@ fun KTable.groupBy( } -/** @See [KTable.join] */ +/** @see org.apache.kafka.streams.kstream.KTable.join */ fun KTable.join( other: KTable, name: String? = null, @@ -56,12 +49,12 @@ fun KTable.join( /** * A function that extracts the key ([otherK]) from this table's value ([V]). * If the result is null, the update is ignored as invalid. - * @see [KTable.join] + * See [KTable.join] */ fun interface ForeignKeyExtractor : (V) -> otherK? -/** @See [KTable.join] */ +/** @see org.apache.kafka.streams.kstream.KTable.join */ fun KTable.join( other: KTable, @@ -79,7 +72,7 @@ fun KTable.join( ) -/** @See [KTable.join] */ +/** @see org.apache.kafka.streams.kstream.KTable.join */ fun KTable.join( other: KTable, tableJoined: TableJoined? = null, @@ -103,7 +96,7 @@ fun KTable.join( } -/** @See [KTable.leftJoin] */ +/** @see org.apache.kafka.streams.kstream.KTable.leftJoin */ fun KTable.leftJoin( other: KTable, name: String? = null, @@ -119,7 +112,7 @@ fun KTable.leftJoin( } -/** @See [KTable.leftJoin] */ +/** @see org.apache.kafka.streams.kstream.KTable.leftJoin */ fun KTable.leftJoin( other: KTable, name: String? = null, @@ -136,7 +129,7 @@ fun KTable.leftJoin( ) -/** @See [KTable.leftJoin] */ +/** @see org.apache.kafka.streams.kstream.KTable.leftJoin */ fun KTable.leftJoin( other: KTable, tableJoined: TableJoined? = null, @@ -160,7 +153,7 @@ fun KTable.leftJoin( } -/** @See [KTable.outerJoin] */ +/** @see org.apache.kafka.streams.kstream.KTable.outerJoin */ fun KTable.outerJoin( other: KTable, name: String? = null, @@ -177,6 +170,7 @@ fun KTable.outerJoin( // the value of the resulting KStream is nullable, because it includes record deletions. +/** @see org.apache.kafka.streams.kstream.KTable.toStream */ fun KTable.toStream( name: String, mapper: KeyValueMapper? = null, @@ -184,9 +178,11 @@ fun KTable.toStream( // the value of the resulting KStream is nullable, because it includes record deletions. +/** @see org.apache.kafka.streams.kstream.KTable.toStream */ fun KTable.toStream(name: String): KStream = toStream(namedAs(name)) +/** @see org.apache.kafka.streams.kstream.KTable.filter */ fun KTable.filter( name: String? = null, materialized: Materialized>? = null, @@ -200,7 +196,7 @@ fun KTable.filter( } } - +/** @see org.apache.kafka.streams.kstream.KTable.filterNot */ fun KTable.filterNot( name: String? = null, materialized: Materialized>? = null, diff --git a/modules/kotka-streams-extensions/src/main/kotlin/main.kt b/modules/kotka-streams-extensions/src/main/kotlin/main.kt deleted file mode 100644 index 5159a3b..0000000 --- a/modules/kotka-streams-extensions/src/main/kotlin/main.kt +++ /dev/null @@ -1,23 +0,0 @@ -import kotlinx.html.code -import kotlinx.html.div -import kotlinx.html.dom.createHTMLDocument -import kotlinx.html.pre -import kotlinx.html.stream.createHTML -import kotlinx.html.unsafe - -fun main() { - println(createHTML(prettyPrint = true).div { - pre { - code { - unsafe { - raw(""" - val map: Map = mapOf( - "key1" to "value1", - "key2" to "value2", - ) - """.trimIndent()) - } - } - } - }) -} From 63c890c6f765049c707b67b2b21818a20aa5addc Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Mon, 13 Mar 2023 15:41:33 +0100 Subject: [PATCH 5/7] setting up dokkatoo... --- build.gradle.kts | 39 +++++++++++--- buildSrc/build.gradle.kts | 7 ++- buildSrc/repositories.settings.gradle.kts | 16 +++--- .../buildsrc/convention/dokkatoo.gradle.kts | 53 +++++++++++++++++++ .../src/main/kotlin/buildsrc/ext/gradle.kt | 14 ++++- gradle/libs.versions.toml | 13 +++-- .../kotka-streams-extensions/build.gradle.kts | 8 +++ modules/kotka-streams-extensions/module.md | 24 +++++++++ .../kotka-streams-framework/build.gradle.kts | 8 +++ modules/kotka-streams-framework/module.md | 53 +++++++++++++++++++ .../module.md | 36 +++++++++++++ settings.gradle.kts | 2 + 12 files changed, 251 insertions(+), 22 deletions(-) create mode 100644 buildSrc/src/main/kotlin/buildsrc/convention/dokkatoo.gradle.kts create mode 100644 modules/kotka-streams-extensions/module.md create mode 100644 modules/kotka-streams-framework/module.md create mode 100644 modules/kotka-streams-kotlinx-serialization/module.md diff --git a/build.gradle.kts b/build.gradle.kts index 900562b..03e1079 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,13 +3,11 @@ import buildsrc.ext.initIdeProjectLogo plugins { buildsrc.convention.`kotlin-jvm` - buildsrc.convention.`maven-publish` + buildsrc.convention.dokkatoo me.qoomon.`git-versioning` - `project-report` // `build-dashboard` // incompatible with Gradle CC - idea } @@ -31,6 +29,13 @@ dependencies { api(projects.modules.kotkaStreamsExtensions) api(projects.modules.kotkaStreamsFramework) api(projects.modules.kotkaStreamsKotlinxSerialization) + + dokkatoo(projects.modules.kotkaStreamsExtensions) + dokkatoo(projects.modules.kotkaStreamsFramework) + dokkatoo(projects.modules.kotkaStreamsKotlinxSerialization) + + dokkatooPluginHtml(libs.kotlin.dokkaPlugin.allModulesPage) + dokkatooPluginHtml(libs.kotlin.dokkaPlugin.templating) } @@ -40,9 +45,31 @@ kotkaPublishing { } -tasks.wrapper { - gradleVersion = "7.6" - distributionType = Wrapper.DistributionType.ALL +dokkatoo { + dokkatooSourceSets.clear() + + dokkatooPublications.configureEach { + pluginsConfiguration.create("org.jetbrains.dokka.base.DokkaBase") { + serializationFormat.set(org.jetbrains.dokka.DokkaConfiguration.SerializationFormat.JSON) + values.set( + """ + { + "customStyleSheets": [ + "${file("./media/styles/logo-styles.css").invariantSeparatorsPath}" + ], + "customAssets": [ + "${file("./media/images/logo-icon.svg").invariantSeparatorsPath}" + ] + } + """.trimIndent() + ) + } + } +} + +tasks.dokkatooGeneratePublicationHtml { + inputs.dir("media/styles/") + inputs.dir("media/images/") } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 9572658..b2f7e37 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -9,7 +9,12 @@ dependencies { implementation(libs.gradlePlugin.kotlinxSerialization) implementation(libs.gradlePlugin.gitVersioning) - // implementation(libs.gradlePlugin.dokka) // incompatible with Gradle CC + + implementation(libs.kotlin.dokkaCore) + implementation(libs.gradlePlugin.dokkatoo) + + // https://github.com/gradle/gradle/issues/15383#issuecomment-779893192 + implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) } val gradleJvmTarget = "11" diff --git a/buildSrc/repositories.settings.gradle.kts b/buildSrc/repositories.settings.gradle.kts index 3dfb81e..c0d385d 100644 --- a/buildSrc/repositories.settings.gradle.kts +++ b/buildSrc/repositories.settings.gradle.kts @@ -1,10 +1,16 @@ +pluginManagement { + repositories { + gradlePluginPortal() + mavenCentral() + } +} + @Suppress("UnstableApiUsage") // Central declaration of repositories is an incubating feature dependencyResolutionManagement { repositories { mavenCentral() gradlePluginPortal() - jitpack() jetBrainsCompose() jetBrainsKotlinxHtml() @@ -33,14 +39,6 @@ dependencyResolutionManagement { filter { includeGroup("com.yarnpkg") } } } - - pluginManagement { - repositories { - gradlePluginPortal() - mavenCentral() - jitpack() - } - } } diff --git a/buildSrc/src/main/kotlin/buildsrc/convention/dokkatoo.gradle.kts b/buildSrc/src/main/kotlin/buildsrc/convention/dokkatoo.gradle.kts new file mode 100644 index 0000000..a72fd73 --- /dev/null +++ b/buildSrc/src/main/kotlin/buildsrc/convention/dokkatoo.gradle.kts @@ -0,0 +1,53 @@ +package buildsrc.convention + +import buildsrc.ext.libs + +plugins { + id("dev.adamko.dokkatoo-html") +} + +val kafkaJavadocUrl = libs.versions.kafka.map { v -> + val (major, minor) = v.split(".") + "https://kafka.apache.org/${major}${minor}/javadoc/" +} + +dokkatoo { + dokkatooSourceSets.configureEach { + externalDocumentationLinks.create("kafka-streams") { + enabled.set(true) + url(kafkaJavadocUrl) + } + } +} + +tasks.dokkatooGeneratePublicationHtml { + doLast { + outputDirectory.get().asFile.walk() + .filter { it.isFile && it.extension == "html" } + .forEach { file -> + file.writeText( + file.readText() + .replace( + """""", + """""", + ) + .replace( + """ +

(;ZFiSTpYWf35VoFja75vHUQTobFFX|9 z?k=S{a}_Y|mYl*sAE(g9z}a%hyA# zm|qq{SrlO(nn(-3b-=p4?*0Q9`kNC!dMFmG2F62XM47g8=_u-rVEuebmDZ^Gu1zKGMylN5`(TQajXx}+Ju6e0 z%LM0u=Ssf_OUx+-F3p`FRLslO+QSjfIkz~w#~3y!Xg<$xGLV8_M~MR4v_?)x4$0730p%GlbQ7o!3#Gp)a$JhH@;7^|e%nWf2Q2TzfhHdaHS*zE zeLBf_1;H0EIvbZq@YM%q=)knnOa^K>2%%*`>Pw$Nnyp*)w(7smj%uLp74q;8Rz$zh z`y7^|$s~`@dLixXivc(O>Z{A~behuB&8ZPNxNcd>qlJ+9 V^k<@r3qylTj&VM! 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