From b3ebd075b2d68b29346e5ed272cf95496a57edb6 Mon Sep 17 00:00:00 2001 From: OkunElya Date: Fri, 14 Nov 2025 01:03:54 +1000 Subject: [PATCH] adding real lab4 --- labs/lab4/css/bootstrap.min.css | 6 +++ labs/lab4/images/c.jpg | Bin 0 -> 39058 bytes labs/lab4/images/java.jpg | Bin 0 -> 30130 bytes labs/lab4/images/javascript.jpg | Bin 0 -> 29289 bytes labs/lab4/images/prolog.jpg | Bin 0 -> 21854 bytes labs/lab4/images/python.jpg | Bin 0 -> 40791 bytes labs/lab4/images/ruby.jpg | Bin 0 -> 38023 bytes labs/lab4/index.html | 46 +++++++++++++++++++++++ labs/lab4/js/bootstrap.bundle.min.js | 7 ++++ labs/lab4/js/bootstrap.bundle.min.js.map | 1 + 10 files changed, 60 insertions(+) create mode 100644 labs/lab4/css/bootstrap.min.css create mode 100644 labs/lab4/images/c.jpg create mode 100644 labs/lab4/images/java.jpg create mode 100644 labs/lab4/images/javascript.jpg create mode 100644 labs/lab4/images/prolog.jpg create mode 100644 labs/lab4/images/python.jpg create mode 100644 labs/lab4/images/ruby.jpg create mode 100644 labs/lab4/index.html create mode 100644 labs/lab4/js/bootstrap.bundle.min.js create mode 100644 labs/lab4/js/bootstrap.bundle.min.js.map diff --git a/labs/lab4/css/bootstrap.min.css b/labs/lab4/css/bootstrap.min.css new file mode 100644 index 0000000..3993414 --- /dev/null +++ b/labs/lab4/css/bootstrap.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--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:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--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-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::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:var(--bs-border-width) 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;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.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;color:var(--bs-highlight-color);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:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}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}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:var(--bs-secondary-color);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]{-webkit-appearance:textfield;outline-offset:-2px}::-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:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-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}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x: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.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x: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.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x: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.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x: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.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x: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.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: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-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-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:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-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:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-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 + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.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 + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;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}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;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}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-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{color:rgba(var(--bs-body-color-rgb),.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{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-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:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.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:var(--bs-border-radius-lg)}.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:var(--bs-border-radius-sm)}.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:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.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:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.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"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.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:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.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:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.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:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.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"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.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:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.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:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 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-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;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:var(--bs-border-radius-lg)}.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:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.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:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--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;border-radius:var(--bs-dropdown-item-border-radius,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:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--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:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.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:calc(var(--bs-border-width) * -1)}.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:1rem;--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:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.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:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-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:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: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%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--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 .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a: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,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--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.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-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:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--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:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 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='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.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:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.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:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--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-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;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{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.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:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-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:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform: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;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-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:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--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;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:calc(-1 * var(--bs-tooltip-arrow-height))}.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:calc(-1 * var(--bs-tooltip-arrow-height));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:calc(-1 * var(--bs-tooltip-arrow-height))}.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:calc(-1 * var(--bs-tooltip-arrow-height));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:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height: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%}.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}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-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:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.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:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.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:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.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:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.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:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.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:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform: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;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,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(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-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){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.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-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: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}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity: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}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: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-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-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-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/labs/lab4/images/c.jpg b/labs/lab4/images/c.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb0ecf927a29aa38d0a889e4928df6aa1eb36680 GIT binary patch literal 39058 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

3yqYxvrV3$v6nLmtT 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 literal 0 HcmV?d00001 diff --git a/labs/lab4/images/javascript.jpg b/labs/lab4/images/javascript.jpg new file mode 100644 index 0000000000000000000000000000000000000000..896d2f44e3cb660063ad42fcf0a780093418ef8f GIT binary patch literal 29289 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�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 literal 0 HcmV?d00001 diff --git a/labs/lab4/images/prolog.jpg b/labs/lab4/images/prolog.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b72ae1e09a66139ae69d0a4144d628cb3da0281 GIT binary patch literal 21854 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 J$F%@||Ji70vupqW literal 0 HcmV?d00001 diff --git a/labs/lab4/images/python.jpg b/labs/lab4/images/python.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3e12dd87a604252a878a3a0e47072dc68726f2d2 GIT binary patch literal 40791 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 z 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 + + + + + + Лабораторная работа Bootstrap + + + + + + +C разработан в 1969–1973 годах сотрудником Bell Labs Деннисом Ритчи. +JavaScript разработан в 1996 году, автор - американский программист Брендан Айк. +Prolog разработан в 1972 году, автор - французский программист Ален Колмероэ. +Python создан в 1989–1991 годах голландским программистом Гвидо ван Россумом. +Java разработан в 1990–1996 годах канадским программистом Джеймсом Гослингом. +Ruby разработан в 1993-1995 годах, автор - японский программист Юкихиро Мацумото. + + +

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

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin, getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both
    and