From b2325a46ef71a892d42767afd9e7fbe23a4b10ea Mon Sep 17 00:00:00 2001 From: Tech Garage Date: Fri, 3 Mar 2023 23:24:18 +0330 Subject: [PATCH] Add project files. --- .dockerignore | 27 + .gitattributes | 63 + .gitignore | 368 + APIHandler.cs | 447 + DBContext.cs | 22 + Dockerfile | 6 + Helper.cs | 88 + LICENSE | 21 + MTAPIHandler.cs | 239 + MTWireGuard.csproj | 28 + MTWireGuard.sln | 30 + Mapper/MappingProfile.cs | 114 + Mapper/PeerMapping.cs | 89 + Mapper/ServerMapping.cs | 44 + Middlewares/AntiForgeryMiddleware.cs | 64 + Middlewares/DependencyCheckMiddleware.cs | 77 + .../20230108171012_Initialize.Designer.cs | 53 + Migrations/20230108171012_Initialize.cs | 48 + Migrations/DBContextModelSnapshot.cs | 50 + Models/CreationStatus.cs | 18 + Models/LoginFailed.cs | 8 + Models/Mikrotik/ActiveUser.cs | 25 + Models/Mikrotik/EtherIP.cs | 12 + Models/Mikrotik/Identity.cs | 12 + Models/Mikrotik/Job.cs | 26 + Models/Mikrotik/Log.cs | 21 + Models/Mikrotik/MTInfo.cs | 74 + Models/Mikrotik/ServerTraffic.cs | 24 + Models/Mikrotik/WGPeer.cs | 136 + Models/Mikrotik/WGServer.cs | 83 + Models/Requests/ChangeStateRequest.cs | 13 + Models/Requests/CreateClientRequest.cs | 18 + Models/Requests/CreateServerRequest.cs | 17 + Models/Requests/DeleteRequest.cs | 7 + Models/Requests/SyncUserRequest.cs | 10 + Models/Requests/UpdateClientRequest.cs | 16 + Models/Requests/UpdateServerRequest.cs | 15 + Models/Responses/ToastResult.cs | 34 + Models/WGEnability.cs | 12 + Pages/Clients.cshtml | 111 + Pages/Clients.cshtml.cs | 105 + .../CreateClientForm/CreateClientForm.cshtml | 89 + .../CreateClientForm.cshtml.cs | 12 + .../CreateServerForm/CreateServerForm.cshtml | 64 + .../CreateServerForm.cshtml.cs | 12 + .../Components/DeleteModal/DeleteModal.cshtml | 31 + .../DeleteModal/DeleteModal.cshtml.cs | 12 + Pages/Components/LogsView.razor | 56 + .../SyncUserModal/SyncUserModal.cshtml | 50 + .../SyncUserModal/SyncUserModal.cshtml.cs | 12 + Pages/Components/ToastContainer.razor | 7 + .../UpdateClientModal.cshtml | 97 + .../UpdateClientModal.cshtml.cs | 12 + .../UpdateServerModal.cshtml | 65 + .../UpdateServerModal.cshtml.cs | 12 + Pages/Error.cshtml | 58 + Pages/Error.cshtml.cs | 32 + Pages/Index.cshtml | 99 + Pages/Index.cshtml.cs | 42 + Pages/Login.cshtml | 88 + Pages/Login.cshtml.cs | 82 + Pages/Logout.cshtml | 4 + Pages/Logout.cshtml.cs | 30 + Pages/Logs.cshtml | 75 + Pages/Logs.cshtml.cs | 21 + Pages/Modals/QRModal.razor | 16 + Pages/Privacy.cshtml | 8 + Pages/Privacy.cshtml.cs | 19 + Pages/Servers.cshtml | 83 + Pages/Servers.cshtml.cs | 73 + Pages/Settings.cshtml | 145 + Pages/Settings.cshtml.cs | 31 + Pages/Shared/_ClientsTable.cshtml | 97 + Pages/Shared/_Layout.cshtml | 215 + Pages/Shared/_Layout.cshtml.css | 48 + Pages/Shared/_ServersTable.cshtml | 79 + Pages/_ViewImports.cshtml | 3 + Pages/_ViewStart.cshtml | 3 + Program.cs | 118 + Properties/launchSettings.json | 46 + README.md | 2 + Repositories/IMikrotikRepository.cs | 35 + Services/MTAPI.cs | 313 + .../CreateClientFormViewComponent.cs | 15 + .../CreateServerFormViewComponent.cs | 14 + ViewComponents/DeleteModalViewComponent.cs | 15 + ViewComponents/SyncUserModalViewComponent.cs | 15 + .../UpdateClientModalViewComponent.cs | 15 + .../UpdateServerModalViewComponent.cs | 14 + appsettings.Development.json | 9 + appsettings.json | 9 + build.bat | 11 + wwwroot/assets/brand/wireguard-mini.svg | 9 + wwwroot/assets/brand/wireguard.svg | 2 + .../assets/favicon/android-icon-144x144.png | Bin 0 -> 10454 bytes .../assets/favicon/android-icon-192x192.png | Bin 0 -> 14884 bytes .../assets/favicon/android-icon-256x256.png | Bin 0 -> 21240 bytes wwwroot/assets/favicon/android-icon-36x36.png | Bin 0 -> 2085 bytes .../assets/favicon/android-icon-384x384.png | Bin 0 -> 35392 bytes wwwroot/assets/favicon/android-icon-48x48.png | Bin 0 -> 2688 bytes .../assets/favicon/android-icon-512x512.png | Bin 0 -> 34378 bytes wwwroot/assets/favicon/android-icon-72x72.png | Bin 0 -> 4396 bytes wwwroot/assets/favicon/android-icon-96x96.png | Bin 0 -> 6313 bytes wwwroot/assets/favicon/apple-touch-icon.png | Bin 0 -> 13827 bytes wwwroot/assets/favicon/browserconfig.xml | 9 + wwwroot/assets/favicon/favicon-16x16.png | Bin 0 -> 1147 bytes wwwroot/assets/favicon/favicon-32x32.png | Bin 0 -> 1958 bytes wwwroot/assets/favicon/favicon.ico | Bin 0 -> 15086 bytes wwwroot/assets/favicon/manifest.json | 54 + wwwroot/assets/favicon/mstile-150x150.png | Bin 0 -> 8584 bytes .../favicon/old/android-icon-144x144.png | Bin 0 -> 13344 bytes .../favicon/old/android-icon-192x192.png | Bin 0 -> 17566 bytes .../assets/favicon/old/android-icon-36x36.png | Bin 0 -> 2495 bytes .../assets/favicon/old/android-icon-48x48.png | Bin 0 -> 3537 bytes .../assets/favicon/old/android-icon-72x72.png | Bin 0 -> 5297 bytes .../assets/favicon/old/android-icon-96x96.png | Bin 0 -> 7298 bytes .../assets/favicon/old/apple-icon-114x114.png | Bin 0 -> 9891 bytes .../assets/favicon/old/apple-icon-120x120.png | Bin 0 -> 10620 bytes .../assets/favicon/old/apple-icon-144x144.png | Bin 0 -> 13344 bytes .../assets/favicon/old/apple-icon-152x152.png | Bin 0 -> 14451 bytes .../assets/favicon/old/apple-icon-180x180.png | Bin 0 -> 17458 bytes .../assets/favicon/old/apple-icon-57x57.png | Bin 0 -> 4120 bytes .../assets/favicon/old/apple-icon-60x60.png | Bin 0 -> 4034 bytes .../assets/favicon/old/apple-icon-72x72.png | Bin 0 -> 5297 bytes .../assets/favicon/old/apple-icon-76x76.png | Bin 0 -> 5539 bytes .../favicon/old/apple-icon-precomposed.png | Bin 0 -> 18140 bytes wwwroot/assets/favicon/old/apple-icon.png | Bin 0 -> 18140 bytes wwwroot/assets/favicon/old/browserconfig.xml | 2 + wwwroot/assets/favicon/old/favicon-16x16.png | Bin 0 -> 1201 bytes wwwroot/assets/favicon/old/favicon-32x32.png | Bin 0 -> 2196 bytes wwwroot/assets/favicon/old/favicon-96x96.png | Bin 0 -> 7298 bytes wwwroot/assets/favicon/old/favicon.ico | Bin 0 -> 1150 bytes wwwroot/assets/favicon/old/manifest.json | 41 + .../assets/favicon/old/ms-icon-144x144.png | Bin 0 -> 13344 bytes .../assets/favicon/old/ms-icon-150x150.png | Bin 0 -> 14113 bytes .../assets/favicon/old/ms-icon-310x310.png | Bin 0 -> 37803 bytes wwwroot/assets/favicon/old/ms-icon-70x70.png | Bin 0 -> 5120 bytes wwwroot/assets/favicon/safari-pinned-tab.svg | 64 + wwwroot/assets/icons/3d.svg | 5 + wwwroot/assets/icons/4k.svg | 7 + wwwroot/assets/icons/account-logout.svg | 6 + wwwroot/assets/icons/action-redo.svg | 6 + wwwroot/assets/icons/action-undo.svg | 5 + wwwroot/assets/icons/address-book.svg | 6 + wwwroot/assets/icons/airplane-mode-off.svg | 6 + wwwroot/assets/icons/airplane-mode.svg | 5 + wwwroot/assets/icons/airplay.svg | 6 + wwwroot/assets/icons/alarm.svg | 8 + wwwroot/assets/icons/album.svg | 8 + wwwroot/assets/icons/align-center.svg | 9 + wwwroot/assets/icons/align-left.svg | 9 + wwwroot/assets/icons/align-right.svg | 9 + wwwroot/assets/icons/american-football.svg | 6 + wwwroot/assets/icons/android.svg | 7 + wwwroot/assets/icons/angular.svg | 6 + wwwroot/assets/icons/aperture.svg | 11 + wwwroot/assets/icons/apple.svg | 5 + .../assets/icons/applications-settings.svg | 14 + wwwroot/assets/icons/applications.svg | 13 + wwwroot/assets/icons/arrow-bottom.svg | 5 + wwwroot/assets/icons/arrow-circle-bottom.svg | 6 + wwwroot/assets/icons/arrow-circle-left.svg | 6 + wwwroot/assets/icons/arrow-circle-right.svg | 6 + wwwroot/assets/icons/arrow-circle-top.svg | 6 + wwwroot/assets/icons/arrow-left.svg | 5 + wwwroot/assets/icons/arrow-right.svg | 5 + wwwroot/assets/icons/arrow-thick-bottom.svg | 5 + .../assets/icons/arrow-thick-from-bottom.svg | 6 + .../assets/icons/arrow-thick-from-left.svg | 6 + .../assets/icons/arrow-thick-from-right.svg | 6 + wwwroot/assets/icons/arrow-thick-from-top.svg | 6 + wwwroot/assets/icons/arrow-thick-left.svg | 5 + wwwroot/assets/icons/arrow-thick-right.svg | 5 + .../assets/icons/arrow-thick-to-bottom.svg | 6 + wwwroot/assets/icons/arrow-thick-to-left.svg | 6 + wwwroot/assets/icons/arrow-thick-to-right.svg | 6 + wwwroot/assets/icons/arrow-thick-to-top.svg | 6 + wwwroot/assets/icons/arrow-thick-top.svg | 5 + wwwroot/assets/icons/arrow-top.svg | 5 + .../icons/assistive-listening-system.svg | 11 + wwwroot/assets/icons/asterisk-circle.svg | 6 + wwwroot/assets/icons/asterisk.svg | 5 + wwwroot/assets/icons/at.svg | 5 + wwwroot/assets/icons/audio-description.svg | 7 + wwwroot/assets/icons/audio-spectrum.svg | 10 + wwwroot/assets/icons/audio.svg | 9 + wwwroot/assets/icons/av-timer.svg | 8 + wwwroot/assets/icons/badge.svg | 6 + wwwroot/assets/icons/balance-scale.svg | 7 + wwwroot/assets/icons/ban.svg | 5 + wwwroot/assets/icons/bank.svg | 12 + wwwroot/assets/icons/bar-chart.svg | 7 + wwwroot/assets/icons/barcode.svg | 14 + wwwroot/assets/icons/baseball.svg | 6 + wwwroot/assets/icons/basket.svg | 9 + wwwroot/assets/icons/basketball.svg | 5 + wwwroot/assets/icons/bath.svg | 5 + wwwroot/assets/icons/battery-0.svg | 5 + wwwroot/assets/icons/battery-3.svg | 8 + wwwroot/assets/icons/battery-5.svg | 10 + wwwroot/assets/icons/battery-alert.svg | 7 + wwwroot/assets/icons/battery-slash.svg | 6 + wwwroot/assets/icons/beach-access.svg | 5 + wwwroot/assets/icons/beaker.svg | 5 + wwwroot/assets/icons/bed.svg | 5 + wwwroot/assets/icons/bell.svg | 5 + wwwroot/assets/icons/bike.svg | 8 + wwwroot/assets/icons/birthday-cake.svg | 5 + wwwroot/assets/icons/blind.svg | 7 + wwwroot/assets/icons/bluetooth.svg | 5 + wwwroot/assets/icons/blur-circular.svg | 17 + wwwroot/assets/icons/blur-linear.svg | 12 + wwwroot/assets/icons/blur.svg | 13 + wwwroot/assets/icons/boat-alt.svg | 10 + wwwroot/assets/icons/bold.svg | 6 + wwwroot/assets/icons/bolt.svg | 5 + wwwroot/assets/icons/book.svg | 5 + wwwroot/assets/icons/bookmark.svg | 5 + wwwroot/assets/icons/bootstrap.svg | 6 + wwwroot/assets/icons/border-all.svg | 5 + wwwroot/assets/icons/border-bottom.svg | 31 + wwwroot/assets/icons/border-clear.svg | 37 + wwwroot/assets/icons/border-horizontal.svg | 31 + wwwroot/assets/icons/border-inner.svg | 25 + wwwroot/assets/icons/border-left.svg | 31 + wwwroot/assets/icons/border-outer.svg | 14 + wwwroot/assets/icons/border-right.svg | 31 + wwwroot/assets/icons/border-style.svg | 16 + wwwroot/assets/icons/border-top.svg | 31 + wwwroot/assets/icons/border-vertical.svg | 31 + wwwroot/assets/icons/bowling.svg | 8 + wwwroot/assets/icons/braille.svg | 11 + wwwroot/assets/icons/brands/500px.svg | 1 + .../assets/icons/brands/accessible-icon.svg | 1 + wwwroot/assets/icons/brands/accusoft.svg | 1 + .../brands/acquisitions-incorporated.svg | 1 + wwwroot/assets/icons/brands/adn.svg | 1 + wwwroot/assets/icons/brands/adobe.svg | 1 + wwwroot/assets/icons/brands/adversal.svg | 1 + .../assets/icons/brands/affiliatetheme.svg | 1 + wwwroot/assets/icons/brands/airbnb.svg | 1 + wwwroot/assets/icons/brands/algolia.svg | 1 + wwwroot/assets/icons/brands/alipay.svg | 1 + wwwroot/assets/icons/brands/amazon-pay.svg | 1 + wwwroot/assets/icons/brands/amazon.svg | 1 + wwwroot/assets/icons/brands/amilia.svg | 1 + wwwroot/assets/icons/brands/android.svg | 1 + wwwroot/assets/icons/brands/angellist.svg | 1 + wwwroot/assets/icons/brands/angrycreative.svg | 1 + wwwroot/assets/icons/brands/angular.svg | 1 + wwwroot/assets/icons/brands/app-store-ios.svg | 1 + wwwroot/assets/icons/brands/app-store.svg | 1 + wwwroot/assets/icons/brands/apper.svg | 1 + wwwroot/assets/icons/brands/apple-pay.svg | 1 + wwwroot/assets/icons/brands/apple.svg | 1 + wwwroot/assets/icons/brands/artstation.svg | 1 + wwwroot/assets/icons/brands/asymmetrik.svg | 1 + wwwroot/assets/icons/brands/atlassian.svg | 1 + wwwroot/assets/icons/brands/audible.svg | 1 + wwwroot/assets/icons/brands/autoprefixer.svg | 1 + wwwroot/assets/icons/brands/avianex.svg | 1 + wwwroot/assets/icons/brands/aviato.svg | 1 + wwwroot/assets/icons/brands/aws.svg | 1 + wwwroot/assets/icons/brands/bandcamp.svg | 1 + wwwroot/assets/icons/brands/battle-net.svg | 1 + .../assets/icons/brands/behance-square.svg | 1 + wwwroot/assets/icons/brands/behance.svg | 1 + wwwroot/assets/icons/brands/bimobject.svg | 1 + wwwroot/assets/icons/brands/bitbucket.svg | 1 + wwwroot/assets/icons/brands/bitcoin.svg | 1 + wwwroot/assets/icons/brands/bity.svg | 1 + wwwroot/assets/icons/brands/black-tie.svg | 1 + wwwroot/assets/icons/brands/blackberry.svg | 1 + wwwroot/assets/icons/brands/blogger-b.svg | 1 + wwwroot/assets/icons/brands/blogger.svg | 1 + wwwroot/assets/icons/brands/bluetooth-b.svg | 1 + wwwroot/assets/icons/brands/bluetooth.svg | 1 + wwwroot/assets/icons/brands/bootstrap.svg | 1 + .../icons/brands/brands-symbol-defs.svg | 1294 ++ wwwroot/assets/icons/brands/btc.svg | 1 + wwwroot/assets/icons/brands/buffer.svg | 1 + .../assets/icons/brands/buromobelexperte.svg | 1 + wwwroot/assets/icons/brands/buysellads.svg | 1 + .../icons/brands/canadian-maple-leaf.svg | 1 + wwwroot/assets/icons/brands/cc-amazon-pay.svg | 1 + wwwroot/assets/icons/brands/cc-amex.svg | 1 + wwwroot/assets/icons/brands/cc-apple-pay.svg | 1 + .../assets/icons/brands/cc-diners-club.svg | 1 + wwwroot/assets/icons/brands/cc-discover.svg | 1 + wwwroot/assets/icons/brands/cc-jcb.svg | 1 + wwwroot/assets/icons/brands/cc-mastercard.svg | 1 + wwwroot/assets/icons/brands/cc-paypal.svg | 1 + wwwroot/assets/icons/brands/cc-stripe.svg | 1 + wwwroot/assets/icons/brands/cc-visa.svg | 1 + wwwroot/assets/icons/brands/centercode.svg | 1 + wwwroot/assets/icons/brands/centos.svg | 1 + wwwroot/assets/icons/brands/chrome.svg | 1 + wwwroot/assets/icons/brands/chromecast.svg | 1 + wwwroot/assets/icons/brands/cloudscale.svg | 1 + wwwroot/assets/icons/brands/cloudsmith.svg | 1 + wwwroot/assets/icons/brands/cloudversify.svg | 1 + wwwroot/assets/icons/brands/codepen.svg | 1 + wwwroot/assets/icons/brands/codiepie.svg | 1 + wwwroot/assets/icons/brands/confluence.svg | 1 + .../assets/icons/brands/connectdevelop.svg | 1 + wwwroot/assets/icons/brands/contao.svg | 1 + wwwroot/assets/icons/brands/cpanel.svg | 1 + .../icons/brands/creative-commons-by.svg | 1 + .../icons/brands/creative-commons-nc-eu.svg | 1 + .../icons/brands/creative-commons-nc-jp.svg | 1 + .../icons/brands/creative-commons-nc.svg | 1 + .../icons/brands/creative-commons-nd.svg | 1 + .../icons/brands/creative-commons-pd-alt.svg | 1 + .../icons/brands/creative-commons-pd.svg | 1 + .../icons/brands/creative-commons-remix.svg | 1 + .../icons/brands/creative-commons-sa.svg | 1 + .../brands/creative-commons-sampling-plus.svg | 1 + .../brands/creative-commons-sampling.svg | 1 + .../icons/brands/creative-commons-share.svg | 1 + .../icons/brands/creative-commons-zero.svg | 1 + .../assets/icons/brands/creative-commons.svg | 1 + wwwroot/assets/icons/brands/critical-role.svg | 1 + wwwroot/assets/icons/brands/css3-alt.svg | 1 + wwwroot/assets/icons/brands/css3.svg | 1 + wwwroot/assets/icons/brands/cuttlefish.svg | 1 + .../assets/icons/brands/d-and-d-beyond.svg | 1 + wwwroot/assets/icons/brands/d-and-d.svg | 1 + wwwroot/assets/icons/brands/dashcube.svg | 1 + wwwroot/assets/icons/brands/delicious.svg | 1 + wwwroot/assets/icons/brands/deploydog.svg | 1 + wwwroot/assets/icons/brands/deskpro.svg | 1 + wwwroot/assets/icons/brands/dev.svg | 1 + wwwroot/assets/icons/brands/deviantart.svg | 1 + wwwroot/assets/icons/brands/dhl.svg | 1 + wwwroot/assets/icons/brands/diaspora.svg | 1 + wwwroot/assets/icons/brands/digg.svg | 1 + wwwroot/assets/icons/brands/digital-ocean.svg | 1 + wwwroot/assets/icons/brands/discord.svg | 1 + wwwroot/assets/icons/brands/discourse.svg | 1 + wwwroot/assets/icons/brands/dochub.svg | 1 + wwwroot/assets/icons/brands/docker.svg | 1 + wwwroot/assets/icons/brands/draft2digital.svg | 1 + .../assets/icons/brands/dribbble-square.svg | 1 + wwwroot/assets/icons/brands/dribbble.svg | 1 + wwwroot/assets/icons/brands/dropbox.svg | 1 + wwwroot/assets/icons/brands/drupal.svg | 1 + wwwroot/assets/icons/brands/dyalog.svg | 1 + wwwroot/assets/icons/brands/earlybirds.svg | 1 + wwwroot/assets/icons/brands/ebay.svg | 1 + wwwroot/assets/icons/brands/edge.svg | 1 + wwwroot/assets/icons/brands/elementor.svg | 1 + wwwroot/assets/icons/brands/ello.svg | 1 + wwwroot/assets/icons/brands/ember.svg | 1 + wwwroot/assets/icons/brands/empire.svg | 1 + wwwroot/assets/icons/brands/envira.svg | 1 + wwwroot/assets/icons/brands/erlang.svg | 1 + wwwroot/assets/icons/brands/ethereum.svg | 1 + wwwroot/assets/icons/brands/etsy.svg | 1 + wwwroot/assets/icons/brands/evernote.svg | 1 + wwwroot/assets/icons/brands/expeditedssl.svg | 1 + wwwroot/assets/icons/brands/facebook-f.svg | 1 + .../icons/brands/facebook-messenger.svg | 1 + .../assets/icons/brands/facebook-square.svg | 1 + wwwroot/assets/icons/brands/facebook.svg | 1 + .../icons/brands/fantasy-flight-games.svg | 1 + wwwroot/assets/icons/brands/fedex.svg | 1 + wwwroot/assets/icons/brands/fedora.svg | 1 + wwwroot/assets/icons/brands/figma.svg | 1 + wwwroot/assets/icons/brands/firefox.svg | 1 + .../assets/icons/brands/first-order-alt.svg | 1 + wwwroot/assets/icons/brands/first-order.svg | 1 + wwwroot/assets/icons/brands/firstdraft.svg | 1 + wwwroot/assets/icons/brands/flickr.svg | 1 + wwwroot/assets/icons/brands/flipboard.svg | 1 + wwwroot/assets/icons/brands/fly.svg | 1 + .../assets/icons/brands/font-awesome-alt.svg | 1 + .../assets/icons/brands/font-awesome-flag.svg | 1 + .../icons/brands/font-awesome-logo-full.svg | 1 + wwwroot/assets/icons/brands/font-awesome.svg | 1 + wwwroot/assets/icons/brands/fonticons-fi.svg | 1 + wwwroot/assets/icons/brands/fonticons.svg | 1 + .../assets/icons/brands/fort-awesome-alt.svg | 1 + wwwroot/assets/icons/brands/fort-awesome.svg | 1 + wwwroot/assets/icons/brands/forumbee.svg | 1 + wwwroot/assets/icons/brands/foursquare.svg | 1 + .../assets/icons/brands/free-code-camp.svg | 1 + wwwroot/assets/icons/brands/freebsd.svg | 1 + wwwroot/assets/icons/brands/fulcrum.svg | 1 + .../assets/icons/brands/galactic-republic.svg | 1 + .../assets/icons/brands/galactic-senate.svg | 1 + wwwroot/assets/icons/brands/get-pocket.svg | 1 + wwwroot/assets/icons/brands/gg-circle.svg | 1 + wwwroot/assets/icons/brands/gg.svg | 1 + wwwroot/assets/icons/brands/git-alt.svg | 1 + wwwroot/assets/icons/brands/git-square.svg | 1 + wwwroot/assets/icons/brands/git.svg | 1 + wwwroot/assets/icons/brands/github-alt.svg | 1 + wwwroot/assets/icons/brands/github-square.svg | 1 + wwwroot/assets/icons/brands/github.svg | 1 + wwwroot/assets/icons/brands/gitkraken.svg | 1 + wwwroot/assets/icons/brands/gitlab.svg | 1 + wwwroot/assets/icons/brands/gitter.svg | 1 + wwwroot/assets/icons/brands/glide-g.svg | 1 + wwwroot/assets/icons/brands/glide.svg | 1 + wwwroot/assets/icons/brands/gofore.svg | 1 + wwwroot/assets/icons/brands/goodreads-g.svg | 1 + wwwroot/assets/icons/brands/goodreads.svg | 1 + wwwroot/assets/icons/brands/google-drive.svg | 1 + wwwroot/assets/icons/brands/google-play.svg | 1 + wwwroot/assets/icons/brands/google-plus-g.svg | 1 + .../icons/brands/google-plus-square.svg | 1 + wwwroot/assets/icons/brands/google-plus.svg | 1 + wwwroot/assets/icons/brands/google-wallet.svg | 1 + wwwroot/assets/icons/brands/google.svg | 1 + wwwroot/assets/icons/brands/gratipay.svg | 1 + wwwroot/assets/icons/brands/grav.svg | 1 + wwwroot/assets/icons/brands/gripfire.svg | 1 + wwwroot/assets/icons/brands/grunt.svg | 1 + wwwroot/assets/icons/brands/gulp.svg | 1 + .../icons/brands/hacker-news-square.svg | 1 + wwwroot/assets/icons/brands/hacker-news.svg | 1 + wwwroot/assets/icons/brands/hackerrank.svg | 1 + wwwroot/assets/icons/brands/hips.svg | 1 + wwwroot/assets/icons/brands/hire-a-helper.svg | 1 + wwwroot/assets/icons/brands/hooli.svg | 1 + wwwroot/assets/icons/brands/hornbill.svg | 1 + wwwroot/assets/icons/brands/hotjar.svg | 1 + wwwroot/assets/icons/brands/houzz.svg | 1 + wwwroot/assets/icons/brands/html5.svg | 1 + wwwroot/assets/icons/brands/hubspot.svg | 1 + wwwroot/assets/icons/brands/imdb.svg | 1 + wwwroot/assets/icons/brands/instagram.svg | 1 + wwwroot/assets/icons/brands/intercom.svg | 1 + .../assets/icons/brands/internet-explorer.svg | 1 + wwwroot/assets/icons/brands/invision.svg | 1 + wwwroot/assets/icons/brands/ioxhost.svg | 1 + wwwroot/assets/icons/brands/itch-io.svg | 1 + wwwroot/assets/icons/brands/itunes-note.svg | 1 + wwwroot/assets/icons/brands/itunes.svg | 1 + wwwroot/assets/icons/brands/java.svg | 1 + wwwroot/assets/icons/brands/jedi-order.svg | 1 + wwwroot/assets/icons/brands/jenkins.svg | 1 + wwwroot/assets/icons/brands/jira.svg | 1 + wwwroot/assets/icons/brands/joget.svg | 1 + wwwroot/assets/icons/brands/joomla.svg | 1 + wwwroot/assets/icons/brands/js-square.svg | 1 + wwwroot/assets/icons/brands/js.svg | 1 + wwwroot/assets/icons/brands/jsfiddle.svg | 1 + wwwroot/assets/icons/brands/kaggle.svg | 1 + wwwroot/assets/icons/brands/keybase.svg | 1 + wwwroot/assets/icons/brands/keycdn.svg | 1 + wwwroot/assets/icons/brands/kickstarter-k.svg | 1 + wwwroot/assets/icons/brands/kickstarter.svg | 1 + wwwroot/assets/icons/brands/korvue.svg | 1 + wwwroot/assets/icons/brands/laravel.svg | 1 + wwwroot/assets/icons/brands/lastfm-square.svg | 1 + wwwroot/assets/icons/brands/lastfm.svg | 1 + wwwroot/assets/icons/brands/leanpub.svg | 1 + wwwroot/assets/icons/brands/less.svg | 1 + wwwroot/assets/icons/brands/line.svg | 1 + wwwroot/assets/icons/brands/linkedin-in.svg | 1 + wwwroot/assets/icons/brands/linkedin.svg | 1 + wwwroot/assets/icons/brands/linode.svg | 1 + wwwroot/assets/icons/brands/linux.svg | 1 + wwwroot/assets/icons/brands/lyft.svg | 1 + wwwroot/assets/icons/brands/magento.svg | 1 + wwwroot/assets/icons/brands/mailchimp.svg | 1 + wwwroot/assets/icons/brands/mandalorian.svg | 1 + wwwroot/assets/icons/brands/markdown.svg | 1 + wwwroot/assets/icons/brands/mastodon.svg | 1 + wwwroot/assets/icons/brands/maxcdn.svg | 1 + wwwroot/assets/icons/brands/medapps.svg | 1 + wwwroot/assets/icons/brands/medium-m.svg | 1 + wwwroot/assets/icons/brands/medium.svg | 1 + wwwroot/assets/icons/brands/medrt.svg | 1 + wwwroot/assets/icons/brands/meetup.svg | 1 + wwwroot/assets/icons/brands/megaport.svg | 1 + wwwroot/assets/icons/brands/mendeley.svg | 1 + wwwroot/assets/icons/brands/microsoft.svg | 1 + wwwroot/assets/icons/brands/mix.svg | 1 + wwwroot/assets/icons/brands/mixcloud.svg | 1 + wwwroot/assets/icons/brands/mizuni.svg | 1 + wwwroot/assets/icons/brands/modx.svg | 1 + wwwroot/assets/icons/brands/monero.svg | 1 + wwwroot/assets/icons/brands/napster.svg | 1 + wwwroot/assets/icons/brands/neos.svg | 1 + wwwroot/assets/icons/brands/nimblr.svg | 1 + wwwroot/assets/icons/brands/node-js.svg | 1 + wwwroot/assets/icons/brands/node.svg | 1 + wwwroot/assets/icons/brands/npm.svg | 1 + wwwroot/assets/icons/brands/ns8.svg | 1 + wwwroot/assets/icons/brands/nutritionix.svg | 1 + .../icons/brands/odnoklassniki-square.svg | 1 + wwwroot/assets/icons/brands/odnoklassniki.svg | 1 + wwwroot/assets/icons/brands/old-republic.svg | 1 + wwwroot/assets/icons/brands/opencart.svg | 1 + wwwroot/assets/icons/brands/openid.svg | 1 + wwwroot/assets/icons/brands/opera.svg | 1 + wwwroot/assets/icons/brands/optin-monster.svg | 1 + wwwroot/assets/icons/brands/osi.svg | 1 + wwwroot/assets/icons/brands/page4.svg | 1 + wwwroot/assets/icons/brands/pagelines.svg | 1 + wwwroot/assets/icons/brands/palfed.svg | 1 + wwwroot/assets/icons/brands/patreon.svg | 1 + wwwroot/assets/icons/brands/paypal.svg | 1 + wwwroot/assets/icons/brands/penny-arcade.svg | 1 + wwwroot/assets/icons/brands/periscope.svg | 1 + wwwroot/assets/icons/brands/phabricator.svg | 1 + .../assets/icons/brands/phoenix-framework.svg | 1 + .../assets/icons/brands/phoenix-squadron.svg | 1 + wwwroot/assets/icons/brands/php.svg | 1 + .../assets/icons/brands/pied-piper-alt.svg | 1 + .../assets/icons/brands/pied-piper-hat.svg | 1 + wwwroot/assets/icons/brands/pied-piper-pp.svg | 1 + wwwroot/assets/icons/brands/pied-piper.svg | 1 + wwwroot/assets/icons/brands/pinterest-p.svg | 1 + .../assets/icons/brands/pinterest-square.svg | 1 + wwwroot/assets/icons/brands/pinterest.svg | 1 + wwwroot/assets/icons/brands/playstation.svg | 1 + wwwroot/assets/icons/brands/product-hunt.svg | 1 + wwwroot/assets/icons/brands/pushed.svg | 1 + wwwroot/assets/icons/brands/python.svg | 1 + wwwroot/assets/icons/brands/qq.svg | 1 + wwwroot/assets/icons/brands/quinscape.svg | 1 + wwwroot/assets/icons/brands/quora.svg | 1 + wwwroot/assets/icons/brands/r-project.svg | 1 + wwwroot/assets/icons/brands/raspberry-pi.svg | 1 + wwwroot/assets/icons/brands/ravelry.svg | 1 + wwwroot/assets/icons/brands/react.svg | 1 + wwwroot/assets/icons/brands/reacteurope.svg | 1 + wwwroot/assets/icons/brands/readme.svg | 1 + wwwroot/assets/icons/brands/rebel.svg | 1 + wwwroot/assets/icons/brands/red-river.svg | 1 + wwwroot/assets/icons/brands/reddit-alien.svg | 1 + wwwroot/assets/icons/brands/reddit-square.svg | 1 + wwwroot/assets/icons/brands/reddit.svg | 1 + wwwroot/assets/icons/brands/redhat.svg | 1 + wwwroot/assets/icons/brands/renren.svg | 1 + wwwroot/assets/icons/brands/replyd.svg | 1 + wwwroot/assets/icons/brands/researchgate.svg | 1 + wwwroot/assets/icons/brands/resolving.svg | 1 + wwwroot/assets/icons/brands/rev.svg | 1 + wwwroot/assets/icons/brands/rocketchat.svg | 1 + wwwroot/assets/icons/brands/rockrms.svg | 1 + wwwroot/assets/icons/brands/safari.svg | 1 + wwwroot/assets/icons/brands/salesforce.svg | 1 + wwwroot/assets/icons/brands/sass.svg | 1 + wwwroot/assets/icons/brands/schlix.svg | 1 + wwwroot/assets/icons/brands/scribd.svg | 1 + wwwroot/assets/icons/brands/searchengin.svg | 1 + wwwroot/assets/icons/brands/sellcast.svg | 1 + wwwroot/assets/icons/brands/sellsy.svg | 1 + wwwroot/assets/icons/brands/servicestack.svg | 1 + wwwroot/assets/icons/brands/shirtsinbulk.svg | 1 + wwwroot/assets/icons/brands/shopware.svg | 1 + wwwroot/assets/icons/brands/simplybuilt.svg | 1 + wwwroot/assets/icons/brands/sistrix.svg | 1 + wwwroot/assets/icons/brands/sith.svg | 1 + wwwroot/assets/icons/brands/sketch.svg | 1 + wwwroot/assets/icons/brands/skyatlas.svg | 1 + wwwroot/assets/icons/brands/skype.svg | 1 + wwwroot/assets/icons/brands/slack-hash.svg | 1 + wwwroot/assets/icons/brands/slack.svg | 1 + wwwroot/assets/icons/brands/slideshare.svg | 1 + .../assets/icons/brands/snapchat-ghost.svg | 1 + .../assets/icons/brands/snapchat-square.svg | 1 + wwwroot/assets/icons/brands/snapchat.svg | 1 + wwwroot/assets/icons/brands/soundcloud.svg | 1 + wwwroot/assets/icons/brands/sourcetree.svg | 1 + wwwroot/assets/icons/brands/speakap.svg | 1 + wwwroot/assets/icons/brands/speaker-deck.svg | 1 + wwwroot/assets/icons/brands/spotify.svg | 1 + wwwroot/assets/icons/brands/squarespace.svg | 1 + .../assets/icons/brands/stack-exchange.svg | 1 + .../assets/icons/brands/stack-overflow.svg | 1 + wwwroot/assets/icons/brands/stackpath.svg | 1 + wwwroot/assets/icons/brands/staylinked.svg | 1 + wwwroot/assets/icons/brands/steam-square.svg | 1 + wwwroot/assets/icons/brands/steam-symbol.svg | 1 + wwwroot/assets/icons/brands/steam.svg | 1 + wwwroot/assets/icons/brands/sticker-mule.svg | 1 + wwwroot/assets/icons/brands/strava.svg | 1 + wwwroot/assets/icons/brands/stripe-s.svg | 1 + wwwroot/assets/icons/brands/stripe.svg | 1 + wwwroot/assets/icons/brands/studiovinari.svg | 1 + .../icons/brands/stumbleupon-circle.svg | 1 + wwwroot/assets/icons/brands/stumbleupon.svg | 1 + wwwroot/assets/icons/brands/superpowers.svg | 1 + wwwroot/assets/icons/brands/supple.svg | 1 + wwwroot/assets/icons/brands/suse.svg | 1 + wwwroot/assets/icons/brands/symfony.svg | 1 + wwwroot/assets/icons/brands/teamspeak.svg | 1 + .../assets/icons/brands/telegram-plane.svg | 1 + wwwroot/assets/icons/brands/telegram.svg | 1 + wwwroot/assets/icons/brands/tencent-weibo.svg | 1 + wwwroot/assets/icons/brands/the-red-yeti.svg | 1 + wwwroot/assets/icons/brands/themeco.svg | 1 + wwwroot/assets/icons/brands/themeisle.svg | 1 + wwwroot/assets/icons/brands/think-peaks.svg | 1 + .../assets/icons/brands/trade-federation.svg | 1 + wwwroot/assets/icons/brands/trello.svg | 1 + wwwroot/assets/icons/brands/tripadvisor.svg | 1 + wwwroot/assets/icons/brands/tumblr-square.svg | 1 + wwwroot/assets/icons/brands/tumblr.svg | 1 + wwwroot/assets/icons/brands/twitch.svg | 1 + .../assets/icons/brands/twitter-square.svg | 1 + wwwroot/assets/icons/brands/twitter.svg | 1 + wwwroot/assets/icons/brands/typo3.svg | 1 + wwwroot/assets/icons/brands/uber.svg | 1 + wwwroot/assets/icons/brands/ubuntu.svg | 1 + wwwroot/assets/icons/brands/uikit.svg | 1 + wwwroot/assets/icons/brands/uniregistry.svg | 1 + wwwroot/assets/icons/brands/untappd.svg | 1 + wwwroot/assets/icons/brands/ups.svg | 1 + wwwroot/assets/icons/brands/usb.svg | 1 + wwwroot/assets/icons/brands/usps.svg | 1 + wwwroot/assets/icons/brands/ussunnah.svg | 1 + wwwroot/assets/icons/brands/vaadin.svg | 1 + wwwroot/assets/icons/brands/viacoin.svg | 1 + wwwroot/assets/icons/brands/viadeo-square.svg | 1 + wwwroot/assets/icons/brands/viadeo.svg | 1 + wwwroot/assets/icons/brands/viber.svg | 1 + wwwroot/assets/icons/brands/vimeo-square.svg | 1 + wwwroot/assets/icons/brands/vimeo-v.svg | 1 + wwwroot/assets/icons/brands/vimeo.svg | 1 + wwwroot/assets/icons/brands/vine.svg | 1 + wwwroot/assets/icons/brands/vk.svg | 1 + wwwroot/assets/icons/brands/vnv.svg | 1 + wwwroot/assets/icons/brands/vuejs.svg | 1 + wwwroot/assets/icons/brands/waze.svg | 1 + wwwroot/assets/icons/brands/weebly.svg | 1 + wwwroot/assets/icons/brands/weibo.svg | 1 + wwwroot/assets/icons/brands/weixin.svg | 1 + .../assets/icons/brands/whatsapp-square.svg | 1 + wwwroot/assets/icons/brands/whatsapp.svg | 1 + wwwroot/assets/icons/brands/whmcs.svg | 1 + wwwroot/assets/icons/brands/wikipedia-w.svg | 1 + wwwroot/assets/icons/brands/windows.svg | 1 + wwwroot/assets/icons/brands/wix.svg | 1 + .../icons/brands/wizards-of-the-coast.svg | 1 + .../icons/brands/wolf-pack-battalion.svg | 1 + .../assets/icons/brands/wordpress-simple.svg | 1 + wwwroot/assets/icons/brands/wordpress.svg | 1 + wwwroot/assets/icons/brands/wpbeginner.svg | 1 + wwwroot/assets/icons/brands/wpexplorer.svg | 1 + wwwroot/assets/icons/brands/wpforms.svg | 1 + wwwroot/assets/icons/brands/wpressr.svg | 1 + wwwroot/assets/icons/brands/xbox.svg | 1 + wwwroot/assets/icons/brands/xing-square.svg | 1 + wwwroot/assets/icons/brands/xing.svg | 1 + wwwroot/assets/icons/brands/y-combinator.svg | 1 + wwwroot/assets/icons/brands/yahoo.svg | 1 + wwwroot/assets/icons/brands/yammer.svg | 1 + .../icons/brands/yandex-international.svg | 1 + wwwroot/assets/icons/brands/yandex.svg | 1 + wwwroot/assets/icons/brands/yarn.svg | 1 + wwwroot/assets/icons/brands/yelp.svg | 1 + wwwroot/assets/icons/brands/yoast.svg | 1 + .../assets/icons/brands/youtube-square.svg | 1 + wwwroot/assets/icons/brands/youtube.svg | 1 + wwwroot/assets/icons/brands/zhihu.svg | 1 + wwwroot/assets/icons/briefcase.svg | 5 + wwwroot/assets/icons/brightness.svg | 6 + wwwroot/assets/icons/british-pound.svg | 5 + wwwroot/assets/icons/browser.svg | 5 + wwwroot/assets/icons/brush-alt.svg | 5 + wwwroot/assets/icons/brush.svg | 5 + wwwroot/assets/icons/bug.svg | 5 + wwwroot/assets/icons/building.svg | 14 + wwwroot/assets/icons/bullhorn.svg | 5 + wwwroot/assets/icons/burger.svg | 8 + wwwroot/assets/icons/bus-alt.svg | 5 + wwwroot/assets/icons/calculator.svg | 10 + wwwroot/assets/icons/calendar-check.svg | 6 + wwwroot/assets/icons/calendar.svg | 17 + wwwroot/assets/icons/camera-control.svg | 9 + wwwroot/assets/icons/camera-roll.svg | 13 + wwwroot/assets/icons/camera.svg | 6 + wwwroot/assets/icons/car-alt.svg | 5 + wwwroot/assets/icons/caret-bottom.svg | 5 + wwwroot/assets/icons/caret-left.svg | 5 + wwwroot/assets/icons/caret-right.svg | 5 + wwwroot/assets/icons/caret-top.svg | 5 + wwwroot/assets/icons/cart.svg | 7 + wwwroot/assets/icons/casino.svg | 12 + wwwroot/assets/icons/cast.svg | 8 + wwwroot/assets/icons/cat.svg | 5 + wwwroot/assets/icons/center-focus.svg | 9 + wwwroot/assets/icons/chart-line.svg | 6 + wwwroot/assets/icons/chart-pie.svg | 6 + wwwroot/assets/icons/chart.svg | 7 + wwwroot/assets/icons/chat-bubble.svg | 6 + wwwroot/assets/icons/check.svg | 5 + wwwroot/assets/icons/chevron-bottom.svg | 5 + .../assets/icons/chevron-circle-down-alt.svg | 6 + .../assets/icons/chevron-circle-left-alt.svg | 6 + .../assets/icons/chevron-circle-right-alt.svg | 6 + .../assets/icons/chevron-circle-up-alt.svg | 6 + wwwroot/assets/icons/chevron-double-down.svg | 6 + wwwroot/assets/icons/chevron-double-left.svg | 6 + wwwroot/assets/icons/chevron-double-right.svg | 6 + .../assets/icons/chevron-double-up-alt.svg | 6 + wwwroot/assets/icons/chevron-double-up.svg | 6 + wwwroot/assets/icons/chevron-left.svg | 5 + wwwroot/assets/icons/chevron-right.svg | 5 + wwwroot/assets/icons/chevron-top.svg | 5 + wwwroot/assets/icons/child-friendly.svg | 5 + wwwroot/assets/icons/child.svg | 8 + wwwroot/assets/icons/circle.svg | 5 + wwwroot/assets/icons/clear-all.svg | 7 + wwwroot/assets/icons/clipboard.svg | 6 + wwwroot/assets/icons/clock.svg | 6 + wwwroot/assets/icons/clone.svg | 6 + wwwroot/assets/icons/closed-captioning.svg | 7 + wwwroot/assets/icons/cloud-download.svg | 6 + wwwroot/assets/icons/cloud-upload.svg | 6 + wwwroot/assets/icons/cloud.svg | 5 + wwwroot/assets/icons/cloudy.svg | 5 + wwwroot/assets/icons/code.svg | 7 + wwwroot/assets/icons/codepen.svg | 5 + wwwroot/assets/icons/coffee.svg | 6 + wwwroot/assets/icons/color-border.svg | 6 + wwwroot/assets/icons/color-fill.svg | 7 + wwwroot/assets/icons/color-palette.svg | 9 + wwwroot/assets/icons/columns.svg | 5 + wwwroot/assets/icons/comment-bubble.svg | 5 + wwwroot/assets/icons/comment-square.svg | 5 + wwwroot/assets/icons/compass.svg | 6 + wwwroot/assets/icons/compress.svg | 8 + wwwroot/assets/icons/contact.svg | 5 + wwwroot/assets/icons/contrast.svg | 5 + wwwroot/assets/icons/copy.svg | 6 + wwwroot/assets/icons/copyright.svg | 6 + .../assets/icons/coreui/free-symbol-defs.svg | 3208 ++++ wwwroot/assets/icons/couch.svg | 5 + wwwroot/assets/icons/credit-card.svg | 7 + wwwroot/assets/icons/crop-rotate.svg | 7 + wwwroot/assets/icons/crop.svg | 10 + wwwroot/assets/icons/cursor-move.svg | 11 + wwwroot/assets/icons/cursor.svg | 5 + wwwroot/assets/icons/cut.svg | 5 + wwwroot/assets/icons/data-transfer-down.svg | 6 + wwwroot/assets/icons/data-transfer-up.svg | 6 + wwwroot/assets/icons/deaf.svg | 7 + wwwroot/assets/icons/delete.svg | 6 + wwwroot/assets/icons/description.svg | 7 + wwwroot/assets/icons/devices.svg | 5 + wwwroot/assets/icons/dialpad.svg | 14 + wwwroot/assets/icons/dinner.svg | 6 + wwwroot/assets/icons/dog.svg | 5 + wwwroot/assets/icons/dollar.svg | 5 + wwwroot/assets/icons/door.svg | 6 + .../assets/icons/double-quote-sans-left.svg | 6 + .../assets/icons/double-quote-sans-right.svg | 6 + wwwroot/assets/icons/drink-alcohol.svg | 5 + wwwroot/assets/icons/drink.svg | 5 + wwwroot/assets/icons/drop.svg | 5 + wwwroot/assets/icons/drop1.svg | 5 + wwwroot/assets/icons/elevator.svg | 6 + wwwroot/assets/icons/energy.svg | 5 + wwwroot/assets/icons/envelope-closed.svg | 5 + wwwroot/assets/icons/envelope-letter.svg | 5 + wwwroot/assets/icons/envelope-open.svg | 5 + wwwroot/assets/icons/equalizer.svg | 7 + wwwroot/assets/icons/ethernet.svg | 9 + wwwroot/assets/icons/euro.svg | 5 + wwwroot/assets/icons/excerpt.svg | 11 + wwwroot/assets/icons/exit-to-app.svg | 6 + wwwroot/assets/icons/expand-down.svg | 7 + wwwroot/assets/icons/expand-left.svg | 7 + wwwroot/assets/icons/expand-right.svg | 7 + wwwroot/assets/icons/expand-up.svg | 7 + wwwroot/assets/icons/exposure.svg | 7 + wwwroot/assets/icons/external-link.svg | 6 + wwwroot/assets/icons/eye.svg | 7 + wwwroot/assets/icons/eyedropper.svg | 5 + wwwroot/assets/icons/face-dead.svg | 8 + wwwroot/assets/icons/face.svg | 8 + wwwroot/assets/icons/facebook.svg | 5 + wwwroot/assets/icons/fastfood.svg | 7 + wwwroot/assets/icons/fax.svg | 12 + wwwroot/assets/icons/featured-playlist.svg | 9 + wwwroot/assets/icons/file.svg | 5 + wwwroot/assets/icons/filter-frames.svg | 6 + wwwroot/assets/icons/filter-photo.svg | 6 + wwwroot/assets/icons/filter.svg | 5 + wwwroot/assets/icons/find-in-page.svg | 6 + wwwroot/assets/icons/fingerprint.svg | 10 + wwwroot/assets/icons/fire.svg | 6 + wwwroot/assets/icons/flag-alt.svg | 5 + wwwroot/assets/icons/flight-takeoff.svg | 6 + wwwroot/assets/icons/flip-to-back.svg | 29 + wwwroot/assets/icons/flip-to-front.svg | 18 + wwwroot/assets/icons/flip.svg | 16 + wwwroot/assets/icons/flower.svg | 6 + wwwroot/assets/icons/folder-open.svg | 5 + wwwroot/assets/icons/folder.svg | 5 + wwwroot/assets/icons/font.svg | 6 + wwwroot/assets/icons/football.svg | 6 + wwwroot/assets/icons/fork.svg | 5 + wwwroot/assets/icons/fridge.svg | 7 + wwwroot/assets/icons/frown.svg | 8 + wwwroot/assets/icons/fullscreen-exit.svg | 6 + wwwroot/assets/icons/fullscreen.svg | 6 + wwwroot/assets/icons/functions-alt.svg | 5 + wwwroot/assets/icons/functions.svg | 5 + wwwroot/assets/icons/gamepad.svg | 10 + wwwroot/assets/icons/garage.svg | 8 + wwwroot/assets/icons/gem.svg | 5 + wwwroot/assets/icons/gif.svg | 7 + wwwroot/assets/icons/gift.svg | 5 + wwwroot/assets/icons/git.svg | 5 + wwwroot/assets/icons/github-circle.svg | 5 + wwwroot/assets/icons/github.svg | 5 + wwwroot/assets/icons/gitlab.svg | 5 + wwwroot/assets/icons/globe-alt.svg | 5 + wwwroot/assets/icons/golf-alt.svg | 6 + wwwroot/assets/icons/golf.svg | 6 + wwwroot/assets/icons/gradient.svg | 13 + wwwroot/assets/icons/grain.svg | 12 + wwwroot/assets/icons/graph.svg | 5 + wwwroot/assets/icons/grid-slash.svg | 6 + wwwroot/assets/icons/grid.svg | 5 + wwwroot/assets/icons/hand-point-down.svg | 5 + wwwroot/assets/icons/hand-point-left.svg | 5 + wwwroot/assets/icons/hand-point-right.svg | 5 + wwwroot/assets/icons/hand-point-up.svg | 5 + wwwroot/assets/icons/hd.svg | 7 + wwwroot/assets/icons/hdr.svg | 7 + wwwroot/assets/icons/header.svg | 6 + wwwroot/assets/icons/headphones.svg | 5 + wwwroot/assets/icons/healing.svg | 11 + wwwroot/assets/icons/heart.svg | 5 + wwwroot/assets/icons/highlighter.svg | 5 + wwwroot/assets/icons/highligt.svg | 8 + wwwroot/assets/icons/history.svg | 6 + wwwroot/assets/icons/home.svg | 5 + wwwroot/assets/icons/hospital.svg | 9 + wwwroot/assets/icons/hot-tub.svg | 12 + wwwroot/assets/icons/house.svg | 6 + wwwroot/assets/icons/https.svg | 6 + wwwroot/assets/icons/image-broken.svg | 6 + wwwroot/assets/icons/image-plus.svg | 6 + wwwroot/assets/icons/image1.svg | 5 + wwwroot/assets/icons/inbox.svg | 5 + wwwroot/assets/icons/indent-decrease.svg | 10 + wwwroot/assets/icons/indent-increase.svg | 10 + wwwroot/assets/icons/industry-slash.svg | 12 + wwwroot/assets/icons/industry.svg | 13 + wwwroot/assets/icons/infinity.svg | 5 + wwwroot/assets/icons/info.svg | 7 + wwwroot/assets/icons/input-hdmi.svg | 5 + wwwroot/assets/icons/input-power.svg | 5 + wwwroot/assets/icons/input.svg | 6 + wwwroot/assets/icons/instagram.svg | 7 + wwwroot/assets/icons/institution.svg | 10 + wwwroot/assets/icons/italic.svg | 6 + wwwroot/assets/icons/justify-center.svg | 9 + wwwroot/assets/icons/justify-left.svg | 9 + wwwroot/assets/icons/justify-right.svg | 9 + wwwroot/assets/icons/keyboard.svg | 20 + wwwroot/assets/icons/lan.svg | 5 + wwwroot/assets/icons/language.svg | 6 + wwwroot/assets/icons/laptop.svg | 6 + wwwroot/assets/icons/layers.svg | 7 + wwwroot/assets/icons/leaf.svg | 5 + wwwroot/assets/icons/lemon.svg | 6 + wwwroot/assets/icons/level-down.svg | 5 + wwwroot/assets/icons/level-up.svg | 5 + wwwroot/assets/icons/library-add.svg | 8 + wwwroot/assets/icons/library.svg | 7 + wwwroot/assets/icons/life-ring.svg | 5 + wwwroot/assets/icons/lightbulb.svg | 5 + wwwroot/assets/icons/line-spacing.svg | 9 + wwwroot/assets/icons/line-style.svg | 14 + wwwroot/assets/icons/line-weight.svg | 8 + wwwroot/assets/icons/link-alt.svg | 7 + wwwroot/assets/icons/link-broken.svg | 8 + wwwroot/assets/icons/link.svg | 7 + wwwroot/assets/icons/linkedin.svg | 8 + wwwroot/assets/icons/list-filter.svg | 8 + wwwroot/assets/icons/list-high-priority.svg | 9 + wwwroot/assets/icons/list-low-priority.svg | 9 + wwwroot/assets/icons/list-numbered.svg | 10 + wwwroot/assets/icons/list-rich.svg | 13 + wwwroot/assets/icons/list.svg | 10 + wwwroot/assets/icons/location-pin.svg | 6 + wwwroot/assets/icons/lock-locked.svg | 5 + wwwroot/assets/icons/lock-unlocked.svg | 5 + wwwroot/assets/icons/locomotive.svg | 5 + wwwroot/assets/icons/loop-1.svg | 7 + wwwroot/assets/icons/loop-circular.svg | 6 + wwwroot/assets/icons/loop.svg | 6 + wwwroot/assets/icons/low-vision.svg | 7 + wwwroot/assets/icons/magnifying-glass.svg | 5 + wwwroot/assets/icons/map.svg | 5 + wwwroot/assets/icons/media-eject.svg | 6 + wwwroot/assets/icons/media-pause.svg | 6 + wwwroot/assets/icons/media-play.svg | 5 + wwwroot/assets/icons/media-record.svg | 5 + wwwroot/assets/icons/media-skip-backward.svg | 5 + wwwroot/assets/icons/media-skip-forward.svg | 5 + wwwroot/assets/icons/media-step-backward.svg | 6 + wwwroot/assets/icons/media-step-forward.svg | 6 + wwwroot/assets/icons/media-stop.svg | 5 + wwwroot/assets/icons/medical-cross.svg | 5 + wwwroot/assets/icons/meh.svg | 8 + wwwroot/assets/icons/memory.svg | 6 + wwwroot/assets/icons/menu.svg | 7 + wwwroot/assets/icons/microphone.svg | 6 + wwwroot/assets/icons/minus.svg | 5 + wwwroot/assets/icons/mobile-landscape.svg | 5 + wwwroot/assets/icons/mobile.svg | 6 + wwwroot/assets/icons/money.svg | 9 + wwwroot/assets/icons/monitor.svg | 6 + wwwroot/assets/icons/mood-bad.svg | 8 + wwwroot/assets/icons/mood-good.svg | 8 + wwwroot/assets/icons/mood-very-bad.svg | 8 + wwwroot/assets/icons/mood-very-good.svg | 8 + wwwroot/assets/icons/moon.svg | 5 + wwwroot/assets/icons/mouse.svg | 5 + wwwroot/assets/icons/mouth-slash.svg | 7 + wwwroot/assets/icons/move.svg | 5 + wwwroot/assets/icons/movie.svg | 5 + wwwroot/assets/icons/mug-tea.svg | 6 + wwwroot/assets/icons/mug.svg | 6 + wwwroot/assets/icons/music-note.svg | 5 + wwwroot/assets/icons/newspaper.svg | 9 + wwwroot/assets/icons/notes.svg | 8 + wwwroot/assets/icons/object-group.svg | 6 + wwwroot/assets/icons/object-ungroup.svg | 5 + wwwroot/assets/icons/opacity.svg | 10 + wwwroot/assets/icons/options-horizontal.svg | 7 + wwwroot/assets/icons/options.svg | 7 + wwwroot/assets/icons/paint-bucket.svg | 6 + wwwroot/assets/icons/paint.svg | 5 + wwwroot/assets/icons/paper-plane.svg | 5 + wwwroot/assets/icons/paperclip.svg | 5 + wwwroot/assets/icons/paragraph.svg | 5 + wwwroot/assets/icons/paw.svg | 9 + wwwroot/assets/icons/pen-alt.svg | 5 + wwwroot/assets/icons/pen-nib.svg | 5 + wwwroot/assets/icons/pencil.svg | 5 + wwwroot/assets/icons/people.svg | 6 + wwwroot/assets/icons/phone.svg | 5 + wwwroot/assets/icons/pin.svg | 5 + wwwroot/assets/icons/pizza.svg | 10 + wwwroot/assets/icons/playlist-add.svg | 8 + wwwroot/assets/icons/plus.svg | 5 + wwwroot/assets/icons/polymer.svg | 5 + wwwroot/assets/icons/pool.svg | 7 + wwwroot/assets/icons/power-standby.svg | 6 + wwwroot/assets/icons/pregnant.svg | 6 + wwwroot/assets/icons/print.svg | 7 + wwwroot/assets/icons/puzzle.svg | 5 + wwwroot/assets/icons/qr-code.svg | 18 + wwwroot/assets/icons/rain.svg | 9 + wwwroot/assets/icons/react.svg | 6 + wwwroot/assets/icons/rectangle.svg | 5 + wwwroot/assets/icons/reddit.svg | 5 + wwwroot/assets/icons/registered.svg | 7 + wwwroot/assets/icons/reload.svg | 5 + wwwroot/assets/icons/resize-both.svg | 5 + wwwroot/assets/icons/resize-height.svg | 5 + wwwroot/assets/icons/resize-width.svg | 5 + wwwroot/assets/icons/restaurant.svg | 6 + wwwroot/assets/icons/room.svg | 6 + wwwroot/assets/icons/rowing.svg | 6 + wwwroot/assets/icons/rss.svg | 8 + wwwroot/assets/icons/running.svg | 6 + wwwroot/assets/icons/satelite.svg | 7 + wwwroot/assets/icons/save.svg | 6 + wwwroot/assets/icons/school.svg | 6 + wwwroot/assets/icons/screen-desktop.svg | 5 + wwwroot/assets/icons/screen-smartphone.svg | 7 + wwwroot/assets/icons/scrubber.svg | 6 + wwwroot/assets/icons/settings.svg | 6 + wwwroot/assets/icons/share-all.svg | 6 + wwwroot/assets/icons/share-alt.svg | 5 + wwwroot/assets/icons/share-boxed.svg | 6 + wwwroot/assets/icons/share.svg | 5 + wwwroot/assets/icons/shield-alt.svg | 5 + wwwroot/assets/icons/short-text.svg | 7 + wwwroot/assets/icons/shower.svg | 13 + wwwroot/assets/icons/sign-language.svg | 5 + wwwroot/assets/icons/signal-cellular-0.svg | 5 + wwwroot/assets/icons/signal-cellular-3.svg | 5 + wwwroot/assets/icons/signal-cellular-4.svg | 5 + wwwroot/assets/icons/sim.svg | 6 + wwwroot/assets/icons/sitemap.svg | 5 + wwwroot/assets/icons/skype.svg | 6 + wwwroot/assets/icons/smile-plus.svg | 9 + wwwroot/assets/icons/smile.svg | 8 + wwwroot/assets/icons/smoke-free.svg | 9 + wwwroot/assets/icons/smoking-room.svg | 9 + wwwroot/assets/icons/snowflake.svg | 5 + wwwroot/assets/icons/sort-alpha-down.svg | 7 + wwwroot/assets/icons/sort-alpha-up.svg | 7 + wwwroot/assets/icons/sort-ascending.svg | 9 + wwwroot/assets/icons/sort-descending.svg | 9 + wwwroot/assets/icons/sort-numeric-down.svg | 7 + wwwroot/assets/icons/sort-numeric-up.svg | 7 + wwwroot/assets/icons/spa.svg | 5 + wwwroot/assets/icons/space-bar.svg | 5 + wwwroot/assets/icons/speaker.svg | 8 + wwwroot/assets/icons/speech.svg | 8 + wwwroot/assets/icons/speedometer.svg | 10 + wwwroot/assets/icons/spotify.svg | 8 + wwwroot/assets/icons/spreadsheet.svg | 17 + wwwroot/assets/icons/square.svg | 5 + wwwroot/assets/icons/stackoverflow.svg | 10 + wwwroot/assets/icons/star-half.svg | 5 + wwwroot/assets/icons/star.svg | 5 + wwwroot/assets/icons/storage.svg | 8 + wwwroot/assets/icons/stream.svg | 7 + wwwroot/assets/icons/sun.svg | 13 + wwwroot/assets/icons/swap-horizontal.svg | 6 + wwwroot/assets/icons/swap-vertical.svg | 6 + wwwroot/assets/icons/swimming.svg | 8 + wwwroot/assets/icons/sync.svg | 6 + wwwroot/assets/icons/tablet.svg | 6 + wwwroot/assets/icons/tag.svg | 6 + wwwroot/assets/icons/tags.svg | 7 + wwwroot/assets/icons/task.svg | 6 + wwwroot/assets/icons/taxi.svg | 10 + wwwroot/assets/icons/tennis-ball.svg | 5 + wwwroot/assets/icons/tennis.svg | 6 + wwwroot/assets/icons/terminal.svg | 7 + wwwroot/assets/icons/terrain.svg | 6 + wwwroot/assets/icons/text-shapes.svg | 6 + wwwroot/assets/icons/text-size.svg | 6 + wwwroot/assets/icons/text-square.svg | 6 + wwwroot/assets/icons/text-strike.svg | 7 + wwwroot/assets/icons/text.svg | 5 + wwwroot/assets/icons/thumb-down.svg | 6 + wwwroot/assets/icons/thumb-up.svg | 6 + wwwroot/assets/icons/toggle-off.svg | 6 + wwwroot/assets/icons/toilet.svg | 5 + wwwroot/assets/icons/touch-app.svg | 5 + wwwroot/assets/icons/trademark.svg | 6 + wwwroot/assets/icons/transfer.svg | 6 + wwwroot/assets/icons/translate.svg | 6 + wwwroot/assets/icons/trash.svg | 9 + wwwroot/assets/icons/triangle.svg | 5 + wwwroot/assets/icons/truck.svg | 5 + wwwroot/assets/icons/tv.svg | 5 + wwwroot/assets/icons/twitter.svg | 5 + wwwroot/assets/icons/underline.svg | 7 + wwwroot/assets/icons/user-female.svg | 5 + wwwroot/assets/icons/user-follow.svg | 6 + wwwroot/assets/icons/user-unfollow.svg | 6 + wwwroot/assets/icons/user.svg | 5 + wwwroot/assets/icons/vector.svg | 5 + .../assets/icons/vertical-align-bottom.svg | 6 + .../assets/icons/vertical-align-bottom1.svg | 8 + .../assets/icons/vertical-align-center.svg | 7 + .../assets/icons/vertical-align-center1.svg | 11 + wwwroot/assets/icons/vertical-align-top.svg | 6 + wwwroot/assets/icons/vertical-align-top1.svg | 8 + wwwroot/assets/icons/video.svg | 5 + wwwroot/assets/icons/view-column.svg | 5 + wwwroot/assets/icons/view-module.svg | 5 + wwwroot/assets/icons/view-quilt.svg | 5 + wwwroot/assets/icons/view-stream.svg | 5 + wwwroot/assets/icons/voice-over-record.svg | 7 + wwwroot/assets/icons/volume-high.svg | 7 + wwwroot/assets/icons/volume-low.svg | 6 + wwwroot/assets/icons/volume-off.svg | 6 + wwwroot/assets/icons/vue.svg | 5 + wwwroot/assets/icons/walk.svg | 6 + wwwroot/assets/icons/wallet.svg | 6 + wwwroot/assets/icons/wallpaper.svg | 9 + wwwroot/assets/icons/warning.svg | 7 + wwwroot/assets/icons/watch.svg | 5 + wwwroot/assets/icons/wc.svg | 8 + wwwroot/assets/icons/weightlifitng.svg | 6 + wwwroot/assets/icons/wheelchair.svg | 7 + wwwroot/assets/icons/wifi-signal-0.svg | 5 + wwwroot/assets/icons/wifi-signal-1.svg | 5 + wwwroot/assets/icons/wifi-signal-2.svg | 5 + wwwroot/assets/icons/wifi-signal-4.svg | 5 + wwwroot/assets/icons/wifi-signal-off.svg | 6 + wwwroot/assets/icons/window-maximize.svg | 5 + wwwroot/assets/icons/window-minimize.svg | 5 + wwwroot/assets/icons/window-restore.svg | 6 + wwwroot/assets/icons/window.svg | 5 + wwwroot/assets/icons/wrap-text.svg | 7 + wwwroot/assets/icons/x-circle.svg | 6 + wwwroot/assets/icons/x.svg | 5 + wwwroot/assets/icons/yen.svg | 5 + wwwroot/assets/icons/zoom-in.svg | 6 + wwwroot/assets/icons/zoom-out.svg | 6 + wwwroot/assets/img/avatars/admin.png | Bin 0 -> 8507 bytes wwwroot/assets/img/full.jpg | Bin 0 -> 290033 bytes wwwroot/css/_bg-gradients.scss | 23 + wwwroot/css/custom.css | 3 + wwwroot/css/examples.css | 74 + wwwroot/css/examples.css.map | 1 + wwwroot/css/examples.min.css | 2 + wwwroot/css/examples.min.css.map | 1 + wwwroot/css/gradients.css | 39 + wwwroot/css/style.css | 14086 ++++++++++++++++ wwwroot/css/style.css.map | 1 + wwwroot/css/style.min.css | 8 + wwwroot/css/style.min.css.map | 1 + wwwroot/css/vendors/simplebar.css | 7 + wwwroot/css/vendors/simplebar.css.map | 1 + wwwroot/js/charts.js | 139 + wwwroot/js/charts.js.map | 1 + wwwroot/js/colors.js | 28 + wwwroot/js/colors.js.map | 1 + wwwroot/js/jqtable.js | 4 + wwwroot/js/main.js | 281 + wwwroot/js/main.js.map | 1 + wwwroot/js/popovers.js | 14 + wwwroot/js/popovers.js.map | 1 + wwwroot/js/script.js | 86 + wwwroot/js/toasts.js | 18 + wwwroot/js/toasts.js.map | 1 + wwwroot/js/tooltips.js | 14 + wwwroot/js/tooltips.js.map | 1 + wwwroot/js/wgelements.js | 30 + wwwroot/js/widgets.js | 501 + wwwroot/js/widgets.js.map | 1 + wwwroot/js/wireguard.js | 188 + wwwroot/vendors/chart.js/js/chart.min.js | 13 + .../coreui/chartjs/css/coreui-chartjs.css | 42 + .../coreui/chartjs/css/coreui-chartjs.css.map | 1 + .../coreui/chartjs/js/coreui-chartjs.js | 129 + .../coreui/chartjs/js/coreui-chartjs.js.map | 1 + .../coreui/coreui/js/coreui.bundle.min.js | 7 + .../coreui/coreui/js/coreui.bundle.min.js.map | 1 + .../vendors/coreui/icons/css/brand.min.css | 8 + .../coreui/icons/css/brand.min.css.map | 1 + wwwroot/vendors/coreui/icons/css/flag.min.css | 8 + .../vendors/coreui/icons/css/flag.min.css.map | 1 + wwwroot/vendors/coreui/icons/css/free.min.css | 8 + .../vendors/coreui/icons/css/free.min.css.map | 1 + .../coreui/icons/fonts/CoreUI-Icons-Brand.eot | Bin 0 -> 522960 bytes .../coreui/icons/fonts/CoreUI-Icons-Brand.svg | 2502 +++ .../coreui/icons/fonts/CoreUI-Icons-Brand.ttf | Bin 0 -> 522752 bytes .../icons/fonts/CoreUI-Icons-Brand.woff | Bin 0 -> 378328 bytes .../coreui/icons/fonts/CoreUI-Icons-Free.eot | Bin 0 -> 146104 bytes .../coreui/icons/fonts/CoreUI-Icons-Free.svg | 1674 ++ .../coreui/icons/fonts/CoreUI-Icons-Free.ttf | Bin 0 -> 145900 bytes .../coreui/icons/fonts/CoreUI-Icons-Free.woff | Bin 0 -> 78440 bytes wwwroot/vendors/coreui/icons/svg/brand.svg | 2494 +++ wwwroot/vendors/coreui/icons/svg/flag.svg | 601 + .../vendors/coreui/icons/svg/flag/cif-ad.svg | 185 + .../vendors/coreui/icons/svg/flag/cif-ae.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-af.svg | 123 + .../vendors/coreui/icons/svg/flag/cif-ag.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-al.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-am.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-ao.svg | 13 + .../vendors/coreui/icons/svg/flag/cif-ar.svg | 50 + .../vendors/coreui/icons/svg/flag/cif-at.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-au.svg | 21 + .../vendors/coreui/icons/svg/flag/cif-az.svg | 10 + .../vendors/coreui/icons/svg/flag/cif-ba.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-bb.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-bd.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-be.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-bf.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-bg.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-bh.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-bi.svg | 20 + .../vendors/coreui/icons/svg/flag/cif-bj.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-bn.svg | 46 + .../vendors/coreui/icons/svg/flag/cif-bo.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-br.svg | 20 + .../vendors/coreui/icons/svg/flag/cif-bs.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-bt.svg | 81 + .../vendors/coreui/icons/svg/flag/cif-bw.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-by.svg | 21 + .../vendors/coreui/icons/svg/flag/cif-bz.svg | 364 + .../vendors/coreui/icons/svg/flag/cif-ca.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-cd.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-cf.svg | 10 + .../vendors/coreui/icons/svg/flag/cif-cg.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-ch.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-ci.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-ck.svg | 46 + .../vendors/coreui/icons/svg/flag/cif-cl.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-cm.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-cn.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-co.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-cr.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-cu.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-cv.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-cy.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-cz.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-de.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-dj.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-dk.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-dm.svg | 76 + .../vendors/coreui/icons/svg/flag/cif-do.svg | 145 + .../vendors/coreui/icons/svg/flag/cif-dz.svg | 19 + .../vendors/coreui/icons/svg/flag/cif-ec.svg | 914 + .../vendors/coreui/icons/svg/flag/cif-ee.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-eg.svg | 47 + .../vendors/coreui/icons/svg/flag/cif-er.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-es.svg | 583 + .../vendors/coreui/icons/svg/flag/cif-et.svg | 10 + .../vendors/coreui/icons/svg/flag/cif-fi.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-fj.svg | 213 + .../vendors/coreui/icons/svg/flag/cif-fm.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-fr.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-ga.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-gb.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-gd.svg | 10 + .../vendors/coreui/icons/svg/flag/cif-ge.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-gh.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-gm.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-gn.svg | 21 + .../vendors/coreui/icons/svg/flag/cif-gq.svg | 21 + .../vendors/coreui/icons/svg/flag/cif-gr.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-gt.svg | 224 + .../vendors/coreui/icons/svg/flag/cif-gw.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-gy.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-hk.svg | 15 + .../vendors/coreui/icons/svg/flag/cif-hn.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-hr.svg | 66 + .../vendors/coreui/icons/svg/flag/cif-ht.svg | 137 + .../vendors/coreui/icons/svg/flag/cif-hu.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-id.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-ie.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-il.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-in.svg | 58 + .../vendors/coreui/icons/svg/flag/cif-iq.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-ir.svg | 11 + .../vendors/coreui/icons/svg/flag/cif-is.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-it.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-jm.svg | 12 + .../vendors/coreui/icons/svg/flag/cif-jo.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-jp.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-ke.svg | 15 + .../vendors/coreui/icons/svg/flag/cif-kg.svg | 92 + .../vendors/coreui/icons/svg/flag/cif-kh.svg | 92 + .../vendors/coreui/icons/svg/flag/cif-ki.svg | 19 + .../vendors/coreui/icons/svg/flag/cif-km.svg | 12 + .../vendors/coreui/icons/svg/flag/cif-kn.svg | 19 + .../vendors/coreui/icons/svg/flag/cif-kp.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-kr.svg | 19 + .../vendors/coreui/icons/svg/flag/cif-kw.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-kz.svg | 20 + .../vendors/coreui/icons/svg/flag/cif-la.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-lb.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-lc.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-li.svg | 51 + .../vendors/coreui/icons/svg/flag/cif-lk.svg | 11 + .../vendors/coreui/icons/svg/flag/cif-lr.svg | 14 + .../vendors/coreui/icons/svg/flag/cif-ls.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-lt.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-lu.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-lv.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-ly.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-ma.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-mc.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-md.svg | 47 + .../vendors/coreui/icons/svg/flag/cif-me.svg | 120 + .../vendors/coreui/icons/svg/flag/cif-mg.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-mh.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-mk.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-ml.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-mm.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-mn.svg | 14 + .../vendors/coreui/icons/svg/flag/cif-mr.svg | 14 + .../vendors/coreui/icons/svg/flag/cif-mt.svg | 33 + .../vendors/coreui/icons/svg/flag/cif-mu.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-mv.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-mw.svg | 10 + .../vendors/coreui/icons/svg/flag/cif-mx.svg | 510 + .../vendors/coreui/icons/svg/flag/cif-my.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-mz.svg | 14 + .../vendors/coreui/icons/svg/flag/cif-na.svg | 20 + .../vendors/coreui/icons/svg/flag/cif-ne.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-ng.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-ni.svg | 29 + .../vendors/coreui/icons/svg/flag/cif-nl.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-no.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-np.svg | 11 + .../vendors/coreui/icons/svg/flag/cif-nr.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-nu.svg | 11 + .../vendors/coreui/icons/svg/flag/cif-nz.svg | 27 + .../vendors/coreui/icons/svg/flag/cif-om.svg | 76 + .../vendors/coreui/icons/svg/flag/cif-pa.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-pe.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-pg.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-ph.svg | 19 + .../vendors/coreui/icons/svg/flag/cif-pk.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-pl.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-pt.svg | 213 + .../vendors/coreui/icons/svg/flag/cif-pw.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-py.svg | 157 + .../vendors/coreui/icons/svg/flag/cif-qa.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-ro.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-rs.svg | 442 + .../vendors/coreui/icons/svg/flag/cif-ru.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-rw.svg | 12 + .../vendors/coreui/icons/svg/flag/cif-sa.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-sb.svg | 14 + .../vendors/coreui/icons/svg/flag/cif-sc.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-sd.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-se.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-sg.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-si.svg | 13 + .../vendors/coreui/icons/svg/flag/cif-sk.svg | 25 + .../vendors/coreui/icons/svg/flag/cif-sl.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-sm.svg | 505 + .../vendors/coreui/icons/svg/flag/cif-sn.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-so.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-sr.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-ss.svg | 10 + .../vendors/coreui/icons/svg/flag/cif-st.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-sv.svg | 865 + .../vendors/coreui/icons/svg/flag/cif-sy.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-sz.svg | 25 + .../vendors/coreui/icons/svg/flag/cif-td.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-tg.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-th.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-tj.svg | 13 + .../vendors/coreui/icons/svg/flag/cif-tl.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-tm.svg | 400 + .../vendors/coreui/icons/svg/flag/cif-tn.svg | 9 + .../vendors/coreui/icons/svg/flag/cif-to.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-tr.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-tt.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-tv.svg | 21 + .../vendors/coreui/icons/svg/flag/cif-tw.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-tz.svg | 18 + .../vendors/coreui/icons/svg/flag/cif-ua.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-ug.svg | 23 + .../vendors/coreui/icons/svg/flag/cif-us.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-uy.svg | 36 + .../vendors/coreui/icons/svg/flag/cif-uz.svg | 11 + .../vendors/coreui/icons/svg/flag/cif-va.svg | 304 + .../vendors/coreui/icons/svg/flag/cif-vc.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-ve.svg | 8 + .../vendors/coreui/icons/svg/flag/cif-vg.svg | 227 + .../vendors/coreui/icons/svg/flag/cif-vn.svg | 6 + .../vendors/coreui/icons/svg/flag/cif-ws.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-xk.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-ye.svg | 7 + .../vendors/coreui/icons/svg/flag/cif-za.svg | 21 + .../vendors/coreui/icons/svg/flag/cif-zm.svg | 14 + .../vendors/coreui/icons/svg/flag/cif-zw.svg | 20 + wwwroot/vendors/coreui/icons/svg/free.svg | 1666 ++ .../vendors/coreui/utils/js/coreui-utils.js | 1 + wwwroot/vendors/simplebar/css/simplebar.css | 212 + wwwroot/vendors/simplebar/js/simplebar.min.js | 10 + 1351 files changed, 48136 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 APIHandler.cs create mode 100644 DBContext.cs create mode 100644 Dockerfile create mode 100644 Helper.cs create mode 100644 LICENSE create mode 100644 MTAPIHandler.cs create mode 100644 MTWireGuard.csproj create mode 100644 MTWireGuard.sln create mode 100644 Mapper/MappingProfile.cs create mode 100644 Mapper/PeerMapping.cs create mode 100644 Mapper/ServerMapping.cs create mode 100644 Middlewares/AntiForgeryMiddleware.cs create mode 100644 Middlewares/DependencyCheckMiddleware.cs create mode 100644 Migrations/20230108171012_Initialize.Designer.cs create mode 100644 Migrations/20230108171012_Initialize.cs create mode 100644 Migrations/DBContextModelSnapshot.cs create mode 100644 Models/CreationStatus.cs create mode 100644 Models/LoginFailed.cs create mode 100644 Models/Mikrotik/ActiveUser.cs create mode 100644 Models/Mikrotik/EtherIP.cs create mode 100644 Models/Mikrotik/Identity.cs create mode 100644 Models/Mikrotik/Job.cs create mode 100644 Models/Mikrotik/Log.cs create mode 100644 Models/Mikrotik/MTInfo.cs create mode 100644 Models/Mikrotik/ServerTraffic.cs create mode 100644 Models/Mikrotik/WGPeer.cs create mode 100644 Models/Mikrotik/WGServer.cs create mode 100644 Models/Requests/ChangeStateRequest.cs create mode 100644 Models/Requests/CreateClientRequest.cs create mode 100644 Models/Requests/CreateServerRequest.cs create mode 100644 Models/Requests/DeleteRequest.cs create mode 100644 Models/Requests/SyncUserRequest.cs create mode 100644 Models/Requests/UpdateClientRequest.cs create mode 100644 Models/Requests/UpdateServerRequest.cs create mode 100644 Models/Responses/ToastResult.cs create mode 100644 Models/WGEnability.cs create mode 100644 Pages/Clients.cshtml create mode 100644 Pages/Clients.cshtml.cs create mode 100644 Pages/Components/CreateClientForm/CreateClientForm.cshtml create mode 100644 Pages/Components/CreateClientForm/CreateClientForm.cshtml.cs create mode 100644 Pages/Components/CreateServerForm/CreateServerForm.cshtml create mode 100644 Pages/Components/CreateServerForm/CreateServerForm.cshtml.cs create mode 100644 Pages/Components/DeleteModal/DeleteModal.cshtml create mode 100644 Pages/Components/DeleteModal/DeleteModal.cshtml.cs create mode 100644 Pages/Components/LogsView.razor create mode 100644 Pages/Components/SyncUserModal/SyncUserModal.cshtml create mode 100644 Pages/Components/SyncUserModal/SyncUserModal.cshtml.cs create mode 100644 Pages/Components/ToastContainer.razor create mode 100644 Pages/Components/UpdateClientModal/UpdateClientModal.cshtml create mode 100644 Pages/Components/UpdateClientModal/UpdateClientModal.cshtml.cs create mode 100644 Pages/Components/UpdateServerModal/UpdateServerModal.cshtml create mode 100644 Pages/Components/UpdateServerModal/UpdateServerModal.cshtml.cs create mode 100644 Pages/Error.cshtml create mode 100644 Pages/Error.cshtml.cs create mode 100644 Pages/Index.cshtml create mode 100644 Pages/Index.cshtml.cs create mode 100644 Pages/Login.cshtml create mode 100644 Pages/Login.cshtml.cs create mode 100644 Pages/Logout.cshtml create mode 100644 Pages/Logout.cshtml.cs create mode 100644 Pages/Logs.cshtml create mode 100644 Pages/Logs.cshtml.cs create mode 100644 Pages/Modals/QRModal.razor create mode 100644 Pages/Privacy.cshtml create mode 100644 Pages/Privacy.cshtml.cs create mode 100644 Pages/Servers.cshtml create mode 100644 Pages/Servers.cshtml.cs create mode 100644 Pages/Settings.cshtml create mode 100644 Pages/Settings.cshtml.cs create mode 100644 Pages/Shared/_ClientsTable.cshtml create mode 100644 Pages/Shared/_Layout.cshtml create mode 100644 Pages/Shared/_Layout.cshtml.css create mode 100644 Pages/Shared/_ServersTable.cshtml create mode 100644 Pages/_ViewImports.cshtml create mode 100644 Pages/_ViewStart.cshtml create mode 100644 Program.cs create mode 100644 Properties/launchSettings.json create mode 100644 README.md create mode 100644 Repositories/IMikrotikRepository.cs create mode 100644 Services/MTAPI.cs create mode 100644 ViewComponents/CreateClientFormViewComponent.cs create mode 100644 ViewComponents/CreateServerFormViewComponent.cs create mode 100644 ViewComponents/DeleteModalViewComponent.cs create mode 100644 ViewComponents/SyncUserModalViewComponent.cs create mode 100644 ViewComponents/UpdateClientModalViewComponent.cs create mode 100644 ViewComponents/UpdateServerModalViewComponent.cs create mode 100644 appsettings.Development.json create mode 100644 appsettings.json create mode 100644 build.bat create mode 100644 wwwroot/assets/brand/wireguard-mini.svg create mode 100644 wwwroot/assets/brand/wireguard.svg create mode 100644 wwwroot/assets/favicon/android-icon-144x144.png create mode 100644 wwwroot/assets/favicon/android-icon-192x192.png create mode 100644 wwwroot/assets/favicon/android-icon-256x256.png create mode 100644 wwwroot/assets/favicon/android-icon-36x36.png create mode 100644 wwwroot/assets/favicon/android-icon-384x384.png create mode 100644 wwwroot/assets/favicon/android-icon-48x48.png create mode 100644 wwwroot/assets/favicon/android-icon-512x512.png create mode 100644 wwwroot/assets/favicon/android-icon-72x72.png create mode 100644 wwwroot/assets/favicon/android-icon-96x96.png create mode 100644 wwwroot/assets/favicon/apple-touch-icon.png create mode 100644 wwwroot/assets/favicon/browserconfig.xml create mode 100644 wwwroot/assets/favicon/favicon-16x16.png create mode 100644 wwwroot/assets/favicon/favicon-32x32.png create mode 100644 wwwroot/assets/favicon/favicon.ico create mode 100644 wwwroot/assets/favicon/manifest.json create mode 100644 wwwroot/assets/favicon/mstile-150x150.png create mode 100644 wwwroot/assets/favicon/old/android-icon-144x144.png create mode 100644 wwwroot/assets/favicon/old/android-icon-192x192.png create mode 100644 wwwroot/assets/favicon/old/android-icon-36x36.png create mode 100644 wwwroot/assets/favicon/old/android-icon-48x48.png create mode 100644 wwwroot/assets/favicon/old/android-icon-72x72.png create mode 100644 wwwroot/assets/favicon/old/android-icon-96x96.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-114x114.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-120x120.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-144x144.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-152x152.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-180x180.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-57x57.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-60x60.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-72x72.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-76x76.png create mode 100644 wwwroot/assets/favicon/old/apple-icon-precomposed.png create mode 100644 wwwroot/assets/favicon/old/apple-icon.png create mode 100644 wwwroot/assets/favicon/old/browserconfig.xml create mode 100644 wwwroot/assets/favicon/old/favicon-16x16.png create mode 100644 wwwroot/assets/favicon/old/favicon-32x32.png create mode 100644 wwwroot/assets/favicon/old/favicon-96x96.png create mode 100644 wwwroot/assets/favicon/old/favicon.ico create mode 100644 wwwroot/assets/favicon/old/manifest.json create mode 100644 wwwroot/assets/favicon/old/ms-icon-144x144.png create mode 100644 wwwroot/assets/favicon/old/ms-icon-150x150.png create mode 100644 wwwroot/assets/favicon/old/ms-icon-310x310.png create mode 100644 wwwroot/assets/favicon/old/ms-icon-70x70.png create mode 100644 wwwroot/assets/favicon/safari-pinned-tab.svg create mode 100644 wwwroot/assets/icons/3d.svg create mode 100644 wwwroot/assets/icons/4k.svg create mode 100644 wwwroot/assets/icons/account-logout.svg create mode 100644 wwwroot/assets/icons/action-redo.svg create mode 100644 wwwroot/assets/icons/action-undo.svg create mode 100644 wwwroot/assets/icons/address-book.svg create mode 100644 wwwroot/assets/icons/airplane-mode-off.svg create mode 100644 wwwroot/assets/icons/airplane-mode.svg create mode 100644 wwwroot/assets/icons/airplay.svg create mode 100644 wwwroot/assets/icons/alarm.svg create mode 100644 wwwroot/assets/icons/album.svg create mode 100644 wwwroot/assets/icons/align-center.svg create mode 100644 wwwroot/assets/icons/align-left.svg create mode 100644 wwwroot/assets/icons/align-right.svg create mode 100644 wwwroot/assets/icons/american-football.svg create mode 100644 wwwroot/assets/icons/android.svg create mode 100644 wwwroot/assets/icons/angular.svg create mode 100644 wwwroot/assets/icons/aperture.svg create mode 100644 wwwroot/assets/icons/apple.svg create mode 100644 wwwroot/assets/icons/applications-settings.svg create mode 100644 wwwroot/assets/icons/applications.svg create mode 100644 wwwroot/assets/icons/arrow-bottom.svg create mode 100644 wwwroot/assets/icons/arrow-circle-bottom.svg create mode 100644 wwwroot/assets/icons/arrow-circle-left.svg create mode 100644 wwwroot/assets/icons/arrow-circle-right.svg create mode 100644 wwwroot/assets/icons/arrow-circle-top.svg create mode 100644 wwwroot/assets/icons/arrow-left.svg create mode 100644 wwwroot/assets/icons/arrow-right.svg create mode 100644 wwwroot/assets/icons/arrow-thick-bottom.svg create mode 100644 wwwroot/assets/icons/arrow-thick-from-bottom.svg create mode 100644 wwwroot/assets/icons/arrow-thick-from-left.svg create mode 100644 wwwroot/assets/icons/arrow-thick-from-right.svg create mode 100644 wwwroot/assets/icons/arrow-thick-from-top.svg create mode 100644 wwwroot/assets/icons/arrow-thick-left.svg create mode 100644 wwwroot/assets/icons/arrow-thick-right.svg create mode 100644 wwwroot/assets/icons/arrow-thick-to-bottom.svg create mode 100644 wwwroot/assets/icons/arrow-thick-to-left.svg create mode 100644 wwwroot/assets/icons/arrow-thick-to-right.svg create mode 100644 wwwroot/assets/icons/arrow-thick-to-top.svg create mode 100644 wwwroot/assets/icons/arrow-thick-top.svg create mode 100644 wwwroot/assets/icons/arrow-top.svg create mode 100644 wwwroot/assets/icons/assistive-listening-system.svg create mode 100644 wwwroot/assets/icons/asterisk-circle.svg create mode 100644 wwwroot/assets/icons/asterisk.svg create mode 100644 wwwroot/assets/icons/at.svg create mode 100644 wwwroot/assets/icons/audio-description.svg create mode 100644 wwwroot/assets/icons/audio-spectrum.svg create mode 100644 wwwroot/assets/icons/audio.svg create mode 100644 wwwroot/assets/icons/av-timer.svg create mode 100644 wwwroot/assets/icons/badge.svg create mode 100644 wwwroot/assets/icons/balance-scale.svg create mode 100644 wwwroot/assets/icons/ban.svg create mode 100644 wwwroot/assets/icons/bank.svg create mode 100644 wwwroot/assets/icons/bar-chart.svg create mode 100644 wwwroot/assets/icons/barcode.svg create mode 100644 wwwroot/assets/icons/baseball.svg create mode 100644 wwwroot/assets/icons/basket.svg create mode 100644 wwwroot/assets/icons/basketball.svg create mode 100644 wwwroot/assets/icons/bath.svg create mode 100644 wwwroot/assets/icons/battery-0.svg create mode 100644 wwwroot/assets/icons/battery-3.svg create mode 100644 wwwroot/assets/icons/battery-5.svg create mode 100644 wwwroot/assets/icons/battery-alert.svg create mode 100644 wwwroot/assets/icons/battery-slash.svg create mode 100644 wwwroot/assets/icons/beach-access.svg create mode 100644 wwwroot/assets/icons/beaker.svg create mode 100644 wwwroot/assets/icons/bed.svg create mode 100644 wwwroot/assets/icons/bell.svg create mode 100644 wwwroot/assets/icons/bike.svg create mode 100644 wwwroot/assets/icons/birthday-cake.svg create mode 100644 wwwroot/assets/icons/blind.svg create mode 100644 wwwroot/assets/icons/bluetooth.svg create mode 100644 wwwroot/assets/icons/blur-circular.svg create mode 100644 wwwroot/assets/icons/blur-linear.svg create mode 100644 wwwroot/assets/icons/blur.svg create mode 100644 wwwroot/assets/icons/boat-alt.svg create mode 100644 wwwroot/assets/icons/bold.svg create mode 100644 wwwroot/assets/icons/bolt.svg create mode 100644 wwwroot/assets/icons/book.svg create mode 100644 wwwroot/assets/icons/bookmark.svg create mode 100644 wwwroot/assets/icons/bootstrap.svg create mode 100644 wwwroot/assets/icons/border-all.svg create mode 100644 wwwroot/assets/icons/border-bottom.svg create mode 100644 wwwroot/assets/icons/border-clear.svg create mode 100644 wwwroot/assets/icons/border-horizontal.svg create mode 100644 wwwroot/assets/icons/border-inner.svg create mode 100644 wwwroot/assets/icons/border-left.svg create mode 100644 wwwroot/assets/icons/border-outer.svg create mode 100644 wwwroot/assets/icons/border-right.svg create mode 100644 wwwroot/assets/icons/border-style.svg create mode 100644 wwwroot/assets/icons/border-top.svg create mode 100644 wwwroot/assets/icons/border-vertical.svg create mode 100644 wwwroot/assets/icons/bowling.svg create mode 100644 wwwroot/assets/icons/braille.svg create mode 100644 wwwroot/assets/icons/brands/500px.svg create mode 100644 wwwroot/assets/icons/brands/accessible-icon.svg create mode 100644 wwwroot/assets/icons/brands/accusoft.svg create mode 100644 wwwroot/assets/icons/brands/acquisitions-incorporated.svg create mode 100644 wwwroot/assets/icons/brands/adn.svg create mode 100644 wwwroot/assets/icons/brands/adobe.svg create mode 100644 wwwroot/assets/icons/brands/adversal.svg create mode 100644 wwwroot/assets/icons/brands/affiliatetheme.svg create mode 100644 wwwroot/assets/icons/brands/airbnb.svg create mode 100644 wwwroot/assets/icons/brands/algolia.svg create mode 100644 wwwroot/assets/icons/brands/alipay.svg create mode 100644 wwwroot/assets/icons/brands/amazon-pay.svg create mode 100644 wwwroot/assets/icons/brands/amazon.svg create mode 100644 wwwroot/assets/icons/brands/amilia.svg create mode 100644 wwwroot/assets/icons/brands/android.svg create mode 100644 wwwroot/assets/icons/brands/angellist.svg create mode 100644 wwwroot/assets/icons/brands/angrycreative.svg create mode 100644 wwwroot/assets/icons/brands/angular.svg create mode 100644 wwwroot/assets/icons/brands/app-store-ios.svg create mode 100644 wwwroot/assets/icons/brands/app-store.svg create mode 100644 wwwroot/assets/icons/brands/apper.svg create mode 100644 wwwroot/assets/icons/brands/apple-pay.svg create mode 100644 wwwroot/assets/icons/brands/apple.svg create mode 100644 wwwroot/assets/icons/brands/artstation.svg create mode 100644 wwwroot/assets/icons/brands/asymmetrik.svg create mode 100644 wwwroot/assets/icons/brands/atlassian.svg create mode 100644 wwwroot/assets/icons/brands/audible.svg create mode 100644 wwwroot/assets/icons/brands/autoprefixer.svg create mode 100644 wwwroot/assets/icons/brands/avianex.svg create mode 100644 wwwroot/assets/icons/brands/aviato.svg create mode 100644 wwwroot/assets/icons/brands/aws.svg create mode 100644 wwwroot/assets/icons/brands/bandcamp.svg create mode 100644 wwwroot/assets/icons/brands/battle-net.svg create mode 100644 wwwroot/assets/icons/brands/behance-square.svg create mode 100644 wwwroot/assets/icons/brands/behance.svg create mode 100644 wwwroot/assets/icons/brands/bimobject.svg create mode 100644 wwwroot/assets/icons/brands/bitbucket.svg create mode 100644 wwwroot/assets/icons/brands/bitcoin.svg create mode 100644 wwwroot/assets/icons/brands/bity.svg create mode 100644 wwwroot/assets/icons/brands/black-tie.svg create mode 100644 wwwroot/assets/icons/brands/blackberry.svg create mode 100644 wwwroot/assets/icons/brands/blogger-b.svg create mode 100644 wwwroot/assets/icons/brands/blogger.svg create mode 100644 wwwroot/assets/icons/brands/bluetooth-b.svg create mode 100644 wwwroot/assets/icons/brands/bluetooth.svg create mode 100644 wwwroot/assets/icons/brands/bootstrap.svg create mode 100644 wwwroot/assets/icons/brands/brands-symbol-defs.svg create mode 100644 wwwroot/assets/icons/brands/btc.svg create mode 100644 wwwroot/assets/icons/brands/buffer.svg create mode 100644 wwwroot/assets/icons/brands/buromobelexperte.svg create mode 100644 wwwroot/assets/icons/brands/buysellads.svg create mode 100644 wwwroot/assets/icons/brands/canadian-maple-leaf.svg create mode 100644 wwwroot/assets/icons/brands/cc-amazon-pay.svg create mode 100644 wwwroot/assets/icons/brands/cc-amex.svg create mode 100644 wwwroot/assets/icons/brands/cc-apple-pay.svg create mode 100644 wwwroot/assets/icons/brands/cc-diners-club.svg create mode 100644 wwwroot/assets/icons/brands/cc-discover.svg create mode 100644 wwwroot/assets/icons/brands/cc-jcb.svg create mode 100644 wwwroot/assets/icons/brands/cc-mastercard.svg create mode 100644 wwwroot/assets/icons/brands/cc-paypal.svg create mode 100644 wwwroot/assets/icons/brands/cc-stripe.svg create mode 100644 wwwroot/assets/icons/brands/cc-visa.svg create mode 100644 wwwroot/assets/icons/brands/centercode.svg create mode 100644 wwwroot/assets/icons/brands/centos.svg create mode 100644 wwwroot/assets/icons/brands/chrome.svg create mode 100644 wwwroot/assets/icons/brands/chromecast.svg create mode 100644 wwwroot/assets/icons/brands/cloudscale.svg create mode 100644 wwwroot/assets/icons/brands/cloudsmith.svg create mode 100644 wwwroot/assets/icons/brands/cloudversify.svg create mode 100644 wwwroot/assets/icons/brands/codepen.svg create mode 100644 wwwroot/assets/icons/brands/codiepie.svg create mode 100644 wwwroot/assets/icons/brands/confluence.svg create mode 100644 wwwroot/assets/icons/brands/connectdevelop.svg create mode 100644 wwwroot/assets/icons/brands/contao.svg create mode 100644 wwwroot/assets/icons/brands/cpanel.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-by.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-nc-eu.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-nc-jp.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-nc.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-nd.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-pd-alt.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-pd.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-remix.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-sa.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-sampling-plus.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-sampling.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-share.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons-zero.svg create mode 100644 wwwroot/assets/icons/brands/creative-commons.svg create mode 100644 wwwroot/assets/icons/brands/critical-role.svg create mode 100644 wwwroot/assets/icons/brands/css3-alt.svg create mode 100644 wwwroot/assets/icons/brands/css3.svg create mode 100644 wwwroot/assets/icons/brands/cuttlefish.svg create mode 100644 wwwroot/assets/icons/brands/d-and-d-beyond.svg create mode 100644 wwwroot/assets/icons/brands/d-and-d.svg create mode 100644 wwwroot/assets/icons/brands/dashcube.svg create mode 100644 wwwroot/assets/icons/brands/delicious.svg create mode 100644 wwwroot/assets/icons/brands/deploydog.svg create mode 100644 wwwroot/assets/icons/brands/deskpro.svg create mode 100644 wwwroot/assets/icons/brands/dev.svg create mode 100644 wwwroot/assets/icons/brands/deviantart.svg create mode 100644 wwwroot/assets/icons/brands/dhl.svg create mode 100644 wwwroot/assets/icons/brands/diaspora.svg create mode 100644 wwwroot/assets/icons/brands/digg.svg create mode 100644 wwwroot/assets/icons/brands/digital-ocean.svg create mode 100644 wwwroot/assets/icons/brands/discord.svg create mode 100644 wwwroot/assets/icons/brands/discourse.svg create mode 100644 wwwroot/assets/icons/brands/dochub.svg create mode 100644 wwwroot/assets/icons/brands/docker.svg create mode 100644 wwwroot/assets/icons/brands/draft2digital.svg create mode 100644 wwwroot/assets/icons/brands/dribbble-square.svg create mode 100644 wwwroot/assets/icons/brands/dribbble.svg create mode 100644 wwwroot/assets/icons/brands/dropbox.svg create mode 100644 wwwroot/assets/icons/brands/drupal.svg create mode 100644 wwwroot/assets/icons/brands/dyalog.svg create mode 100644 wwwroot/assets/icons/brands/earlybirds.svg create mode 100644 wwwroot/assets/icons/brands/ebay.svg create mode 100644 wwwroot/assets/icons/brands/edge.svg create mode 100644 wwwroot/assets/icons/brands/elementor.svg create mode 100644 wwwroot/assets/icons/brands/ello.svg create mode 100644 wwwroot/assets/icons/brands/ember.svg create mode 100644 wwwroot/assets/icons/brands/empire.svg create mode 100644 wwwroot/assets/icons/brands/envira.svg create mode 100644 wwwroot/assets/icons/brands/erlang.svg create mode 100644 wwwroot/assets/icons/brands/ethereum.svg create mode 100644 wwwroot/assets/icons/brands/etsy.svg create mode 100644 wwwroot/assets/icons/brands/evernote.svg create mode 100644 wwwroot/assets/icons/brands/expeditedssl.svg create mode 100644 wwwroot/assets/icons/brands/facebook-f.svg create mode 100644 wwwroot/assets/icons/brands/facebook-messenger.svg create mode 100644 wwwroot/assets/icons/brands/facebook-square.svg create mode 100644 wwwroot/assets/icons/brands/facebook.svg create mode 100644 wwwroot/assets/icons/brands/fantasy-flight-games.svg create mode 100644 wwwroot/assets/icons/brands/fedex.svg create mode 100644 wwwroot/assets/icons/brands/fedora.svg create mode 100644 wwwroot/assets/icons/brands/figma.svg create mode 100644 wwwroot/assets/icons/brands/firefox.svg create mode 100644 wwwroot/assets/icons/brands/first-order-alt.svg create mode 100644 wwwroot/assets/icons/brands/first-order.svg create mode 100644 wwwroot/assets/icons/brands/firstdraft.svg create mode 100644 wwwroot/assets/icons/brands/flickr.svg create mode 100644 wwwroot/assets/icons/brands/flipboard.svg create mode 100644 wwwroot/assets/icons/brands/fly.svg create mode 100644 wwwroot/assets/icons/brands/font-awesome-alt.svg create mode 100644 wwwroot/assets/icons/brands/font-awesome-flag.svg create mode 100644 wwwroot/assets/icons/brands/font-awesome-logo-full.svg create mode 100644 wwwroot/assets/icons/brands/font-awesome.svg create mode 100644 wwwroot/assets/icons/brands/fonticons-fi.svg create mode 100644 wwwroot/assets/icons/brands/fonticons.svg create mode 100644 wwwroot/assets/icons/brands/fort-awesome-alt.svg create mode 100644 wwwroot/assets/icons/brands/fort-awesome.svg create mode 100644 wwwroot/assets/icons/brands/forumbee.svg create mode 100644 wwwroot/assets/icons/brands/foursquare.svg create mode 100644 wwwroot/assets/icons/brands/free-code-camp.svg create mode 100644 wwwroot/assets/icons/brands/freebsd.svg create mode 100644 wwwroot/assets/icons/brands/fulcrum.svg create mode 100644 wwwroot/assets/icons/brands/galactic-republic.svg create mode 100644 wwwroot/assets/icons/brands/galactic-senate.svg create mode 100644 wwwroot/assets/icons/brands/get-pocket.svg create mode 100644 wwwroot/assets/icons/brands/gg-circle.svg create mode 100644 wwwroot/assets/icons/brands/gg.svg create mode 100644 wwwroot/assets/icons/brands/git-alt.svg create mode 100644 wwwroot/assets/icons/brands/git-square.svg create mode 100644 wwwroot/assets/icons/brands/git.svg create mode 100644 wwwroot/assets/icons/brands/github-alt.svg create mode 100644 wwwroot/assets/icons/brands/github-square.svg create mode 100644 wwwroot/assets/icons/brands/github.svg create mode 100644 wwwroot/assets/icons/brands/gitkraken.svg create mode 100644 wwwroot/assets/icons/brands/gitlab.svg create mode 100644 wwwroot/assets/icons/brands/gitter.svg create mode 100644 wwwroot/assets/icons/brands/glide-g.svg create mode 100644 wwwroot/assets/icons/brands/glide.svg create mode 100644 wwwroot/assets/icons/brands/gofore.svg create mode 100644 wwwroot/assets/icons/brands/goodreads-g.svg create mode 100644 wwwroot/assets/icons/brands/goodreads.svg create mode 100644 wwwroot/assets/icons/brands/google-drive.svg create mode 100644 wwwroot/assets/icons/brands/google-play.svg create mode 100644 wwwroot/assets/icons/brands/google-plus-g.svg create mode 100644 wwwroot/assets/icons/brands/google-plus-square.svg create mode 100644 wwwroot/assets/icons/brands/google-plus.svg create mode 100644 wwwroot/assets/icons/brands/google-wallet.svg create mode 100644 wwwroot/assets/icons/brands/google.svg create mode 100644 wwwroot/assets/icons/brands/gratipay.svg create mode 100644 wwwroot/assets/icons/brands/grav.svg create mode 100644 wwwroot/assets/icons/brands/gripfire.svg create mode 100644 wwwroot/assets/icons/brands/grunt.svg create mode 100644 wwwroot/assets/icons/brands/gulp.svg create mode 100644 wwwroot/assets/icons/brands/hacker-news-square.svg create mode 100644 wwwroot/assets/icons/brands/hacker-news.svg create mode 100644 wwwroot/assets/icons/brands/hackerrank.svg create mode 100644 wwwroot/assets/icons/brands/hips.svg create mode 100644 wwwroot/assets/icons/brands/hire-a-helper.svg create mode 100644 wwwroot/assets/icons/brands/hooli.svg create mode 100644 wwwroot/assets/icons/brands/hornbill.svg create mode 100644 wwwroot/assets/icons/brands/hotjar.svg create mode 100644 wwwroot/assets/icons/brands/houzz.svg create mode 100644 wwwroot/assets/icons/brands/html5.svg create mode 100644 wwwroot/assets/icons/brands/hubspot.svg create mode 100644 wwwroot/assets/icons/brands/imdb.svg create mode 100644 wwwroot/assets/icons/brands/instagram.svg create mode 100644 wwwroot/assets/icons/brands/intercom.svg create mode 100644 wwwroot/assets/icons/brands/internet-explorer.svg create mode 100644 wwwroot/assets/icons/brands/invision.svg create mode 100644 wwwroot/assets/icons/brands/ioxhost.svg create mode 100644 wwwroot/assets/icons/brands/itch-io.svg create mode 100644 wwwroot/assets/icons/brands/itunes-note.svg create mode 100644 wwwroot/assets/icons/brands/itunes.svg create mode 100644 wwwroot/assets/icons/brands/java.svg create mode 100644 wwwroot/assets/icons/brands/jedi-order.svg create mode 100644 wwwroot/assets/icons/brands/jenkins.svg create mode 100644 wwwroot/assets/icons/brands/jira.svg create mode 100644 wwwroot/assets/icons/brands/joget.svg create mode 100644 wwwroot/assets/icons/brands/joomla.svg create mode 100644 wwwroot/assets/icons/brands/js-square.svg create mode 100644 wwwroot/assets/icons/brands/js.svg create mode 100644 wwwroot/assets/icons/brands/jsfiddle.svg create mode 100644 wwwroot/assets/icons/brands/kaggle.svg create mode 100644 wwwroot/assets/icons/brands/keybase.svg create mode 100644 wwwroot/assets/icons/brands/keycdn.svg create mode 100644 wwwroot/assets/icons/brands/kickstarter-k.svg create mode 100644 wwwroot/assets/icons/brands/kickstarter.svg create mode 100644 wwwroot/assets/icons/brands/korvue.svg create mode 100644 wwwroot/assets/icons/brands/laravel.svg create mode 100644 wwwroot/assets/icons/brands/lastfm-square.svg create mode 100644 wwwroot/assets/icons/brands/lastfm.svg create mode 100644 wwwroot/assets/icons/brands/leanpub.svg create mode 100644 wwwroot/assets/icons/brands/less.svg create mode 100644 wwwroot/assets/icons/brands/line.svg create mode 100644 wwwroot/assets/icons/brands/linkedin-in.svg create mode 100644 wwwroot/assets/icons/brands/linkedin.svg create mode 100644 wwwroot/assets/icons/brands/linode.svg create mode 100644 wwwroot/assets/icons/brands/linux.svg create mode 100644 wwwroot/assets/icons/brands/lyft.svg create mode 100644 wwwroot/assets/icons/brands/magento.svg create mode 100644 wwwroot/assets/icons/brands/mailchimp.svg create mode 100644 wwwroot/assets/icons/brands/mandalorian.svg create mode 100644 wwwroot/assets/icons/brands/markdown.svg create mode 100644 wwwroot/assets/icons/brands/mastodon.svg create mode 100644 wwwroot/assets/icons/brands/maxcdn.svg create mode 100644 wwwroot/assets/icons/brands/medapps.svg create mode 100644 wwwroot/assets/icons/brands/medium-m.svg create mode 100644 wwwroot/assets/icons/brands/medium.svg create mode 100644 wwwroot/assets/icons/brands/medrt.svg create mode 100644 wwwroot/assets/icons/brands/meetup.svg create mode 100644 wwwroot/assets/icons/brands/megaport.svg create mode 100644 wwwroot/assets/icons/brands/mendeley.svg create mode 100644 wwwroot/assets/icons/brands/microsoft.svg create mode 100644 wwwroot/assets/icons/brands/mix.svg create mode 100644 wwwroot/assets/icons/brands/mixcloud.svg create mode 100644 wwwroot/assets/icons/brands/mizuni.svg create mode 100644 wwwroot/assets/icons/brands/modx.svg create mode 100644 wwwroot/assets/icons/brands/monero.svg create mode 100644 wwwroot/assets/icons/brands/napster.svg create mode 100644 wwwroot/assets/icons/brands/neos.svg create mode 100644 wwwroot/assets/icons/brands/nimblr.svg create mode 100644 wwwroot/assets/icons/brands/node-js.svg create mode 100644 wwwroot/assets/icons/brands/node.svg create mode 100644 wwwroot/assets/icons/brands/npm.svg create mode 100644 wwwroot/assets/icons/brands/ns8.svg create mode 100644 wwwroot/assets/icons/brands/nutritionix.svg create mode 100644 wwwroot/assets/icons/brands/odnoklassniki-square.svg create mode 100644 wwwroot/assets/icons/brands/odnoklassniki.svg create mode 100644 wwwroot/assets/icons/brands/old-republic.svg create mode 100644 wwwroot/assets/icons/brands/opencart.svg create mode 100644 wwwroot/assets/icons/brands/openid.svg create mode 100644 wwwroot/assets/icons/brands/opera.svg create mode 100644 wwwroot/assets/icons/brands/optin-monster.svg create mode 100644 wwwroot/assets/icons/brands/osi.svg create mode 100644 wwwroot/assets/icons/brands/page4.svg create mode 100644 wwwroot/assets/icons/brands/pagelines.svg create mode 100644 wwwroot/assets/icons/brands/palfed.svg create mode 100644 wwwroot/assets/icons/brands/patreon.svg create mode 100644 wwwroot/assets/icons/brands/paypal.svg create mode 100644 wwwroot/assets/icons/brands/penny-arcade.svg create mode 100644 wwwroot/assets/icons/brands/periscope.svg create mode 100644 wwwroot/assets/icons/brands/phabricator.svg create mode 100644 wwwroot/assets/icons/brands/phoenix-framework.svg create mode 100644 wwwroot/assets/icons/brands/phoenix-squadron.svg create mode 100644 wwwroot/assets/icons/brands/php.svg create mode 100644 wwwroot/assets/icons/brands/pied-piper-alt.svg create mode 100644 wwwroot/assets/icons/brands/pied-piper-hat.svg create mode 100644 wwwroot/assets/icons/brands/pied-piper-pp.svg create mode 100644 wwwroot/assets/icons/brands/pied-piper.svg create mode 100644 wwwroot/assets/icons/brands/pinterest-p.svg create mode 100644 wwwroot/assets/icons/brands/pinterest-square.svg create mode 100644 wwwroot/assets/icons/brands/pinterest.svg create mode 100644 wwwroot/assets/icons/brands/playstation.svg create mode 100644 wwwroot/assets/icons/brands/product-hunt.svg create mode 100644 wwwroot/assets/icons/brands/pushed.svg create mode 100644 wwwroot/assets/icons/brands/python.svg create mode 100644 wwwroot/assets/icons/brands/qq.svg create mode 100644 wwwroot/assets/icons/brands/quinscape.svg create mode 100644 wwwroot/assets/icons/brands/quora.svg create mode 100644 wwwroot/assets/icons/brands/r-project.svg create mode 100644 wwwroot/assets/icons/brands/raspberry-pi.svg create mode 100644 wwwroot/assets/icons/brands/ravelry.svg create mode 100644 wwwroot/assets/icons/brands/react.svg create mode 100644 wwwroot/assets/icons/brands/reacteurope.svg create mode 100644 wwwroot/assets/icons/brands/readme.svg create mode 100644 wwwroot/assets/icons/brands/rebel.svg create mode 100644 wwwroot/assets/icons/brands/red-river.svg create mode 100644 wwwroot/assets/icons/brands/reddit-alien.svg create mode 100644 wwwroot/assets/icons/brands/reddit-square.svg create mode 100644 wwwroot/assets/icons/brands/reddit.svg create mode 100644 wwwroot/assets/icons/brands/redhat.svg create mode 100644 wwwroot/assets/icons/brands/renren.svg create mode 100644 wwwroot/assets/icons/brands/replyd.svg create mode 100644 wwwroot/assets/icons/brands/researchgate.svg create mode 100644 wwwroot/assets/icons/brands/resolving.svg create mode 100644 wwwroot/assets/icons/brands/rev.svg create mode 100644 wwwroot/assets/icons/brands/rocketchat.svg create mode 100644 wwwroot/assets/icons/brands/rockrms.svg create mode 100644 wwwroot/assets/icons/brands/safari.svg create mode 100644 wwwroot/assets/icons/brands/salesforce.svg create mode 100644 wwwroot/assets/icons/brands/sass.svg create mode 100644 wwwroot/assets/icons/brands/schlix.svg create mode 100644 wwwroot/assets/icons/brands/scribd.svg create mode 100644 wwwroot/assets/icons/brands/searchengin.svg create mode 100644 wwwroot/assets/icons/brands/sellcast.svg create mode 100644 wwwroot/assets/icons/brands/sellsy.svg create mode 100644 wwwroot/assets/icons/brands/servicestack.svg create mode 100644 wwwroot/assets/icons/brands/shirtsinbulk.svg create mode 100644 wwwroot/assets/icons/brands/shopware.svg create mode 100644 wwwroot/assets/icons/brands/simplybuilt.svg create mode 100644 wwwroot/assets/icons/brands/sistrix.svg create mode 100644 wwwroot/assets/icons/brands/sith.svg create mode 100644 wwwroot/assets/icons/brands/sketch.svg create mode 100644 wwwroot/assets/icons/brands/skyatlas.svg create mode 100644 wwwroot/assets/icons/brands/skype.svg create mode 100644 wwwroot/assets/icons/brands/slack-hash.svg create mode 100644 wwwroot/assets/icons/brands/slack.svg create mode 100644 wwwroot/assets/icons/brands/slideshare.svg create mode 100644 wwwroot/assets/icons/brands/snapchat-ghost.svg create mode 100644 wwwroot/assets/icons/brands/snapchat-square.svg create mode 100644 wwwroot/assets/icons/brands/snapchat.svg create mode 100644 wwwroot/assets/icons/brands/soundcloud.svg create mode 100644 wwwroot/assets/icons/brands/sourcetree.svg create mode 100644 wwwroot/assets/icons/brands/speakap.svg create mode 100644 wwwroot/assets/icons/brands/speaker-deck.svg create mode 100644 wwwroot/assets/icons/brands/spotify.svg create mode 100644 wwwroot/assets/icons/brands/squarespace.svg create mode 100644 wwwroot/assets/icons/brands/stack-exchange.svg create mode 100644 wwwroot/assets/icons/brands/stack-overflow.svg create mode 100644 wwwroot/assets/icons/brands/stackpath.svg create mode 100644 wwwroot/assets/icons/brands/staylinked.svg create mode 100644 wwwroot/assets/icons/brands/steam-square.svg create mode 100644 wwwroot/assets/icons/brands/steam-symbol.svg create mode 100644 wwwroot/assets/icons/brands/steam.svg create mode 100644 wwwroot/assets/icons/brands/sticker-mule.svg create mode 100644 wwwroot/assets/icons/brands/strava.svg create mode 100644 wwwroot/assets/icons/brands/stripe-s.svg create mode 100644 wwwroot/assets/icons/brands/stripe.svg create mode 100644 wwwroot/assets/icons/brands/studiovinari.svg create mode 100644 wwwroot/assets/icons/brands/stumbleupon-circle.svg create mode 100644 wwwroot/assets/icons/brands/stumbleupon.svg create mode 100644 wwwroot/assets/icons/brands/superpowers.svg create mode 100644 wwwroot/assets/icons/brands/supple.svg create mode 100644 wwwroot/assets/icons/brands/suse.svg create mode 100644 wwwroot/assets/icons/brands/symfony.svg create mode 100644 wwwroot/assets/icons/brands/teamspeak.svg create mode 100644 wwwroot/assets/icons/brands/telegram-plane.svg create mode 100644 wwwroot/assets/icons/brands/telegram.svg create mode 100644 wwwroot/assets/icons/brands/tencent-weibo.svg create mode 100644 wwwroot/assets/icons/brands/the-red-yeti.svg create mode 100644 wwwroot/assets/icons/brands/themeco.svg create mode 100644 wwwroot/assets/icons/brands/themeisle.svg create mode 100644 wwwroot/assets/icons/brands/think-peaks.svg create mode 100644 wwwroot/assets/icons/brands/trade-federation.svg create mode 100644 wwwroot/assets/icons/brands/trello.svg create mode 100644 wwwroot/assets/icons/brands/tripadvisor.svg create mode 100644 wwwroot/assets/icons/brands/tumblr-square.svg create mode 100644 wwwroot/assets/icons/brands/tumblr.svg create mode 100644 wwwroot/assets/icons/brands/twitch.svg create mode 100644 wwwroot/assets/icons/brands/twitter-square.svg create mode 100644 wwwroot/assets/icons/brands/twitter.svg create mode 100644 wwwroot/assets/icons/brands/typo3.svg create mode 100644 wwwroot/assets/icons/brands/uber.svg create mode 100644 wwwroot/assets/icons/brands/ubuntu.svg create mode 100644 wwwroot/assets/icons/brands/uikit.svg create mode 100644 wwwroot/assets/icons/brands/uniregistry.svg create mode 100644 wwwroot/assets/icons/brands/untappd.svg create mode 100644 wwwroot/assets/icons/brands/ups.svg create mode 100644 wwwroot/assets/icons/brands/usb.svg create mode 100644 wwwroot/assets/icons/brands/usps.svg create mode 100644 wwwroot/assets/icons/brands/ussunnah.svg create mode 100644 wwwroot/assets/icons/brands/vaadin.svg create mode 100644 wwwroot/assets/icons/brands/viacoin.svg create mode 100644 wwwroot/assets/icons/brands/viadeo-square.svg create mode 100644 wwwroot/assets/icons/brands/viadeo.svg create mode 100644 wwwroot/assets/icons/brands/viber.svg create mode 100644 wwwroot/assets/icons/brands/vimeo-square.svg create mode 100644 wwwroot/assets/icons/brands/vimeo-v.svg create mode 100644 wwwroot/assets/icons/brands/vimeo.svg create mode 100644 wwwroot/assets/icons/brands/vine.svg create mode 100644 wwwroot/assets/icons/brands/vk.svg create mode 100644 wwwroot/assets/icons/brands/vnv.svg create mode 100644 wwwroot/assets/icons/brands/vuejs.svg create mode 100644 wwwroot/assets/icons/brands/waze.svg create mode 100644 wwwroot/assets/icons/brands/weebly.svg create mode 100644 wwwroot/assets/icons/brands/weibo.svg create mode 100644 wwwroot/assets/icons/brands/weixin.svg create mode 100644 wwwroot/assets/icons/brands/whatsapp-square.svg create mode 100644 wwwroot/assets/icons/brands/whatsapp.svg create mode 100644 wwwroot/assets/icons/brands/whmcs.svg create mode 100644 wwwroot/assets/icons/brands/wikipedia-w.svg create mode 100644 wwwroot/assets/icons/brands/windows.svg create mode 100644 wwwroot/assets/icons/brands/wix.svg create mode 100644 wwwroot/assets/icons/brands/wizards-of-the-coast.svg create mode 100644 wwwroot/assets/icons/brands/wolf-pack-battalion.svg create mode 100644 wwwroot/assets/icons/brands/wordpress-simple.svg create mode 100644 wwwroot/assets/icons/brands/wordpress.svg create mode 100644 wwwroot/assets/icons/brands/wpbeginner.svg create mode 100644 wwwroot/assets/icons/brands/wpexplorer.svg create mode 100644 wwwroot/assets/icons/brands/wpforms.svg create mode 100644 wwwroot/assets/icons/brands/wpressr.svg create mode 100644 wwwroot/assets/icons/brands/xbox.svg create mode 100644 wwwroot/assets/icons/brands/xing-square.svg create mode 100644 wwwroot/assets/icons/brands/xing.svg create mode 100644 wwwroot/assets/icons/brands/y-combinator.svg create mode 100644 wwwroot/assets/icons/brands/yahoo.svg create mode 100644 wwwroot/assets/icons/brands/yammer.svg create mode 100644 wwwroot/assets/icons/brands/yandex-international.svg create mode 100644 wwwroot/assets/icons/brands/yandex.svg create mode 100644 wwwroot/assets/icons/brands/yarn.svg create mode 100644 wwwroot/assets/icons/brands/yelp.svg create mode 100644 wwwroot/assets/icons/brands/yoast.svg create mode 100644 wwwroot/assets/icons/brands/youtube-square.svg create mode 100644 wwwroot/assets/icons/brands/youtube.svg create mode 100644 wwwroot/assets/icons/brands/zhihu.svg create mode 100644 wwwroot/assets/icons/briefcase.svg create mode 100644 wwwroot/assets/icons/brightness.svg create mode 100644 wwwroot/assets/icons/british-pound.svg create mode 100644 wwwroot/assets/icons/browser.svg create mode 100644 wwwroot/assets/icons/brush-alt.svg create mode 100644 wwwroot/assets/icons/brush.svg create mode 100644 wwwroot/assets/icons/bug.svg create mode 100644 wwwroot/assets/icons/building.svg create mode 100644 wwwroot/assets/icons/bullhorn.svg create mode 100644 wwwroot/assets/icons/burger.svg create mode 100644 wwwroot/assets/icons/bus-alt.svg create mode 100644 wwwroot/assets/icons/calculator.svg create mode 100644 wwwroot/assets/icons/calendar-check.svg create mode 100644 wwwroot/assets/icons/calendar.svg create mode 100644 wwwroot/assets/icons/camera-control.svg create mode 100644 wwwroot/assets/icons/camera-roll.svg create mode 100644 wwwroot/assets/icons/camera.svg create mode 100644 wwwroot/assets/icons/car-alt.svg create mode 100644 wwwroot/assets/icons/caret-bottom.svg create mode 100644 wwwroot/assets/icons/caret-left.svg create mode 100644 wwwroot/assets/icons/caret-right.svg create mode 100644 wwwroot/assets/icons/caret-top.svg create mode 100644 wwwroot/assets/icons/cart.svg create mode 100644 wwwroot/assets/icons/casino.svg create mode 100644 wwwroot/assets/icons/cast.svg create mode 100644 wwwroot/assets/icons/cat.svg create mode 100644 wwwroot/assets/icons/center-focus.svg create mode 100644 wwwroot/assets/icons/chart-line.svg create mode 100644 wwwroot/assets/icons/chart-pie.svg create mode 100644 wwwroot/assets/icons/chart.svg create mode 100644 wwwroot/assets/icons/chat-bubble.svg create mode 100644 wwwroot/assets/icons/check.svg create mode 100644 wwwroot/assets/icons/chevron-bottom.svg create mode 100644 wwwroot/assets/icons/chevron-circle-down-alt.svg create mode 100644 wwwroot/assets/icons/chevron-circle-left-alt.svg create mode 100644 wwwroot/assets/icons/chevron-circle-right-alt.svg create mode 100644 wwwroot/assets/icons/chevron-circle-up-alt.svg create mode 100644 wwwroot/assets/icons/chevron-double-down.svg create mode 100644 wwwroot/assets/icons/chevron-double-left.svg create mode 100644 wwwroot/assets/icons/chevron-double-right.svg create mode 100644 wwwroot/assets/icons/chevron-double-up-alt.svg create mode 100644 wwwroot/assets/icons/chevron-double-up.svg create mode 100644 wwwroot/assets/icons/chevron-left.svg create mode 100644 wwwroot/assets/icons/chevron-right.svg create mode 100644 wwwroot/assets/icons/chevron-top.svg create mode 100644 wwwroot/assets/icons/child-friendly.svg create mode 100644 wwwroot/assets/icons/child.svg create mode 100644 wwwroot/assets/icons/circle.svg create mode 100644 wwwroot/assets/icons/clear-all.svg create mode 100644 wwwroot/assets/icons/clipboard.svg create mode 100644 wwwroot/assets/icons/clock.svg create mode 100644 wwwroot/assets/icons/clone.svg create mode 100644 wwwroot/assets/icons/closed-captioning.svg create mode 100644 wwwroot/assets/icons/cloud-download.svg create mode 100644 wwwroot/assets/icons/cloud-upload.svg create mode 100644 wwwroot/assets/icons/cloud.svg create mode 100644 wwwroot/assets/icons/cloudy.svg create mode 100644 wwwroot/assets/icons/code.svg create mode 100644 wwwroot/assets/icons/codepen.svg create mode 100644 wwwroot/assets/icons/coffee.svg create mode 100644 wwwroot/assets/icons/color-border.svg create mode 100644 wwwroot/assets/icons/color-fill.svg create mode 100644 wwwroot/assets/icons/color-palette.svg create mode 100644 wwwroot/assets/icons/columns.svg create mode 100644 wwwroot/assets/icons/comment-bubble.svg create mode 100644 wwwroot/assets/icons/comment-square.svg create mode 100644 wwwroot/assets/icons/compass.svg create mode 100644 wwwroot/assets/icons/compress.svg create mode 100644 wwwroot/assets/icons/contact.svg create mode 100644 wwwroot/assets/icons/contrast.svg create mode 100644 wwwroot/assets/icons/copy.svg create mode 100644 wwwroot/assets/icons/copyright.svg create mode 100644 wwwroot/assets/icons/coreui/free-symbol-defs.svg create mode 100644 wwwroot/assets/icons/couch.svg create mode 100644 wwwroot/assets/icons/credit-card.svg create mode 100644 wwwroot/assets/icons/crop-rotate.svg create mode 100644 wwwroot/assets/icons/crop.svg create mode 100644 wwwroot/assets/icons/cursor-move.svg create mode 100644 wwwroot/assets/icons/cursor.svg create mode 100644 wwwroot/assets/icons/cut.svg create mode 100644 wwwroot/assets/icons/data-transfer-down.svg create mode 100644 wwwroot/assets/icons/data-transfer-up.svg create mode 100644 wwwroot/assets/icons/deaf.svg create mode 100644 wwwroot/assets/icons/delete.svg create mode 100644 wwwroot/assets/icons/description.svg create mode 100644 wwwroot/assets/icons/devices.svg create mode 100644 wwwroot/assets/icons/dialpad.svg create mode 100644 wwwroot/assets/icons/dinner.svg create mode 100644 wwwroot/assets/icons/dog.svg create mode 100644 wwwroot/assets/icons/dollar.svg create mode 100644 wwwroot/assets/icons/door.svg create mode 100644 wwwroot/assets/icons/double-quote-sans-left.svg create mode 100644 wwwroot/assets/icons/double-quote-sans-right.svg create mode 100644 wwwroot/assets/icons/drink-alcohol.svg create mode 100644 wwwroot/assets/icons/drink.svg create mode 100644 wwwroot/assets/icons/drop.svg create mode 100644 wwwroot/assets/icons/drop1.svg create mode 100644 wwwroot/assets/icons/elevator.svg create mode 100644 wwwroot/assets/icons/energy.svg create mode 100644 wwwroot/assets/icons/envelope-closed.svg create mode 100644 wwwroot/assets/icons/envelope-letter.svg create mode 100644 wwwroot/assets/icons/envelope-open.svg create mode 100644 wwwroot/assets/icons/equalizer.svg create mode 100644 wwwroot/assets/icons/ethernet.svg create mode 100644 wwwroot/assets/icons/euro.svg create mode 100644 wwwroot/assets/icons/excerpt.svg create mode 100644 wwwroot/assets/icons/exit-to-app.svg create mode 100644 wwwroot/assets/icons/expand-down.svg create mode 100644 wwwroot/assets/icons/expand-left.svg create mode 100644 wwwroot/assets/icons/expand-right.svg create mode 100644 wwwroot/assets/icons/expand-up.svg create mode 100644 wwwroot/assets/icons/exposure.svg create mode 100644 wwwroot/assets/icons/external-link.svg create mode 100644 wwwroot/assets/icons/eye.svg create mode 100644 wwwroot/assets/icons/eyedropper.svg create mode 100644 wwwroot/assets/icons/face-dead.svg create mode 100644 wwwroot/assets/icons/face.svg create mode 100644 wwwroot/assets/icons/facebook.svg create mode 100644 wwwroot/assets/icons/fastfood.svg create mode 100644 wwwroot/assets/icons/fax.svg create mode 100644 wwwroot/assets/icons/featured-playlist.svg create mode 100644 wwwroot/assets/icons/file.svg create mode 100644 wwwroot/assets/icons/filter-frames.svg create mode 100644 wwwroot/assets/icons/filter-photo.svg create mode 100644 wwwroot/assets/icons/filter.svg create mode 100644 wwwroot/assets/icons/find-in-page.svg create mode 100644 wwwroot/assets/icons/fingerprint.svg create mode 100644 wwwroot/assets/icons/fire.svg create mode 100644 wwwroot/assets/icons/flag-alt.svg create mode 100644 wwwroot/assets/icons/flight-takeoff.svg create mode 100644 wwwroot/assets/icons/flip-to-back.svg create mode 100644 wwwroot/assets/icons/flip-to-front.svg create mode 100644 wwwroot/assets/icons/flip.svg create mode 100644 wwwroot/assets/icons/flower.svg create mode 100644 wwwroot/assets/icons/folder-open.svg create mode 100644 wwwroot/assets/icons/folder.svg create mode 100644 wwwroot/assets/icons/font.svg create mode 100644 wwwroot/assets/icons/football.svg create mode 100644 wwwroot/assets/icons/fork.svg create mode 100644 wwwroot/assets/icons/fridge.svg create mode 100644 wwwroot/assets/icons/frown.svg create mode 100644 wwwroot/assets/icons/fullscreen-exit.svg create mode 100644 wwwroot/assets/icons/fullscreen.svg create mode 100644 wwwroot/assets/icons/functions-alt.svg create mode 100644 wwwroot/assets/icons/functions.svg create mode 100644 wwwroot/assets/icons/gamepad.svg create mode 100644 wwwroot/assets/icons/garage.svg create mode 100644 wwwroot/assets/icons/gem.svg create mode 100644 wwwroot/assets/icons/gif.svg create mode 100644 wwwroot/assets/icons/gift.svg create mode 100644 wwwroot/assets/icons/git.svg create mode 100644 wwwroot/assets/icons/github-circle.svg create mode 100644 wwwroot/assets/icons/github.svg create mode 100644 wwwroot/assets/icons/gitlab.svg create mode 100644 wwwroot/assets/icons/globe-alt.svg create mode 100644 wwwroot/assets/icons/golf-alt.svg create mode 100644 wwwroot/assets/icons/golf.svg create mode 100644 wwwroot/assets/icons/gradient.svg create mode 100644 wwwroot/assets/icons/grain.svg create mode 100644 wwwroot/assets/icons/graph.svg create mode 100644 wwwroot/assets/icons/grid-slash.svg create mode 100644 wwwroot/assets/icons/grid.svg create mode 100644 wwwroot/assets/icons/hand-point-down.svg create mode 100644 wwwroot/assets/icons/hand-point-left.svg create mode 100644 wwwroot/assets/icons/hand-point-right.svg create mode 100644 wwwroot/assets/icons/hand-point-up.svg create mode 100644 wwwroot/assets/icons/hd.svg create mode 100644 wwwroot/assets/icons/hdr.svg create mode 100644 wwwroot/assets/icons/header.svg create mode 100644 wwwroot/assets/icons/headphones.svg create mode 100644 wwwroot/assets/icons/healing.svg create mode 100644 wwwroot/assets/icons/heart.svg create mode 100644 wwwroot/assets/icons/highlighter.svg create mode 100644 wwwroot/assets/icons/highligt.svg create mode 100644 wwwroot/assets/icons/history.svg create mode 100644 wwwroot/assets/icons/home.svg create mode 100644 wwwroot/assets/icons/hospital.svg create mode 100644 wwwroot/assets/icons/hot-tub.svg create mode 100644 wwwroot/assets/icons/house.svg create mode 100644 wwwroot/assets/icons/https.svg create mode 100644 wwwroot/assets/icons/image-broken.svg create mode 100644 wwwroot/assets/icons/image-plus.svg create mode 100644 wwwroot/assets/icons/image1.svg create mode 100644 wwwroot/assets/icons/inbox.svg create mode 100644 wwwroot/assets/icons/indent-decrease.svg create mode 100644 wwwroot/assets/icons/indent-increase.svg create mode 100644 wwwroot/assets/icons/industry-slash.svg create mode 100644 wwwroot/assets/icons/industry.svg create mode 100644 wwwroot/assets/icons/infinity.svg create mode 100644 wwwroot/assets/icons/info.svg create mode 100644 wwwroot/assets/icons/input-hdmi.svg create mode 100644 wwwroot/assets/icons/input-power.svg create mode 100644 wwwroot/assets/icons/input.svg create mode 100644 wwwroot/assets/icons/instagram.svg create mode 100644 wwwroot/assets/icons/institution.svg create mode 100644 wwwroot/assets/icons/italic.svg create mode 100644 wwwroot/assets/icons/justify-center.svg create mode 100644 wwwroot/assets/icons/justify-left.svg create mode 100644 wwwroot/assets/icons/justify-right.svg create mode 100644 wwwroot/assets/icons/keyboard.svg create mode 100644 wwwroot/assets/icons/lan.svg create mode 100644 wwwroot/assets/icons/language.svg create mode 100644 wwwroot/assets/icons/laptop.svg create mode 100644 wwwroot/assets/icons/layers.svg create mode 100644 wwwroot/assets/icons/leaf.svg create mode 100644 wwwroot/assets/icons/lemon.svg create mode 100644 wwwroot/assets/icons/level-down.svg create mode 100644 wwwroot/assets/icons/level-up.svg create mode 100644 wwwroot/assets/icons/library-add.svg create mode 100644 wwwroot/assets/icons/library.svg create mode 100644 wwwroot/assets/icons/life-ring.svg create mode 100644 wwwroot/assets/icons/lightbulb.svg create mode 100644 wwwroot/assets/icons/line-spacing.svg create mode 100644 wwwroot/assets/icons/line-style.svg create mode 100644 wwwroot/assets/icons/line-weight.svg create mode 100644 wwwroot/assets/icons/link-alt.svg create mode 100644 wwwroot/assets/icons/link-broken.svg create mode 100644 wwwroot/assets/icons/link.svg create mode 100644 wwwroot/assets/icons/linkedin.svg create mode 100644 wwwroot/assets/icons/list-filter.svg create mode 100644 wwwroot/assets/icons/list-high-priority.svg create mode 100644 wwwroot/assets/icons/list-low-priority.svg create mode 100644 wwwroot/assets/icons/list-numbered.svg create mode 100644 wwwroot/assets/icons/list-rich.svg create mode 100644 wwwroot/assets/icons/list.svg create mode 100644 wwwroot/assets/icons/location-pin.svg create mode 100644 wwwroot/assets/icons/lock-locked.svg create mode 100644 wwwroot/assets/icons/lock-unlocked.svg create mode 100644 wwwroot/assets/icons/locomotive.svg create mode 100644 wwwroot/assets/icons/loop-1.svg create mode 100644 wwwroot/assets/icons/loop-circular.svg create mode 100644 wwwroot/assets/icons/loop.svg create mode 100644 wwwroot/assets/icons/low-vision.svg create mode 100644 wwwroot/assets/icons/magnifying-glass.svg create mode 100644 wwwroot/assets/icons/map.svg create mode 100644 wwwroot/assets/icons/media-eject.svg create mode 100644 wwwroot/assets/icons/media-pause.svg create mode 100644 wwwroot/assets/icons/media-play.svg create mode 100644 wwwroot/assets/icons/media-record.svg create mode 100644 wwwroot/assets/icons/media-skip-backward.svg create mode 100644 wwwroot/assets/icons/media-skip-forward.svg create mode 100644 wwwroot/assets/icons/media-step-backward.svg create mode 100644 wwwroot/assets/icons/media-step-forward.svg create mode 100644 wwwroot/assets/icons/media-stop.svg create mode 100644 wwwroot/assets/icons/medical-cross.svg create mode 100644 wwwroot/assets/icons/meh.svg create mode 100644 wwwroot/assets/icons/memory.svg create mode 100644 wwwroot/assets/icons/menu.svg create mode 100644 wwwroot/assets/icons/microphone.svg create mode 100644 wwwroot/assets/icons/minus.svg create mode 100644 wwwroot/assets/icons/mobile-landscape.svg create mode 100644 wwwroot/assets/icons/mobile.svg create mode 100644 wwwroot/assets/icons/money.svg create mode 100644 wwwroot/assets/icons/monitor.svg create mode 100644 wwwroot/assets/icons/mood-bad.svg create mode 100644 wwwroot/assets/icons/mood-good.svg create mode 100644 wwwroot/assets/icons/mood-very-bad.svg create mode 100644 wwwroot/assets/icons/mood-very-good.svg create mode 100644 wwwroot/assets/icons/moon.svg create mode 100644 wwwroot/assets/icons/mouse.svg create mode 100644 wwwroot/assets/icons/mouth-slash.svg create mode 100644 wwwroot/assets/icons/move.svg create mode 100644 wwwroot/assets/icons/movie.svg create mode 100644 wwwroot/assets/icons/mug-tea.svg create mode 100644 wwwroot/assets/icons/mug.svg create mode 100644 wwwroot/assets/icons/music-note.svg create mode 100644 wwwroot/assets/icons/newspaper.svg create mode 100644 wwwroot/assets/icons/notes.svg create mode 100644 wwwroot/assets/icons/object-group.svg create mode 100644 wwwroot/assets/icons/object-ungroup.svg create mode 100644 wwwroot/assets/icons/opacity.svg create mode 100644 wwwroot/assets/icons/options-horizontal.svg create mode 100644 wwwroot/assets/icons/options.svg create mode 100644 wwwroot/assets/icons/paint-bucket.svg create mode 100644 wwwroot/assets/icons/paint.svg create mode 100644 wwwroot/assets/icons/paper-plane.svg create mode 100644 wwwroot/assets/icons/paperclip.svg create mode 100644 wwwroot/assets/icons/paragraph.svg create mode 100644 wwwroot/assets/icons/paw.svg create mode 100644 wwwroot/assets/icons/pen-alt.svg create mode 100644 wwwroot/assets/icons/pen-nib.svg create mode 100644 wwwroot/assets/icons/pencil.svg create mode 100644 wwwroot/assets/icons/people.svg create mode 100644 wwwroot/assets/icons/phone.svg create mode 100644 wwwroot/assets/icons/pin.svg create mode 100644 wwwroot/assets/icons/pizza.svg create mode 100644 wwwroot/assets/icons/playlist-add.svg create mode 100644 wwwroot/assets/icons/plus.svg create mode 100644 wwwroot/assets/icons/polymer.svg create mode 100644 wwwroot/assets/icons/pool.svg create mode 100644 wwwroot/assets/icons/power-standby.svg create mode 100644 wwwroot/assets/icons/pregnant.svg create mode 100644 wwwroot/assets/icons/print.svg create mode 100644 wwwroot/assets/icons/puzzle.svg create mode 100644 wwwroot/assets/icons/qr-code.svg create mode 100644 wwwroot/assets/icons/rain.svg create mode 100644 wwwroot/assets/icons/react.svg create mode 100644 wwwroot/assets/icons/rectangle.svg create mode 100644 wwwroot/assets/icons/reddit.svg create mode 100644 wwwroot/assets/icons/registered.svg create mode 100644 wwwroot/assets/icons/reload.svg create mode 100644 wwwroot/assets/icons/resize-both.svg create mode 100644 wwwroot/assets/icons/resize-height.svg create mode 100644 wwwroot/assets/icons/resize-width.svg create mode 100644 wwwroot/assets/icons/restaurant.svg create mode 100644 wwwroot/assets/icons/room.svg create mode 100644 wwwroot/assets/icons/rowing.svg create mode 100644 wwwroot/assets/icons/rss.svg create mode 100644 wwwroot/assets/icons/running.svg create mode 100644 wwwroot/assets/icons/satelite.svg create mode 100644 wwwroot/assets/icons/save.svg create mode 100644 wwwroot/assets/icons/school.svg create mode 100644 wwwroot/assets/icons/screen-desktop.svg create mode 100644 wwwroot/assets/icons/screen-smartphone.svg create mode 100644 wwwroot/assets/icons/scrubber.svg create mode 100644 wwwroot/assets/icons/settings.svg create mode 100644 wwwroot/assets/icons/share-all.svg create mode 100644 wwwroot/assets/icons/share-alt.svg create mode 100644 wwwroot/assets/icons/share-boxed.svg create mode 100644 wwwroot/assets/icons/share.svg create mode 100644 wwwroot/assets/icons/shield-alt.svg create mode 100644 wwwroot/assets/icons/short-text.svg create mode 100644 wwwroot/assets/icons/shower.svg create mode 100644 wwwroot/assets/icons/sign-language.svg create mode 100644 wwwroot/assets/icons/signal-cellular-0.svg create mode 100644 wwwroot/assets/icons/signal-cellular-3.svg create mode 100644 wwwroot/assets/icons/signal-cellular-4.svg create mode 100644 wwwroot/assets/icons/sim.svg create mode 100644 wwwroot/assets/icons/sitemap.svg create mode 100644 wwwroot/assets/icons/skype.svg create mode 100644 wwwroot/assets/icons/smile-plus.svg create mode 100644 wwwroot/assets/icons/smile.svg create mode 100644 wwwroot/assets/icons/smoke-free.svg create mode 100644 wwwroot/assets/icons/smoking-room.svg create mode 100644 wwwroot/assets/icons/snowflake.svg create mode 100644 wwwroot/assets/icons/sort-alpha-down.svg create mode 100644 wwwroot/assets/icons/sort-alpha-up.svg create mode 100644 wwwroot/assets/icons/sort-ascending.svg create mode 100644 wwwroot/assets/icons/sort-descending.svg create mode 100644 wwwroot/assets/icons/sort-numeric-down.svg create mode 100644 wwwroot/assets/icons/sort-numeric-up.svg create mode 100644 wwwroot/assets/icons/spa.svg create mode 100644 wwwroot/assets/icons/space-bar.svg create mode 100644 wwwroot/assets/icons/speaker.svg create mode 100644 wwwroot/assets/icons/speech.svg create mode 100644 wwwroot/assets/icons/speedometer.svg create mode 100644 wwwroot/assets/icons/spotify.svg create mode 100644 wwwroot/assets/icons/spreadsheet.svg create mode 100644 wwwroot/assets/icons/square.svg create mode 100644 wwwroot/assets/icons/stackoverflow.svg create mode 100644 wwwroot/assets/icons/star-half.svg create mode 100644 wwwroot/assets/icons/star.svg create mode 100644 wwwroot/assets/icons/storage.svg create mode 100644 wwwroot/assets/icons/stream.svg create mode 100644 wwwroot/assets/icons/sun.svg create mode 100644 wwwroot/assets/icons/swap-horizontal.svg create mode 100644 wwwroot/assets/icons/swap-vertical.svg create mode 100644 wwwroot/assets/icons/swimming.svg create mode 100644 wwwroot/assets/icons/sync.svg create mode 100644 wwwroot/assets/icons/tablet.svg create mode 100644 wwwroot/assets/icons/tag.svg create mode 100644 wwwroot/assets/icons/tags.svg create mode 100644 wwwroot/assets/icons/task.svg create mode 100644 wwwroot/assets/icons/taxi.svg create mode 100644 wwwroot/assets/icons/tennis-ball.svg create mode 100644 wwwroot/assets/icons/tennis.svg create mode 100644 wwwroot/assets/icons/terminal.svg create mode 100644 wwwroot/assets/icons/terrain.svg create mode 100644 wwwroot/assets/icons/text-shapes.svg create mode 100644 wwwroot/assets/icons/text-size.svg create mode 100644 wwwroot/assets/icons/text-square.svg create mode 100644 wwwroot/assets/icons/text-strike.svg create mode 100644 wwwroot/assets/icons/text.svg create mode 100644 wwwroot/assets/icons/thumb-down.svg create mode 100644 wwwroot/assets/icons/thumb-up.svg create mode 100644 wwwroot/assets/icons/toggle-off.svg create mode 100644 wwwroot/assets/icons/toilet.svg create mode 100644 wwwroot/assets/icons/touch-app.svg create mode 100644 wwwroot/assets/icons/trademark.svg create mode 100644 wwwroot/assets/icons/transfer.svg create mode 100644 wwwroot/assets/icons/translate.svg create mode 100644 wwwroot/assets/icons/trash.svg create mode 100644 wwwroot/assets/icons/triangle.svg create mode 100644 wwwroot/assets/icons/truck.svg create mode 100644 wwwroot/assets/icons/tv.svg create mode 100644 wwwroot/assets/icons/twitter.svg create mode 100644 wwwroot/assets/icons/underline.svg create mode 100644 wwwroot/assets/icons/user-female.svg create mode 100644 wwwroot/assets/icons/user-follow.svg create mode 100644 wwwroot/assets/icons/user-unfollow.svg create mode 100644 wwwroot/assets/icons/user.svg create mode 100644 wwwroot/assets/icons/vector.svg create mode 100644 wwwroot/assets/icons/vertical-align-bottom.svg create mode 100644 wwwroot/assets/icons/vertical-align-bottom1.svg create mode 100644 wwwroot/assets/icons/vertical-align-center.svg create mode 100644 wwwroot/assets/icons/vertical-align-center1.svg create mode 100644 wwwroot/assets/icons/vertical-align-top.svg create mode 100644 wwwroot/assets/icons/vertical-align-top1.svg create mode 100644 wwwroot/assets/icons/video.svg create mode 100644 wwwroot/assets/icons/view-column.svg create mode 100644 wwwroot/assets/icons/view-module.svg create mode 100644 wwwroot/assets/icons/view-quilt.svg create mode 100644 wwwroot/assets/icons/view-stream.svg create mode 100644 wwwroot/assets/icons/voice-over-record.svg create mode 100644 wwwroot/assets/icons/volume-high.svg create mode 100644 wwwroot/assets/icons/volume-low.svg create mode 100644 wwwroot/assets/icons/volume-off.svg create mode 100644 wwwroot/assets/icons/vue.svg create mode 100644 wwwroot/assets/icons/walk.svg create mode 100644 wwwroot/assets/icons/wallet.svg create mode 100644 wwwroot/assets/icons/wallpaper.svg create mode 100644 wwwroot/assets/icons/warning.svg create mode 100644 wwwroot/assets/icons/watch.svg create mode 100644 wwwroot/assets/icons/wc.svg create mode 100644 wwwroot/assets/icons/weightlifitng.svg create mode 100644 wwwroot/assets/icons/wheelchair.svg create mode 100644 wwwroot/assets/icons/wifi-signal-0.svg create mode 100644 wwwroot/assets/icons/wifi-signal-1.svg create mode 100644 wwwroot/assets/icons/wifi-signal-2.svg create mode 100644 wwwroot/assets/icons/wifi-signal-4.svg create mode 100644 wwwroot/assets/icons/wifi-signal-off.svg create mode 100644 wwwroot/assets/icons/window-maximize.svg create mode 100644 wwwroot/assets/icons/window-minimize.svg create mode 100644 wwwroot/assets/icons/window-restore.svg create mode 100644 wwwroot/assets/icons/window.svg create mode 100644 wwwroot/assets/icons/wrap-text.svg create mode 100644 wwwroot/assets/icons/x-circle.svg create mode 100644 wwwroot/assets/icons/x.svg create mode 100644 wwwroot/assets/icons/yen.svg create mode 100644 wwwroot/assets/icons/zoom-in.svg create mode 100644 wwwroot/assets/icons/zoom-out.svg create mode 100644 wwwroot/assets/img/avatars/admin.png create mode 100644 wwwroot/assets/img/full.jpg create mode 100644 wwwroot/css/_bg-gradients.scss create mode 100644 wwwroot/css/custom.css create mode 100644 wwwroot/css/examples.css create mode 100644 wwwroot/css/examples.css.map create mode 100644 wwwroot/css/examples.min.css create mode 100644 wwwroot/css/examples.min.css.map create mode 100644 wwwroot/css/gradients.css create mode 100644 wwwroot/css/style.css create mode 100644 wwwroot/css/style.css.map create mode 100644 wwwroot/css/style.min.css create mode 100644 wwwroot/css/style.min.css.map create mode 100644 wwwroot/css/vendors/simplebar.css create mode 100644 wwwroot/css/vendors/simplebar.css.map create mode 100644 wwwroot/js/charts.js create mode 100644 wwwroot/js/charts.js.map create mode 100644 wwwroot/js/colors.js create mode 100644 wwwroot/js/colors.js.map create mode 100644 wwwroot/js/jqtable.js create mode 100644 wwwroot/js/main.js create mode 100644 wwwroot/js/main.js.map create mode 100644 wwwroot/js/popovers.js create mode 100644 wwwroot/js/popovers.js.map create mode 100644 wwwroot/js/script.js create mode 100644 wwwroot/js/toasts.js create mode 100644 wwwroot/js/toasts.js.map create mode 100644 wwwroot/js/tooltips.js create mode 100644 wwwroot/js/tooltips.js.map create mode 100644 wwwroot/js/wgelements.js create mode 100644 wwwroot/js/widgets.js create mode 100644 wwwroot/js/widgets.js.map create mode 100644 wwwroot/js/wireguard.js create mode 100644 wwwroot/vendors/chart.js/js/chart.min.js create mode 100644 wwwroot/vendors/coreui/chartjs/css/coreui-chartjs.css create mode 100644 wwwroot/vendors/coreui/chartjs/css/coreui-chartjs.css.map create mode 100644 wwwroot/vendors/coreui/chartjs/js/coreui-chartjs.js create mode 100644 wwwroot/vendors/coreui/chartjs/js/coreui-chartjs.js.map create mode 100644 wwwroot/vendors/coreui/coreui/js/coreui.bundle.min.js create mode 100644 wwwroot/vendors/coreui/coreui/js/coreui.bundle.min.js.map create mode 100644 wwwroot/vendors/coreui/icons/css/brand.min.css create mode 100644 wwwroot/vendors/coreui/icons/css/brand.min.css.map create mode 100644 wwwroot/vendors/coreui/icons/css/flag.min.css create mode 100644 wwwroot/vendors/coreui/icons/css/flag.min.css.map create mode 100644 wwwroot/vendors/coreui/icons/css/free.min.css create mode 100644 wwwroot/vendors/coreui/icons/css/free.min.css.map create mode 100644 wwwroot/vendors/coreui/icons/fonts/CoreUI-Icons-Brand.eot create mode 100644 wwwroot/vendors/coreui/icons/fonts/CoreUI-Icons-Brand.svg create mode 100644 wwwroot/vendors/coreui/icons/fonts/CoreUI-Icons-Brand.ttf create mode 100644 wwwroot/vendors/coreui/icons/fonts/CoreUI-Icons-Brand.woff create mode 100644 wwwroot/vendors/coreui/icons/fonts/CoreUI-Icons-Free.eot create mode 100644 wwwroot/vendors/coreui/icons/fonts/CoreUI-Icons-Free.svg create mode 100644 wwwroot/vendors/coreui/icons/fonts/CoreUI-Icons-Free.ttf create mode 100644 wwwroot/vendors/coreui/icons/fonts/CoreUI-Icons-Free.woff create mode 100644 wwwroot/vendors/coreui/icons/svg/brand.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ad.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ae.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-af.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ag.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-al.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-am.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ao.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ar.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-at.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-au.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-az.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ba.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bb.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bd.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-be.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bf.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bg.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bh.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bi.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bj.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bn.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bo.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-br.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bs.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bt.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bw.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-by.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-bz.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ca.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cd.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cf.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cg.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ch.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ci.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ck.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cl.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cm.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cn.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-co.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cu.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cv.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cy.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-cz.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-de.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-dj.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-dk.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-dm.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-do.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-dz.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ec.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ee.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-eg.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-er.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-es.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-et.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-fi.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-fj.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-fm.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-fr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ga.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gb.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gd.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ge.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gh.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gm.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gn.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gq.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gt.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gw.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-gy.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-hk.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-hn.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-hr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ht.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-hu.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-id.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ie.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-il.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-in.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-iq.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ir.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-is.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-it.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-jm.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-jo.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-jp.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ke.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-kg.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-kh.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ki.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-km.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-kn.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-kp.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-kr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-kw.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-kz.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-la.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-lb.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-lc.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-li.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-lk.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-lr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ls.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-lt.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-lu.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-lv.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ly.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ma.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mc.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-md.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-me.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mg.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mh.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mk.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ml.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mm.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mn.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mt.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mu.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mv.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mw.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mx.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-my.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-mz.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-na.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ne.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ng.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ni.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-nl.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-no.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-np.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-nr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-nu.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-nz.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-om.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-pa.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-pe.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-pg.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ph.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-pk.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-pl.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-pt.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-pw.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-py.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-qa.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ro.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-rs.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ru.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-rw.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sa.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sb.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sc.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sd.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-se.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sg.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-si.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sk.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sl.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sm.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sn.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-so.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ss.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-st.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sv.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sy.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-sz.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-td.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tg.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-th.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tj.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tl.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tm.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tn.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-to.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tr.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tt.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tv.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tw.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-tz.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ua.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ug.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-us.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-uy.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-uz.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-va.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-vc.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ve.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-vg.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-vn.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ws.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-xk.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-ye.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-za.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-zm.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/flag/cif-zw.svg create mode 100644 wwwroot/vendors/coreui/icons/svg/free.svg create mode 100644 wwwroot/vendors/coreui/utils/js/coreui-utils.js create mode 100644 wwwroot/vendors/simplebar/css/simplebar.css create mode 100644 wwwroot/vendors/simplebar/js/simplebar.min.js diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3c3d1f9 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,27 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/.editorconfig +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +**/*.pdb +LICENSE +README.md \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e74ba0d --- /dev/null +++ b/.gitignore @@ -0,0 +1,368 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Oo]ut/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# Docker +[Pp]ublished/ +*.tar +.editorconfig diff --git a/APIHandler.cs b/APIHandler.cs new file mode 100644 index 0000000..3338dbd --- /dev/null +++ b/APIHandler.cs @@ -0,0 +1,447 @@ +using Microsoft.AspNetCore.Hosting.Server; +using MTWireGuard.Models; +using MTWireGuard.Models.Mikrotik; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System.Net.Http.Headers; +using System.Text; + +namespace MTWireGuard +{ + public static class APIHandler + { + private static readonly string MT_IP = Environment.GetEnvironmentVariable("MT_IP"); + private static readonly string MT_USER = Environment.GetEnvironmentVariable("MT_USER"); + private static readonly string MT_PASS = Environment.GetEnvironmentVariable("MT_PASS"); + + public static async Task> GetLogsAsync() + { + string json = await SendGetRequestAsync("log"); + return JsonConvert.DeserializeObject>(json); + } + + public static async Task> GetServersAsync() + { + string json = await SendGetRequestAsync("interface/wireguard"); + return JsonConvert.DeserializeObject>(json); + } + + public static async Task GetServer(string Name) + { + var servers = await GetServersAsync(); + return servers.Find(s => s.Name == Name); + } + + public static async Task> GetServersTraffic() + { + var json = await SendPostRequestAsync("interface", "{\"stats\", {\".proplist\":\"name, type, rx-byte, tx-byte\"}}"); + return JsonConvert.DeserializeObject>(json); + } + + public static async Task> GetUsersAsync() + { + using var db = new DBContext(); + string json = await SendGetRequestAsync("interface/wireguard/peers"); + return JsonConvert.DeserializeObject>(json); + } + + public static async Task GetUser(string id) + { + var users = await GetUsersAsync(); + return users.Find(u => u.Id == id); + } + + public static async Task GetInfo() + { + var json = await SendGetRequestAsync("system/resource"); + return JsonConvert.DeserializeObject(json); + } + + public static async Task GetName() + { + var json = await SendGetRequestAsync("system/identity"); + return JsonConvert.DeserializeObject(json); + } + + public static async Task TryConnectAsync() + { + var connection = await SendGetRequestAsync("", true); + return JsonConvert.DeserializeObject(connection); + } + + public static async Task> GetActiveSessions() + { + var json = await SendGetRequestAsync("user/active?name=" + MT_USER); + return JsonConvert.DeserializeObject>(json); + } + + public static async Task> GetJobs() + { + var json = await SendGetRequestAsync("system/script/job"); + return JsonConvert.DeserializeObject>(json); + } + + public static async Task KillJob(string JobID) + { + return await SendDeleteRequestAsync("system/script/job/" + JobID); + } + + public static async Task CreateServer(WGServerCreateModel server) + { + var json = await SendPutRequestAsync("interface/wireguard", server); + var obj = JObject.Parse(json); + bool success = false; + string code = string.Empty, message = string.Empty, detail = string.Empty; + if (obj.TryGetValue(".id", out var Id)) + { + success = true; + } + else if (obj.TryGetValue("error", out var Error)) + { + var error = JsonConvert.DeserializeObject(json); + success = false; + code = Error.Value(); + message = error.Message; + detail = error.Detail; + } + else + { + success = false; + message = "Failed"; + detail = json; + }; + return new() + { + Code = code, + Message = message, + Detail = detail, + Success = success + }; + } + + public static async Task CreateUser(WGPeerCreateModel user) + { + var jsonData = JObject.Parse(JsonConvert.SerializeObject(user, new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + DefaultValueHandling = DefaultValueHandling.Ignore + })); + + var json = await SendPutRequestAsync("interface/wireguard/peers", jsonData); + var obj = JObject.Parse(json); + bool success = false; + string code = string.Empty, message = string.Empty, detail = string.Empty; + WGPeer peer = null; + if (obj.TryGetValue(".id", out var Id)) + { + success = true; + peer = JsonConvert.DeserializeObject(json); + } + else if (obj.TryGetValue("error", out var Error)) + { + var error = JsonConvert.DeserializeObject(json); + success = false; + code = Error.Value(); + message = error.Message; + detail = error.Detail; + } + else + { + success = false; + message = "Failed"; + detail = json; + }; + return new() + { + Code = code, + Message = message, + Detail = detail, + Success = success, + Item = peer ?? null + }; + } + + public static async Task UpdateServer(WGServerUpdateModel server) + { + var serverJson = JObject.Parse(JsonConvert.SerializeObject(server, new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + DefaultValueHandling = DefaultValueHandling.Ignore + })); + var json = await SendPatchRequestAsync($"interface/wireguard/{server.Id}", serverJson); + var obj = JObject.Parse(json); + bool success = false; + string code = string.Empty, message = string.Empty, detail = string.Empty; + WGServer srv = null; + if (obj.TryGetValue(".id", out var Id)) + { + success = true; + srv = JsonConvert.DeserializeObject(json); + } + else if (obj.TryGetValue("error", out var Error)) + { + var error = JsonConvert.DeserializeObject(json); + success = false; + code = Error.Value(); + message = error.Message; + detail = error.Detail; + } + else + { + success = false; + message = "Failed"; + detail = json; + }; + return new() + { + Code = code, + Message = message, + Detail = detail, + Success = success, + Item = srv ?? null + }; + } + + public static async Task UpdateUser(WGPeerUpdateModel user) + { + var userJson = JObject.Parse(JsonConvert.SerializeObject(user, new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + DefaultValueHandling = DefaultValueHandling.Ignore + })); + var json = await SendPatchRequestAsync($"interface/wireguard/peers/{user.Id}", userJson); + var obj = JObject.Parse(json); + bool success = false; + string code = string.Empty, message = string.Empty, detail = string.Empty; + WGPeer peer = null; + if (obj.TryGetValue(".id", out var Id)) + { + success = true; + peer = JsonConvert.DeserializeObject(json); + } + else if (obj.TryGetValue("error", out var Error)) + { + var error = JsonConvert.DeserializeObject(json); + success = false; + code = Error.Value(); + message = error.Message; + detail = error.Detail; + } + else + { + success = false; + message = "Failed"; + detail = json; + }; + return new() + { + Code = code, + Message = message, + Detail = detail, + Success = success, + Item = peer ?? null + }; + } + + public static async Task SetServerEnabled(WGEnability enability) + { + var json = await SendPatchRequestAsync($"interface/wireguard/{enability.ID}", new { disabled = enability.Disabled }); + var obj = JObject.Parse(json); + bool success = false; + string code = string.Empty, message = string.Empty, detail = string.Empty; + WGPeer peer = null; + if (obj.TryGetValue(".id", out var Id)) + { + success = true; + peer = JsonConvert.DeserializeObject(json); + } + else if (obj.TryGetValue("error", out var Error)) + { + var error = JsonConvert.DeserializeObject(json); + success = false; + code = Error.Value(); + message = error.Message; + detail = error.Detail; + } + else + { + success = false; + message = "Failed"; + detail = json; + }; + return new() + { + Code = code, + Message = message, + Detail = detail, + Success = success, + Item = peer ?? null + }; + } + + public static async Task SetUserEnabled(WGEnability enability) + { + var json = await SendPatchRequestAsync($"interface/wireguard/peers/{enability.ID}", new { disabled = enability.Disabled }); + var obj = JObject.Parse(json); + bool success = false; + string code = string.Empty, message = string.Empty, detail = string.Empty; + WGPeer peer = null; + if (obj.TryGetValue(".id", out var Id)) + { + success = true; + peer = JsonConvert.DeserializeObject(json); + } + else if (obj.TryGetValue("error", out var Error)) + { + var error = JsonConvert.DeserializeObject(json); + success = false; + code = Error.Value(); + message = error.Message; + detail = error.Detail; + } + else + { + success = false; + message = "Failed"; + detail = json; + }; + return new() + { + Code = code, + Message = message, + Detail = detail, + Success = success, + Item = peer ?? null + }; + } + + public static async Task DeleteServer(string id) + { + var json = await SendDeleteRequestAsync("interface/wireguard/" + id); + if (string.IsNullOrWhiteSpace(json)) + { + return new() + { + Success = true + }; + } + else + { + return new() + { + Success = false, + Item = json + }; + } + } + + public static async Task DeleteUser(string id) + { + var json = await SendDeleteRequestAsync("interface/wireguard/peers/" + id); + if (string.IsNullOrWhiteSpace(json)) + { + return new() + { + Success = true + }; + } + else + { + return new() + { + Success = false, + Item = json + }; + } + } + + public static async Task GetTrafficSpeed() + { + return await SendPostRequestAsync("interface/monitor-traffic", "{\"interface\":\"ether1\",\"duration\":\"3s\"}"); + } + + private static async Task SendGetRequestAsync(string URL, bool IsTest = false) + { + HttpClientHandler handler = new() + { + ServerCertificateCustomValidationCallback = delegate { return true; } + }; + using HttpClient httpClient = new(handler); + using var request = new HttpRequestMessage(new HttpMethod("GET"), $"https://{MT_IP}/rest/{URL}"); + string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{MT_USER}:{MT_PASS}")); + if (!IsTest) request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}"); + + HttpResponseMessage response = await httpClient.SendAsync(request); + return await response.Content.ReadAsStringAsync(); + } + + private static async Task SendPostRequestAsync(string URL, string Data) + { + HttpClientHandler handler = new() + { + ServerCertificateCustomValidationCallback = (requestMessage, certificate, chain, policyErrors) => true + }; + using HttpClient httpClient = new(handler); + using var request = new HttpRequestMessage(new HttpMethod("GET"), $"https://{MT_IP}/rest/{URL}"); + string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{MT_USER}:{MT_PASS}")); + request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}"); + + request.Content = new StringContent(Data); + request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); + + HttpResponseMessage response = await httpClient.SendAsync(request); + return await response.Content.ReadAsStringAsync(); + } + + private static async Task SendDeleteRequestAsync(string URL) + { + HttpClientHandler handler = new() + { + ServerCertificateCustomValidationCallback = (requestMessage, certificate, chain, policyErrors) => true + }; + using HttpClient httpClient = new(handler); + using var request = new HttpRequestMessage(new HttpMethod("DELETE"), $"https://{MT_IP}/rest/{URL}"); + string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{MT_USER}:{MT_PASS}")); + request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}"); + + HttpResponseMessage response = await httpClient.SendAsync(request); + return await response.Content.ReadAsStringAsync(); + } + + private static async Task SendPutRequestAsync(string URL, object Data) + { + HttpClientHandler handler = new() + { + ServerCertificateCustomValidationCallback = (requestMessage, certificate, chain, policyErrors) => true + }; + using HttpClient httpClient = new(handler); + using var request = new HttpRequestMessage(new HttpMethod("PUT"), $"https://{MT_IP}/rest/{URL}"); + string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{MT_USER}:{MT_PASS}")); + request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}"); + + request.Content = new StringContent(JsonConvert.SerializeObject(Data)); + request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); + + HttpResponseMessage response = await httpClient.SendAsync(request); + return await response.Content.ReadAsStringAsync(); + } + + private static async Task SendPatchRequestAsync(string URL, object Data) + { + HttpClientHandler handler = new() + { + ServerCertificateCustomValidationCallback = (requestMessage, certificate, chain, policyErrors) => true + }; + using HttpClient httpClient = new(handler); + using var request = new HttpRequestMessage(new HttpMethod("PATCH"), $"https://{MT_IP}/rest/{URL}"); + string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{MT_USER}:{MT_PASS}")); + request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}"); + + request.Content = new StringContent(JsonConvert.SerializeObject(Data)); + request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); + + HttpResponseMessage response = await httpClient.SendAsync(request); + return await response.Content.ReadAsStringAsync(); + } + } +} diff --git a/DBContext.cs b/DBContext.cs new file mode 100644 index 0000000..7779e08 --- /dev/null +++ b/DBContext.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Hosting; +using MTWireGuard.Models.Mikrotik; + +namespace MTWireGuard +{ + public class DBContext : DbContext + { + public DbSet Users { get; set; } + + public string DbPath { get; } + + public DBContext() + { + DbPath = Path.Join(AppDomain.CurrentDomain.BaseDirectory, "MikrotikWireguard.db"); + } + + protected override void OnConfiguring(DbContextOptionsBuilder options) + => options.UseSqlite($"Data Source={DbPath}"); + } + +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..354bf90 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine AS runtime +WORKDIR /app +EXPOSE 80 +EXPOSE 443 +COPY published/ ./ +ENTRYPOINT ["dotnet", "MTWireGuard.dll"] diff --git a/Helper.cs b/Helper.cs new file mode 100644 index 0000000..a3e59a6 --- /dev/null +++ b/Helper.cs @@ -0,0 +1,88 @@ +using MTWireGuard.Models.Mikrotik; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO.Compression; +using System.Text; + +namespace MTWireGuard +{ + public class Helper + { + public static readonly string[] UpperCaseTopics = + { + "dhcp", + "ppp", + "l2tp", + "pptp", + "sstp" + }; + + private static readonly string[] SizeSuffixes = + { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" }; + public static string ConvertByteSize(long value, int decimalPlaces = 2) + { + if (decimalPlaces < 0) { throw new ArgumentOutOfRangeException("decimalPlaces"); } + if (value < 0) { return "-" + ConvertByteSize(-value, decimalPlaces); } + if (value == 0) { return "0"; } + + // mag is 0 for bytes, 1 for KB, 2, for MB, etc. + int mag = (int)Math.Log(value, 1024); + + // 1L << (mag * 10) == 2 ^ (10 * mag) + // [i.e. the number of bytes in the unit corresponding to mag] + decimal adjustedSize = (decimal)value / (1L << (mag * 10)); + + // make adjustment when the value is large enough that + // it would round up to 1000 or more + if (Math.Round(adjustedSize, decimalPlaces) >= 1000) + { + mag += 1; + adjustedSize /= 1024; + } + + return string.Format("{0:n" + decimalPlaces + "} {1}", + adjustedSize, + SizeSuffixes[mag]); + } + } + + public static class StringCompression + { + public static byte[] Compress(string str) + { + var bytes = Encoding.UTF8.GetBytes(str); + + using MemoryStream msi = new(bytes); + using MemoryStream mso = new(); + using (GZipStream gs = new(mso, CompressionMode.Compress)) + { + msi.CopyTo(gs); + } + + return mso.ToArray(); + } + + public static string Decompress(byte[] zip) + { + using MemoryStream msi = new(zip); + using MemoryStream mso = new(); + using (GZipStream gs = new(msi, CompressionMode.Decompress)) + { + gs.CopyTo(mso); + } + + return Encoding.UTF8.GetString(mso.ToArray()); + } + } + + public static class StringExtensions + { + public static string FirstCharToUpper(this string input) => + input switch + { + null => throw new ArgumentNullException(nameof(input)), + "" => throw new ArgumentException($"{nameof(input)} cannot be empty", nameof(input)), + _ => string.Concat(input[0].ToString().ToUpper(), input.AsSpan(1)) + }; + } +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c57383a --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 MTWireguard + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/MTAPIHandler.cs b/MTAPIHandler.cs new file mode 100644 index 0000000..07b480b --- /dev/null +++ b/MTAPIHandler.cs @@ -0,0 +1,239 @@ +using MTWireGuard.Models; +using MTWireGuard.Models.Mikrotik; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; +using System.Linq; +using System.Net; +using System.Net.Http.Headers; +using System.Text; +using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; + +namespace MTWireGuard +{ + public static class MTAPIHandler + { + private static readonly string MT_IP = Environment.GetEnvironmentVariable("MT_IP"); + private static readonly string MT_USER = Environment.GetEnvironmentVariable("MT_USER"); + private static readonly string MT_PASS = Environment.GetEnvironmentVariable("MT_PASS"); + + public static async Task> GetLogsAsync() + { + string json = await SendGetRequestAsync("log"); + var model = JsonConvert.DeserializeObject>(json); + return model.Select(x => new LogViewModel() + { + Id = Convert.ToUInt64(x.Id[1..], 16), + Message = x.Message, + Time = x.Time, + Topics = x.Topics.Split(',').Select(t => t = Helper.UpperCaseTopics.Contains(t) ? t.ToUpper() : t.FirstCharToUpper()).ToList() + }).ToList(); + } + + public static async Task> GetServersAsync() + { + string json = await SendGetRequestAsync("interface/wireguard"); + var model = JsonConvert.DeserializeObject>(json); + return model.Select(x => new WGServerViewModel() + { + Id = Convert.ToInt32(x.Id[1..], 16), + Name = x.Name, + ListenPort = Convert.ToUInt16(x.ListenPort), + MTU = Convert.ToUInt16(x.MTU), + Running = x.Running, + IsEnabled = !x.Disabled, + PublicKey = x.PublicKey, + PrivateKey = x.PrivateKey + }).ToList(); + } + + public static async Task GetServer(string Name) + { + var servers = await GetServersAsync(); + return servers.Find(s => s.Name == Name); + } + + public static async Task> GetServersTraffic() + { + var json = await SendPostRequestAsync("interface", "{\"stats\", {\".proplist\":\"name,rx-byte, tx-byte\"}}"); + List traffic = JsonConvert.DeserializeObject>(json); + return traffic; + } + + public static async Task> GetUsersAsync() + { + using var db = new DBContext(); + string json = await SendGetRequestAsync("interface/wireguard/peers"); + List apiUsers = JsonConvert.DeserializeObject>(json); + List dbUsers = db.Users.ToList(); + Dictionary differences = new(); + // Start Checking DB and Router sync + foreach (var apiUser in apiUsers) + { + var id = Convert.ToInt32(apiUser.Id[1..], 16); + var dbUser = dbUsers.Find(u => u.Id == id); + if (dbUser == null) + { + differences.Add(id, true); + } + else + { + string publickey = apiUser.PublicKey; + bool publicKeyDifferent = dbUser.PublicKey != publickey; + bool noPrivateKey = string.IsNullOrWhiteSpace(dbUser.PrivateKey); + differences.Add(id, publicKeyDifferent | noPrivateKey); + } + } + // End Checking + return apiUsers.Select(x => new WGPeerViewModel() + { + Id = Convert.ToInt32(x.Id[1..], 16), + Name = (dbUsers.Find(u => u.Id == Convert.ToInt32(x.Id[1..], 16)) != null) ? dbUsers.Find(u => u.Id == Convert.ToInt32(x.Id[1..], 16)).Name : "", + Address = x.AllowedAddress, + CurrentAddress = $"{x.CurrentEndpointAddress}:{x.CurrentEndpointPort}", + Interface = x.Interface, + IsEnabled = !x.Disabled, + PublicKey = x.PublicKey, + Download = x.RX, + Upload = x.TX, + IsDifferent = differences[Convert.ToInt32(x.Id[1..], 16)] + }).ToList(); + } + + public static async Task GetUser(int id) + { + var users = await GetUsersAsync(); + return users.Find(u => u.Id == id); + } + + public static async Task GetIPAddress() + { + var json = await SendGetRequestAsync("ip/address?interface=ether1&.proplist=address"); + var IP = JsonConvert.DeserializeObject>(json).FirstOrDefault(); + var address = IP.Address[..IP.Address.IndexOf('/')]; + return address; + } + + public static async Task GetInfo() + { + var json = await SendGetRequestAsync("system/resource"); + var model = JsonConvert.DeserializeObject(json); + return new() + { + Architecture = model.ArchitectureName, + BoardName = model.BoardName, + CPU = model.CPU, + CPUCount = Convert.ToByte(model.CPUCount), + CPUFrequency = Convert.ToInt16(model.CPUFrequency), + CPULoad = Convert.ToByte(model.CPULoad), + TotalHDDBytes = Convert.ToInt64(model.TotalHDDSpace), + FreeHDDBytes = Convert.ToInt64(model.FreeHDDSpace), + UsedHDDBytes = Convert.ToInt64(model.TotalHDDSpace) - Convert.ToInt64(model.FreeHDDSpace), + FreeHDDPercentage = (byte)(Convert.ToInt64(model.FreeHDDSpace) * 100 / Convert.ToInt64(model.TotalHDDSpace)), + TotalRAMBytes = Convert.ToInt64(model.TotalMemory), + FreeRAMBytes = Convert.ToInt64(model.FreeMemory), + UsedRAMBytes = Convert.ToInt64(model.TotalMemory) - Convert.ToInt64(model.FreeMemory), + FreeRAMPercentage = (byte)(Convert.ToInt64(model.FreeMemory) * 100 / Convert.ToInt64(model.TotalMemory)), + TotalHDD = Helper.ConvertByteSize(Convert.ToInt64(model.TotalHDDSpace)), + FreeHDD = Helper.ConvertByteSize(Convert.ToInt64(model.FreeHDDSpace)), + UsedHDD = Helper.ConvertByteSize(Convert.ToInt64(model.TotalHDDSpace) - Convert.ToInt64(model.FreeHDDSpace)), + TotalRAM = Helper.ConvertByteSize(Convert.ToInt64(model.TotalMemory)), + FreeRAM = Helper.ConvertByteSize(Convert.ToInt64(model.FreeMemory)), + UsedRAM = Helper.ConvertByteSize(Convert.ToInt64(model.TotalMemory) - Convert.ToInt64(model.FreeMemory)), + UPTime = model.Uptime. + Replace('d', ' '). + Replace('h', ':'). + Replace('m', ':'). + Replace("s", ""), + Platform = model.Platform, + Version = model.Version + }; + } + + public static async Task TryConnectAsync() + { + try + { + var connection = await SendGetRequestAsync("", true); + var status = JsonConvert.DeserializeObject(connection); + if ((status.Error == 400 && status.Message == "Bad Request") || (status.Error == 401 && status.Message == "Unauthorized")) + { + return true; + } + throw new($"[{status.Error}] Login failed, {status.Message}.
Enter router username/password in environment variables (MT_USER/MT_PASS)."); + } + catch + { + throw; + } + } + + public static async Task GetCurrentSessionID() + { + var sessionJson = await SendGetRequestAsync("user/active?name=admin&via=api&.proplist=when"); + JArray session = JArray.Parse(sessionJson); + var jobsJson = await SendGetRequestAsync("system/script/job?type=api-login&started=" + session.FirstOrDefault()["when"]); + JArray jobs = JArray.Parse(jobsJson); + return jobs.FirstOrDefault()[".id"].ToString(); + } + + public static async Task KillJob(string JobID) + { + return await SendDeleteRequestAsync("system/script/job/" + JobID); + } + + public static async Task GetTrafficSpeed() + { + return await SendPostRequestAsync("interface/monitor-traffic", "{\"interface\":\"ether1\",\"duration\":\"3s\"}"); + } + + private static async Task SendGetRequestAsync(string URL, bool IsTest = false) + { + HttpClientHandler handler = new() + { + ServerCertificateCustomValidationCallback = delegate { return true; } + }; + using HttpClient httpClient = new(handler); + using var request = new HttpRequestMessage(new HttpMethod("GET"), $"https://{MT_IP}/rest/{URL}"); + string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{MT_USER}:{MT_PASS}")); + if (!IsTest) request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}"); + + HttpResponseMessage response = await httpClient.SendAsync(request); + string APIResponse = await response.Content.ReadAsStringAsync(); + return APIResponse; + } + + private static async Task SendPostRequestAsync(string URL, string Data) + { + HttpClientHandler handler = new() + { + ServerCertificateCustomValidationCallback = (requestMessage, certificate, chain, policyErrors) => true + }; + using HttpClient httpClient = new(handler); + using var request = new HttpRequestMessage(new HttpMethod("GET"), $"https://{MT_IP}/rest/{URL}"); + string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{MT_USER}:{MT_PASS}")); + request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}"); + + request.Content = new StringContent(Data); + request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); + + HttpResponseMessage response = await httpClient.SendAsync(request); + return await response.Content.ReadAsStringAsync(); + } + + private static async Task SendDeleteRequestAsync(string URL) + { + HttpClientHandler handler = new() + { + ServerCertificateCustomValidationCallback = (requestMessage, certificate, chain, policyErrors) => true + }; + using HttpClient httpClient = new(handler); + using var request = new HttpRequestMessage(new HttpMethod("DELETE"), $"https://{MT_IP}/rest/{URL}"); + string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{MT_USER}:{MT_PASS}")); + request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}"); + + HttpResponseMessage response = await httpClient.SendAsync(request); + return await response.Content.ReadAsStringAsync(); + } + } +} diff --git a/MTWireGuard.csproj b/MTWireGuard.csproj new file mode 100644 index 0000000..d5c94cb --- /dev/null +++ b/MTWireGuard.csproj @@ -0,0 +1,28 @@ + + + + net6.0 + enable + enable + 943131a5-93e0-4ec4-91aa-e26e825730c4 + Linux + . + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + diff --git a/MTWireGuard.sln b/MTWireGuard.sln new file mode 100644 index 0000000..864ffa9 --- /dev/null +++ b/MTWireGuard.sln @@ -0,0 +1,30 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32819.101 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MTWireGuard", "MTWireGuard.csproj", "{F4826D62-8AB3-4565-A3F1-8FD5998DFA43}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{810BE84C-BB0A-4280-BBE9-E0A1B859BDED}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F4826D62-8AB3-4565-A3F1-8FD5998DFA43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F4826D62-8AB3-4565-A3F1-8FD5998DFA43}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F4826D62-8AB3-4565-A3F1-8FD5998DFA43}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F4826D62-8AB3-4565-A3F1-8FD5998DFA43}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {E6EC9B9D-E199-4D33-8B16-F398E2092A72} + EndGlobalSection +EndGlobal diff --git a/Mapper/MappingProfile.cs b/Mapper/MappingProfile.cs new file mode 100644 index 0000000..47c8409 --- /dev/null +++ b/Mapper/MappingProfile.cs @@ -0,0 +1,114 @@ +using AutoMapper; +using Microsoft.EntityFrameworkCore; +using MTWireGuard.Models; +using MTWireGuard.Models.Mikrotik; + +namespace MTWireGuard.Mapper +{ + public class MappingProfile : Profile + { + public MappingProfile() + { + // Logs + CreateMap() + .ForMember(dest => dest.Id, + opt => opt.MapFrom(src => Convert.ToUInt64(src.Id.Substring(1), 16))) + .ForMember(dest =>dest.Topics, + opt => opt.MapFrom(src => FormatTopics(src.Topics))); + + // Server Traffic + CreateMap() + .ForMember(dest => dest.Name, + opt => opt.MapFrom(src => src.Name)) + .ForMember(dest => dest.Type, + opt => opt.MapFrom(src => src.Type)) + .ForMember(dest => dest.Upload, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.TX), 2))) + .ForMember(dest => dest.Download, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.RX), 2))) + .ForMember(dest => dest.UploadBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.TX))) + .ForMember(dest => dest.DownloadBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.RX))); + + // Mikrotik HWInfo + CreateMap() + .ForMember(dest => dest.Architecture, + opt => opt.MapFrom(src => src.ArchitectureName)) + .ForMember(dest => dest.CPUCount, + opt => opt.MapFrom(src => Convert.ToByte(src.CPUCount))) + .ForMember(dest => dest.CPUFrequency, + opt => opt.MapFrom(src => Convert.ToInt16(src.CPUFrequency))) + .ForMember(dest => dest.CPULoad, + opt => opt.MapFrom(src => Convert.ToByte(src.CPULoad))) + .ForMember(dest => dest.TotalHDDBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.TotalHDDSpace))) + .ForMember(dest => dest.FreeHDDBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.FreeHDDSpace))) + .ForMember(dest => dest.UsedHDDBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.TotalHDDSpace) - Convert.ToInt64(src.FreeHDDSpace))) + .ForMember(dest => dest.FreeHDDPercentage, + opt => opt.MapFrom(src => (byte)(Convert.ToInt64(src.FreeHDDSpace) * 100 / Convert.ToInt64(src.TotalHDDSpace)))) + .ForMember(dest => dest.TotalRAMBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.TotalMemory))) + .ForMember(dest => dest.FreeRAMBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.FreeMemory))) + .ForMember(dest => dest.UsedRAMBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.TotalMemory) - Convert.ToInt64(src.FreeMemory))) + .ForMember(dest => dest.FreeRAMPercentage, + opt => opt.MapFrom(src => (byte)(Convert.ToInt64(src.FreeMemory) * 100 / Convert.ToInt64(src.TotalMemory)))) + .ForMember(dest => dest.TotalHDD, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.TotalHDDSpace), 2))) + .ForMember(dest => dest.FreeHDD, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.FreeHDDSpace), 2))) + .ForMember(dest => dest.UsedHDD, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.TotalHDDSpace) - Convert.ToInt64(src.FreeHDDSpace), 2))) + .ForMember(dest => dest.TotalRAM, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.TotalMemory), 2))) + .ForMember(dest => dest.FreeRAM, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.FreeMemory), 2))) + .ForMember(dest => dest.UsedRAM, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.TotalMemory) - Convert.ToInt64(src.FreeMemory), 2))) + .ForMember(dest => dest.UPTime, + opt => opt.MapFrom(src => src.Uptime. + // Replace('d', ' '). + Replace('h', ':'). + Replace('m', ':'). + Replace("s", ""))) + ; + + // Router Identity + CreateMap(); + + // Active Users + CreateMap() + .ForMember(dest => dest.Id, + opt => opt.MapFrom(src => Convert.ToInt16(src.Id.Substring(1), 16))) + .ForMember(dest => dest.LoggedIn, + opt => opt.MapFrom(src => src.When)); + + // Active Jobs + CreateMap() + .ForMember(dest => dest.Id, + opt => opt.MapFrom(src => Convert.ToInt16(src.Id.Substring(1), 16))) + .ForMember(dest => dest.NextId, + opt => opt.MapFrom(src => Convert.ToInt16(src.NextId.Substring(1), 16))) + .ForMember(dest => dest.Policies, + opt => opt.MapFrom(src => src.Policy.Split(',', StringSplitOptions.None).ToList())); + + // Item Creation + CreateMap() + .ForMember(dest => dest.Code, + opt => opt.MapFrom(src => (src.Success) ? "200" : src.Code.ToString())) + .ForMember(dest => dest.Title, + opt => opt.MapFrom(src => (src.Success) ? "Done" : src.Message)) + .ForMember(dest => dest.Description, + opt => opt.MapFrom(src => (src.Success) ? "Item created/updated successfully." : src.Detail)); + } + + private static List FormatTopics(string topics) + { + return topics.Split(',', StringSplitOptions.TrimEntries).Select(t => t = Helper.UpperCaseTopics.Contains(t) ? t.ToUpper() : t.FirstCharToUpper()).ToList(); + } + } +} diff --git a/Mapper/PeerMapping.cs b/Mapper/PeerMapping.cs new file mode 100644 index 0000000..ae99700 --- /dev/null +++ b/Mapper/PeerMapping.cs @@ -0,0 +1,89 @@ +using AutoMapper; +using MTWireGuard.Models.Mikrotik; +using MTWireGuard.Models.Requests; + +namespace MTWireGuard.Mapper +{ + public class PeerMapping : Profile + { + DBContext db; + public PeerMapping(DBContext context) + { + db = context; + + /* + * Mikrotik Peer to ViewModel + */ + CreateMap() + .ForMember(dest => dest.Id, + opt => opt.MapFrom(src => Convert.ToInt32(src.Id.Substring(1), 16))) + .ForMember(dest => dest.Name, + opt => opt.MapFrom(src => GetPeerName(src))) + .ForMember(dest => dest.PrivateKey, + opt => opt.MapFrom(src => GetPeerPrivateKey(src))) + .ForMember(dest => dest.Address, + opt => opt.MapFrom(src => src.AllowedAddress)) + .ForMember(dest => dest.CurrentAddress, + opt => opt.MapFrom(src => $"{src.CurrentEndpointAddress}:{src.CurrentEndpointPort}")) + .ForMember(dest => dest.IsEnabled, + opt => opt.MapFrom(src => !src.Disabled)) + .ForMember(dest => dest.IsDifferent, + opt => opt.MapFrom(src => HasDifferences(src))) + .ForMember(dest => dest.Upload, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.TX), 2))) + .ForMember(dest => dest.Download, + opt => opt.MapFrom(src => Helper.ConvertByteSize(Convert.ToInt64(src.RX), 2))) + .ForMember(dest => dest.UploadBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.TX))) + .ForMember(dest => dest.DownloadBytes, + opt => opt.MapFrom(src => Convert.ToInt64(src.RX))); + + // WGPeer + CreateMap(); + CreateMap(); + CreateMap() + .ForMember(dest => dest.Id, + opt => opt.MapFrom(src => $"*{src.Id:X}")); + CreateMap() + .ForMember(dest => dest.Disabled, + opt => opt.MapFrom(src => !src.Enabled)) + .ForMember(dest => dest.EndpointAddress, + opt => opt.MapFrom(src => src.Endpoint)) + .ForMember(dest => dest.PersistentKeepalive, + opt => opt.MapFrom(src => src.KeepAlive.ToString())); + CreateMap(); + CreateMap() + .ForMember(dest => dest.EndpointAddress, + opt => opt.MapFrom(src => src.Endpoint)) + .ForMember(dest => dest.PersistentKeepalive, + opt => opt.MapFrom(src => src.KeepAlive)); + + // DBUser + CreateMap(); + CreateMap(); + CreateMap() + .ForMember(dest => dest.Id, + opt => opt.MapFrom(src => $"*{src.Id:X}")); + CreateMap(); + } + + private string? GetPeerName(WGPeer source) + { + return (db.Users.ToList().Find(u => u.Id == Convert.ToInt32(source.Id[1..], 16)) != null) ? db.Users.ToList().Find(u => u.Id == Convert.ToInt32(source.Id[1..], 16)).Name : ""; + } + + private string? GetPeerPrivateKey(WGPeer source) + { + return (db.Users.ToList().Find(u => u.Id == Convert.ToInt32(source.Id[1..], 16)) != null) ? db.Users.ToList().Find(u => u.Id == Convert.ToInt32(source.Id[1..], 16)).PrivateKey : ""; + } + + private bool HasDifferences(WGPeer source) + { + var id = Convert.ToInt32(source.Id[1..], 16); + var dbUser = db.Users.ToList().Find(x => x.Id == id); + if (dbUser is null) return true; + if (dbUser.PublicKey != source.PublicKey) return true; + return string.IsNullOrWhiteSpace(dbUser.PrivateKey); + } + } +} diff --git a/Mapper/ServerMapping.cs b/Mapper/ServerMapping.cs new file mode 100644 index 0000000..776c877 --- /dev/null +++ b/Mapper/ServerMapping.cs @@ -0,0 +1,44 @@ +using AutoMapper; +using MTWireGuard.Models.Mikrotik; +using MTWireGuard.Models.Requests; + +namespace MTWireGuard.Mapper +{ + public class ServerMapping : Profile + { + public ServerMapping() + { + /* + * Convert Mikrotik Server Model to ViewModel + */ + CreateMap() + .ForMember(dest => dest.Id, + opt => opt.MapFrom(src => Convert.ToInt32(src.Id.Substring(1), 16))) + .ForMember(dest => dest.IsEnabled, + opt => opt.MapFrom(src => !src.Disabled)); + + /* + * Convert Wrapper CreateModel to Rest-API CreateModel + */ + CreateMap() + .ForMember(dest => dest.ListenPort, + opt => opt.MapFrom(src => src.Port)); + + CreateMap() + .ForMember(dest => dest.Disabled, + opt => opt.MapFrom(src => !src.Enabled)); + + /* + * Convert Wrapper UpdateModel to Rest-API UpdateModel + */ + CreateMap() + .ForMember(dest => dest.ListenPort, + opt => opt.MapFrom(src => src.Port)); + + + CreateMap() + .ForMember(dest => dest.Id, + opt => opt.MapFrom(src => $"*{src.Id:X}")); + } + } +} diff --git a/Middlewares/AntiForgeryMiddleware.cs b/Middlewares/AntiForgeryMiddleware.cs new file mode 100644 index 0000000..a5e5f70 --- /dev/null +++ b/Middlewares/AntiForgeryMiddleware.cs @@ -0,0 +1,64 @@ +using Microsoft.AspNetCore.Antiforgery; +using MTWireGuard.Pages; +using MTWireGuard.Repositories; +using Newtonsoft.Json; +using Razor.Templating.Core; +using System.Globalization; + +namespace MTWireGuard.Middlewares +{ + public class AntiForgeryMiddleware : IMiddleware + { + public async Task InvokeAsync(HttpContext context, RequestDelegate next) + { + if (context.Request.Path.Value == "/Login") + { + await next(context); + return; + } + try + { + var antiForgeryService = context.RequestServices.GetRequiredService(); + var isGetRequest = string.Equals("GET", context.Request.Method, StringComparison.OrdinalIgnoreCase); + if (!isGetRequest) + { + await antiForgeryService.ValidateRequestAsync(context); + } + } + catch (AntiforgeryValidationException ex) + { + string response = string.Empty; + ErrorModel errorModel = new(); + Dictionary ViewBag = new() + { + ["Title"] = "XSRF token validation failed!", + ["Message"] = ex.Message + }; + if (context.Request.Path.Value == "/Login") + response = await RazorTemplateEngine.RenderAsync("/Pages/Error.cshtml", errorModel, ViewBag); + else + { + var result = new Dictionary() + { + {"background", "danger"}, + {"title", ViewBag["Title"].ToString()}, + {"body", ViewBag["Message"].ToString()}, + }; + response = JsonConvert.SerializeObject(result); + } + context.Response.StatusCode = 200; + await context.Response.WriteAsync(response); + return; + } + await next(context); + } + } + + public static class AntiForgeryMiddlewareExtensions + { + public static IApplicationBuilder UseAntiForgery(this IApplicationBuilder builder) + { + return builder.UseMiddleware(); + } + } +} diff --git a/Middlewares/DependencyCheckMiddleware.cs b/Middlewares/DependencyCheckMiddleware.cs new file mode 100644 index 0000000..5db6c1e --- /dev/null +++ b/Middlewares/DependencyCheckMiddleware.cs @@ -0,0 +1,77 @@ +using MTWireGuard.Pages; +using MTWireGuard.Repositories; +using Razor.Templating.Core; +using System.Globalization; + +namespace MTWireGuard.Middlewares +{ + public class DependencyCheckMiddleware + { + private readonly RequestDelegate _next; + private readonly IMikrotikRepository API; + + public DependencyCheckMiddleware(RequestDelegate next, IMikrotikRepository mikrotik) + { + _next = next; + API = mikrotik; + } + + public async Task InvokeAsync(HttpContext context) + { + bool Error = false; + + string? IP = Environment.GetEnvironmentVariable("MT_IP"); + string? USER = Environment.GetEnvironmentVariable("MT_USER"); + string? PASS = Environment.GetEnvironmentVariable("MT_PASS"); + string? PUBLICIP = Environment.GetEnvironmentVariable("MT_PUBLIC_IP"); + + ErrorModel errorModel = new(); + Dictionary ViewBag = new(); + + if (string.IsNullOrEmpty(IP) || string.IsNullOrEmpty(USER) || string.IsNullOrEmpty(PUBLICIP)) + { + ViewBag["Title"] = "Environment variables are not set!"; + ViewBag["Message"] = "Please set \"MT_IP\", \"MT_USER\", \"MT_PASS\", \"MT_PUBLIC_IP\" variables in container environment."; + Error = true; + } + else + { + if (context.Request.Path.Value == "/Login") + { + await _next(context); + return; + } + try + { + bool APIEnabled = await API.TryConnectAsync(); + } + catch (Exception ex) + { + ViewBag["Title"] = "Error connecting to the router api!"; + ViewBag["Message"] = ex.Message; + Error = true; + } + } + + if (Error) + { + var html = await RazorTemplateEngine.RenderAsync("/Pages/Error.cshtml", errorModel, ViewBag); + context.Response.StatusCode = 200; + await context.Response.WriteAsync(html); + return; + } + else + { + await _next(context); + } + } + } + + public static class DependencyCheckMiddlewareExtensions + { + public static IApplicationBuilder UseDependencyCheck(this IApplicationBuilder builder) + { + return builder.UseMiddleware(); + } + } +} \ No newline at end of file diff --git a/Migrations/20230108171012_Initialize.Designer.cs b/Migrations/20230108171012_Initialize.Designer.cs new file mode 100644 index 0000000..e67bdf3 --- /dev/null +++ b/Migrations/20230108171012_Initialize.Designer.cs @@ -0,0 +1,53 @@ +// +using MTWireGuard; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace MTWireGuard.Migrations +{ + [DbContext(typeof(DBContext))] + [Migration("20230108171012_Initialize")] + partial class Initialize + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "7.0.1"); + + modelBuilder.Entity("MTWireGuard.Models.Mikrotik.WGPeerDBModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("PrivateKey") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("PublicKey") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("PrivateKey") + .IsUnique(); + + b.HasIndex("PublicKey") + .IsUnique(); + + b.ToTable("Users"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20230108171012_Initialize.cs b/Migrations/20230108171012_Initialize.cs new file mode 100644 index 0000000..366dda5 --- /dev/null +++ b/Migrations/20230108171012_Initialize.cs @@ -0,0 +1,48 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace MTWireGuard.Migrations +{ + /// + public partial class Initialize : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Users", + columns: table => new + { + Id = table.Column(type: "INTEGER", nullable: false) + .Annotation("Sqlite:Autoincrement", true), + Name = table.Column(type: "TEXT", nullable: false), + PrivateKey = table.Column(type: "TEXT", nullable: false), + PublicKey = table.Column(type: "TEXT", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Users", x => x.Id); + }); + + migrationBuilder.CreateIndex( + name: "IX_Users_PrivateKey", + table: "Users", + column: "PrivateKey", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_Users_PublicKey", + table: "Users", + column: "PublicKey", + unique: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Users"); + } + } +} diff --git a/Migrations/DBContextModelSnapshot.cs b/Migrations/DBContextModelSnapshot.cs new file mode 100644 index 0000000..d7bb835 --- /dev/null +++ b/Migrations/DBContextModelSnapshot.cs @@ -0,0 +1,50 @@ +// +using MTWireGuard; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace MTWireGuard.Migrations +{ + [DbContext(typeof(DBContext))] + partial class DBContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "7.0.1"); + + modelBuilder.Entity("MTWireGuard.Models.Mikrotik.WGPeerDBModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("PrivateKey") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("PublicKey") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("PrivateKey") + .IsUnique(); + + b.HasIndex("PublicKey") + .IsUnique(); + + b.ToTable("Users"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Models/CreationStatus.cs b/Models/CreationStatus.cs new file mode 100644 index 0000000..0755286 --- /dev/null +++ b/Models/CreationStatus.cs @@ -0,0 +1,18 @@ +namespace MTWireGuard.Models +{ + public class CreationStatus + { + public bool Success { get; set; } + public string Code { get; set; } + public string Detail { get; set; } + public string Message { get; set; } + public object Item { get; set; } + } + + public class CreationResult + { + public string Code { get; set; } + public string Title { get; set; } + public string Description { get; set; } + } +} diff --git a/Models/LoginFailed.cs b/Models/LoginFailed.cs new file mode 100644 index 0000000..9f949c1 --- /dev/null +++ b/Models/LoginFailed.cs @@ -0,0 +1,8 @@ +namespace MTWireGuard.Models +{ + public class LoginStatus + { + public short Error { get; set; } + public string Message { get; set; } + } +} diff --git a/Models/Mikrotik/ActiveUser.cs b/Models/Mikrotik/ActiveUser.cs new file mode 100644 index 0000000..c5aeeb1 --- /dev/null +++ b/Models/Mikrotik/ActiveUser.cs @@ -0,0 +1,25 @@ +using Newtonsoft.Json; + +namespace MTWireGuard.Models.Mikrotik +{ + public class ActiveUser + { + [JsonProperty(".id")] + public string Id { get; set; } + public string Group { get; set; } + public string Name { get; set; } + public bool Radius { get; set; } + public string Via { get; set; } + public string When { get; set; } + } + + public class ActiveUserViewModel + { + public short Id { get; set; } + public string Group { get; set; } + public string Name { get; set; } + public bool Radius { get; set; } + public string Via { get; set; } + public string LoggedIn { get; set; } + } +} diff --git a/Models/Mikrotik/EtherIP.cs b/Models/Mikrotik/EtherIP.cs new file mode 100644 index 0000000..d15b852 --- /dev/null +++ b/Models/Mikrotik/EtherIP.cs @@ -0,0 +1,12 @@ +using Newtonsoft.Json; +using System.Text.Json.Serialization; + +namespace MTWireGuard.Models.Mikrotik +{ + public class EtherIP + { + [JsonProperty(".id")] + public string Id { get; set; } + public string Address { get; set; } + } +} diff --git a/Models/Mikrotik/Identity.cs b/Models/Mikrotik/Identity.cs new file mode 100644 index 0000000..36af405 --- /dev/null +++ b/Models/Mikrotik/Identity.cs @@ -0,0 +1,12 @@ +namespace MTWireGuard.Models.Mikrotik +{ + public class MTIdentity + { + public string Name { get; set; } + } + + public class MTIdentityViewModel + { + public string Name { get; set; } + } +} diff --git a/Models/Mikrotik/Job.cs b/Models/Mikrotik/Job.cs new file mode 100644 index 0000000..1cf590e --- /dev/null +++ b/Models/Mikrotik/Job.cs @@ -0,0 +1,26 @@ +using Newtonsoft.Json; + +namespace MTWireGuard.Models.Mikrotik +{ + public class Job + { + [JsonProperty(".id")] + public string Id { get; set; } + [JsonProperty(".nextid")] + public string NextId { get; set; } + public string Owner { get; set; } + public string Policy { get; set; } + public string Started { get; set; } + public string Type { get; set; } + } + + public class JobViewModel + { + public short Id { get; set; } + public short NextId { get; set; } + public string Owner { get; set; } + public List Policies { get; set; } + public string Started { get; set; } + public string Type { get; set; } + } +} diff --git a/Models/Mikrotik/Log.cs b/Models/Mikrotik/Log.cs new file mode 100644 index 0000000..e36a3f7 --- /dev/null +++ b/Models/Mikrotik/Log.cs @@ -0,0 +1,21 @@ +using Newtonsoft.Json; + +namespace MTWireGuard.Models.Mikrotik +{ + public class Log + { + [JsonProperty(".id")] + public string Id { get; set; } + public string Message { get; set; } + public string Time { get; set; } + public string Topics { get; set; } + } + + public class LogViewModel + { + public ulong Id { get; set; } + public string Message { get; set; } + public string Time { get; set; } + public List Topics { get; set; } + } +} diff --git a/Models/Mikrotik/MTInfo.cs b/Models/Mikrotik/MTInfo.cs new file mode 100644 index 0000000..c8aa692 --- /dev/null +++ b/Models/Mikrotik/MTInfo.cs @@ -0,0 +1,74 @@ +using Newtonsoft.Json; + +namespace MTWireGuard.Models.Mikrotik +{ + public class MTInfo + { + [JsonProperty("architecture-name")] + public string ArchitectureName { get; set; } + + [JsonProperty("board-name")] + public string BoardName { get; set; } + + [JsonProperty("build-time")] + public string BuildTime { get; set; } + public string CPU { get; set; } + + [JsonProperty("cpu-count")] + public string CPUCount { get; set; } + + [JsonProperty("cpu-frequency")] + public string CPUFrequency { get; set; } + + [JsonProperty("cpu-load")] + public string CPULoad { get; set; } + + [JsonProperty("free-hdd-space")] + public string FreeHDDSpace { get; set; } + + [JsonProperty("free-memory")] + public string FreeMemory { get; set; } + public string Platform { get; set; } + + [JsonProperty("total-hdd-space")] + public string TotalHDDSpace { get; set; } + + [JsonProperty("total-memory")] + public string TotalMemory { get; set; } + public string Uptime { get; set; } + public string Version { get; set; } + + [JsonProperty("write-sect-since-reboot")] + public string WriteSectSinceReboot { get; set; } + + [JsonProperty("write-sect-total")] + public string WriteSectTotal { get; set; } + } + + public class MTInfoViewModel + { + public string Architecture { get; set; } + public string BoardName { get; set; } + public string Platform { get; set; } + public string CPU { get; set; } + public byte CPUCount { get; set; } + public short CPUFrequency { get; set; } + public byte CPULoad { get; set; } + public string TotalHDD { get; set; } + public string UsedHDD { get; set; } + public string FreeHDD { get; set; } + public long TotalHDDBytes { get; set; } + public long UsedHDDBytes { get; set; } + public long FreeHDDBytes { get; set; } + public byte FreeHDDPercentage { get; set; } + public string TotalRAM { get; set; } + public string UsedRAM { get; set; } + public string FreeRAM { get; set; } + public long TotalRAMBytes { get; set; } + public long UsedRAMBytes { get; set; } + public long FreeRAMBytes { get; set; } + public byte FreeRAMPercentage { get; set; } + public string UPTime { get; set; } + public string Version { get; set; } + } +} diff --git a/Models/Mikrotik/ServerTraffic.cs b/Models/Mikrotik/ServerTraffic.cs new file mode 100644 index 0000000..80bd74b --- /dev/null +++ b/Models/Mikrotik/ServerTraffic.cs @@ -0,0 +1,24 @@ +using Newtonsoft.Json; + +namespace MTWireGuard.Models.Mikrotik +{ + public class ServerTraffic + { + public string Name { get; set; } + public string Type { get; set; } + [JsonProperty("tx-byte")] + public string TX { get; set; } + [JsonProperty("rx-byte")] + public string RX { get; set; } + } + + public class ServerTrafficViewModel + { + public string Name { get; set; } + public string Type { get; set; } + public string Upload { get; set; } + public string Download { get; set; } + public long UploadBytes { get; set; } + public long DownloadBytes { get; set; } + } +} diff --git a/Models/Mikrotik/WGPeer.cs b/Models/Mikrotik/WGPeer.cs new file mode 100644 index 0000000..6b5512b --- /dev/null +++ b/Models/Mikrotik/WGPeer.cs @@ -0,0 +1,136 @@ +using Microsoft.EntityFrameworkCore; +using Newtonsoft.Json; +using System.ComponentModel; + +namespace MTWireGuard.Models.Mikrotik +{ + public class WGPeer + { + [JsonProperty(".id")] + public string Id { get; set; } + [JsonProperty("allowed-address")] + public string AllowedAddress { get; set; } + [JsonProperty("current-endpoint-address")] + public string CurrentEndpointAddress { get; set; } + [JsonProperty("current-endpoint-port")] + public string CurrentEndpointPort { get; set; } + [JsonProperty("disabled")] + public bool Disabled { get; set; } + [JsonProperty("interface")] + public string Interface { get; set; } + [JsonProperty("endpoint-address")] + public string EndpointAddress { get; set; } + [JsonProperty("endpoint-port")] + public string EndpointPort { get; set; } + [JsonProperty("public-key")] + public string PublicKey { get; set; } + [JsonProperty("rx")] + public string RX { get; set; } + [JsonProperty("tx")] + public string TX { get; set; } + } + + [PrimaryKey("Id")] + [Index("PrivateKey", IsUnique = true)] + [Index("PublicKey", IsUnique = true)] + public class WGPeerDBModel + { + public int Id { get; set; } + public string? Name { get; set; } + public string PrivateKey { get; set; } + public string PublicKey { get; set; } + } + + public class WGPeerViewModel + { + public int Id { get; set; } + public string Name { get; set; } + public string Address { get; set; } + public string CurrentAddress { get; set; } + public bool IsEnabled { get; set; } + public string Interface { get; set; } + public string PrivateKey { get; set; } + public string PublicKey { get; set; } + public string Download { get; set; } + public string Upload { get; set; } + public long DownloadBytes { get; set; } + public long UploadBytes { get; set; } + public bool IsDifferent { get; set; } + } + + public class WGPeerCreateModel + { + [JsonProperty("allowed-address")] + public string AllowedAddress { get; set; } + [JsonProperty("disabled")] + public bool Disabled { get; set; } + [JsonProperty("interface")] + public string Interface { get; set; } + [JsonProperty("endpoint-address"), DefaultValue("")] + public string EndpointAddress { get; set; } + [JsonProperty("endpoint-port"), DefaultValue("")] + public string EndpointPort { get; set; } + [JsonProperty("public-key")] + public string PublicKey { get; set; } + [JsonProperty("preshared-key"), DefaultValue("")] + public string PresharedKey { get; set; } + [JsonProperty("persistent-keepalive"), DefaultValue("")] + public string PersistentKeepalive { get; set; } + } + + public class WGPeerUpdateModel + { + [JsonProperty(".id")] + public string Id { get; set; } + [JsonProperty("allowed-address"), DefaultValue("")] + public string AllowedAddress { get; set; } + [JsonProperty("interface")] + public string Interface { get; set; } + [JsonProperty("endpoint-address"), DefaultValue("")] + public string EndpointAddress { get; set; } + [JsonProperty("endpoint-port"), DefaultValue(0)] + public ushort EndpointPort { get; set; } + [JsonProperty("public-key"), DefaultValue("")] + public string PublicKey { get; set; } + [JsonProperty("preshared-key"), DefaultValue("")] + public string PresharedKey { get; set; } + [JsonProperty("persistent-keepalive"), DefaultValue(0)] + public int PersistentKeepalive { get; set; } + } + + public class UserCreateModel + { + public string Name { get; set; } + public string PrivateKey { get; set; } + public string AllowedAddress { get; set; } + public bool Disabled { get; set; } + public string Interface { get; set; } + public string EndpointAddress { get; set; } + public string EndpointPort { get; set; } + public string PublicKey { get; set; } + public string PresharedKey { get; set; } + public string PersistentKeepalive { get; set; } + } + + public class UserSyncModel + { + public int Id { get; set; } + public string Name { get; set; } + public string PrivateKey { get; set; } + public string PublicKey { get; set; } + } + + public class UserUpdateModel + { + public int Id { get; set; } + public string Name { get; set; } + public string AllowedAddress { get; set; } + public string Interface { get; set; } + public string EndpointAddress { get; set; } + public ushort EndpointPort { get; set; } + public string PublicKey { get; set; } + public string PrivateKey { get; set; } + public string PresharedKey { get; set; } + public int PersistentKeepalive { get; set; } + } +} diff --git a/Models/Mikrotik/WGServer.cs b/Models/Mikrotik/WGServer.cs new file mode 100644 index 0000000..9094eef --- /dev/null +++ b/Models/Mikrotik/WGServer.cs @@ -0,0 +1,83 @@ +using Newtonsoft.Json; +using System.ComponentModel; + +namespace MTWireGuard.Models.Mikrotik +{ + public class WGServer + { + [JsonProperty(".id")] + public string Id { get; set; } + [JsonProperty("name")] + public string Name { get; set; } + [JsonProperty("disabled")] + public bool Disabled { get; set; } + [JsonProperty("listen-port")] + public string ListenPort { get; set; } + [JsonProperty("mtu")] + public string MTU { get; set; } + [JsonProperty("private-key")] + public string PrivateKey { get; set; } + [JsonProperty("public-key")] + public string PublicKey { get; set; } + [JsonProperty("running")] + public bool Running { get; set; } + } + + public class WGServerViewModel + { + public int Id { get; set; } + public string Name { get; set; } + public bool IsEnabled { get; set; } + public ushort ListenPort { get; set; } + public ushort MTU { get; set; } + public string PrivateKey { get; set; } + public string PublicKey { get; set; } + public bool Running { get; set; } + } + + public class ServerCreateModel + { + public string Name { get; set; } + public bool Enabled { get; set; } + public string ListenPort { get; set; } + public string MTU { get; set; } + public string PrivateKey { get; set; } + } + + public class ServerUpdateModel + { + public int Id { get; set; } + public string Name { get; set; } + public ushort ListenPort { get; set; } + public ushort MTU { get; set; } + public string PrivateKey { get; set; } + } + + public class WGServerCreateModel + { + [JsonProperty("name")] + public string Name { get; set; } + [JsonProperty("disabled"), DefaultValue(false)] + public bool Disabled { get; set; } + [JsonProperty("listen-port")] + public ushort ListenPort { get; set; } + [JsonProperty("mtu")] + public ushort MTU { get; set; } + [JsonProperty("private-key")] + public string PrivateKey { get; set; } + } + + public class WGServerUpdateModel + { + [JsonProperty(".id")] + public string Id { get; set; } + [JsonProperty("name"), DefaultValue("")] + public string Name { get; set; } + [JsonProperty("listen-port"), DefaultValue(0)] + public ushort ListenPort { get; set; } + [JsonProperty("mtu"), DefaultValue(0)] + public ushort MTU { get; set; } + [JsonProperty("private-key"), DefaultValue("")] + public string PrivateKey { get; set; } + } +} diff --git a/Models/Requests/ChangeStateRequest.cs b/Models/Requests/ChangeStateRequest.cs new file mode 100644 index 0000000..721b5cb --- /dev/null +++ b/Models/Requests/ChangeStateRequest.cs @@ -0,0 +1,13 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.Build.Framework; + +namespace MTWireGuard.Models.Requests +{ + public class ChangeStateRequest + { + [FromQuery(Name = "ID"), Required] + public int Id { get; set; } + [FromQuery(Name = "IsEnabled"), Required] + public bool Enabled { get; set; } + } +} diff --git a/Models/Requests/CreateClientRequest.cs b/Models/Requests/CreateClientRequest.cs new file mode 100644 index 0000000..198b615 --- /dev/null +++ b/Models/Requests/CreateClientRequest.cs @@ -0,0 +1,18 @@ +using System.Net; + +namespace MTWireGuard.Models.Requests +{ + public class CreateClientRequest + { + public string Name { get; set; } + public string Endpoint { get; set; } + public ushort EndpointPort { get; set; } + public string AllowedAddress { get; set; } + public string PresharedKey { get; set; } + public string PrivateKey { get; set; } + public string PublicKey { get; set; } + public string Interface { get; set; } + public int KeepAlive { get; set; } + public bool Enabled { get; set; } + } +} diff --git a/Models/Requests/CreateServerRequest.cs b/Models/Requests/CreateServerRequest.cs new file mode 100644 index 0000000..e993f94 --- /dev/null +++ b/Models/Requests/CreateServerRequest.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; + +namespace MTWireGuard.Models.Requests +{ + public class CreateServerRequest + { + public string Name { get; set; } + + public ushort Port { get; set; } = 13231; + + public ushort MTU { get; set; } = 1420; + + public string PrivateKey { get; set; } + + public bool Enabled { get; set; } + } +} diff --git a/Models/Requests/DeleteRequest.cs b/Models/Requests/DeleteRequest.cs new file mode 100644 index 0000000..de4cbd9 --- /dev/null +++ b/Models/Requests/DeleteRequest.cs @@ -0,0 +1,7 @@ +namespace MTWireGuard.Models.Requests +{ + public class DeleteRequest + { + public int Id { get; set; } + } +} diff --git a/Models/Requests/SyncUserRequest.cs b/Models/Requests/SyncUserRequest.cs new file mode 100644 index 0000000..c7f7012 --- /dev/null +++ b/Models/Requests/SyncUserRequest.cs @@ -0,0 +1,10 @@ +namespace MTWireGuard.Models.Requests +{ + public class SyncUserRequest + { + public int ID { get; set; } + public string Name { get; set; } + public string PrivateKey { get; set; } + public string PublicKey { get; set; } + } +} diff --git a/Models/Requests/UpdateClientRequest.cs b/Models/Requests/UpdateClientRequest.cs new file mode 100644 index 0000000..2f8e879 --- /dev/null +++ b/Models/Requests/UpdateClientRequest.cs @@ -0,0 +1,16 @@ +namespace MTWireGuard.Models.Requests +{ + public class UpdateClientRequest + { + public int ID { get; set; } + public string Name { get; set; } + public string Endpoint { get; set; } + public ushort EndpointPort { get; set; } + public string AllowedAddress { get; set; } + public string PresharedKey { get; set; } + public string PrivateKey { get; set; } + public string PublicKey { get; set; } + public string Interface { get; set; } + public int KeepAlive { get; set; } + } +} diff --git a/Models/Requests/UpdateServerRequest.cs b/Models/Requests/UpdateServerRequest.cs new file mode 100644 index 0000000..1f282d7 --- /dev/null +++ b/Models/Requests/UpdateServerRequest.cs @@ -0,0 +1,15 @@ +namespace MTWireGuard.Models.Requests +{ + public class UpdateServerRequest + { + public int Id { get; set; } + + public string Name { get; set; } + + public ushort Port { get; set; } + + public ushort MTU { get; set; } + + public string PrivateKey { get; set; } + } +} diff --git a/Models/Responses/ToastResult.cs b/Models/Responses/ToastResult.cs new file mode 100644 index 0000000..3eda25a --- /dev/null +++ b/Models/Responses/ToastResult.cs @@ -0,0 +1,34 @@ +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; + +namespace MTWireGuard.Models.Responses +{ + public class ToastResult : IActionResult + { + private class Toast + { + public string Title { get; set; } + public string Body { get; set; } + public string Background { get; set; } + } + + private readonly Toast _result; + + public ToastResult(string title, string body, string background) + { + _result = new() + { + Title = title, + Body = body, + Background = background + }; + } + + public async Task ExecuteResultAsync(ActionContext context) + { + var objectResult = new ObjectResult(_result); + + await objectResult.ExecuteResultAsync(context); + } + } +} diff --git a/Models/WGEnability.cs b/Models/WGEnability.cs new file mode 100644 index 0000000..a6f744f --- /dev/null +++ b/Models/WGEnability.cs @@ -0,0 +1,12 @@ +using Newtonsoft.Json; + +namespace MTWireGuard.Models +{ + public class WGEnability + { + [JsonProperty(".id")] + public string ID { get; set; } + [JsonProperty("disabled")] + public bool Disabled { get; set; } + } +} diff --git a/Pages/Clients.cshtml b/Pages/Clients.cshtml new file mode 100644 index 0000000..085e77d --- /dev/null +++ b/Pages/Clients.cshtml @@ -0,0 +1,111 @@ +@page "{handler?}" +@using MTWireGuard.Models.Mikrotik +@model MTWireGuard.Pages.ClientsModel +@{ + ViewData["Title"] = "Clients"; + ViewData["Breadcrumb"] = "Users"; + var servers = (List)ViewData["servers"]; +} + +
+
+ + + + + + + + + + + + + + + +
+ + + + NameInterfaceAddressPublic-KeyTrafficStatus
+
+
+ +
+
+ @await Component.InvokeAsync("CreateClientForm", new { + Servers = servers + }) +
+
+ + + + +@await Component.InvokeAsync("DeleteModal", new { + IsServer = false +}) + +@await Component.InvokeAsync("UpdateClientModal", new { + Servers = servers +}) + +@await Component.InvokeAsync("SyncUserModal") + +@section Scripts { + + + +} diff --git a/Pages/Clients.cshtml.cs b/Pages/Clients.cshtml.cs new file mode 100644 index 0000000..e463a00 --- /dev/null +++ b/Pages/Clients.cshtml.cs @@ -0,0 +1,105 @@ +using AutoMapper; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using MTWireGuard.Models; +using MTWireGuard.Models.Mikrotik; +using MTWireGuard.Models.Requests; +using MTWireGuard.Models.Responses; +using MTWireGuard.Repositories; +using Newtonsoft.Json; +using QRCoder; +using System.Drawing; +using System.Security.Cryptography.X509Certificates; + +namespace MTWireGuard.Pages +{ + public class ClientsModel : PageModel + { + private readonly IMikrotikRepository API; + private readonly IMapper mapper; + + public ClientsModel(IMikrotikRepository mikrotik, IMapper mapper) + { + API = mikrotik; + this.mapper = mapper; + } + + public async Task OnGetAsync() + { + var servers = await API.GetServersAsync(); + ViewData["servers"] = servers; + } + + public async Task OnGetGetAll() + { + var users = await API.GetUsersAsync(); + return Partial("_ClientsTable", users); + } + + public async Task OnGetQRAsync(int id) + { + string config = await API.GetQRCodeBase64(id); + return Content(config); + } + + public async Task OnGetDownloadTunnelAsync(int id) + { + string config = await API.GetUserTunnelConfig(id); + + byte[] bytesInStream = System.Text.Encoding.UTF8.GetBytes(config); + + var user = await API.GetUser(id); + string filename = string.IsNullOrWhiteSpace(user.Name) ? user.Interface : user.Name; + Response.Headers.Add("content-disposition", $"attachment; filename={filename}.conf"); + + return File(bytesInStream, "text/plain"); + } + + public async Task OnPostCreateAsync(CreateClientRequest request) + { + var model = mapper.Map(request); + var make = await API.CreateUser(model); + string status = make.Code == "200" ? "success" : "danger"; + string title = make.Code == "200" ? make.Title : $"[{make.Code}] {make.Title}"; + return new ToastResult(title, make.Description, status); + } + + public async Task OnPostDelete(DeleteRequest request) + { + var delete = await API.DeleteUser(request.Id); + string status = delete.Code == "200" ? "success" : "danger"; + string title = delete.Code == "200" ? delete.Title : $"[{delete.Code}] {delete.Title}"; + return new ToastResult(title, delete.Description, status); + } + + public async Task OnPostUpdate(UpdateClientRequest request) + { + var model = mapper.Map(request); + var update = await API.UpdateUser(model); + string status = update.Code == "200" ? "success" : "danger"; + string title = update.Code == "200" ? update.Title : $"[{update.Code}] {update.Title}"; + return new ToastResult(title, update.Description, status); + } + + public async Task OnPostSyncAsync(SyncUserRequest request) + { + var model = mapper.Map(request); + var update = await API.SyncUser(model); + string status = update.Code == "200" ? "success" : "danger"; + string title = update.Code == "200" ? update.Title : $"[{update.Code}] {update.Title}"; + return new ToastResult(title, update.Description, status); + } + + public async Task OnGetEnableAsync(ChangeStateRequest request) + { + CreationResult result; + if (!request.Enabled) + result = await API.EnableUser(request.Id); + else + result = await API.DisableUser(request.Id); + string status = result.Code == "200" ? "success" : "danger"; + string title = result.Code == "200" ? result.Title : $"[{result.Code}] {result.Title}"; + return new ToastResult(title, result.Description, status); + } + } +} diff --git a/Pages/Components/CreateClientForm/CreateClientForm.cshtml b/Pages/Components/CreateClientForm/CreateClientForm.cshtml new file mode 100644 index 0000000..25fc683 --- /dev/null +++ b/Pages/Components/CreateClientForm/CreateClientForm.cshtml @@ -0,0 +1,89 @@ +@using MTWireGuard.Models.Requests +@model CreateClientRequest +@{ + List Servers = ViewData["Servers"] as List; +} +
+
Quick add peer
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + +
+ @Html.AntiForgeryToken() +
+
+
diff --git a/Pages/Components/CreateClientForm/CreateClientForm.cshtml.cs b/Pages/Components/CreateClientForm/CreateClientForm.cshtml.cs new file mode 100644 index 0000000..7c0bfb2 --- /dev/null +++ b/Pages/Components/CreateClientForm/CreateClientForm.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace MTWireGuard.Pages.Components.CreateClientForm +{ + public class CreateClientFormModel : PageModel + { + public void OnGet() + { + } + } +} diff --git a/Pages/Components/CreateServerForm/CreateServerForm.cshtml b/Pages/Components/CreateServerForm/CreateServerForm.cshtml new file mode 100644 index 0000000..e8fbdb5 --- /dev/null +++ b/Pages/Components/CreateServerForm/CreateServerForm.cshtml @@ -0,0 +1,64 @@ +@using MTWireGuard.Models.Requests +@model CreateServerRequest +
+
Quick add server
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+
+ + +
+
+
+
+ +
+ +
+
+
+ + +
+ @Html.AntiForgeryToken() +
+
+
diff --git a/Pages/Components/CreateServerForm/CreateServerForm.cshtml.cs b/Pages/Components/CreateServerForm/CreateServerForm.cshtml.cs new file mode 100644 index 0000000..141e235 --- /dev/null +++ b/Pages/Components/CreateServerForm/CreateServerForm.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace MTWireGuard.Pages.Components.CreateServerForm +{ + public class CreateServerFormModel : PageModel + { + public void OnGet() + { + } + } +} diff --git a/Pages/Components/DeleteModal/DeleteModal.cshtml b/Pages/Components/DeleteModal/DeleteModal.cshtml new file mode 100644 index 0000000..a5334fd --- /dev/null +++ b/Pages/Components/DeleteModal/DeleteModal.cshtml @@ -0,0 +1,31 @@ +@using MTWireGuard.Models.Requests +@model DeleteRequest +@{ + bool IsServer = (bool)ViewData["IsServer"]; +} + diff --git a/Pages/Components/DeleteModal/DeleteModal.cshtml.cs b/Pages/Components/DeleteModal/DeleteModal.cshtml.cs new file mode 100644 index 0000000..851e295 --- /dev/null +++ b/Pages/Components/DeleteModal/DeleteModal.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace MTWireGuard.Pages.Components.DeleteModal +{ + public class DeleteModalModel : PageModel + { + public void OnGet() + { + } + } +} diff --git a/Pages/Components/LogsView.razor b/Pages/Components/LogsView.razor new file mode 100644 index 0000000..a8d1620 --- /dev/null +++ b/Pages/Components/LogsView.razor @@ -0,0 +1,56 @@ +@{ + int LogCount = Logs.Count <= 20 ? Logs.Count : 20; + var LastLogs = Logs.TakeLast(LogCount).ToList(); +} + +@for (int i = 0; i < LogCount; i++) +{ + var log = LastLogs[i]; + +
+
+ #@log.Id + @log.Time +
+
@log.Message
+
+ @foreach (var topic in log.Topics) + { + switch (topic.ToLower()) + { + case "system": + @topic + break; + case "info": + @topic + break; + case "error": + case "critical": + @topic + break; + case "account": + @topic + break; + case "dhcp": + case "ppp": + case "l2tp": + case "pptp": + case "sstp": + @topic + break; + default: + @topic + break; + } + } +
+
+
+} + +@code { + [Parameter] + public List Logs { get; set; } +} diff --git a/Pages/Components/SyncUserModal/SyncUserModal.cshtml b/Pages/Components/SyncUserModal/SyncUserModal.cshtml new file mode 100644 index 0000000..f039b53 --- /dev/null +++ b/Pages/Components/SyncUserModal/SyncUserModal.cshtml @@ -0,0 +1,50 @@ +@using MTWireGuard.Models.Requests +@model SyncUserRequest + diff --git a/Pages/Components/SyncUserModal/SyncUserModal.cshtml.cs b/Pages/Components/SyncUserModal/SyncUserModal.cshtml.cs new file mode 100644 index 0000000..9e6355e --- /dev/null +++ b/Pages/Components/SyncUserModal/SyncUserModal.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace MTWireGuard.Pages.Components.SyncUserModal +{ + public class SyncUserModalModel : PageModel + { + public void OnGet() + { + } + } +} diff --git a/Pages/Components/ToastContainer.razor b/Pages/Components/ToastContainer.razor new file mode 100644 index 0000000..4ccd8c0 --- /dev/null +++ b/Pages/Components/ToastContainer.razor @@ -0,0 +1,7 @@ +
+ +
+ +@code { + +} diff --git a/Pages/Components/UpdateClientModal/UpdateClientModal.cshtml b/Pages/Components/UpdateClientModal/UpdateClientModal.cshtml new file mode 100644 index 0000000..40dd2a6 --- /dev/null +++ b/Pages/Components/UpdateClientModal/UpdateClientModal.cshtml @@ -0,0 +1,97 @@ +@using MTWireGuard.Models.Requests +@model UpdateClientRequest +@{ + List Servers = ViewData["Servers"] as List; +} + + \ No newline at end of file diff --git a/Pages/Components/UpdateClientModal/UpdateClientModal.cshtml.cs b/Pages/Components/UpdateClientModal/UpdateClientModal.cshtml.cs new file mode 100644 index 0000000..5446869 --- /dev/null +++ b/Pages/Components/UpdateClientModal/UpdateClientModal.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace MTWireGuard.Pages.Components.UpdateClientModal +{ + public class UpdateClientModalModel : PageModel + { + public void OnGet() + { + } + } +} diff --git a/Pages/Components/UpdateServerModal/UpdateServerModal.cshtml b/Pages/Components/UpdateServerModal/UpdateServerModal.cshtml new file mode 100644 index 0000000..b7f86e7 --- /dev/null +++ b/Pages/Components/UpdateServerModal/UpdateServerModal.cshtml @@ -0,0 +1,65 @@ +@using MTWireGuard.Models.Requests +@model UpdateServerRequest + + diff --git a/Pages/Components/UpdateServerModal/UpdateServerModal.cshtml.cs b/Pages/Components/UpdateServerModal/UpdateServerModal.cshtml.cs new file mode 100644 index 0000000..cbc3f38 --- /dev/null +++ b/Pages/Components/UpdateServerModal/UpdateServerModal.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace MTWireGuard.Pages.Components.UpdateServerModal +{ + public class UpdateServerModalModel : PageModel + { + public void OnGet() + { + } + } +} diff --git a/Pages/Error.cshtml b/Pages/Error.cshtml new file mode 100644 index 0000000..f8bdc2d --- /dev/null +++ b/Pages/Error.cshtml @@ -0,0 +1,58 @@ +@page +@model ErrorModel +@{ + Layout = null; +} + + + + + + + + + + + + Error + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+

500

+

@ViewBag.Title

+

@Html.Raw(ViewBag.Message)

+
+
+
+
+
+ + + + diff --git a/Pages/Error.cshtml.cs b/Pages/Error.cshtml.cs new file mode 100644 index 0000000..b775a68 --- /dev/null +++ b/Pages/Error.cshtml.cs @@ -0,0 +1,32 @@ +using Microsoft.AspNetCore.Diagnostics; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using System.Diagnostics; + +namespace MTWireGuard.Pages +{ + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + [IgnoreAntiforgeryToken] + public class ErrorModel : PageModel + { + public string? RequestId { get; set; } + public string? ExceptionMessage { get; set; } + public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); + + public ErrorModel() + { + } + + public void OnGet() + { + RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier; + RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier; + + var exceptionHandlerPathFeature = + HttpContext.Features.Get(); + + ViewData["Title"] = exceptionHandlerPathFeature.Error.Message; + ViewData["Message"] = exceptionHandlerPathFeature.Error.Source; + } + } +} \ No newline at end of file diff --git a/Pages/Index.cshtml b/Pages/Index.cshtml new file mode 100644 index 0000000..20bed94 --- /dev/null +++ b/Pages/Index.cshtml @@ -0,0 +1,99 @@ +@page +@using MTWireGuard.Models.Mikrotik +@model IndexModel +@{ + ViewData["Title"] = "Dashboard"; + ViewData["Breadcrumb"] = "Home"; + var users = (List)ViewData["users"]; + var servers = (List)ViewData["servers"]; + var uptr = ViewData["uptr"]; + var downtr = ViewData["downtr"]; +} + +
+
+
+
+ + + +
+ +
+
+
+
+
@servers.Count
+
Servers
+
+
+
+
@servers.Where(x => x.Running).Count()
+
Active
+
+
+
+
+
+
+
+ + + +
+ +
+
+
+
+
@users.Count
+
Users
+
+
+
+
@users.Where(x => !x.CurrentAddress.EndsWith(":0")).Count()
+
Online
+
+
+
+
+
+
+
+ + + +
+ +
+
+
+
+
@uptr
+
Upload
+
+
+
+
@downtr
+
Download
+
+
+
+
+
+
+
+ @await Component.InvokeAsync("CreateServerForm") +
+
+ @await Component.InvokeAsync("CreateClientForm", new { + Servers = servers + }) +
+
+ +@section Scripts { + + + +} \ No newline at end of file diff --git a/Pages/Index.cshtml.cs b/Pages/Index.cshtml.cs new file mode 100644 index 0000000..dea3549 --- /dev/null +++ b/Pages/Index.cshtml.cs @@ -0,0 +1,42 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using MTWireGuard.Repositories; +using Newtonsoft.Json; +using System.Net; +using System.Text; + +namespace MTWireGuard.Pages +{ + [Authorize] + public class IndexModel : PageModel + { + private readonly ILogger _logger; + private readonly IMikrotikRepository API; + + public IndexModel(ILogger logger, IMikrotikRepository mikrotik) + { + _logger = logger; + API = mikrotik; + } + + public async Task OnGetAsync() + { + var users = await API.GetUsersAsync(); + var servers = await API.GetServersAsync(); + var traffics = await API.GetServersTraffic(); + var wgTraffics = traffics.Where(s => s.Type == "wg"); + long up = 0; + long down = 0; + foreach (var item in wgTraffics) + { + up += item.UploadBytes; + down += item.DownloadBytes; + } + ViewData["users"] = users; + ViewData["servers"] = servers; + ViewData["uptr"] = Helper.ConvertByteSize(up, 2); + ViewData["downtr"] = Helper.ConvertByteSize(down, 2); + } + } +} \ No newline at end of file diff --git a/Pages/Login.cshtml b/Pages/Login.cshtml new file mode 100644 index 0000000..bc2e165 --- /dev/null +++ b/Pages/Login.cshtml @@ -0,0 +1,88 @@ +@page +@model MTWireGuard.Pages.LoginModel +@{ + Layout = null; + bool invalid = false; + if (ViewData["Invalid"] != null) invalid = (bool)ViewData["Invalid"]; + string invalidClass = invalid ? "is-invalid" : "", username = ""; + if (ViewData["Username"] != null) username = ViewData["Username"].ToString(); +} + + + + + + + + + + + + Login + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+

Login

+

Sign In to your router

+
+ + + + +
+
+ + + + + @if (invalid == true) { +
+ Invalid username or password! +
+ } +
+
+
+ +
+
+
+
+
+
+
+
+
+ + + + + diff --git a/Pages/Login.cshtml.cs b/Pages/Login.cshtml.cs new file mode 100644 index 0000000..aed1d7c --- /dev/null +++ b/Pages/Login.cshtml.cs @@ -0,0 +1,82 @@ +using Microsoft.AspNetCore.Authentication.Cookies; +using Microsoft.AspNetCore.Authentication; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using System.Net; +using System.Security.Claims; +using System.Text; + +namespace MTWireGuard.Pages +{ + [IgnoreAntiforgeryToken(Order = 1001)] + public class LoginModel : PageModel + { + public IActionResult OnGet() + { + if (HttpContext.User.Identity.IsAuthenticated) + { + return RedirectToPage("Index"); + } + return Page(); + } + + public async Task OnPostAsync(string username, string password) + { + try + { + string MT_IP = Environment.GetEnvironmentVariable("MT_IP"); + string MT_USER = Environment.GetEnvironmentVariable("MT_USER"); + string MT_PASS = Environment.GetEnvironmentVariable("MT_PASS"); + + if (username == MT_USER && password == MT_PASS) + { + HttpClientHandler handler = new() + { + ServerCertificateCustomValidationCallback = delegate { return true; } + }; + using HttpClient httpClient = new(handler); + using var request = new HttpRequestMessage(new HttpMethod("GET"), $"https://{MT_IP}/rest/"); + string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{MT_USER}:{MT_PASS}")); + request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}"); + + HttpResponseMessage response = await httpClient.SendAsync(request); + var resp = await response.Content.ReadAsStringAsync(); + + var claims = new List + { + new Claim(ClaimTypes.Role, "Administrator"), + }; + + var claimsIdentity = new ClaimsIdentity( + claims, CookieAuthenticationDefaults.AuthenticationScheme); + + var authProperties = new AuthenticationProperties + { + AllowRefresh = true, + IsPersistent = true + }; + + var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); + await HttpContext.SignInAsync( + CookieAuthenticationDefaults.AuthenticationScheme, + claimsPrincipal, + authProperties); + HttpContext.User = claimsPrincipal; + + return RedirectToPage("Index"); + } + else + { + ViewData["Username"] = username; + ViewData["Invalid"] = true; + } + } + catch (Exception ex) + { + ViewData["body"] = ex.Message; + Console.WriteLine(ex.Message); + } + return Page(); + } + } +} diff --git a/Pages/Logout.cshtml b/Pages/Logout.cshtml new file mode 100644 index 0000000..2742644 --- /dev/null +++ b/Pages/Logout.cshtml @@ -0,0 +1,4 @@ +@page +@model MTWireGuard.Pages.LogoutModel +@{ +} diff --git a/Pages/Logout.cshtml.cs b/Pages/Logout.cshtml.cs new file mode 100644 index 0000000..27b3b95 --- /dev/null +++ b/Pages/Logout.cshtml.cs @@ -0,0 +1,30 @@ +using Microsoft.AspNetCore.Authentication.Cookies; +using Microsoft.AspNetCore.Authentication; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using MTWireGuard.Repositories; + +namespace MTWireGuard.Pages +{ + public class LogoutModel : PageModel + { + private readonly IMikrotikRepository API; + + public LogoutModel(IMikrotikRepository mikrotik) + { + API = mikrotik; + } + public async Task OnGetAsync(string returnUrl = "Login") + { + // Clear the existing external cookie + await HttpContext.SignOutAsync( + CookieAuthenticationDefaults.AuthenticationScheme); + /* + var sessionId = await MTAPIHandler.GetCurrentSessionID(); + var remove = await MTAPIHandler.KillJob(sessionId);*/ + var sessionId = await API.GetCurrentSessionID(); + var kill = await API.KillJob(sessionId); + return RedirectToPage(returnUrl); + } + } +} diff --git a/Pages/Logs.cshtml b/Pages/Logs.cshtml new file mode 100644 index 0000000..4f375ce --- /dev/null +++ b/Pages/Logs.cshtml @@ -0,0 +1,75 @@ +@page +@using MTWireGuard.Models.Mikrotik +@model MTWireGuard.Pages.LogsModel +@{ + ViewData["Title"] = "Event Logs"; + ViewData["Breadcrumb"] = "Logs"; + var Logs = (List)ViewData["Logs"]; +} + +
+
+ + + + + + + + + + + @foreach (var log in Logs) + { + + + + + + + } + +
+ + + + MessageTopicsTime
+ #@log.Id + @log.Message + @foreach (var topic in log.Topics) + { + switch (topic.ToLower()) + { + case "system": + @topic + break; + case "info": + @topic + break; + case "error": + case "critical": + @topic + break; + case "account": + @topic + break; + case "dhcp": + case "ppp": + case "l2tp": + case "pptp": + case "sstp": + @topic + break; + default: + @topic + break; + } + } + @log.Time
+
+
+ +@section Scripts { + +} \ No newline at end of file diff --git a/Pages/Logs.cshtml.cs b/Pages/Logs.cshtml.cs new file mode 100644 index 0000000..a74c1d8 --- /dev/null +++ b/Pages/Logs.cshtml.cs @@ -0,0 +1,21 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using MTWireGuard.Repositories; + +namespace MTWireGuard.Pages +{ + public class LogsModel : PageModel + { + private readonly IMikrotikRepository API; + + public LogsModel(IMikrotikRepository mikrotik) + { + API = mikrotik; + } + + public async Task OnGetAsync() + { + ViewData["Logs"] = await API.GetLogsAsync(); + } + } +} diff --git a/Pages/Modals/QRModal.razor b/Pages/Modals/QRModal.razor new file mode 100644 index 0000000..42e67b1 --- /dev/null +++ b/Pages/Modals/QRModal.razor @@ -0,0 +1,16 @@ + + +@code { + +} diff --git a/Pages/Privacy.cshtml b/Pages/Privacy.cshtml new file mode 100644 index 0000000..46ba966 --- /dev/null +++ b/Pages/Privacy.cshtml @@ -0,0 +1,8 @@ +@page +@model PrivacyModel +@{ + ViewData["Title"] = "Privacy Policy"; +} +

@ViewData["Title"]

+ +

Use this page to detail your site's privacy policy.

diff --git a/Pages/Privacy.cshtml.cs b/Pages/Privacy.cshtml.cs new file mode 100644 index 0000000..d975af7 --- /dev/null +++ b/Pages/Privacy.cshtml.cs @@ -0,0 +1,19 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace MTWireGuard.Pages +{ + public class PrivacyModel : PageModel + { + private readonly ILogger _logger; + + public PrivacyModel(ILogger logger) + { + _logger = logger; + } + + public void OnGet() + { + } + } +} \ No newline at end of file diff --git a/Pages/Servers.cshtml b/Pages/Servers.cshtml new file mode 100644 index 0000000..6d05988 --- /dev/null +++ b/Pages/Servers.cshtml @@ -0,0 +1,83 @@ +@page "{handler?}" +@using MTWireGuard.Models.Mikrotik +@model MTWireGuard.Pages.ServersModel +@{ + ViewData["Title"] = "Servers"; + ViewData["Breadcrumb"] = "Interfaces"; +} + +
+ + + + + + + + + + + + + + + +
+ + + + NameListen PortMTUPublic-KeyTrafficStatus
+
+ +
+
+ @await Component.InvokeAsync("CreateServerForm") +
+
+ + +@await Component.InvokeAsync("DeleteModal", new { + IsServer = true +}) + + +@await Component.InvokeAsync("UpdateServerModal") + +@section Scripts { + + + +} diff --git a/Pages/Servers.cshtml.cs b/Pages/Servers.cshtml.cs new file mode 100644 index 0000000..abc2da0 --- /dev/null +++ b/Pages/Servers.cshtml.cs @@ -0,0 +1,73 @@ +using AutoMapper; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using MTWireGuard.Models; +using MTWireGuard.Models.Mikrotik; +using MTWireGuard.Models.Requests; +using MTWireGuard.Models.Responses; +using MTWireGuard.Repositories; +using Newtonsoft.Json; + +namespace MTWireGuard.Pages +{ + public class ServersModel : PageModel + { + private readonly IMikrotikRepository API; + private readonly IMapper mapper; + + public ServersModel(IMikrotikRepository mikrotik, IMapper mapper) + { + API = mikrotik; + this.mapper = mapper; + } + + public async Task OnGetAsync() + { + } + + public async Task OnGetGetAll() + { + var servers = await API.GetServersAsync(); + var traffics = await API.GetServersTraffic(); + return Partial("_ServersTable", (servers, traffics)); + } + + public async Task OnPostCreateAsync(CreateServerRequest request) + { + var model = mapper.Map(request); + var make = await API.CreateServer(model); + string status = make.Code == "200" ? "success" : "danger"; + string title = make.Code == "200" ? make.Title : $"[{make.Code}] {make.Title}"; + return new ToastResult(title, make.Description, status); + } + + public async Task OnPostDelete(DeleteRequest request) + { + var delete = await API.DeleteServer(request.Id); + string status = delete.Code == "200" ? "success" : "danger"; + string title = delete.Code == "200" ? delete.Title : $"[{delete.Code}] {delete.Title}"; + return new ToastResult(title, delete.Description, status); + } + + public async Task OnPostUpdate(UpdateServerRequest request) + { + var model = mapper.Map(request); + var update = await API.UpdateServer(model); + string status = update.Code == "200" ? "success" : "danger"; + string title = update.Code == "200" ? update.Title : $"[{update.Code}] {update.Title}"; + return new ToastResult(title, update.Description, status); + } + + public async Task OnGetEnableAsync(ChangeStateRequest request) + { + CreationResult result; + if (!request.Enabled) + result = await API.EnableServer(request.Id); + else + result = await API.DisableServer(request.Id); + string status = result.Code == "200" ? "success" : "danger"; + string title = result.Code == "200" ? result.Title : $"[{result.Code}] {result.Title}"; + return new ToastResult(title, result.Description, status); + } + } +} diff --git a/Pages/Settings.cshtml b/Pages/Settings.cshtml new file mode 100644 index 0000000..8c2df0b --- /dev/null +++ b/Pages/Settings.cshtml @@ -0,0 +1,145 @@ +@page +@using MTWireGuard.Models.Mikrotik +@model SettingsModel +@{ + ViewData["Title"] = "System Settings"; + ViewData["Breadcrumb"] = "Settings"; + var servers = (List)ViewData["servers"]; + var info = (MTInfoViewModel)ViewData["info"]; + var HDDPercent = (info.UsedHDDBytes * 100) / info.TotalHDDBytes; + var RAMPercent = (info.UsedRAMBytes * 100) / info.TotalRAMBytes; + var name = ViewData["name"].ToString(); +} + +
+
+
+
+
@info.FreeHDD
+
Free Disk Space
+
+
+
Used @info.UsedHDD of @info.TotalHDD +
+
+
+
+
+
+
@info.FreeRAM
+
Free RAM Space
+
+
+
Used @info.UsedRAM of @info.TotalRAM +
+
+
+
+
+
+
+ + + +
+
@info.UPTime
+ UPTime +
+
+
+
+
+
+
+
+ + + +
+ +
+
+
+
+
@info.Architecture
+
Arch
+
+
+
+
@info.Platform
+
Platform
+
+
+
+
@info.BoardName
+
Board
+
+
+ +
+
+
+
+
+ + + +
+ +
+
+
+
+
@info.CPU
+
CPU
+
+
+
+
@info.CPUCount
+
Cores
+
+
+
+
@info.CPUFrequency
+
Frequency
+
+
+
+
@info.CPULoad %
+
Usage
+
+
+
+
+ +
+ +@section Scripts { +} \ No newline at end of file diff --git a/Pages/Settings.cshtml.cs b/Pages/Settings.cshtml.cs new file mode 100644 index 0000000..215bdd6 --- /dev/null +++ b/Pages/Settings.cshtml.cs @@ -0,0 +1,31 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using MTWireGuard.Repositories; + +namespace MTWireGuard.Pages +{ + public class SettingsModel : PageModel + { + private readonly IMikrotikRepository API; + + public SettingsModel(IMikrotikRepository mikrotik) + { + API = mikrotik; + } + + public async Task OnGetAsync() + { + ViewData["servers"] = await API.GetServersAsync(); + ViewData["info"] = await API.GetInfo(); + var identity = await API.GetName(); + ViewData["name"] = identity.Name; + } + + public async Task OnGetGetInfo() + { + var info = await API.GetInfo(); + return new JsonResult(info); + } + } +} diff --git a/Pages/Shared/_ClientsTable.cshtml b/Pages/Shared/_ClientsTable.cshtml new file mode 100644 index 0000000..a9503e1 --- /dev/null +++ b/Pages/Shared/_ClientsTable.cshtml @@ -0,0 +1,97 @@ +@using MTWireGuard.Models.Mikrotik +@model List + +@foreach (var user in Model) +{ + + + #@user.Id + + +
@user.Name
+ + + @if (user.Interface.StartsWith('*')) + { +
@user.Interface
+ } + else + { +
@user.Interface
+ } + + +
@user.Address
+ @if (!user.CurrentAddress.EndsWith(":0")) + { +
@user.CurrentAddress
+ } + + +
@user.PublicKey
+ + +
+ + + + @user.Upload / @user.Download + + + +
+ + +
+ @if (!user.IsEnabled) + { + Disabled + } + else + { + Enabled + } + @if (user.IsDifferent) + { + Not Synced + } + else + { + Synced + } + @if (user.CurrentAddress.EndsWith(":0")) + { + Offline + } + else + { + Online + } +
+ + + + + +} \ No newline at end of file diff --git a/Pages/Shared/_Layout.cshtml b/Pages/Shared/_Layout.cshtml new file mode 100644 index 0000000..d0e8350 --- /dev/null +++ b/Pages/Shared/_Layout.cshtml @@ -0,0 +1,215 @@ +@using MTWireGuard.Repositories +@inject IMikrotikRepository API; +@{ + var logs = await API.GetLogsAsync(); + var info = await API.GetInfo(); + var ramUsed = 100 - info.FreeRAMPercentage; + var hddUsed = 100 - info.FreeHDDPercentage; + string cpuColor, ramColor, hddColor; + + if (info.CPULoad <= 25) cpuColor = "bg-info-gradient"; + else if (info.CPULoad <= 75) cpuColor = "bg-warning-gradient"; + else cpuColor = "bg-danger-gradient"; + + if (hddUsed <= 25) hddColor = "bg-info-gradient"; + else if (hddUsed <= 75) hddColor = "bg-warning-gradient"; + else hddColor = "bg-danger-gradient"; + + if (ramUsed <= 25) ramColor = "bg-info-gradient"; + else if (ramUsed<= 75) ramColor = "bg-warning-gradient"; + else ramColor = "bg-danger-gradient"; +} + + + + + + + + + + @ViewData["Title"] + + + + + + + + + + + + + + + + + + + + + + + + + + @await RenderSectionAsync("Styles", required: false) + + + +
+
+
+ + + + + + + + + +
+
+
+ +
+
+
+
+ @RenderBody() +
+
+ +
+ @Html.AntiForgeryToken() + + + + + + + @await RenderSectionAsync("Scripts", required: false) + + \ No newline at end of file diff --git a/Pages/Shared/_Layout.cshtml.css b/Pages/Shared/_Layout.cshtml.css new file mode 100644 index 0000000..a72cbea --- /dev/null +++ b/Pages/Shared/_Layout.cshtml.css @@ -0,0 +1,48 @@ +/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification +for details on configuring this project to bundle and minify static web assets. */ + +a.navbar-brand { + white-space: normal; + text-align: center; + word-break: break-all; +} + +a { + color: #0077cc; +} + +.btn-primary { + color: #fff; + background-color: #1b6ec2; + border-color: #1861ac; +} + +.nav-pills .nav-link.active, .nav-pills .show > .nav-link { + color: #fff; + background-color: #1b6ec2; + border-color: #1861ac; +} + +.border-top { + border-top: 1px solid #e5e5e5; +} +.border-bottom { + border-bottom: 1px solid #e5e5e5; +} + +.box-shadow { + box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); +} + +button.accept-policy { + font-size: 1rem; + line-height: inherit; +} + +.footer { + position: absolute; + bottom: 0; + width: 100%; + white-space: nowrap; + line-height: 60px; +} diff --git a/Pages/Shared/_ServersTable.cshtml b/Pages/Shared/_ServersTable.cshtml new file mode 100644 index 0000000..bad75e6 --- /dev/null +++ b/Pages/Shared/_ServersTable.cshtml @@ -0,0 +1,79 @@ +@using MTWireGuard.Models.Mikrotik +@model (List, List) +@{ + var servers = Model.Item1; + var traffic = Model.Item2; +} + +@foreach (var server in servers) +{ + + + #@server.Id + + +
@server.Name
+ + +
@server.ListenPort
+ + +
@server.MTU
+ + +
@server.PublicKey
+ + + @{ + var enabled = server.IsEnabled; + string enableORdisable = enabled ? "Disable" : "Enable"; + var currentServerTraffic = traffic.Find(s => s.Name == server.Name); + var up = currentServerTraffic.Upload; + var down = currentServerTraffic.Download; + } +
+ + + + @up / @down + + + +
+ + + @switch (enabled) + { + case true: + Enabled + break; + case false: + Disabled + break; + } + @switch (server.Running) + { + case true: + Running + break; + case false: + Not Running + break; + } + + + + + +} \ No newline at end of file diff --git a/Pages/_ViewImports.cshtml b/Pages/_ViewImports.cshtml new file mode 100644 index 0000000..608b53b --- /dev/null +++ b/Pages/_ViewImports.cshtml @@ -0,0 +1,3 @@ +@using MTWireGuard +@namespace MTWireGuard.Pages +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/Pages/_ViewStart.cshtml b/Pages/_ViewStart.cshtml new file mode 100644 index 0000000..a5f1004 --- /dev/null +++ b/Pages/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "_Layout"; +} diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..e6e5c3d --- /dev/null +++ b/Program.cs @@ -0,0 +1,118 @@ +using AutoMapper; +using Microsoft.AspNetCore.Authentication.Cookies; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; +using MTWireGuard; +using MTWireGuard.Mapper; +using MTWireGuard.Middlewares; +using MTWireGuard.Repositories; +using MTWireGuard.Services; +using System.Diagnostics; + +#region Error Handling +AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(UnhandledExceptionHandler); + +static void UnhandledExceptionHandler(object sender, UnhandledExceptionEventArgs e) +{ + Exception ex = e.ExceptionObject as Exception; + if (e.IsTerminating) + Debug.WriteLine($"[+] {ex.Message}"); + else + Debug.WriteLine($"[-] {ex.Message}"); + throw ex; +} +#endregion + +var builder = WebApplication.CreateBuilder(args); +using DBContext context = new(); + +// Add services to the container. +builder.Services.AddRazorPages().AddRazorPagesOptions(o => +{ + //o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute()); + o.Conventions.AuthorizeFolder("/"); + o.Conventions.AllowAnonymousToPage("/Login"); +}); + +builder.Services.AddAntiforgery(o => +{ + o.HeaderName = "XSRF-TOKEN"; + o.FormFieldName = "XSRF-Validation-Token"; + o.Cookie.Name = "XSRF-Validation"; +}); + +// Auto Mapper Configurations +var mapperConfig = new MapperConfiguration(mc => +{ + mc.AddProfile(new MappingProfile()); + mc.AddProfile(new PeerMapping(context)); + mc.AddProfile(new ServerMapping()); +}); + +IMapper mapper = mapperConfig.CreateMapper(); +builder.Services.AddSingleton(mapper); + +builder.Services.AddSingleton(context); + +builder.Services.AddSingleton(); + +//builder.Services.AddScoped(); + +builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options => +{ + options.ExpireTimeSpan = TimeSpan.FromMinutes(15); + options.SlidingExpiration = true; + options.LoginPath = "/Login"; + options.AccessDeniedPath = "/Forbidden"; + options.Cookie.Name = "Authentication"; +}); + +builder.Services.AddAuthorization(configure => +{ + configure.AddPolicy("Administrator", authBuilder => + { + authBuilder.RequireRole("Administrator"); + }); +}); + +builder.Services.ConfigureApplicationCookie(configure => +{ + configure.Cookie.Name = "MTWireguard"; +}); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (!app.Environment.IsDevelopment()) +{ + app.UseExceptionHandler("/Error"); + app.UseHsts(); +} + +context.Database.EnsureCreated(); + +app.UseHttpsRedirection(); + +if (!app.Environment.IsDevelopment()) + app.UseStaticFiles(); +else + app.UseStaticFiles(new StaticFileOptions() + { + OnPrepareResponse = context => + { + context.Context.Response.Headers.Add("Cache-Control", "no-cache, no-store"); + context.Context.Response.Headers.Add("Expires", "-1"); + } + }); + +app.UseDependencyCheck(); +//app.UseAntiForgery(); + +app.UseRouting(); + +app.UseAuthentication(); +app.UseAuthorization(); + +app.MapRazorPages(); + +app.Run(); \ No newline at end of file diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json new file mode 100644 index 0000000..eb63dd2 --- /dev/null +++ b/Properties/launchSettings.json @@ -0,0 +1,46 @@ +{ + "profiles": { + "MTWireGuard": { + "commandName": "Project", + "launchBrowser": true, + "hotReloadEnabled": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "MT_IP": "192.168.0.96", + "MT_USER": "admin", + "MT_PASS": "", + "MT_PUBLIC_IP": "192.168.0.96" + }, + "dotnetRunMessages": true, + "applicationUrl": "https://localhost:7220;http://localhost:5220" + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Docker": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", + "publishAllPorts": true, + "useSSL": true, + "environmentVariables": { + "MT_IP": "192.168.0.96", + "MT_USER": "panel", + "MT_PASS": "", + "MT_PUBLIC_IP": "192.168.0.96" + } + } + }, + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:48442", + "sslPort": 44372 + } + } +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e854dec --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# MTWireGuard +Documentation available at [HERE](https://mtwireguard.techgarage.ir/Documentation) diff --git a/Repositories/IMikrotikRepository.cs b/Repositories/IMikrotikRepository.cs new file mode 100644 index 0000000..2ace03b --- /dev/null +++ b/Repositories/IMikrotikRepository.cs @@ -0,0 +1,35 @@ +using MTWireGuard.Models; +using MTWireGuard.Models.Mikrotik; + +namespace MTWireGuard.Repositories +{ + public interface IMikrotikRepository : IDisposable + { + Task> GetLogsAsync(); + Task> GetServersAsync(); + Task GetServer(string Name); + Task> GetServersTraffic(); + Task> GetUsersAsync(); + Task GetUser(int id); + Task GetUserTunnelConfig(int id); + Task GetQRCodeBase64(int id); + Task GetInfo(); + Task GetName(); + Task TryConnectAsync(); + Task> GetActiveSessions(); + Task> GetJobs(); + Task GetCurrentSessionID(); + Task KillJob(string JobID); + Task CreateServer(ServerCreateModel server); + Task CreateUser(UserCreateModel peer); + Task SyncUser(UserSyncModel user); + Task UpdateUser(UserUpdateModel user); + Task UpdateServer(ServerUpdateModel server); + Task EnableServer(int id); + Task DisableServer(int id); + Task EnableUser(int id); + Task DisableUser(int id); + Task DeleteServer(int id); + Task DeleteUser(int id); + } +} diff --git a/Services/MTAPI.cs b/Services/MTAPI.cs new file mode 100644 index 0000000..319599b --- /dev/null +++ b/Services/MTAPI.cs @@ -0,0 +1,313 @@ +using AutoMapper; +using Microsoft.AspNetCore.Hosting.Server; +using Microsoft.EntityFrameworkCore; +using MTWireGuard.Models; +using MTWireGuard.Models.Mikrotik; +using MTWireGuard.Repositories; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using QRCoder; + +namespace MTWireGuard.Services +{ + public class MTAPI : IMikrotikRepository + { + private readonly IMapper mapper; + private readonly DBContext dbContext; + private bool disposed = false; + public MTAPI(IMapper mapper, DBContext dbContext) + { + this.mapper = mapper; + this.dbContext = dbContext; + } + public async Task> GetLogsAsync() + { + var model = await APIHandler.GetLogsAsync(); + var result = mapper.Map>(model); + return result.OrderBy(list => list.Id).ToList(); + } + public async Task> GetServersAsync() + { + var model = await APIHandler.GetServersAsync(); + var result = mapper.Map>(model); + return result.OrderBy(list => list.Id).ToList(); + } + public async Task GetServer(string Name) + { + var model = await APIHandler.GetServer(Name); + return mapper.Map(model); + } + public async Task> GetServersTraffic() { + var model = await APIHandler.GetServersTraffic(); + return mapper.Map>(model); + } + public async Task> GetUsersAsync() + { + var model = await APIHandler.GetUsersAsync(); + var result = mapper.Map>(model); + return result.OrderBy(list => list.Id).ToList(); + } + public async Task GetUser(int id) + { + var model = await APIHandler.GetUser($"*{id:X}"); + return mapper.Map(model); + } + public async Task GetUserTunnelConfig(int id) + { + WGPeerViewModel User = await GetUser(id); + WGServerViewModel Server = await GetServer(User.Interface); + string IP = Environment.GetEnvironmentVariable("MT_PUBLIC_IP"), + Endpoint = Server != null ? $"{IP}:{Server.ListenPort}" : ""; + return $"[Interface]{Environment.NewLine}" + + $"Address = {User.Address ?? "0.0.0.0/0"}{Environment.NewLine}" + + $"PrivateKey = {User.PrivateKey}{Environment.NewLine}" + + $"{Environment.NewLine}" + + $"[Peer]{Environment.NewLine}" + + $"AllowedIPs = 0.0.0.0/0{Environment.NewLine}" + + $"Endpoint = {Endpoint}{Environment.NewLine}" + + $"PublicKey = {Server?.PublicKey ?? ""}"; + } + public async Task GetQRCodeBase64(int id) + { + string config = await GetUserTunnelConfig(id); + + using QRCodeGenerator qrGenerator = new(); + using QRCodeData qrCodeData = qrGenerator.CreateQrCode(config, QRCodeGenerator.ECCLevel.Q); + using PngByteQRCode qrCode = new(qrCodeData); + var QR = qrCode.GetGraphic(20); + return Convert.ToBase64String(QR); + } + public async Task GetInfo() + { + var model = await APIHandler.GetInfo(); + return mapper.Map(model); + } + public async Task GetName() + { + var model = await APIHandler.GetName(); + return mapper.Map(model); + } + public async Task TryConnectAsync() + { + try + { + var model = await APIHandler.TryConnectAsync(); + if ((model.Error == 400 && model.Message == "Bad Request") || (model.Error == 401 && model.Message == "Unauthorized")) + { + return true; + } + throw new($"[{model.Error}] Login failed, {model.Message}.
Enter router username/password in environment variables (MT_USER/MT_PASS)."); + } + catch(Exception ex) + { + throw new($"Login failed, {ex.Message}"); + } + } + public async Task> GetActiveSessions() + { + var model = await APIHandler.GetActiveSessions(); + return mapper.Map>(model); + } + public async Task> GetJobs() + { + var model = await APIHandler.GetJobs(); + return mapper.Map>(model); + } + public async Task GetCurrentSessionID() + { + var activeSessions = await APIHandler.GetActiveSessions(); + var apiSession = activeSessions.Find(x => x.Via == "api"); + var jobs = await APIHandler.GetJobs(); + var currentJob = jobs.Find(x => x.Started == apiSession.When); + return currentJob.Id; + } + + public async Task KillJob(string JobID) + { + return await APIHandler.KillJob(JobID); + } + + public async Task CreateServer(ServerCreateModel server) + { + var srv = mapper.Map(server); + var model = await APIHandler.CreateServer(srv); + return mapper.Map(model); + } + + public async Task CreateUser(UserCreateModel peer) + { + var user = mapper.Map(peer); + var model = await APIHandler.CreateUser(user); + if (model.Success) + { + var item = model.Item as WGPeer; + await dbContext.Users.AddAsync(new() + { + Id = Convert.ToInt32(item.Id[1..], 16), + Name = peer.Name, + PrivateKey = peer.PrivateKey, + PublicKey = peer.PublicKey + }); + await dbContext.SaveChangesAsync(); + } + return mapper.Map(model); + } + + public async Task SyncUser(UserSyncModel user) + { + CreationResult result = new(); + var userID = user.Id; + var dbUser = await dbContext.Users.FindAsync(userID); + var mtUser = await GetUser(userID); + if (dbUser == null) + { + await dbContext.Users.AddAsync(new() + { + Id = userID, + Name = user.Name, + PublicKey = user.PublicKey, + PrivateKey = user.PrivateKey + }); + await dbContext.SaveChangesAsync(); + result = new() + { + Code = "200", + Title = "Success", + Description = "Database updated successfully." + }; + } + else if (dbUser.PublicKey != user.PublicKey) + { + var fxUser = dbUser; + fxUser.Name = user.Name; + fxUser.PrivateKey = user.PrivateKey; + fxUser.PublicKey = user.PublicKey; + dbContext.Users.Update(fxUser); + await dbContext.SaveChangesAsync(); + result = new() + { + Code = "200", + Title = "Success", + Description = "Database updated successfully." + }; + } + if (mtUser.PublicKey != user.PublicKey) + { + var fxUser = mapper.Map(user); + var update = await APIHandler.UpdateUser(fxUser); + result = mapper.Map(update); + } + return result; + } + + public async Task UpdateUser(UserUpdateModel user) + { + var mtPeer = mapper.Map(user); + var mtUpdate = await APIHandler.UpdateUser(mtPeer); + if (mtUpdate.Success) + { + var exists = await dbContext.Users.FindAsync(user.Id); + dbContext.ChangeTracker.Clear(); + if (exists != null) + { + dbContext.Users.Update(new() + { + Id = user.Id, + Name = user.Name ?? exists.Name, + PrivateKey = user.PrivateKey ?? exists.PrivateKey, + PublicKey = user.PublicKey ?? exists.PublicKey + }); + } + else + await dbContext.Users.AddAsync(new() + { + Id = user.Id, + Name = user.Name, + PublicKey = user.PublicKey, + PrivateKey = user.PrivateKey + }); + await dbContext.SaveChangesAsync(); + } + return mapper.Map(mtUpdate); + } + + public async Task UpdateServer(ServerUpdateModel server) + { + var srv = mapper.Map(server); + var mtUpdate = await APIHandler.UpdateServer(srv); + return mapper.Map(mtUpdate); + } + + public async Task EnableServer(int id) + { + var enable = await APIHandler.SetServerEnabled(new() + { + ID = $"*{id:X}", + Disabled = false + }); + return mapper.Map(enable); + } + + public async Task DisableServer(int id) + { + var enable = await APIHandler.SetServerEnabled(new() + { + ID = $"*{id:X}", + Disabled = true + }); + return mapper.Map(enable); + } + + public async Task EnableUser(int id) + { + var enable = await APIHandler.SetUserEnabled(new() + { + ID = $"*{id:X}", + Disabled = false + }); + return mapper.Map(enable); + } + + public async Task DisableUser(int id) + { + var enable = await APIHandler.SetUserEnabled(new() + { + ID = $"*{id:X}", + Disabled = true + }); + return mapper.Map(enable); + } + + public async Task DeleteServer(int id) + { + var delete = await APIHandler.DeleteServer($"*{id:X}"); + return mapper.Map(delete); + } + public async Task DeleteUser(int id) + { + var delete = await APIHandler.DeleteUser($"*{id:X}"); + return mapper.Map(delete); + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + protected virtual void Dispose(bool disposing) + { + if (disposed) + return; + + if (disposing) + { + // Free any other managed objects here. + // + } + + // Free any unmanaged objects here. + // + disposed = true; + } + } +} diff --git a/ViewComponents/CreateClientFormViewComponent.cs b/ViewComponents/CreateClientFormViewComponent.cs new file mode 100644 index 0000000..98e1359 --- /dev/null +++ b/ViewComponents/CreateClientFormViewComponent.cs @@ -0,0 +1,15 @@ +using Microsoft.AspNetCore.Mvc; +using MTWireGuard.Models.Requests; +using System.Xml.Linq; + +namespace MTWireGuard.ViewComponents +{ + [ViewComponent(Name = "CreateClientForm")] + public class CreateClientFormViewComponent : ViewComponent + { + public async Task InvokeAsync() + { + return View("CreateClientForm", new CreateClientRequest()); + } + } +} diff --git a/ViewComponents/CreateServerFormViewComponent.cs b/ViewComponents/CreateServerFormViewComponent.cs new file mode 100644 index 0000000..14fd28e --- /dev/null +++ b/ViewComponents/CreateServerFormViewComponent.cs @@ -0,0 +1,14 @@ +using Microsoft.AspNetCore.Mvc; +using MTWireGuard.Models.Requests; + +namespace MTWireGuard.ViewComponents +{ + [ViewComponent(Name = "CreateServerForm")] + public class CreateServerFormViewComponent : ViewComponent + { + public async Task InvokeAsync() + { + return View("CreateServerForm", new CreateServerRequest()); + } + } +} diff --git a/ViewComponents/DeleteModalViewComponent.cs b/ViewComponents/DeleteModalViewComponent.cs new file mode 100644 index 0000000..8bd5948 --- /dev/null +++ b/ViewComponents/DeleteModalViewComponent.cs @@ -0,0 +1,15 @@ +using Microsoft.AspNetCore.Mvc; +using MTWireGuard.Models.Requests; + +namespace MTWireGuard.ViewComponents +{ + [ViewComponent(Name = "DeleteModal")] + public class DeleteModalViewComponent : ViewComponent + { + public async Task InvokeAsync(bool IsServer) + { + ViewData["IsServer"] = IsServer; + return View("DeleteModal", new DeleteRequest()); + } + } +} diff --git a/ViewComponents/SyncUserModalViewComponent.cs b/ViewComponents/SyncUserModalViewComponent.cs new file mode 100644 index 0000000..7a6b15a --- /dev/null +++ b/ViewComponents/SyncUserModalViewComponent.cs @@ -0,0 +1,15 @@ +using Microsoft.AspNetCore.Mvc; +using MTWireGuard.Models.Requests; +using System.Xml.Linq; + +namespace MTWireGuard.ViewComponents +{ + [ViewComponent(Name = "SyncUserModal")] + public class SyncUserModalViewComponent : ViewComponent + { + public async Task InvokeAsync() + { + return View("SyncUserModal", new SyncUserRequest()); + } + } +} diff --git a/ViewComponents/UpdateClientModalViewComponent.cs b/ViewComponents/UpdateClientModalViewComponent.cs new file mode 100644 index 0000000..f417f73 --- /dev/null +++ b/ViewComponents/UpdateClientModalViewComponent.cs @@ -0,0 +1,15 @@ +using Microsoft.AspNetCore.Mvc; +using MTWireGuard.Models.Requests; + +namespace MTWireGuard.ViewComponents +{ + [ViewComponent(Name = "UpdateClientModal")] + public class UpdateClientModalViewComponent : ViewComponent + { + public async Task InvokeAsync(List Servers) + { + ViewData["Servers"] = Servers; + return View("UpdateClientModal", new UpdateClientRequest()); + } + } +} diff --git a/ViewComponents/UpdateServerModalViewComponent.cs b/ViewComponents/UpdateServerModalViewComponent.cs new file mode 100644 index 0000000..82c1753 --- /dev/null +++ b/ViewComponents/UpdateServerModalViewComponent.cs @@ -0,0 +1,14 @@ +using Microsoft.AspNetCore.Mvc; +using MTWireGuard.Models.Requests; + +namespace MTWireGuard.ViewComponents +{ + [ViewComponent(Name = "UpdateServerModal")] + public class UpdateServerModalViewComponent : ViewComponent + { + public async Task InvokeAsync() + { + return View("UpdateServerModal", new UpdateServerRequest()); + } + } +} \ No newline at end of file diff --git a/appsettings.Development.json b/appsettings.Development.json new file mode 100644 index 0000000..770d3e9 --- /dev/null +++ b/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "DetailedErrors": true, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/appsettings.json b/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..58de878 --- /dev/null +++ b/build.bat @@ -0,0 +1,11 @@ +@echo off +echo Publish project... +dotnet publish -c Release -o published +echo Publish done! +echo. +echo Build docker image... +docker buildx build --no-cache --platform linux/amd64 -t mtwg . +echo Docker image built! +echo Save output file! +docker save mtwg > mtwg.tar +echo Finish \ No newline at end of file diff --git a/wwwroot/assets/brand/wireguard-mini.svg b/wwwroot/assets/brand/wireguard-mini.svg new file mode 100644 index 0000000..65d950c --- /dev/null +++ b/wwwroot/assets/brand/wireguard-mini.svg @@ -0,0 +1,9 @@ + + + wireguard + + Layer 1 + + + + \ No newline at end of file diff --git a/wwwroot/assets/brand/wireguard.svg b/wwwroot/assets/brand/wireguard.svg new file mode 100644 index 0000000..dd1e0dd --- /dev/null +++ b/wwwroot/assets/brand/wireguard.svg @@ -0,0 +1,2 @@ + +wireguard diff --git a/wwwroot/assets/favicon/android-icon-144x144.png b/wwwroot/assets/favicon/android-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..75b2a5d0e82f1241413abae431870cd0abf3188f GIT binary patch literal 10454 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 JY?il<{y!gWd3OK+ literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/android-icon-192x192.png b/wwwroot/assets/favicon/android-icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..98ed6a1826bcaa7e15eb042ad0ea9de52951ae13 GIT binary patch literal 14884 zcmZ`=WmMc;*PUT-r?|VjyK8Z0aF-T$DKfZAi@Q_Ywb&GQx1s}-VnvD+EAaCC{C<2Z zD>*AS>*OZ6CpY`-vlFYSu84t3f(iftFy1T4X}?+Me=9QL+g5wi3F*zi+e@oS0{~6Q zX#Xq`-u9`im9*6WfB*&n01^QJJiawSjsO5}E&$-f0ss)n0ssiz^1f+_y&XWbQc;ux zy#BWo^?pr#YeDjQuO^Rl2&BNrB5#$-MgstZhTqFc>-w#q<@;ut>Mg%YIu?r3FKTB^ z<#(k<&@hGZN#l?zzhmoR`Mdh~_;{_Sg@-pj1#ez%cMbt-nl;^pnQDEM!6|#6N)qtC zqC&l5w%5L4hw>B?h1%Bcyvup-&i|ZOR%u4uzOeVN*{8aTM~>Z{EW8<4Cz)O}>^j{n z5Fg-HiVU3cV2JfQ^7)md=wq%1+qHXkA>acQeBiG;EepD9V#FxOG?c*t)JSoJ7{L45 z3tVI3+M918I*E1#p%l`umu9h zUF(XP4IF_;TL5@dI4syN@h<5u;guT(6mS%P&d(iMzp+2{0BbAFAz|>Lg^A6A1M#7Q z5ZTb6Pz5J`&fL9nMuv|p*YE8m_OoACrb0xEXs%;zgZ1r#)eoN&tVI>E?C@$rpLiq- z;Y}qs4fu@~`G%V73uLfDzBi2$LlJJ>^X|$fChRP09&n(n5Zb2nU=E$a-y4Gc7gN^V@|>60ZuY2ci6P|#LPUNTZfxxfg3Zf}$?rZm(Vrty0MDC} z#mbJ>-D*SThO5DS!CRQG?mPuhvt&+Oo4y=0AHGW?SmjiZ{q>7Ns5;CXss^oto^bsV zh&M3Z-pUTAW|o)&gOnI@F0I3cT9s46A@tBcYh{I`e_F7tT@*-+t4^E3Fa8pZVm504 z?%;ewH?bbeWCi^HRIL=8lLvoCh>e85o*=p)&5b+)LPix9vbPb{Xx^7SIC# zzk++QJ?;0vcvS@PbSTC_x5fxBq(?44hEG13S%>i;xJKU?SVp;taY+u?uSet)zaX2$ zj_J_cXAtkvq_+YCyIgRVm#rhV_0X=AVYF*;LjBNLfw+fdNxV)L@+ea4CZYq5=}KSj zKRjrbnC+}n-x=KK+fx$&r}CYIN^Lj4x1W_L3_*@|;fttgnQ)ZQ&C*}Uh0H@TwV9xP z+1o;>gQK~xj{!TE@&e$C8VVnKOex}x5bV`5di_UaU&k32>Ob83aw-Fs#{`J$c(F!) zf*=r{DjHY_^%?ZX37J-~z`yj2I2Ct_WoBdj-Xb$jEXA`OQCXuqZyl;(#Tu+ueBmgF z9I6=F57)2Qr6{KmlvUvzgs{yOienbZf!tEf{<1iX~c_plzm1=CN7Hn)y7;J& z9To2Yb8dca=vMJ!w5dbVAK)f(DS>)%_?4UGJ1!W}8;#&^+EnlKh)Dvxf^DVU=)P!F zJ`x8)@ZRE}qe*Sl%66M@?}Lvh;cxn*Na)je!FiJ?Q-;dD$fct$BJx73k7CHLaYT80 zz}X)=h=;TWd>?X88T9T)vU|V_{AM+cDRTIB_hrI1f9vW+q<(rlX*rn*{(#BcbEDrY zkjS?9ohX+C#%8&jsDkdKV+KF51{IgV?p78K+4uSf`43aD-0Z$nK2#G#y5&gU{rvU= zSP!o$ULr6s1AaO&u9^?-tL00uX{hU|rA79D9&}BY;S?beMIn@DI22h3;X-Q zRbieabQQ?lGz|e zM~YjCjXV1TddNk1b_zv+!v5l(pZ<|w8kzuSQY4}ng=$BF|0L1GVZ&`P?S}~f80{rI zzxv0QLR}%(5ilHjHOElj@Gw#-MOj=XZtp8hn8}nglfVry1Tna%+LyX4?gMF|l%h4R zl&W4|Qr%{F_LCW+mu<_Q51#;tMCTv~%vZ%6Z`?~N1mZNHC29YQ@1n)*fX76v0nv;c zW0v~jpmV2HLQ+HM7azm+uFUg;-tsqke(!G{4vlknf7$dgF`LW2&6I8?Hj>-}CpzS8 ztVPhfeEgW=9kCkADpqj!CB*Wx;`R8aC;5RYINCIu9jz4tZOu|zC1GcPjJlHIFj)w23?e)@hYglSmCY+egd2%Uq4;b&;Qs>Aa#)-buFLVg^K{g(o+p^U zmELtWbv4|snOeG;8>pc3!jZAYa$>W|p&6x>VQzXvIxa|7G(Z6Rv?ffuG1-fMkHexE zu#kPN@KQj}siZEJ=0SBy4pYPXPA#Ug1mI-9QTs_c`S^{&Z1W7cJYv{T{OGtrqO(%67l`bNYzEb!5S&e$l}u;B5xM_O@Xu=>zphtnOsnZ=&Y` zoH(L}W@b`^efa@9@Y~YCtOpfwj1Y~l;cMx(mT?(m6iJ>E$R%MV@k5Bg6>7nab7y3# zMb!?}eiNJEozB8G^iqbYK_3W_Pr(oUwwWex-%997)!pD`uZd^OSm0`hmE~iqw2^+h zAcMo?{CUnIdC^uUBW}&iCyxhHgdqjkG}L*x2c(K*{^__cK|(xC=)$dO)3oIDF_7LdSeNALXHfT9~PT z8OOL6i#%MAk^o=0GO-)W<-AFd29P`M7!ZUj3cqc3L^?tJcSQf?8SUmd8nmOi#(6n! zF6Ke_7O{=~K7yW)xi4s)F$26Jr9%J)vRjqV{&J7HTPk@K4AH% z<>Z|=_)9%v{FQFwa(|)UDz&j*RmXESqCV}F#@y1-4~!bdVEbYuikiZEzD8hbz#^!wG8K1?$&CHk*03FJE;f%E`6hHV< zyjN}cN87->mBiELo}V`?TEgjf8iW?C#G)GXI*Q8rD-5oZH8MP1Qb3o^fu$&SS zX~N`sg*%t_#!x~XSDW`$6bm)FIWz#<=ZX{GS-)S2{wlh%SkQRLp^6;=i?D_?aCySl zv`4pbHM1SD{RW5-PQILnGqaGP^^gnUd>+Ie(Om5<`^M46v$vN-&);Stx&X?meIM*M zI2?;u1UFxkxwI6;iuBbihszn{H&|=LqijtG;N-kf!UMuhabY5DM;%eeY>P35joca~P6Tp;j= zZRDbf!^y{B>m-rtB);sii|4aloFPnV1-{!ic4oVgB}8t6eh8yWtHS!*s-H-|>@8#| z$);vjtBe^51*}L}Wz*~sq~F#BnSQQ&*|0vC1E_rbII4R~fMb|=?D0z(_$})*;Bm`s zI5GZESK|X=))nR)j;qY2y4v{eoQ$OZXA9)Tmk`N;Xx)Pxu&Salt@7#xYF)1>)t4md zkO8K5{ogTve|krD$!*T>ljU8MFIGW@FcBec9`(WYd>o0Zu^HMAA`GpEk3vfq1atdx z)R&;@NgAhUSX_PK{Zi437Kn68{yE1<*FhQa4R63}7Sp^&&*$BF-B@mEo!hduXmiQr zaPv=$Exo5lnzFLaVX>siEsg)&l&B(cMx zXo8}<#pV2Mmi4*^`WTpvW#1U;j<#q#SoNLy1bH{;tB1a1gs@^+9d9L`m7!a_pLW8o z8rqvyBzQ!z2mG=y{aq9KDPv_Rfy^K^S3u_NI{c4S_I2wt8t~^GrC1s(Xv-NCh4I+{ zE(-oUB%sQAg#CNY(IddC!rw}0rx>TqfjRf>X>v_|J}zzNL$+FmbbS>m-i=5K2b;CH z&M|8`gm8W`b7kq#l-ciM1@J|o4|NDrr-At6jReZ;^B^p|%ts6nrrWjohsUJmlFO4bFy!}WkBpq8Rvxa6%eF>+^@M6KH zBN|OUdVmGs!1*Z;N7y!+`&2WcC~UikSfZffN;vMPqdb3stR9L#m4`e(4}N!}t3vMGGy?_sk$%omy|MS)bwcVcoM3yU{8;YIxxt@}AoBvQ`e_>c@O=gk6)6RQaSQoZLI98eP#swF_9o+6aVHu)S+9l!pK~TQ% z_|!S_Dkg@<0nAPx6C;7WzA8x0>8=Y@!)q2(H{`wc2}SB0tZgb-5I^W%vEYO!df1b( z(7;mzcw8E-|HEy$3|ry;Q~;zSeODwDp~D4S$xiyp{cv$mmA0v?Q%?I;a%*~mtdWl~ zUQZT8X0DTYHBpNBKsun46|bAzJ7o`yn$2pHsQzJ2{;GJR(<&>rzH){{D+> z0ytt~$TrIZ@%c|7nw4VC6!v@97PNra*c*xiwg6Q*aT?s7q*6Obd9`D+KWkD9TMT$Cu$q|6K*(xbRN(|}4PR^(SWi6rlO6iBkAaPGv|7Bvw6d^qq(TY+}t{ezez;7kn-=i+;N zmx+J{6Z}iU#8-p@60$m2?aU}zkfh-*8tJ!$NIJ2E$m-Wn`419Ef!ewz3>lOtEZ#&~ z+Hce$xVTUfZ3tp;pEftY1n*=G*puaRYsn(sGHoAThBC+04~x$HxY8}YV0_nFe*w2> z8c1|{a0^f{6_SA8sY_;v@%?!5E7sigds?FkvEnz6{JM|Au)}Xs3M)D9Kf1mS z=?~i*ed=~F6l{4^ZvE@CFOPkrKJ|P&?18|#V0jV)#@^rTnoo0&fvge3GHN;X!M~Fi z#HcM=o{3==QyMuaU^F&RkfvQD^1xMrI-c~Bd1$2ED0kZtXDN@MK7pF2X+u#(h!^kQ z7TqSo43*+iZcD_JT5~xCoj**H!RiqT7ayKV*%k4hWymS^$da|{G+!g|lgh`?F;d#eL%=idA`+Mvh;B`>b4z2S#0W61FwJo`Kw zdamaqc9$Z88-S^4E^fz>Ip}dPv1pY_#@N>-@D*(jB_nCo!}b9h2=iv?LAkLd(yC25 ztd{vytJ#ONyY1~>4_AMz#O6mLZ~Vcg3FXZ0?oYwIk}#9E?cae_kd1g~7Q3<{3Bv6t;+s5|C*G@mc)RiFjq1gaJ8Z z#O9TAzPxG)ppHH1(yP}*L0+uWsMLnYViIr$1sWC(4u`|kc~6cqYj#vR?$mZLm7|sx zj=Wq=7BM0Wq7Y5*dV(4xxHyEE@FZ)j@%QC55{#W@n9BRa=$J7x@OOV|hh4@vw=|pV zF`wem2RF`k0zvV(GdL}(?{8c22>yC{quCxd{c%}sL^n;ryO{<-3e`TOP-J^wFlog-UbOf4iwJ?NV z%T!6z=t9zyLm%HjsRwYnEi{dUGXQqNu>)AhU%yT~*5^S=^A<9dHVIl7Op3JGa&E!) z84ea02_#MR?2&Tp?Gx(6tS5!yxqY#9=d%aZH?fmE%D?c%5~mVMs!()=lsk|m=)Q$- z!N0>(bSxrd8YpC`Q0Q|1H6~zjrU9z;IPIVrIY8uNvp6xRDK(ysZCP8ws0de6+ zdKWUBHTD`3;*0YsRJ7jL0<~N3pbhR{46O6Q?sssbE8v6J*s6xYHRxGD^?B2DeVMxUUHxo=6I^@ko z6CZSJmGm|dj9{vAbWAFUYvrT(%1>8>ftYxj?ov$MLyOPl*-;*f$1LB4OBnxn zTYnRb9AY94UOdMxiD@QuqgdfNCN9!TV+@2DuH@%mgh=1hI%Nv%ZXQj zzKfK}d2vgpaKK{WBv*|>m%Bw1==Rm9ma6OiT?`?+I@gJt3L-c5us)d)m?3CUTGVN) zq;s~jrU@%&A_5x)zxe$6YKMX#F9;IEzt48@naDBCH?0d${iroFR3b45HB>)XNE)%r zkS~iZqp9o+Z{qmO`;I$~@rs-LclgN17^pLGD)+=R=|5JVEH=4d8=`w1rZW5EYqZWU zXuk&h@QZGt!qC@2lL}9WN{<6kI*Y>FU=qoO;a%9;(f7AUiZFe^`5qK=M0Q!eeOrlI zeWd}5gA<=st2B#e`FbPX5quCP$9wz-6L!!^w%^CT(;mKju9}ANgs> zCGj7RCWqG4{!(h`sTvD!oN|t=cGfboVVu9Y9MzCgx%BF&krPBq z4i|rtHfR?sGi38`k-tHbm=6#pN%+3FhqbN|Z|DOBx$E&+nfUh5gIYXxRw02file$O z3qj+(BrNFUHcA)!s5vJ6l1?Af0pXHZ*_hpihbT#F-SicJi69JN61pIM12>-&7)KyJ zPJw+==S;MBKy&QnwwO1%fi8~kQ(-Xg3d#!;+o3y}TQTlK4U2W%X-Ou;NrO#FoBHHu zBG|#Z!g>ry8`&4nHm_6x>7|u%uUgsuk1iHz)Z7ONciu%qG-Ah0S+wiiTI2E%OfXFn znm8$uj6!`8C2pUvM?99V-peG%u}uYO}ExgolRMVVA8-yNT>%&(;8j=S=Y8AZ9F z;@sjg0dGbjp)x!2@P5MjQ^9&mgl5}q1i|nNbN`Uta^ha#ScQavsVaGIwT8&VPiO)^ z4((n7$$wqE5_c-l{nnP-Sg|i$-ok%_=a9L`m`q;_;S}u|3^jyYI${kI5F7JNz8r)y zG#E}vz6$4?`1<}d)sURGc>=Y+n1Zy6)kzOa^6hpnQYS^H{_gkYEJ|V`ro&qHuH+%J zHEeqmE93z9ieT~QfS(J4zSe2M9myzpfGZx@ufKkI?c1APe?IWOiasCv?ac>$R$R36 zi|4{9poPdbZaFBTd~>huowHsm>&M-7iDc9pQOIj3t-BlV!8B5agIBY#+!6n9^{I$8 zs!oa*hyi`oxxsW3#yT_W;r}P(6D)gO`r%Kq$WH~>U>3D%5#{yW8_@R9NAp4)OHuUx z;aT0*tk0SEjwf!ZCA1~9-2eG%U=Wm#iwI**(uO+y@sSRWKS_TB@gGi;RQYYAl~y<- zuJ9z5{4xDm6*T;aGfevl_wh{;Hfu_rOG>&fE7~^vN6-vI_wMwBypNJ>nZCI99G#}ku7Iz zE2ekNG370UOgmjC^$?3?l8h!R@v2(v_|eDxwVI!$8J!oR%^sZycPb?~(pV`ciKB0T z56lVm48?+#Sb8(;qbxPg)DdCz!`*`#2ZVhyt52@T+9jq5&M;8$e$igh!$M-(ZMB)L z*iRI!g#=1*l+g*W%rNrk-9GXZ92K7LUT^mPE$wka)-x+{1L~8vVY13RU@G-vMLC#u zSIy0K%jWH@sTzsHJ%Pxfu~P}xX6=3xNWo%J6HE>+gY=PuNO<4yg}cQIh@5jvaJ+_c zi3l%AdJsF2S<(Bk9B%Jf5&r1(+DUv)5Gj45npisDF!hy0$-=;@R{t06dG;l)R)4!F-tRu*$8xj z_Az&bgsmPtXG*EpxDMD?-x-5n5EDW|03)*xOcT9ua)uG_=-2mA7LK{3gcNp1p$}lS zL7ut0_!E}l@-UuTl9Ti-oK3x>rx{*>BCir-*}`ONeVn#A-KHXv`x2HG>GciLch5~= z=&|YS-M{sHH0%ZV4|hhjtpEC;7x3zOM^5Yuv4u{mFgm;of9gxE+KeI+C%2iyvN~=29AZtu5f@&JCI$b8=7r7@|Fj?!IRel|S-1#lNOdF`{@hgtfb5;tH2G zq|QZ9UBF31+BV$5i{af{KyhGl(rFS`=J007X+TQ2VEpPHGr4?QFO2`H*d*K?yU4H$ z=;3$oYJ$w@EGGwsA1Re`Kk@f|vSxi5&g4>-CB4M-K2JUwoX^-+_p$474l<4Skc{kW zVYr(eK(R@17bRV3COfpZ!4hT?=5F{G&kIC|7D&i>x+GFLH6RmN2-F8r;?0X9J)H{M z(=FKDEDpp~$lvImDPF^9ukn%)UT|xoYDUv`Ipn+65MHG9<};X)_X{NZV_$^%mt2Sg z1TUTK)EURlxMQk5);gV?(L@>0VawlTow>rPL9n2Oj{rbzX3rbS+9hc!+W zVBd8su5Kk01k&1c9HGxkyd|zJaZm*jHTFkoz|Zz6tUqJ8RH{ey_TV zk!XPkJ%09CNd~4R`e`q_ya^Ow?2&zwFg#O8aj+>Kz$Rx{;?g6EV-`pgQ~mm*D~ne5r!U( zRONEgaPXx9EC|Z_!yEA>Wy+q&kIWMPGCC>hmuSzCQvI0UWcR1{0s`R^iA5p95gsbU z6rIwRfgAjGq#$hFW1L+M|6ae$z4VSLrD{*R7D z{v=SXue6x>PdyEJQZE{BbA!dyl#|tO&nDR?SFLB3>L=5+xv4nha%!N_N<$Ok5K9NB zhK4fl-(D~e`keEh-=vbxI+WS%VjbA||I9hK!#*!dFpaTS7Z+}xunU#Fy9f9n`eE;S zz-Qbl7|*9CFlx>Rcn5G?$|fXJ+NxA{5k(&^q#bDwz5f(=m3A>+)YgGpYd_#Ro~-Rt z?*^io)sfzG8OP;f?dqQM?Iv}Ce=(RlDC%YJ&2PO`=Xk1ODvGwkw+3Xk-2_@B-aF_? zfB9o4XBabIC8>CR#TsTC8S;B6WULB{LH3~l(Pe00tUN{y%A#9%xaVRIK=oN;`E}+3 z8sj+(Zzy%~W8sN;W7gf`jI64Fyk-5~Lm|>Catri?OQY{caFKH~cWI{d#uaG?;N6Pj z0)?PmNyxr%^7ob(+~Qf?hH>|V6G5UUkvC+ZwGol}!FQa)QHjuIXy!9G(rqGDAFpTW z^Jg8TbNz$9m;grrHX`PnQCrR~?zNc2Ei?}M)$W%1@a#EEiDP|bV_b2+1Hzsl>mOXf zQ%2Lvz$z4A8Bl65l#$zRC>X?v*eDTUy@vIlDa#>{}sz8kxhEln`G%J@6j zJ8stR1=lq41#(;9&xM{iobsh_i<}Vdg=4e9GeZ}lv|3vh&D5bx_|S3i4n$_(6i%f? zWL*?!k2X&p8QjQhL3R%s$buK8h$Sb5Kt%k%>oD5SAhAH4S z8C-EP+fo~fwH|@!3Lr$=JFm&*@ZemOAHy4B59q}66Mx8@QwK@H9}lQqum%6!qh;7-8t(#0ZIz9ppefe31j^TT=1Nn=58f(R_>IvKfxW^3QltvRU_ z&EyIpM~6Ekf}$U!(7YETf$1M#2-2-CSXwFW5xzZD_nH2MZ|uR@g6ki#k-7RI|FdDg zsd;8%>H5jfxIzywf#*Dg*&bcR&1MeI1`Y7iYqAz}O+lU&cz43q{)-?EqlI@r)!X)! zQIV3N3WX`Se(fMkl_j}N1>|siI^m#tWsLt4|F8FFFzn>YE6z5keJzjo0wE!JMaQ(e zfeeZEP3w7NF!wcdNYs#NBk59|u;pUo)_N>_rMTAAiC225x?A)m5V$rO4 z)J1)u*JsL4Hifxs(VDfbULR5pwd9MEZ9*+S-k#)gNPFKWjMtF`6_XQk z{p&PybdkIlAPcsrBYKK^#x6pABQws&Bc~bl;Jg)P zje1a_u47p5&xv4(HvJ11=(afKzUWE^mL?VP!ScnN%`J}HKIwtzopQZpUujT;k4d0e z>0i8nJ40h0U{A@*w-Qu3J$3I%p@ae5j2uD4 z8Kg|MOBTVObk}6uS2Q5(`dXP<^%s`xFj zN=F~)#N(8@M&*X%YGNU~!P1{fm>!QEl&Dye_C8iUdDb59lo5e8tS3aM>Vmc^g*Y$C zYc;>&Y01j<^f6ZMQbjr&#Kv|LZs`{d3k>t?BIwN8+kEtmmX(?$#IWtptsz_rV0zBm+nX@2KcbzFI`cMX6Ejs} zx)jHMXc>uEIX@=7YjytG)`06xVzsB6N$4k45l$Gsq_|7+CfNBh9=QeguXqkCC0;m&8LJhYk*w3m7bOnNLr`b*35_><13$254-X*&RO);Vx3Vn+C1BSZ5t zA+i`MCocA~#+X^o_j)#)Grw`hk=t&3ic3DgNV66^n!c2`k6MON5TtVvfH5LbnYkBW z!#^`=Z}=|#QMy1lMo%R;PiiB$e)!+%=+TzN4h+`da^tiIB%0|+N< z;apE@PZ*V@f4ng}x;EImlUdY1!x?Y5+_aaKR`G>2bn9o~^Bj01Ss(l1gg|R#-mg(( z=&;4XJ3F%;AJA8z;DL8cMRErp)@+hk{nq*-iW#ER%uIq}{TCaGMUUspOETYKCHb(7 zzPz;G6pEH4UpG+$DQuiE*9CvVzEo3*C3qWi`eb`IMtQkv)|K?+NJ6 z0HlpBypwRtg>cX8y{4O7WM|n={~i)6t4ui&Bs79=)hPiI%oArMOwNn22USGj(pEEU zSBnH?t1@#0lQ3ohJl2uWRO|=pZAHe6ZgPD-dWX~Cw50o&PoX`Sex&;U78Az1exp;U zJWEDtk-n7B+#x6YDiK_R=Q%9-2(t(Ceh=IYhS7PyFrb8w(MX8Os0(kAW2lvdL9*^f zEpR^5dOQRf?)kvTrR?iB%7SSnGO6nZb|BuuVLHYCjf#v>37-%RrEED>&(PYVfYIso>P7|+_$R5Rlw4-k58l0Es~S=WSsE=5&?87S|O zE)BnKrej7NY;}bo`B$C%U>LfWsm=N|{c{gcAie^)0CstQWBkBJfm26Jy2?ECM2$brYR9%(B$C&**~0B(D?@36;V|@ObHBn#p5E)!U|aalJjl8 z5^Ja&^4E_St`o8fAkXF=ryqHvSEGM_MNnb*h320NS#{bT_)=_C`B^&Uw8;&I^ZW7A z0Qol-4^y=uXI=erx@>r4Uty2c2Q_x&M53yTMzWACh9dG^CmezHH-_{=p0R=TQW^10 zKnvYlUw6mvlCPDWw8Seg?_(!(W1_*@-K15ic3jg*pxUpV8GxtTR&g=?x%{R*`zNKV zP|CcPErPli-Er#`%DA=O{d&;^KWWayVVeISC0fmiuv>fI_ttwJ?VIK`Zt&a0Kdi1? z(hsT!7eSnJv>`S3Ub^fbzlMiBz-popAzuwmj5lcA@K*}&vDwZ|&>f%?46f+Ng5>6= znRjQx=1Kx=R79@O(Wvdnhi6ZZ8@*F5mnC8ff1WzW`#={5(o_X4hwfHEzVLT3i>tuN zP;2G_(3N>;D&7jk9Qwt#8ZKk+`nm171l_~|rC}7X!IKH!JsS5s#8avPw1DINZ=6J) zdt4s_!_BI0(Ve9LFSU~h8e_d4eh(oQ!Z{{hoyQ|G zJ9RS%cL5hc#z{P9i_%)Z0UIT>+whe-KbcZyfv)9lWH-+4!fvRSS=i|lGP^0qlw`;~ zXtYc6(=p^DBflLjVJ@E4mc|tCjCJJaiJ|acFi^1T5QTxKy-%p9oD%`OV}~8^r5)24 ztiru=skSSYiuTM`?yz_{(nuBS-Uv>apFGKwwF^AzXF&`br@!Fk9RU`~Hrt_0w?rC; zxZt(cl=_WQXr|l)h^t_>Os!o=a$89WQlz$Kcv>pg(H#X1hhjlg?7262mDufX2y*q; zJhhe(xkBG+8`Wke!*k)X(`y;embEHVUdKZ}N+?CSf(K(y)gJil@q}`kMCtZX@Vvu% zP#wjB+2$ieWK{`o51|bT_N!t#5_}U^GkYd~Iuzd%z1>&hw1Xie;VUjt`u%g3vNUz` zI5h)C7u-Pr)v{4Uw=~Z-{GODz1i`)}aZJgJCz)f=)THq-O$ zHxJaf9MXyPhn{lD3T141rT!on0Q3Vm^wSmPbv@O-7O<_8vbV5Kyn}fX)$neZwoqC- zo1vPV6)QIC8RnscRS&u9Ficxfi-5Xm;GoM5I8f2fh@!b+gDeNrCkvKIc~zm0?&Iw+b?7>gFkv z)d>6Xw(p&(y^yR$W{C{CLUw4y_R|0O^IwjSdYVArxzcDx6XxgpzhGJMFkCnLWw_Kb zJ-bq^Rvj5>`D_G!OXIRew=mA5bRDRPx74O+fX}dM8-MyzcpYYSR#rdw(bpBUv!CJy zzdMPeR)n_yX|caJIj8rRe!u}BV!yFxd@|b%!GOhc$JeUnc?X}uw>Sx7HPe0NWI9fK=k5Ko9DsunS40#k+JE^9BCub3$K|?tw}oPRMB#< zV%8tTM)o&VF)|B<;5^m7rjxx8e6H&C_!;Ks5zJ`~tNMkHs?&8yYY}tFJeYo`B1M=r zSOwwam$}>@1_-V366J|ZZJIB*6WuRYEg}y)K)%3a8Yio$F2U6A6t;j3Yk65-2z&|u z$C^X5A4Wxel#P%&h0itlG(!%cQm}(NnWsGbWMHN>(xYMatj%_|U409}^?u>N7u`Ec z?k9d=voO2mqnh}rhfwA(@6C9WPpv?wWSf5kbAmvA%s+Z-Kg}Uk{A>e0iSk*ZdeIL* z_}ApTe}3(g;Vs1G%?X{dx3Uc(@k7kL(Ey&}3B;txsI~uj6O4wCLh0PiWb>d1KxKLd z{xPvB_UvThp}+(kon(2lkK8%mYo}&erZlaH(rGPD>%WXJcx62Vp>N_OH;9-SwH6CNw6e-XCZKK(uHa)@Zo2xGJf5 zAY3Xr2;ZO$h_*$SYI1F9Y-nnTYzS!*qEw{J0XQMV@w$@XPk-wI@LpbBu3p9>?0+ec B*7*Pc literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/android-icon-256x256.png b/wwwroot/assets/favicon/android-icon-256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..e5a676b65141091338c9364d32f9bff4c1a0505e GIT binary patch literal 21240 zcmV*DKy1H>P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/android-icon-36x36.png b/wwwroot/assets/favicon/android-icon-36x36.png new file mode 100644 index 0000000000000000000000000000000000000000..de9dd0a9bdf4f89e0f1e4aa07a56b1da76cd260d GIT binary patch literal 2085 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k3?#4J%UA`ZSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#N0|V2n0G|+7pn?uDsSa_e zHW|5Y5vfiI=?-z}c5$f=3F%Itptw}0m}G}I5P{T;qR|kbPYC?~|3A6WX+JP^-YE(4 z3kK2%z-v>z>Bh55EBdBvKfWZ}h*KnS*PFj@mlu2R%ch_C^I~(nD2vaL->-M>KHbX4 zsJZp?m!BsiIT}9P4CCg}5j39oZKl-J=enx4E;S!_D6x0RIr+v#{g6!f+O5aj^y||! z_4lh3l-D!$&l9LU`lQk?c3XLPXvu1Mi|ZSO9N*>3?9cnB#ipN9AyKz4L-@i~!$Ps< zSC_?ezMl$y8fa&7&_3jtRnI+l=RMk725UN!$^zz^SxZMRn$DV8&^sx2-Q)JfXB)jI z#9X{~;7;i|4aHktTj~W%?+F7v$C%{p?sB&veX}Bv!(QU)>&pI|QBIU!c8kMIZUzQs zTTd6q5R22PQ+~$#1WFw9?^lhUq#Lwip+=ONQE=CaB_66Kl2cA*Y?`VXJuP6HVC1Pu zdpEsTQTn~_{q3L0d%oW*e)r<>AEWboo>$-docG;8ZJM;ruBx)nukI~QUw`jj?XO>7 zKC?!=X8rM1-r&Og&kTnb9Bg!SZewfbk(Rq9i?3HnY)Z7o+RbU_C8w{B*z@^u^j#@ zzDz%=rz|2!CAK)vd&!1?JyUj1GfaxK_!+fN$-#W;55XyWCT)-64)X}Tl~P}s$1_iBG9{|f$nm@kBRY0>gF zSrM&I0u!!GcX{`aPvc%O%ZjNN0>w117}_sb?Hqbsu<8&~wLjy;Hxu84keb)PiW0fHn`cALEGjCSQmd(GWm~OOAV#+O_eSU2ryPBNF%IqaRf^yoA zcN~9rJ>!f5ca)Ll40f+w%FQ0G94}^dE({Fim%n*gF8F#B*OmRhPlT>oafy>_bG+5c zi23T<`Rta?)x72Bqk2K5h&w3l&m<#bKCRO!P4hCXT@#DAdhAY3S*YU`^G=rk%IdEl z>-}mLX4MFClnSiXH_b>j3H>D+cwaOTJv>`ie-hvOBU$(T0_A$f2lGQ@TGYMf z1M`+@iEBhjN@7W>RdP`(kYX@0Ff!IPFw`|R2r)9WGBmX^veY&(ure^Ht&7e<(U6;; zl9^VCTLX{s;|o9y;Z-3KB|(Yh3I#>^X_+~x3MG{VsS23|CCLm76>}bc;^8O^)6h8O zfBKB)(;xZee9%@5v&}!U`@8CWlj)l{bedoW618#E~;cWR9?(Ztz&(rN{6} WT(IPmlj&5T6%3xPelF{r5}E+&_zP_S literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/android-icon-384x384.png b/wwwroot/assets/favicon/android-icon-384x384.png new file mode 100644 index 0000000000000000000000000000000000000000..1eaff09c435d8af90559c144d9f0208a72955c51 GIT binary patch literal 35392 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/android-icon-72x72.png b/wwwroot/assets/favicon/android-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..55a9cf73890ad21f381b8d64cb4f37f656d87609 GIT binary patch literal 4396 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/android-icon-96x96.png b/wwwroot/assets/favicon/android-icon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..70f39b6f99623187f821b127ca226bc0d4decfcb GIT binary patch literal 6313 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 biGes^hlLJ(q#=`YQv#r`ZKTzp;Sl{lg>s!A literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/apple-touch-icon.png b/wwwroot/assets/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..141686f97dd33a335771dcea4ed95a8a80632856 GIT binary patch literal 13827 zcmZ{LWmMeU_w_J?Q>?gKad$1Q#eIsyV8yizQeY@n+>1kz;$HMY1{)|&DQ-jY;#!

(iOS~0Qm9&0Dr9j0EtWhfXpMeLs#nM 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/browserconfig.xml b/wwwroot/assets/favicon/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/wwwroot/assets/favicon/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/wwwroot/assets/favicon/favicon-16x16.png b/wwwroot/assets/favicon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..eee8bb713941b755c947c50522f53e877c466115 GIT binary patch literal 1147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>JbwM zlA~xqLg4@Z|F6Ctu?Iy}Nsu2XR;5ahJzni!xVBiv`tYAwY}`T94!RlN{8r7x9^1I} z?-N(PjlWI=b7j1c4*zn0ad#-M)9v4@w8czw{yq5Y%-`B4Dfj)&kHAc2;rM52`j_9Q zZ~oZk$eHr??9Q-AD}~)hW*cdV#8licdG}J?;X}fl*8wc2ICQQsYBrzQq31oNep}Y} zzd$!ICV9KNGz#rn_YcTnFY)wsWq-~nC(18#*nQ<(pft0mi(`nyWzqhZ)=r56N1wZL zl)47K`Xr>8nyq-KS83veuWdRvH=o{D@~`Ca=`-)=q(8GcuPC%=*Rg=;@cf*N9HFL& z*=M>gra9PYt_I?JX{`{|^}nG&{Xb@ppc-Q)Ks znN{RvE!6$~t*^OodP(28_pFP5v$r~%^=Zf*{^^u|qa97FX zmN!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+0815;msPlzi}L5H|hw}^PB zxOBU?RJ*8Dr-W3eIFOWR7nAD}ljszeXcm?25SMHdmjbFBMWZ1=qY(K2|9{Gotkb|0 zd7~uAFBnK8119C5}nI*7+Ad*&WjKeC}v9@$8kBRe>I#zq&1c zSN`LD&ZJN!Hm;Y~GkkT$&aA7{I#*iZ+#Qf$_F|5B)csu=ZPS8+U$2e%XgR^?PAl)p z4J$3~7Mu=ge7xX1>#Oyxra+G|CV9KN+$`rRw*Ye3OFVsD*`G7YiSo-Fc3(Lcm^;sT zx;TbdoDL2C8Gj~Fr1to<+MwVdwzXQhD<&*kmKqdv>*|&spIehPyfekUl)RL3xdNvt z-R6jN{`T~*<-PB}YmMjMnSXBg^Ed#$d4c^q9b#&n zk{lc+J-8uyg2kbz>qxL~)-34-9_JsVuiBEXx!|sE@3fujk?fIS4G;I2&*scg>e*wZ zu72H)zhINcqj`TSmn^v8ApTbS-ur+_^#?dF$UWJ2Bq*q?Bl%}y`3w$SZ966z-RF*? zPbAJy3$lz~bBiVPYUPadvxl=hq};Dm^?KnwI?++nL)i>mgUL8E@BvZ@&&qv}Rjxzf+sH*=X1Ad$kT>W?7+! zqRhljxxZknw9xz1FK2C6*uH4j%vJNlnBLW}87X&euQ+ZjA6q89pj?cvdFg>-PXk5e ziiw9;y_MuEuI2pFwO;=e(h6*E3!oGK6G!92-s39%A$8)Y{SC*OPlWo z-PrtS|Mm|@6(b_dPR4m1ulM-P5j&-A*^%!Dcg*b;Fb~u4UnFV&J89#Nc>7g9zwX}m zfB)Y&rsJF1wzS-_HCy&nOiTJTUc4x zd$I_#u!2j2$>9`c<;@`qr*B+2apcSqnIr6{8$1?x=`p+#7cBYYWI7dS1%s!npUXO@ GgeCwX%gXZr literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/favicon.ico b/wwwroot/assets/favicon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..25db6f30f16ca4ef4a1e920a27d4865c485e50a9 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/android-icon-36x36.png b/wwwroot/assets/favicon/old/android-icon-36x36.png new file mode 100644 index 0000000000000000000000000000000000000000..e715de405856558a34037ef5f7f31e6484066570 GIT binary patch literal 2495 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 LWr?XYc8U5Ay-`i= literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/android-icon-72x72.png b/wwwroot/assets/favicon/old/android-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..7459a6f03b1196d453343d041c4f6faa7783fd0a GIT binary patch literal 5297 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/android-icon-96x96.png b/wwwroot/assets/favicon/old/android-icon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec4116348784778f373e9ace8bf6d87d3226823 GIT binary patch literal 7298 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 YaK4UDipD1GRRaJlrz%@3V;1s%0krNZDgXcg literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/apple-icon-144x144.png b/wwwroot/assets/favicon/old/apple-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..76a365d3d09420f5f7965594916123775802c3bb GIT binary patch literal 13344 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 IZy}-o3+!B*MF0Q* literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/apple-icon-180x180.png b/wwwroot/assets/favicon/old/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f419b42ebd269af28ae4f093b47f77ba75c8e5 GIT binary patch literal 17458 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 (p3`z~wcX(U$PGWI zE>v1?AHk}}Qh0nX{uIG%bV-Ghco#pBHSEBkat<^v@}6r3iJ2Z*rt#3i2ZX=ntEaN> zct1&J2g}3B2N>4BYxA4*e|3yslZthsDPwd0IMi(U|KcmYySLQfJaizJiKzwhh_6^pZCxQzBPZ z){0+7KQPD4M_bVuEng*A0VRpx!K{Wy)@oJI5%3$|9RW;(N z=Ayp6-|Bk?z8&u)&-d-F;|uLnh@8H<^$nEcBFB^|n_xsQN-bcRC!#v1X5?hhwUwV& zDCHo<3x%za_#@*({TbBckv;Cx`yXXD2F>~7^F@P#lTOL?>XIYOPXsykhdpd^G1N6z zfI1P!FSgnzdmNPDY{JeE^jszyUQi4Xw|I|g4D5?DN}uDasL3ZHT|L3a`%CupqL21_ zT+6aTvb?3!AYoA4TIKH6EXr)=&~SoKK3C2@sx4(e?GA0)Hh zpaX1JKLhkP2lbdX9po#Z0KR>8EfoD(yUb4aF^{{wMKOIagj*tH)YYh?z9U8D zX#YAH4l!4xP&CVU?WhGL3+@~8WYJz+thvczsOMwZ=;)99mI1=`hif^aN8J>5bW|y| zZk2geSold`^mYcy#?D|Cduj4nm6j`bo4;SS5b38Lmh4|gAMa#n)p4H63OL**>7i7t zJ3CSq<~#SaEUnS9xzdyZP%K+MbKVIRM=R5~A+z{ICG^X^7X_{UoE-^;=GS#MU(OD6Obh%RfI!S2WYZ?2^|0qz z5?2hfS8QE_?>kO8$GX1cNA?-Nx&w0^D#{hZaHhV$IoH)-gvSdC* z*^$KhbOc*yAAfFTjT2j3i*bJ-FtOuquN;|wXH$Uo!oW;1-MIQzYI+Dyz|f}lo+E<7 zjh^l?^(H4*iSsqOI@>2F=<5}U`CuV&$$M83QYu0^B9LnByosb&yd796+jUox5WXy^ z)V469munOIo-w0TJlDxKD_swAD2W-};MC&NkTe4Ga6RlRZpazhm_3?PsFZQ}l#6~V z!NNGcvt3zNN}aFj3=gosedh-{@t9(=gU;Y-Nj~dJXN1!5{Th;|`qeQubD2(SJ^#*S zAM3%dsWG1iHkzz<jgi|&H)b?9XJ6$zA^x6AB?n^uKvs`^*p7F&6E+uc~vIuAY$%p$X7`J#*nY zJRNR0W0o3r+TkaE>3k5TFXM?KOSP~Ni{J+ML#W^DV|~z;VKi#GpLkf+ah^op!48%@ zlDvQ_V3>gw?h=>%#z&ijt!JOB>e;#HIZTjap^`V z^AjCeX*{bw(?`^xDSA?nP+QYroV2+lJ7QBYYYTi8qK_gnl+z;PhVMqeVQ+74ERU-!A|h;kG7 zXgz^fYs(UFagUubF#Ob;y|0a`gvEMREG7H>jS2O>Q13u6jhmH9E9sX3^ zf-@aVerE^?#1cs!!59FI_wd13c=+JF{G>FX=b;x=G^Lm+kt#5C6}Xy|HC#i=mq;XN zsj8AlBq;7T%@igL4Gi{qm$JnS2nhd_terd4)hAeV*-d;T2@Rn1c28a^{W0C z^G{AKEnf`I$Cn7eHP!fl;NLB<(7)pR4|5IYP4xYZP#ey0F%gk}Ar?41h8RJ>0RL2_ zN(k^lwc1<$R~!pFCI!INH7>x^kT7*k6y$a`6XE+;99vu@27nnF=2z=&GEMgXGBKM9 z0E_d-Ft@LY4O2h2kgdBNMu f6M@8PcxghJ9#Cd|`cgjm%nShfqNOqO3Xt$0*QIDf literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/apple-icon-60x60.png b/wwwroot/assets/favicon/old/apple-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd0b4ead22fc0ffaddc8c6368a1f34155c6f07c GIT binary patch literal 4034 zcmZ{n2T)U6x5p2?cLkIdgn){Wgcb-Lks?K;7bzhLAz}a_6zRc87Z4C>A|Q$&O?o#X zpi-n=0YT{?TnJr?fPC@Jn|b$rGjGmWXU*R0xBhFL*?VTsjx#qi;9xz^3IG6yk)fUi z)vNz8W=854as1Vn>gcgLraA!dCYkLR$v_>`_*od}0u`TySEvIJ%Fx0T0D`3eAd&l~`VvAvspL1l+a-~2xNO&!Vo2%DDCWUv}lx^O8bjQ)WA`E!6YM$FT7@NOBbC#*}i z3xuVn*^a@*dE9md@a{wiV-jQc*_c|o$|!zAb-}2q>bTb#eTS#l8k;M!(rGWOaovgx zJLiKi*Cb1bkVg!6hzwHUnJK6*!;^dX4s5?ip+r1yQ^!yQ`bbDy#AlGZ_yDlGuwwRL z(`4!ngv-6F@KM@9EKf!5RO~`$NfHy>RgRW(1N$&Aa&&Imx(oIlIV0OiJ4m^H9A93G z-}<<`U&V5x+`CYbg-~?2Py|xjbmo9HWmTzGBuIDIN!&wKJ2B6_rNA)sR^=AMjB4C7 zquJSQ$vev?5;8F*(;=pf?(PyoF3R(7i|DFO>HV^59wx6V5tue}2XA!_r*2o9J_r?! zOrbxEVB66?%(_}(6|^SOS*#V6``wds0~ zfrk^KJQbyQ{fn@bo82|U%Cx4eLC@uod@yey&44Sy@kzf3dR?FU1sSKzF|!kSHJBrT zjF{0Z2+^zN6t!x>Zl!u5Vhs`27QICL0sejock^iUGY3sZFuyB z#60}<-`U!d;~&1Z(>KPNJP6*Hb#l!b6cP6@?L1taH+d=dnxcRmK8nfy^*Sj0m}YIf z{|a;D)FAVzNSKBiEL#6Z`^0Y-)}u@iB)>D@|KQCSd2^Zm+-uP zero&dZKf=drtsa1C#9&Ewra=0>NKDJU8(IuTBFqC0*Vk(A;i=Qa0b>>Y7NC(6DS3O zMcETllBs8sYQkU#w_IsAMdx7e-d||FlUvW}i=u8JTBD>bpUIj?V`AF!>*?3vFd5Sk ztnqc<+ADb@X+BH*iW5m%j1}l7uVMBojfTVO&jpACXdGaYbMI`L^a;&CdB~1yUt*zE zJ9~P7&?rkQ2qxxPa%S{?+wGJ?nbmB-H|kSBD{rRGfVnblgYhh4t=!4$uJmlr1S82z zsr^|W6euFkM~Ph~xgfgn<-JQV!P1xT`x5ylRRi@W0_b(jnwRJ#qq>Zu%cf!6xZpdP z49=yuLgvh8lkUdPRucWjF*&0wCs|wB^>gik=gT3YA(wew7~E@&y4ha7O zLTh|c51*T)w{**lIte5<5G_}5Y!|B98pFp5o&W}CxR%nbdaeeolIL$wazl4lj+cI7 zkDPYO$Ht&5nU>oOyZVu~ktO7V3RQ49t#kP5PbKYXW}L9bL$Xl*7@uA*2>rSkezV5K zkJm7%`UF0{^KsWRw6b7>Zina@e|nl>f^UY7`m|G?=@n~r1(z=?h1FNU!yt%!|+)ZusbYvWRYO^?Q$w zUcS8+VOV~@FedPMKZSDNS|K}D%_5zxm=6BPetL>$FvtGP%cH2{YKm?zSNmH(vc&#( zEA_@`(^xf(Mtm0Tm_y!n&V6fXbDRbv}f-H`lean9Y+4BB?%2oOAY1| zd9+?B|+3D$4 z)Q-N5TqEvdO`c1LEah*I4rWO6^BgmXx$<#`XE$y&wXO2(MjZ*v6E#7^2KU3e4vOo& zzcz1Cw9H0y?J*~VMNVNl3XZ*MS0nif=K~*#k=wbB!ryaIR7AOMp!OU(jJQP(bq$Po z!@XKqRkED!?*5+9>dMtI+2HwRtJ=0=y{7A^HC$5aP3F!`=HpOEu>YL4oTmyixS-FG zAp1ULv!|=!X0|ai>j3@M6LK56t6Yvb6TQ=*yw4q0-iQ2fyyS2h@=?;+|5HPW`l^MA zeBP^G{50l>iHzIr_x*jo7SqUo*G}K_OR8!*7>vW7w>54yTUH}mq65FmEkveORW>vo z4tfXlnNOjLb0buLZO*?*l+)rWhDV(~E~~X1qS(`U)4`2rpY`?{gryiq`#;z?yw3Jw zy+l%n^j)+E#TLP;?T_E-j`T7;d&)QWY_iYYHki>>F(|tKjO$&qChLGQsnu;&Qu|oX zzP2%V{n~HqyvDjRKPDN0eV3@m^cPf`kHVc66eCHC$sglyI;k**hQ^naP_(35Ehl=t z=9klSv-#(mL0&0}LIgH@(PlL%z*cZN`vp?9R^V&EJBXwc&zXwJJg=}qy+y}o4)Vz# zm_Uw}liIgIzk;fJ+yoHuxdDaPMVg1SpXoTS{0`-YULrFVO^e=Lv)%S?uXooT_MFH= zo-`|&AlCabyFYX2e7fB!L%vu|@U%5GLO+gP*K44=Ve}2Ol@^~bKz@2dt|b9Js;M!P z{l)(w$eP(!sNFb&Z-aLsxS)v~UD5MCB>@+8&2Yzj`$E73f+W{e^LM4Ym3+MH$_GAS zjgdh^_x_fK>kC8y?H#Zzi_WSBsT6JP#AlH@{@_#BXt9ROOOCc%rITQO<5ti4cRe}4 zV}A}1I6fD+wdS-q%t4O0v@9MK{_tr%=WwKr^;j(F4yVkXcfexRe%US75G(Eo3y-|c z?QK3bu{FD#=a_dhov%HGSV*bqLClS`Z@Px{`|_XGDhViB?7g5Bfh=-XXW3k73qSko zV2MJG*I}DeldgChKeWhq5Ofp`5sVP=JLe-D<}|+X@iGM-!#%;euoJVyIa?5OiZP!H ziAs<=<`f#<|JYR2H-w#Nk1p#7a;+?QR2HmqWB4k{!1UJJI+TR0ad5pWdnU51)LWPJ zMbgTpXqh*j#JJtDzoNpOYs)Gp%$Qa`oxfaqTj){xxaMc5kb1)J90z5PEZ?^Z?oq+* za=NC<@3MA&@01oA@DjET2&oCI8`o$(0UH_f!79D2rd&cRe?XX>dV*WtbneK&t8pg# zi0>_~y~MNN%u;Lw5NZwSR#t=6GfOl-L@hX*Uba8lvr1&q?1Qp#jc4w`vVQl`*mUQY z8=XH_mNNC=?+M0XN%2k<{#OA3Wb9CbABammnNaLHl<|sVo_9o^!$wo<)boWSs-5{@$@l)Yg0^o$TMkotMbcF(~J3;zwBmsvEBnk;d}Kwb|6?X zw=)Q#b>@l61rp6=&z!p!+OV%;pMqNBEvbMZVxI;f0aRoha`TokaY*u8QP+Z91UKbS1o+p-jiiY zqE#t~`pYtYcxohBJ>z=weZ7Ip7{@-H$&Rp1iRATHSyLtsv84Qy#DP!jIiBMbtorRo znKHXUiN7y?VsO|SPLBAS6v*>7UUDJ*hFWr!1{>FAK}N0i@O`k+N)GNyBWCNP|3Y{v zsig`M7QY`+q{Cj<{3i4->P-qvxMoK{BMBG;$`?a*fIJkYDhvJdTEUxcg*0q>2*x!?Q$6G|Zz7&SrvPX#}3cS0c27XujKkywl=5{pB5f|TXpaw@W_ zAZkfPS*VgMOdfO-rVR2R5PT32NMK-~9PSTIH7YIV?Th^uO`!?`f`1gPJpA!)2!x(D z${&yMA|MdvRMZcE6`!_1{)_piCIaDs!C^fJ08CY$3-EnFWd#1E^FNF&4o&d*gN&4k zGgFas|3XZ0cnsm54+i+BD~OL5R;${^?7wtOt*8_LQ&Lue$}2*ZRJGU=Q>X~nzjQ2d z!59FltD9b^xke4y{3~Q_VFbA2?qI0D55ap8?s#J%?#KWf%G=8i^1llMQHHx=pbE;W ws%Rt%hDN$6BcVuDMHMv4O+nFJ8Ko*m&5)z^rwziUQ!4;Q*Ua=PbX}wV12|w-i2wiq literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/apple-icon-72x72.png b/wwwroot/assets/favicon/old/apple-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..7459a6f03b1196d453343d041c4f6faa7783fd0a GIT binary patch literal 5297 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/apple-icon-76x76.png b/wwwroot/assets/favicon/old/apple-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..2ccbd5ad6813083a812e5b0d13e996ac3b15980c GIT binary patch literal 5539 zcmZ{o2T&8=x5t;>K>-2j3P>-Zhbm1#iXtEc6bK~=y#)e-^df?wNR{5Dm(Xi42q^W3 zQX&XZ1Sz360g)H~^Jd=fy_q+=XV2VwKIePR&hF06y$SbC^%-b6X#oIWFf`D8K=j6c zjhd2p9m+HlCpvPtmWdVsG^Wt~hEfp6B>oTdwSl^E?sejT-^t*C2>?8~1ppB-0B}Z} zidX}H02u(-Z~y?6EC68l$?Y^#BL*lPjr4Va%fClqPsMBE42_Qg#GmL5{$qDOxN86a z3!9;?mPOE)t=!-=%jxvN@biUpJIhFsXDp2P0oDoxBHo(p`JFVeTM1;GAR0@D;_@z* zF00h-^z`X+x!QD7<0Kt|?rkUek4XsKqMBkB;VE*468;tHD1L2*ov$Iif0i{^s}@VD z3L~-tXRBJ=rhDLL+ZsO!=!v#A-tBh4f8JFHqs-6PJNc7~Vy$JaP;vdZJ=il^1|-8RHoqldZoIJTAZpK|8zD|j!#jo|O zMMp4TmSKw1QTWriEjN{;`_?kc`6-$XWtP)d+9w?~?|9-Cd{UUcRnC%kBVbINYGnNF z)>8q3=B=f-J7D+;j!&bw8Vj+bz_f%zLf99RF7Adzv1;76Lfyl|`;otjOKCN}oZ1+X z*HDJRVJW3k-!|sXIrx2~hGE5jQtL?TZu~Raa9iDWtcGn_iP0@5srIY71mQbR%Lq`- z@mMDwrQeeb6z~w|rm{ z+|g1mYX$G^4Z(Xx7gCGK)EH+bNS!2lYEGN)TQcvAOdQ6@NTyevl5!13j^)?AaCT8eh0=G^$l|ZP)qH0S-BtDJv-15V z)|j#hUwG<6B3@tBpAF$YFS#uc^A%9ZRIgVu8uQ?EWUItW>b*8K&_cohiv??{ZS*YJbZ^$?Y~nPgLPYCaSW0hde>@ zDT_zg3p(rRX9*tkFPQ6*NqGtFrc)fLTYZx%Emu8yubY$kPe?vrRkVAryfIIbTjnA9zI;uh7LZrLbQ=VYxa2HQV@g;C|@l53j^PNH#GY?EZKud0Y zlH+L-;3`;K@xB^LCql(2I=ObM0hjf3fSG{RH zuL0a*Jty1nav*Rsqrw1%r!Taag03!fF6vd*J~ajB1c=*v9QbiDoIkQ;ubT)!;C5dL>QT2Rkb7s|uc4RZs@wvcgNj^D$_Q-t%M<2JJ&uw*ikAkOmF6 zK-^)`bvM4v_Q8zgZW`~%Sl?rVZ_=6aB+B)G51>lFnvK3h>_6$q^#5IyPSeEYa81Dd znLr9y)o$vC?-<0Fp?0SEk3$pl^Beiae-Fx-yN7k`PaL?74 z^{(cYQi^Vp(QzL5pQwM5;?IKf{#mYU=}$2h7)IOeAgyBLf^&GO<78W8`~bh%o8ZInF4GRYNlV#{JL z<)>!JmjJ2KT?<2!r;)P#5IeinB^d{N>_#TS`iQwAKM>js#a1bW z9Iic12?Ecq?h$%(*vKNW`6Qn1);&M4RJG+fSLkn<&Cb{dJ?~HXbc3Ps#OC}r{Y)V3 zEfGF-8tfzP_ZKmPsqJ2-CA%|AHjET;bPQM3zSgW#<(i?wR(^OEg~m7k&c2QUe2k|J z=cjHQ$X*>GZzHkyIO?aQ(acH-^}oGYI|Gz3C4f4sYd{2E=%&$4S2N)}B=*k2=-RiX zxM9Al`g;lnsMp4)Xu62$)Xg=j;QZ@8f<7&ikL}LPXzkgwPntd^@N9o72KN;UrmEE_ zp+gL$Yy;D=pv~wl4ch~WwGFL#>;W5IGNL0-`A%9&C3NyL${M6G?}_$QD{#)_%;)my zU#8p5f*xqWMQ}mmq|f&OR1|(>*q#-O#PU{hKrUz(T^?OQ`^@B@tDqL2ragT4nrlAe zVT#ceb(>5agUmWMxtTYq`M_1bzbZH8Aj2kX>z`<$a7hHWk8CW%ut}UGrhN&TDA3}8 zN|TUHWCxbh2>E1)E_5sg=${pO49ky?Es)xCgIKoIyL&4dh@9T99fE6nYPcD&kLX#l zfW>4MlS2zcX41j4huN%w{qme@@i>c7Uj6OIDa}EPtYUZWJx3&En5Ej3WDN-oisNu+ zt0Wo}xssqO7B{??bZwr*yqR+rY8K!L)JBRrxRiL`I$t&F4mezoe${LE-B*(EBl;R8 zQ#Njg?46a+sh+>4-~RNt@pwR))wFygPE%hggaX9wtG)}~Us4Gmi=$!K%MMz%oKVL| zcljhernJVTzb*tv^Y{;%rFscKLiVr6@dnYMA#o=D?PX?ZZh`A;Y-8hnBh#9xzxy05 z#sazN(x#ac5@YJf;--#!`Q;7T@X94&uI%ro(>Z6p)4aoc7ZDTc@E@g`c^DlVb>8ph z#MkFt)c7kQ`E<}v>8lvuLHd}KvHEJxn?KZ?$?|qSj0rd><_>hHR9j%w`BIVOwJ!Jj zNIdBmo6RwdQI?6EQ=rI6vVK+g@4l0&S~&c7YLTT9&0%?Vm;JBUXLO(yDSZ$1VnyWr zi`u%Lg)Lc(1mtcmbcnj8?!-{;oK4DFRMbuxwM5m37>^$+=CIB=|GG2fvOp`Oc`I$g zrFml{n(|^glzVmzcR71{ZqCSYeP!Fqt{*j?cAk?)MrpmqC}M`_`>-@5!dMteYAw9N zf>9AI0A>tN$s0^R3P%Jy&>*RKy-(wimv#@>Eag_ld{4P-q-GR!7-@}Cefvt~@y*AS zSwfn!65|K$ns7c15j_t2+BcyML*4hL0vL74v#31z_hxr&PJBuiUlqG%ja`4TQp?4v zUzOK!vUqHyzo3hDq49-E938A_kDdXrw=NxQuVkwt;CsRAw`nkbU=C6d(eGkE~ zqk`9+tPN718op!xVO9754Tw4wWM{42+(~aB1J63Zt^^jq%ns~7>W5ZRuut)JbvRlu zz?zh+u^-lMmTpp(pJm)Sa5}k7Q9lU`-&;zNt2HcVgoK zrt{FQDR5P~1Mx#JSUe z(A#C9hbGQVCc08mzNHgsvq8E=i3@p6WN#G+vHU!{!@n-eoC6E!K_`JCa|o4!NZ!I5NY<5tlXZCKZj+PmW`n; zr@xpAX_zxf^e2x8&!{IAnAr{fnE7uf)F9&~6)+W|#tP3OTC&t(g96HSIK)Rr57%#% z5FYAu5Ef(T8N@34g)tb#VDvmR0^x|VbC$tm<&(sfRdE@0&PRFf zxQY(CFsoK>*3ux8b?Lm*kqRHqkch|)if-tx@+z-9TF5R;|Dt9f$r=~=$1*ut2dweTf@l4i=ZpaDq@=%($MLt%r(_t-FN8T zWnMkv;4%~;^tg_!GWu_^uT+|1ZaE}h*Yp{Dn*A2h0?FN?KWXuBRv4?qJgNzcvNhBW z56s)ogX=%draN+S3(nXwQSta zX|a-4)hnJT1}b7L%)^2&CXZ1iu^L5+z*OVEJVblIR+emDc z&>vwPXWo>aG0)&8UZyw(W7knhJOFDNiucIJFPfHy(&py^3Kl>1wWN&L0ATCU= z%pf5m8#Q5Y2FGt=I+~|{oQx6dM%AOgaRt&;XAscJ-e6FEqU03>22(N~ zUj7DEDkrqX8*rSNW;OlNQ0di2Hq?;+jVW>=^6o{})tO#OwYAZUvo)Q&b|LkZu@whd zLcvZiW@WX zF76p8x71dsPkE{B)i#o{j(|p(^*G zIZq`_Gjt`f#{Lg!MQ&J_lUQCDZfMW3{|@s;kOr3+KW zKg3Y)d|`jW(Ei-l9=e<1*vf;eF7>`-F}m7D^Hn>{RFjZIB9rrcPaWP*Fg8CZ_flv2 zWX^QijNRH!fBp1Vz-wG9_@*(0N&2H730>x-VwCgjcpZpfX3P`|6TexH@UC#hJxhog ze`mlML$DD70TmDCqW5?k0JP}%+r*|b{N&<|duns1&GhFPanR4Yqrr(Kc*MXp!35wiv^ZeJ|8pPuFrLk9qDtcqFkiLE;5eA%xTERn0#*gtuZ8&fhw{@*?hDQ13k=BZ1P;~C6d5t?0 z+ZDhCS+0-C>`je{d{lGoZJq6%URKkRl}H7SJ|%R##xc!oAerZa;N2N6$sx01WexUq zO4p?aXW4to9cf{D-cz4H-}|h2hI%>WZPoE(!!~#WrCH+mqjWJf&TxTRti(qnX{L#% zW<2S9jIjO%cjD1|_@=%Q|4o%~j)Rd_wX}PqTA6ONx}(1IALiNUFNQ{L(m8t(*<;9u z3;1iBI4~-(9G4>PpjuW_MJbn=kwRs}`5~WWX?Tt-GkMrPj6^2Ps3 z@bq?eg$4ir302ZtAY#IuzZLwwVMr9z&jm2_gu-1+pm0|wcYZ}FB`IY|Fh8-RyrhhR zBuJLu45Y}9Kq7rqq@__Pl$7gVnrK8?%G(dV5Vu7X1UUXGS|9>E9aU6xy`2I)UA&Mg zD))(~KLDz@?2`UJ%ztXCs32Ti;RqxE0?RT1ez8P`{a-r&%~-iQBN2a*Pc=8FiOBVT zAttV#F34aX7vMi#N&9%gHJcuq{vRC^3nB%86cm+ZWaVWPz?yVPFNp}#zjVx9pSS=r z+S+Nw8U$kK;lDzb4-5gAtA`8m_N6_&kRIM}X&5xn)ydn-U;2L@jI^SXql=83A{gup ubpkm<9TlN6P_VqRvy-EoJWSCEEJe(aBKCKiAD%|602u0->egvHMEw`Ti%fR_ literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/apple-icon-precomposed.png b/wwwroot/assets/favicon/old/apple-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6dec0e296cbd8fc63ab9666aae249c7a754fdb GIT binary patch literal 18140 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/apple-icon.png b/wwwroot/assets/favicon/old/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6dec0e296cbd8fc63ab9666aae249c7a754fdb GIT binary patch literal 18140 zcmd3t1yfwj6Yh6e+}+*X-Q7I|cY?im@Zb>K-Q9vi2yTnp;=$b|xI35syqvD~ITS=fL;wJQq98A=`B{ViSKwhk&zfuYaGw>lwS zc>&g3NlqH@@xP;>t33I$2fUCQkGi*VP3_k%ZuEbWU^p;_! zgv#C<_B8hvt|@y_JmeXe8d_(|aSSC(5xL36Wy34Hp0jvW$n+z{ z`0%OZO-6Z;e+R#1IB@IQ)k`@;U_7>`7n+;5cW0@S;$dmXhopZ(9Hl-W+%t$R{8z1Wldi_0Xw}7;g0?=3ZW|lLT$$%9=-;jdaGF@$S{N zytoSQ4PRNs=YKX;dy=LVMiiRRN*3 zrJN33qr?G3HP^e}7asRoMtryMV7Bddy8J=8Jo;NxD0u3mijpdLDKQOm*4chA|KQ6D z^p>F8Ony9^Wb_n*54%r)OuKa7*~q?M6@fRoq-=t7EBNX>{=KrXyk2Rp5r#3?Fj`(m z&!o4+aAOL#jC>t22I_}Vh=H?sWj#+;pcak2BI`wqc{PWHPqW_P7aWm)E7qmfWuk*p zAJ=GYmiI=d{&qNKtZHBUu-;%7sjruPO%$Zq9pS8iXyohADW2CXEoL6@x~SDsr@W0{ zM%{jI_Z>gix0hu}Gmf62&3`wYfZcfR_*hu}vQ~OD1L*nr9`Zt4On-v5rt~_i1}BSN z_o(x2oq@wro)6SRxLND~o%TYnzZ&4Yd9!SoadAp?I(BOlsCK!9mrs*Dp6uXIJQYzG znf5$1LmLaCr6@yEq1`yA7J4xbK=s~=Fk5Bkg<7?2F8^INwLN4(*Y74HaIBToVsavY z_s3NV34A(?H_WvKWMiCVNFUu#V$Ec}*+9E9(~7?B0acwBkV3IXixjN+f6&r=twkH|!9Qe9$@P~B5vH5zB z>G4+g*(LNlCc34YvO42wR5ktP{2y(4%%>Z+9 zH3Vl)R}fdokHOLNZ0ou!TSE%~D_z#p5d3hjfnpydxUp_=naH{{j#K`647pshju2h+ zh=QK!Gp_@vxzI3>B~8a~Erc}|e5O`1-Dt1%@7tu1le$quPYp+S6!J*9fDcbwfgBlc zGbYw;vPx3%l2sa7(3c<~bc+a`9nB;dRP$4Id#3vJoYk*ss(DME@AgFCrFYOc*YYd7 zw-{*#H8%_gMr-D*K~@&~Jt#Yn#mb(le*L_r%(cA^FO8c~uH5@<>K&@_{Nsn)Ka5Eu z^l;X1uHHlM&+2jSmy(*s`<%~|D$+ls&3Sit&Bs+MP+RjJ2c39Np@$G-_A9=9w_r`L zQ!7g{-mtT2R|L>CPFPLqiKcs2X#J*5pHh<(4s2Dk!B>}IhA-t0|3j8?gHM*(0Nc38 zv1(S-o6{8gs@e0}{o$A7#>ne2-?ic=#T5KG8C8uQ8C*c`oK}JYT*E3gEUES?WS%*9 z5PFRw5(g%$lk_~1?Lf_@osL$U!>2}EFE%5W{&=iB&C+Jr49;;U(!_L&*!v^;Q+ zpXF4`ADXJ!l+;qMmq90r<9r9Um5=+aFH?!5dn0_-3J-P6@tjXW=#478Solob_(v)T zcy)bU#IOry)jZbOEVC|fc;BZ_kRb&4)z2;ug4CXeQuQ?C``fg=T~W92?8ce_tk&kK z!5$3lrd9^M8`8~)$Iu6CJE>nq8Q+y|FuW{-SVl;oeDJ>1^d3^H0Ac^cH}-=f@PZ4$ z{bB2+@*RPTBGoEjf3!BWm_~yc7H%+=$vfYleSL)D1o~_$Jw4-NsQ{!|?45K=M0S~U zlPpaPpmpT#ZA*{?%<9h9=FPU}YWjW}s2}m9BfrI7reyrC`Zhl-SV={r(WqjOHx^5B zEr$Zjg3GW`FOq|TQoNY#oKcq$?Fa3dtPG6$NJd)zG(jI@N0Li;R|YSB9QUMq3D$`$ zmI5F?@7~&?AHuHPx6EUq)&BcJkdK{4)|kHU5>6o+E*YF?O6?>^a>w_NS3petUR5Id zVXt}R3!ofLdMZ?q#f04^GUd9+a3gAZVQYm2nP`DdfiAMLWzvuZe)6mH+nq~T@w;IQv%>qPI!PzcMPml$5 z7$#gzDkR!qshtd~n!~@ z!|aYZ3L#YkS`ci5d!+^niFZRaQ*8dx;UqbmavzDte2v&&Sb8RPPP_g&BD=UQ(Kc=u zxB{bOgSL#_*GXeZ2%GhDnY$Nz0D77w#khb7VlTF2Wr{TG;oM<3twmM=Mb!(wwfDd6 zuk#pN6Mib~Ikfjcp`@F>u?M~>}C!gyGY zfPbQf#q(FWLNZhjE*r)nLxto>H1ASsYSArHm{p4G)>N=7df13hl41!}5r-sKs8!Gq1L_C9^f4Zo%c_~hSlAxv$TY!uIR3O}n%l<9 zN%I&wqX=i@ngGOsNDIEoO=ST)yMlMI(`ndQ101Q&V^qNV(*u>)eg^1rVpaJTB* zgBGMV4TF%heTwwJzL9OA&oT&#hg8RO$Hw&x1thRcdw2Jr&$>Xq z5lxtzO4>}jmVzh-~Pvh4pNs*cgLJfA{vPkab zb#1oxnvb9wW+l0~+QWA@dPRR2&*(5kVC;0I`Vs3qoE;yVw8-E4EmBB48Huo23rR^R z7A(rO8o7*Xn(XSR=4Wx!);(`|rfqRz+|h2eYa&|?5AKg=p`c5=DQc0-Vv+w*+y_%z z_mIV`QMHuA2V0?K2A(D@vtNKFmZ|2m@D|)&NTmxIQp#jkZpR)sc~Z*zapG<4d-XJ# zk(V?lng&Pu!E!AsSNB`Gh=uHKG|WG30EEvKlqf%+!g@+*{@{+gmy2Gm3*oJIr zw9>6;+u6_VZ%1_%t`9xSFyU(73=a;(X} zTw*gpC&(UoLKTBeF?Wb(27rXede9I>{jrop#by&BOr;t5?aN*`ydy6+Mk|p;^MJFW ziAMbBV_qV! zuhV%rZypd)kkO=lPW`fEJZ8E{b(!0pDpn}WIl@jtDq0ZVYDp?6xi_;@C+xA!s4?XF z>mr~D36H9P1rr2P;_-=19u#PGk*{;4K{cayUrzi2_TXCmxs029=GIE(eXTM{d^L%r z&GL3XpBK!ka%M3FAouPRR!EvB6;mujfT0>70aNc-YbgplBicI=D^Aj48C2$+2@o;p zkPf`>ebv!JN-+c+h%`fU_4~v>^wH!b>x5!;QO91ZGi8KxfGX4?+45nsI646Kz%HVU zs_Yfd%WkncKhCU|-KDV2`SqJz8DbA8cN4F)O@q5)Q>FgnhQwFH`j?;z`M1`bd_zG9 zA;twkwOjodB+hF$Nx<%|@L`f*Qh>VQ_W;~}RSyj2S1@(_0m3;>I|6=0ts>9W_gD;gMt2cY7M^9f*Vj;346|&Ci96mNa8#__s zkk|secz@-Xv_jDP+h$v{OG1&uJZ=TR8hj~#-_S%k@!KY^J1N)K@&wlG(s@4n0~__>)Yu?2u>NlHe@WO8DtwtF|($tD`B6v4i$4!s`&m0lD7Uy*tX zAuq)}tt(vvL&vQ@5x-+SQR73 z|4A@ zG7u2DlkZS`Qlc*K?Gz04-b3L9W{1#r0>^_q0JIHpN0~4+5w}c!(k-*OUmk#Z3PD$mII+`jfGQ$=Dpj#``v(zg0uUs$cOSSZ@CAprZu^PbW?4=8wvJ(EO1R(L$Mo9 zQYTSH-&-RV)BVGn?c&%q1s%{>=zJJGXr;n-d0dSs_(~+z)k40f z#RA2$_0Ndod>(s4YazvQTGl0P!JE=CrQD&GGN;s|pmOBZZRx0}Q5U^#n*QkA@QrjlUwt!+Th9 zRFN+~Z{*$M{aKJZ=`sS*ev0sciHBd8IF(kyJt!)!(uyt70|U^0INwIh5zGwW3}NH= zaeYpSAo7ZyUg5%WYEiY<>vVGjR1TrAThYrxv(?Mq&MiR!YygjN9jIi)HKf-SkyBLGL=O9E#?u$E*D3@5X;8P%T6UumNA zX|$`OPT*OZ+mL|WQg^L@>&xwTOa!?LH0x#}tCi7fyh?*U&jFpQMsqMK*h+~Z=RICW*A35y`zzygL4c?&Ro zLi@qziMQvY8F~bu!SsL&f3~lzOueS|cMHi8O;?LyB;f+FCoq88_ zuTD%nSA6}xZ$IPpT*D3d3Zk8|>&7>Hz0}yk438(>T;#6*P{)+0`0}L=)oibV zUa9>1)0)iyvw|n?b^0*6fk>_FO(Fmu(UOb~T_}h4z}J!P5?JrPEcSYwxB?TM`C>Cn zEUkl(k9M<+RgPvYhuURX{?LZY5u0S!$o9fRWoonIwh?k`29SX zrk`g1$Ey>@rZdMMKzYyvtb0(SXVN69HDwcwgt+@xlj|pDv8VD{9pU3bnW-5MLA9kc z>w*5=Gq?43MVan=f?^!JT`5 zyPJO}B~!DNM5f)^`!2JQ!^}F-KF+XSw zD8$|aZk@mbWH%+hS#v1N)r1o1o7F>l%iyz0_?4K=>UUCW(^Gj4EdtUR|ORy#$-vJpIeub z+ShEUNc|Jp)A9Vyl94~`7w?Zk(J6Cu4dh$4mXv9ldbW*tkwAlYq~Qg)4bq123`EM! zA+Iv&o^8|lu!Z^rA`RRL7lWZDeB3y?f<=*4k#|GW{U5S6kIGvtn&L&*k*o2vQEy>I zMy&Ayxn)(h+21l5uF>sq#KqJ(njWSIt9cuZZNn>!;c6w8YO8nIXdvXa``tS zSCh#+>qj;1q+r#t4?@;txK=X}*Oo_ww3+`2uI4_e3CrnmDk$+P;mcJ2(i``~vnnUA zY`8Y=zw}Qs<=qjThF3JG9mEP3$${Yv6*!Yy1OC?PwU`h7FT{Xm2v|(z+w(xw;-sQ` zUDEqhy4thB{dQlc+2PFb)$;N=I``1l-HTvHX1Q zRKqtmF)=qBZGKPZVt#2Aynp3_B^zA=HjmcFT6qAUjDxXEI}kafT7bn2MjTt%>LFUi zUZtm4+j2b8cLtj_#_i(})Xw*v(J!vJ!f#h_+C3`>)=it4K>_}ucw?G|_%RY!?xj)O zA^yIFMd%b4%x|PTY7=ZvzBv7z!}%1xW>lZD)6XERlFBhAM%T7A=aMJM8wpQ}XU(kX zb+1Pkde@;CS<~d+>^M_*&Z7=CqWSPZ2xfW7t7zkZK0`qKV5$6np<(C->zXOG9-3sm zBDg-L@st}d+G`(=Td_~_cLP`4Ps>QSqsshP?n)mAE5aqEK3>+xo*8dPb20&1zm5*w z`{xlF%(~3Qyl1~A#MAnaP0+igcH(dwHpCZyyMN`k$+W=F4&(uQOq*GsYkhe)<=uY< zY^8#j6j-6PYBu7HtphME0UC zvdbe(8c#g{x|w)>Vl&JkplRFI{zymhKw71vTnkR%%5WZS6*H4hKr|d-fD^inCbrBM z3O6npePmG(3+xNH8B4C+k)pl^()t8tcaJo%d}Gqf{B6Q6K!qfI{Pk@vS`DcF z@SkDfj~NsHe31LU&H|cbB!hGOjR#2HoQeu*ZgK-sMoepNE2~kgvgzua2ctS~(RXKKV?5}M}?R+$#8!0}&_LoC-nw4BLY9wmL0<}uAD3SzCQ`RqY1 zkweMzwTpwYo9ZWijh+JE+sr&z`ODFQxbXiWmyu^1jr6djHVy_dD)5Cd_0MED5iG@Mukd=?c|Af-4K^7tn47Vn|$*D22%IF#t};I zvpDG|kKA=#UTw%@r*ya&++$QHLC?}FB$wW2$%i?kaZHoH300ZlNpL*iw1Q?^9F`_J zXmY@{lAkXdmu4s_OcDV+FAfNdm)fC{loR9uMcGeTU2`qmWBCP}JhUpSgVQ_X=_G1{+3(2=0R z?3L=YKL&b4CSRXri4|X$1B?Znam)=WLp^E8BSq}q37rVwH0b;Z+d&e1?8x;`D1U|*x+3DnQJKgVr&*9u9uSck! zG_BgoK?G_{3TU(a)2~T8F@9sc$qUG9Kg=(`Uz`J=XwYs>|2qKs7^v}*Mvqq>rSzUf zf!_XmeDWibtZ%$}6p)AqxVbY&{7YV;j)EXEqA#v<+krd+H(abPXd!0^UHYAFMvlS7 z3&L$m4#xGHIk|mpU%gZY?2IY4zj2qTh4~O&jc-ERi@)M8Eido3>bnsE)eV&c$Q$NA zUHyPV_80giWP4yU+@zmdSxsAopoVN8F>Sm3N07&gg{}7678}s(XgNUXT)8o@dMa#r z-sxTCZH-NM?&qTSmfy}=2&cckMe`zq2(rCgj@~O-yDH@uhGSkR@mGKk23!WuBN0JlK)ThVOi+M|dG(%OLbGujq-NM@U7x(7?PKiXm# zDe!1JtV|B@qqXoDBaqb5<_B~^I8oOB*WG}hd)8tNC5;!w;i?7YQpnWshKP+elfg2I zy1|G#vZ~%2#?R@weoi8WmhG{y?8>3}lwz_xldu|jN4%~x{nq6jwt>tEpd{agFmH3_ zMAB_@527Uv>vISkN;cF`Ij;wUp3P;8f9yASz9@m}7^H>wtQGfD z<&|AL^_ifUujB33NEMD$07fO-?L1VqvM@}!B3A2rE>?P_ctpYJ(aUvCGq+b zLA$btwd8=o#8+TeF)ioVcTe*_4yf^HP>!H5&|Aa{Q^4=GR=S0<@E`}P9H73C53^3l zITgT)lpiifno#;xJ=%=jreI6el&juQLzm!|hJYVp%a~71i+Q z)CE`RV}Kl%8n*prd%2+?lhkSqKb#x-2uX|bt?@xzJ(L5)K%<3r?ra^u|KGF&G&oac z1QovLtBojo!j8~z%N*Phm0NUV;`IsBML0;PR~5bF-zaaGD=sr7dw=E(&NK3&Xft%r zF}5o%YuUlSn_mIvXIY{Wo4p;JLb3?!3>h>TsDzgU-K^rsy{$;P`WfSnp17a0r+O;w zf0NFA%0h`GKoqKtO_K_A0ClLN3^Lq-sW1GGRQkq5az9iV@AefXGb?$IZ8V)**!7?c zIyW(P#c8C9>R%UFI94T}L#TGbPE5JNLqhZdf|`9*DUGN#u10nqH3+l}%~vdFQFznf z$65MssrlsF)AqA+V}7G4hIX#i{6k&tP4)ei%$41-1SzKFF*)QQj3`FOfS-T^A%naX z=T~drICLP_=Glf{0TBW?iAJycCKvCQ->V%SnQyL3Ug289jj?ju_ z-=+Q$-L`NS)YuqItCKr6Y22!N=5fcPV`iZB8Py5f#@Uv_D47^dhGM*_$)v#dBo_fd z67jWy8<5nSfAbHzbbZ=?%Yu1?;2rvLpA$2T6s}B>WEPq%pkpW0nf=#73`g(_Miu); z|kkx0fP*n)ovJq7(h2NIr@4z#ffK zQqnomi-)3~qhOz?Acc;v=p zf$ab_-V`oT>_*FT1tx~N5Rq)+Qp_M_#AXC8`a(8j_49;X9MKxKycIpY+)$Oi729w2 zy}z3cDEI2B!<1s2$A`nG$*c4uV)>EG{rRLECI<-`n7Di&nFN%iIT}KEImifHiL7yN%~xVQhD> zeeouw-2B520pS2*2an?KQxb)%d80`7t8mLGxi$J;Vb4?~jv znK%^I=t2DKIcE3A-$(Ob=>P{}-9K04@LY!T#iV2?E%9-*wR!nl-2X}MUBJCD9`Oaz zMZy%Mum$Al+K~*Lg1CIBV7SK$nL-C+uB(DxDIsmHBLU>Q^&vRM9&GGz z8I)RMXHucl_|hidJO|!E3jjN!lm28E>;tw9zrltqMPPD5e&{0emiB;n!9lve#FaGu zA<72G0AvqD6+BdZI9p`X*|BpcsI349-~AQ4+KD#lwpujkJ}qw{a3wV%K9FLijzzLm z@T5#$^hUE5mjgS(G{J?Z29Nbk$q$gn1Zf<>P3fsO87-L|p58*HKCG-J`v&<#TEzH= zKIN;Ka^d|+K1!e6JjGq?z#e_}>bFS;?%m*r?)2Ug z-;#=gNX*^9nUwoMwzWha$}{f98dC!fk5L!$msy|kaoja`@9wm&>7ZysiuhQI_cEGq zD(JYLm%P!8zsrM9+6&We3Rh zREg$2!r8tf6kA26Q0zbXCI3*Xmi9fMz^cGz|MU&G5C}SA%Ya)e=1*YL+bKK@w1N-@ zt!K;=)YjJhYxMK@Pxc^njfnB(KbESG_iUXvf>+7zE7D0wW}>!BbbQ3-L=kb~AVOdw zkd?AB>d~ICh;TdZu;?bUir<~&V4Z9|FY{yX+=6ri(44ibHEkd1J+Lva=|F&T1j?f2 zP^Oe(Hs!h6RC>A24jNFXM+vL>G(wUpp~rcu)JN&r(yuzr?OJZFUjy8KD3~o1>oi*1EJN~=TL9Q}+J)S>*r^BOA z!{zrrR=yb(m8zQh;bhG*IS@y;4iy6!Q*wR+92q^f>2qhhVDf((;*CTDt-U2i5<4x&y-)8Nl&hcMD66+cOh`raS) z1qBNvsS5C`*xQ|78xL+sRjTZi^a>;$Ka3t;NdFKodjjK^P>0HoPIfPxgw zEbx2v*NadXqK`S)ZPaB+v*{PHmM5Ud|F9Kq@cvt{MHEvMiNRK=%T&sXINU3?C2s7dl``fL7Q z*UsUEQwZlY8<_suzaxHdb^L$|v|&GunEp#C`V|-hbB-mg!MyJiC_AR9XZPRNvtSu% z(OA8Kti^WOyt7Kn26lP#4V@3Q*THAkc~*B(wjLHGf4Nh!0#bar*8;|@x0b1-~OAca)zd&ipNN8X73QM_cF9~A*Y}AyG zTtH1`Efa2`Zn-9vVG7OEHeCrjEiuG=1rr|HH$DhjTA_S$eoZwjC#SYAgL{444Q&s= z!N}*iz+P;z_`_b_?Bz&vQLPjJzv~^wjN>;tafgBO+o^WAT4+ZK+~966lt1?VO!auD z&YT*Xdwv40c+6%t`*@F^fmI=mvWRb?F`x=Y%2hj#9OEXQ7gi-kHD%PsmZ=+3s6pe|R}U zb5?`q(FA+t`$(n}l_<4md(T!n20A*!7~&ZS6%L_=HtJQm^AjFj^&+%_3X}Y&%_DpQK!eHHC@4#Fu zHYb?9vi{yw8aC`?53q{rDuCF)tRfOJ8EGtN0H8y+8Y?11GaUJ%c|l|u%W-e%-G2U) z!Gi`j_IC z;F~8*>$rqw>zke=>sDEb_O*MSMX29W?oW^pm~|z6X0P9sHp>_}N@Q({BF@t?VAo&? zYg&cJQ=72V=wVV8)m!3zS@0r9e#wHUrCK-I{h4~J@+Xhxl`G4_UNwh5qIDuFR zJV-6FmF>VM5n~T&G;s$vgwj7ugInGY4E|rdZNR*foD88ZBG64!dOqV{e31go@Q&}! ziVDeHt#y!;)x8my57tu4f6GWRGPTB$W24zF^5$KcDoH7nxWP=ujys5`F~DcDte`%Y zu$Rc`aD*|{AJ<0yO3IcI9=+5QX{&~8)@#Mx=LeJMo{AN}cz<)>=-@2FB7z8zZ z|2lX|cB)O`?{Pe1TGNysnWB*Hm^Mh@gE0KWc{ok>V}5lC+q5}zTnxwLPoA|*Y*#3l zSWKLgc{-yi4HvExwRw*rSIXT}c~(qNHI-_@P07uC5?cR3v*LRU74(`nmeOtP`f;98 z$QiEQ^4DWoh?$W1W8XQ3PxkThP~l0L3?0qjclMrKNm6i zn;kOi?v2Hq#N09kmt$B&h71Yn`$=Hm&x08tqTIW&VEfo4LJY0a#bhRbJ>3%>unE_g^>_}B{*JVg>_1>yfq*n@^N z;oP0bL_J(4e_`mnT9PCU4dXJKUltfUemosenC;;qk}^`;qaBPfCBEelHNh65LF`le zYq(r=W#8(9K-qD5A~f3y)KDk>zWe)fwX`>+Z-g#IyJ}5kTNcHGba_9&UG-pz1MK|& zx({(bAVtIX!}oK1-$EC1xwmhMBqS&n@lPw!??1<7ygT`en8Vvx1M5Ts)nc#wQTe5O z%J5prr0e?Wcp5_yfAeW0;3lZ85j-CDl9t&8by_|Ebdu}}BuMg~V|uoT|40Y#g(;<1 z0j^LkXDt8Dc zT!&OnKx$1=GJ;P;hA?mXU#ho>FCkt8`=L6t1ic~dLJcWgP_ zd>#529JEh+!y`hd{63N$s)t8UX&DC$zPkPa&5^zYrK@l(ym1DbfXfvJ_=jv@HH6AG zDX8@G6Hn4VyD*evaK9}I^kv*uJ(SE({RQVkX3;)KXqKeT@JHeWwT+J*R-;hff@2lR z*L29|OZSr3fBhfla%vaDafw|iTeT)V;Ie>f0{RS!sr68B563`gxKi~x3zB{M6=^-j zpWzs(il25Pdw!!-FN%(QIUUX#K7;42mtQDnkm?w`CSnfjs2&P&N+xMY*sf?O_J(9_0%&>GwH99uPeO%EFy%qNA-vZPMF&Id2A-!a{<8{%I z_?+@+PDOnOlZ|T6>$RxljwBnq{$bsC9)G~{He4mP<_LbK>mIwP^Wj_a-+rYxtsQs+ zbC>uV#&X73r3a#b5#iin`pV%LpAQ{9;A8D0dTmAR7zA5YjzEK+q)4QMYN%)w&fcaSWe#gWp z`uNBVSM-iKvy+ZUCPRr5n;tP)9;a^|mrmFg=%SZlJTO(FH57e6D`*X|PtNSx4>k?W z%tgI{5&c9Z)zgpk%P$ckPX7HffJGy8tFEazbJz;ZR6$=0X>C!@tH-WY zlOxXmivJ>j*qXuELl~M`NA{ZqrKIXvJ4gjP3)GEX2BF_^)n~vP zML*>q(hqqE$_4kjF}k1JW^%O|&kyq6pYrEo3g2vf>5;+@lQxqts)oq4t)Y`Wbx=>x zIbO48@s||+_1L!x>B{JeUiOiH$ypv1O&tyEKQt&d-bWZqzFbh+w7l9G?7WnG;Ad`$ z-!EkQjHRQcuSm*1)WH)PT>Eu#V>dR)b0wU!-C{A_RZc6e^*^yMd2sm*!#GMMDCQz^ z5s*=1Qez@)_+Jq%`Z@}B@%}=}iQi(br-ZkUj^~zP$7_U(7>~zJ_IMiqrQYGHnq^mS zY~!s&YbaKv=Dj;;|DM&%cfu@t%b@n>Tc4;TR}dWa#NPM*Q_VE<+YHMfko-8xiJ_@M zS2@teJ?P&p`-3W4ezl)H0^qu6TQe=ocr=J~C`biVMyW#0+i}NmHo_9_2ChG|vd6R^ zT;e*m@^pIvURZ{;wdNh&L2`!isL1&EvfZLxSJ9pmBV1s=P@kiJV(}~k-Xx_Z7)$ZX zsHR9ZjUgg;>DSgT_lg#*{&(8$-vjnl@dDMZOHDpVCjYkRC)9&sv~dr(HFgRmH;$y$ zX|B4vv9pvy^QY^%f(5zK=!pMGP1)vHa*SiiZe(ufNMSMw6`R^)Knz;({|B3N+yCKr)*>ht zueu5KhMY1%UoA$)gGNetn$#L$fn{Df$a_4Bt;2D8IP*UJB}&EjL1B$pRy(=@Raeav z4nCR@YT*u^S>cyKV5ZpsbD_(CO5>`@yQZeo5U&Ku5bgkwOErfdlXvmfle&Ftb)l47 zTqyqoPwCS5n|`R|Wf#kt{@aA~8XP16Uyb;ij+8CZ=ve)aEf9fw7%vqn?4&B%+1L5+ zx8{uyD9wruuYBvl@qm@(FEC&~wO8OI&FDTWrA*AJktH1)kB+Qy2!|ss@5D}PZU+wC zR?2nTVIZ1_E2A9(eHD8Sm;W`IQE_W8-ElDI)0}P&SsDlx%G$CS zx6xJ}4b+$bJALH_Q8QHSvb}i5r#q=j^4it<^3Ok-tGV6H=nF__{;xg@M_6n0Hx?Vi z!fQ$I$b-l};XQUCxa$5>l)?#G61c3Zy{Ni{O@^EKrp&hiN@r6FbcB3XHT?{-u!rQt zGE6ut6>`@0uTfS@`6a!kWJ^{tEWu|7m>s`s$_X`(33E#E)p@hY-Y%Wi)<3J(HznN`(6Kkwb zM@ic&9!9So{=WG#WQSCXEM4v4du{Q9K)a-+`A4In2Y*@y-?p}b^u1xFch}If$)A$R zU794$BB3cNT&ln-^os<<1%`_$eLc-FpBnG|F^e0a5Y`@;XT4u6*kQqAdu{Y&H9Y*x zx+orOHf01@)MJXy3{)GqslXPBA0hdaPZMB92yg7K3>__&F-^`QbJ7eH>2@j6Y8q5s zqEddEChXlFVGLPSbGoG;)A}J@oT|{Nqc>(23so$8KVn3B&ba}G=hXa%(Np5QB{ccv zI_=ehx9_Z5#$4+#F$^|8jZ@gCC(REhC3c$2|Dmjg9qXb)A97_H^1>5O4jSp5q@~dk zIh4-h>E^uBPV;v=Vnn%FaWVQYQ0)f1t281u z$)|;y%xEw&XKLW{Rzg1#&rq{6>f42q8@x2`yqc)PyBkFNxF?(W@ro&W{WzT{e=w)< ztz{tGpe%z!#vHRjq~~w=hb#UnxzaTz+D;9JfyYws5XC)V%4^jasG+Ig!Fa}I z8erPq8?kin_>X&2aV2UXW1$RTaf zB?d`UZ9%cdq#gZJOZH6?K*9sM6s(6nWaG0}Ez--h6E*q-F(k=i^r)Az?#xFu5O}E# z`GnmI@Vm^__uj$9<=>Oa(_kX23~LO3W=!t&p~J0l`qm4%?YPB;oAnLhMj=2VUKoD; z-QKPlh-8optdX~4sYjcv>2NFA6qzT3tFB>nA$8O#A{xIR4)u+soEiw=i;5O9&_@wU zsy9Vil0c?H1)ld?{!?JU4Gr{){w~BmxHFJsuSDy^5#`I9sv0EiPPq}vBO{b)+(?=33Va3wh41!jIk0l!~TvY_lRVW?aZ2& zRQ#DId1pPZ=Vpg89Y;<2_O@C2Bu-?8-Qak*`F(TG8un+@5E3m0-&;orzi+``TLrzX zz`>cs)o=EEhaRakb9DDc{ByAE&6@?+%A!Kb8}WP`3JsRllntI8DOXSEcxmfuh8o_{ zz4t$1I<)Oy?%VXR{6nPC)!mf@>fV-3+}h0hKSPFMeQH_sx(A)Tv~{IQlOD%!a!P zUQ@5>^~!6}?mIS`9$3!tIZ*6|sERQA)2%@h=W|yntjln(*So&|%_?s9-;Cx)7X3G^ z&P_}|3e7Mru@f4_HKJ-E|3ZJT&u=lpkZm;YV9+1=4`Ug#@ue^qpLns>9y29t?C zIsJRi{WSP8S+0Jx)&|k<%YO`q};S-rwr^pC`t1zA1f{Cq7Gc zMt_O0>bkxf))WKlln;H0uUpEP)ngw>>CM|O5%y)@M(+B*Mpo5dUwyjs|7iMSF7AoT z51JbsVB_KFRI4I3Z*>ZHSk~{^s3hUj;C$dz`10n^w8Vte&iz_vd;>LEDcByZtv98{7_(+%b8&lDt(hi=$}5 znu?$M%f5-kTnC1a&?JUiO7fh3OzCrrSMy{kyc+kUNn z@;UO5#*@h}rw2Zn91Ct%Wu>V!v7AhqWgh?M^Eo-M?N9%+ z3#(>)kv$Rd6?pQ9YKdz^NlIc#s#S7PDv)9@GBC8%H2|RyLjx;A6DvbYZ36=<1B2T| zp}i;?a`RI%(<*UmSf&5g5U9ZoWJ7U&T1k0gQ7VIHZen_>Z(@38a<+n*p1GcduB8Id zN)ufJQ(Z$Ng+N0yg^ZGt0xNy}^73-MOpt0I2CCM}FG|1D_7-R$g9OOLkc`sYBr7YI z{N&Qy)VvZas{o+VVg|$I|99)7sR7$*WtEYdnVwO?U}$J|V2jNZpc-)`bD(O%GgC@3 zKuTmJ@+E;vB$1T(X6B}rR2HN%fL*0uke6=1Da;Se9N!S2Dh5MSGYbPF69ZFAd+weI zKqdT0<^*R}r7{>eIZat)_Xa5CfFupky)W-)lW`njxgN@xNAZyU6F literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/browserconfig.xml b/wwwroot/assets/favicon/old/browserconfig.xml new file mode 100644 index 0000000..c554148 --- /dev/null +++ b/wwwroot/assets/favicon/old/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/wwwroot/assets/favicon/old/favicon-16x16.png b/wwwroot/assets/favicon/old/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..d879e8849cee0f7545f8f5af51e957567e4b2aa0 GIT binary patch literal 1201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5l=u_i z6XFV_Z35D4yi;s^QtiA`4ZNc4eA4WE)2zLcZM;)$y;H2clWl!c4IQKGd{b?FK*~Uh zy;FdK5C$&N-Y*>?1yc+(5N-lO7HlA#YYVi+n~>o?U^jzJvqe&D=L517=r#=Jfei#X z1LzA7`~Uy{FZS#61N|Rd666O8SQNk+bDGI?>G>*!jw{nNH5h|8IkD(iaWFf|oGj*% zZMk%H88f%mS#8g)uDX*i`ZKPc#KXe0F@td;4~w45a&8uD4rZoU#&3R2Kr;OkH}&m?E%JaC$sHHXgS z|Brh#?K0kd#xnn%ECa&=1$_mT4-=T4{B+TrH{q#Ej8N^n>;CG&FMZ4e&ZJ&isq&Wn zCzIB+Q%SBXS49bmesVBB6Sd-A#99I2^i|?< zS@HSzJJg?_U25^K^+Naa4}Z*cm=zTIt+IhhjX|}7*{m7$51p{2Hgft7*5?V`|L6b-rgDVb@NxHYWOe`^TT;0CgxI6tkVJh3R1!8128 zJ=HfcJu^95!A#Fw&qCKy0cfR(u7Rnpp^-wMp_xKPNlAf~zJ7Umxn3qnH4p<;>*W`v z-)VabG>}08WMW80X>O90l}mndX>Mv>iIr6VP-!uP;qw2x_0iOT?X%W z1gMI^(A3Prz{teF)Y6{2X97?OKax4YnN_I_22M^>7TLW4N`)awg$8*tq-Ex$0==)F zn^%&PpRS*lSeBWbpI5Aph!}k{^Q2S*V>3(3l*DAil*A;nM1w?26N{AOBx92_vt&y> ZpbkBt`y3R~rvPnW@O1TaS?83{1OS^yf%yOc literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/favicon-32x32.png b/wwwroot/assets/favicon/old/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..6b3d4863b6020ed736de959e156194c8d30f4600 GIT binary patch literal 2196 zcmZ{l3pAAL8pmG-(J)Giq-|*2nY&>oW~8BUzwB`-d!OcFZZXJ=2#rx8N>h<>OX@gV z?QP4Y=ti?Ej!LB)+L)A5k*E}j>`&{gbvk>kv%dFv|Lc99-}8UoZ++idZ(c~yCWEDB zO921|z6^R8q{zk4)q!S7TG|vOT7nIM8vtlfz~|W7&{{(hw#f_B-7$Z?NOBorfdHi0 z03hEBz$~;Se+57?7JyL}0F)8{OcE><${H~>AeA( zERV_UL;8~vdL+Jd=4aD18maHg6%Aqh1pTO$R$l+@K3#VN5m;#MQSo06!~*pf;v_1O zhK0>I)`#DR&)mep!wwjJWG-Q~&kF43(=~mY^wUi{HQ>X;y>hhgx|~)Tb-*IG26m#9 z--B@1cFLQu&`d+kKfHV_a1gs^9#mMj!c~Ob=;OwFAHxIoftQpZ#La`?ICIIN%`Xf~P~MM9B`;h|Ma` z$^`v~XDj^8NfujVsiP&o5XdOogr{CzjjDC3K$ShKrd#3A_TC52z>@~{Z~1fmJ1V_< z+a!!d4bhSEnf4~10(gdH~Sgs@|3J#7+kKPh+0aI7Tu8oVp)S>iGll4ecevQRIsd|2y1~> zG|f}1(04wqP(5>tJgBjL?>|nR-kwl=v$Ej?^}cxRjGfvL7A-II`dzhLpu?}`XnPNN zaE5R7JdaAtTvBpeK%M)c-XL|E9jw)8Ec*v0(|%a>yQ)`zjh*qeK%G3PjlZmVA*0zs zA%199j6ZOl$y*)a9(3_Ry-C*H_M8;hU{G2+%SzY$g&*&?icj2H7=`1Spz1@+#X77} z!p`rGijJEzofPLOaY5yh=SytM{V%qDpdVsTO^V@Hh*5qI?P(=J=_|o`d)W_0Q{1Av zFFV?g9DgI-^lWQ*n1LK#S1)}3bL95k=%))BKmGQTKSDP=m{n&hC%pR*f1t)%9N5AO zF4XOuD680a3%_|A%I5NILfpz{d#?i@YuZ3&_=^XchloPHAvnII(xr)11)oT9Z4tm5 zK`mXlV=R{+4A#ik;}DwZpC^2X)^h)wPNj@6yOj#9tbWGzd=hZX@=m2`xht-=7_=M| zVx9Aozv}hr&kik3PQS4=&#l(`nvJ|v9r zuZWD|efev(WxLPbe)QVe(R6svu6xEV8?m{bpC8>IzrS;P__U`?pm- zLt`pixrbN3{C)f0>h>Y>P@QSF%zJJk(sR4hFQKye9m(R%JW=1e~K6QbVx zzQXzJupi~U^42?&=te(I`bpzGYYnu+2i1>!fch=jtWiET=Wu~)!y)0Xn_~=g0k=Iq6s~cc_ z!*n_qagWnzlBy;bXuelRba+M&Z%Z|KRhVi|TpQeJddZJaCUe=p!^@;B;cBO*A?`xi zxMi8`G^AqXLlZ{k6kirswzgqZU3n+Qa!XL85ii+MiLOca985CPz7%5c;D(EVvL|^f z?_?sv*0sOujP_g0(YP;03Y;B5o{_gmy){Ig^o4OQJK@#Tkc3hT=#_p;Vek!C+ESQqZDB8VZO; zCnO05a>gM;V7lnY6ef!~6be0on=IzVODU8P2$cX_&B7(j-Ed_hRq?dv1~HYEr!b>5cwo784XpSq4Rkn1w~K?;OiYk Juk&K<{tNqxkuv}Q literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/favicon-96x96.png b/wwwroot/assets/favicon/old/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec4116348784778f373e9ace8bf6d87d3226823 GIT binary patch literal 7298 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/ms-icon-310x310.png b/wwwroot/assets/favicon/old/ms-icon-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..c6623f82f51b8dea407765259e95268f9115ffb5 GIT binary patch literal 37803 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 Sj|{2;z}Udz+TXA{G5-Sg))o~2 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/old/ms-icon-70x70.png b/wwwroot/assets/favicon/old/ms-icon-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..583595a58149573f072155a4783a3be8ca0aa6f3 GIT binary patch literal 5120 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 RmP4!n(A6}&TdNL>{Vx?ZcQgP1 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/favicon/safari-pinned-tab.svg b/wwwroot/assets/favicon/safari-pinned-tab.svg new file mode 100644 index 0000000..57a4069 --- /dev/null +++ b/wwwroot/assets/favicon/safari-pinned-tab.svg @@ -0,0 +1,64 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + diff --git a/wwwroot/assets/icons/3d.svg b/wwwroot/assets/icons/3d.svg new file mode 100644 index 0000000..e9c0c38 --- /dev/null +++ b/wwwroot/assets/icons/3d.svg @@ -0,0 +1,5 @@ + + +3d + + diff --git a/wwwroot/assets/icons/4k.svg b/wwwroot/assets/icons/4k.svg new file mode 100644 index 0000000..13478bc --- /dev/null +++ b/wwwroot/assets/icons/4k.svg @@ -0,0 +1,7 @@ + + +4k + + + + diff --git a/wwwroot/assets/icons/account-logout.svg b/wwwroot/assets/icons/account-logout.svg new file mode 100644 index 0000000..6001510 --- /dev/null +++ b/wwwroot/assets/icons/account-logout.svg @@ -0,0 +1,6 @@ + + +account-logout + + + diff --git a/wwwroot/assets/icons/action-redo.svg b/wwwroot/assets/icons/action-redo.svg new file mode 100644 index 0000000..113ce67 --- /dev/null +++ b/wwwroot/assets/icons/action-redo.svg @@ -0,0 +1,6 @@ + + +action-redo + + + diff --git a/wwwroot/assets/icons/action-undo.svg b/wwwroot/assets/icons/action-undo.svg new file mode 100644 index 0000000..e960b80 --- /dev/null +++ b/wwwroot/assets/icons/action-undo.svg @@ -0,0 +1,5 @@ + + +action-undo + + diff --git a/wwwroot/assets/icons/address-book.svg b/wwwroot/assets/icons/address-book.svg new file mode 100644 index 0000000..fc5c542 --- /dev/null +++ b/wwwroot/assets/icons/address-book.svg @@ -0,0 +1,6 @@ + + +address-book + + + diff --git a/wwwroot/assets/icons/airplane-mode-off.svg b/wwwroot/assets/icons/airplane-mode-off.svg new file mode 100644 index 0000000..33756a7 --- /dev/null +++ b/wwwroot/assets/icons/airplane-mode-off.svg @@ -0,0 +1,6 @@ + + +airplane-mode-off + + + diff --git a/wwwroot/assets/icons/airplane-mode.svg b/wwwroot/assets/icons/airplane-mode.svg new file mode 100644 index 0000000..a0de98b --- /dev/null +++ b/wwwroot/assets/icons/airplane-mode.svg @@ -0,0 +1,5 @@ + + +airplane-mode + + diff --git a/wwwroot/assets/icons/airplay.svg b/wwwroot/assets/icons/airplay.svg new file mode 100644 index 0000000..f8003f6 --- /dev/null +++ b/wwwroot/assets/icons/airplay.svg @@ -0,0 +1,6 @@ + + +airplay + + + diff --git a/wwwroot/assets/icons/alarm.svg b/wwwroot/assets/icons/alarm.svg new file mode 100644 index 0000000..54c5144 --- /dev/null +++ b/wwwroot/assets/icons/alarm.svg @@ -0,0 +1,8 @@ + + +alarm + + + + + diff --git a/wwwroot/assets/icons/album.svg b/wwwroot/assets/icons/album.svg new file mode 100644 index 0000000..29a2cb5 --- /dev/null +++ b/wwwroot/assets/icons/album.svg @@ -0,0 +1,8 @@ + + +album + + + + + diff --git a/wwwroot/assets/icons/align-center.svg b/wwwroot/assets/icons/align-center.svg new file mode 100644 index 0000000..0bd25df --- /dev/null +++ b/wwwroot/assets/icons/align-center.svg @@ -0,0 +1,9 @@ + + +align-center + + + + + + diff --git a/wwwroot/assets/icons/align-left.svg b/wwwroot/assets/icons/align-left.svg new file mode 100644 index 0000000..8463e96 --- /dev/null +++ b/wwwroot/assets/icons/align-left.svg @@ -0,0 +1,9 @@ + + +align-left + + + + + + diff --git a/wwwroot/assets/icons/align-right.svg b/wwwroot/assets/icons/align-right.svg new file mode 100644 index 0000000..c33927d --- /dev/null +++ b/wwwroot/assets/icons/align-right.svg @@ -0,0 +1,9 @@ + + +align-right + + + + + + diff --git a/wwwroot/assets/icons/american-football.svg b/wwwroot/assets/icons/american-football.svg new file mode 100644 index 0000000..e73e138 --- /dev/null +++ b/wwwroot/assets/icons/american-football.svg @@ -0,0 +1,6 @@ + + +american-football + + + diff --git a/wwwroot/assets/icons/android.svg b/wwwroot/assets/icons/android.svg new file mode 100644 index 0000000..3a9ee68 --- /dev/null +++ b/wwwroot/assets/icons/android.svg @@ -0,0 +1,7 @@ + + +android + + + + diff --git a/wwwroot/assets/icons/angular.svg b/wwwroot/assets/icons/angular.svg new file mode 100644 index 0000000..006888f --- /dev/null +++ b/wwwroot/assets/icons/angular.svg @@ -0,0 +1,6 @@ + + +angular + + + diff --git a/wwwroot/assets/icons/aperture.svg b/wwwroot/assets/icons/aperture.svg new file mode 100644 index 0000000..0becef1 --- /dev/null +++ b/wwwroot/assets/icons/aperture.svg @@ -0,0 +1,11 @@ + + +aperture + + + + + + + + diff --git a/wwwroot/assets/icons/apple.svg b/wwwroot/assets/icons/apple.svg new file mode 100644 index 0000000..87ef347 --- /dev/null +++ b/wwwroot/assets/icons/apple.svg @@ -0,0 +1,5 @@ + + +apple + + diff --git a/wwwroot/assets/icons/applications-settings.svg b/wwwroot/assets/icons/applications-settings.svg new file mode 100644 index 0000000..9094881 --- /dev/null +++ b/wwwroot/assets/icons/applications-settings.svg @@ -0,0 +1,14 @@ + + +applications-settings + + + + + + + + + + + diff --git a/wwwroot/assets/icons/applications.svg b/wwwroot/assets/icons/applications.svg new file mode 100644 index 0000000..78a6234 --- /dev/null +++ b/wwwroot/assets/icons/applications.svg @@ -0,0 +1,13 @@ + + +applications + + + + + + + + + + diff --git a/wwwroot/assets/icons/arrow-bottom.svg b/wwwroot/assets/icons/arrow-bottom.svg new file mode 100644 index 0000000..2306be9 --- /dev/null +++ b/wwwroot/assets/icons/arrow-bottom.svg @@ -0,0 +1,5 @@ + + +arrow-bottom + + diff --git a/wwwroot/assets/icons/arrow-circle-bottom.svg b/wwwroot/assets/icons/arrow-circle-bottom.svg new file mode 100644 index 0000000..5aea7f5 --- /dev/null +++ b/wwwroot/assets/icons/arrow-circle-bottom.svg @@ -0,0 +1,6 @@ + + +arrow-circle-bottom + + + diff --git a/wwwroot/assets/icons/arrow-circle-left.svg b/wwwroot/assets/icons/arrow-circle-left.svg new file mode 100644 index 0000000..d7cc1c3 --- /dev/null +++ b/wwwroot/assets/icons/arrow-circle-left.svg @@ -0,0 +1,6 @@ + + +arrow-circle-left + + + diff --git a/wwwroot/assets/icons/arrow-circle-right.svg b/wwwroot/assets/icons/arrow-circle-right.svg new file mode 100644 index 0000000..8b30ca7 --- /dev/null +++ b/wwwroot/assets/icons/arrow-circle-right.svg @@ -0,0 +1,6 @@ + + +arrow-circle-right + + + diff --git a/wwwroot/assets/icons/arrow-circle-top.svg b/wwwroot/assets/icons/arrow-circle-top.svg new file mode 100644 index 0000000..e15a31a --- /dev/null +++ b/wwwroot/assets/icons/arrow-circle-top.svg @@ -0,0 +1,6 @@ + + +arrow-circle-top + + + diff --git a/wwwroot/assets/icons/arrow-left.svg b/wwwroot/assets/icons/arrow-left.svg new file mode 100644 index 0000000..300c6c8 --- /dev/null +++ b/wwwroot/assets/icons/arrow-left.svg @@ -0,0 +1,5 @@ + + +arrow-left + + diff --git a/wwwroot/assets/icons/arrow-right.svg b/wwwroot/assets/icons/arrow-right.svg new file mode 100644 index 0000000..ebfb7c6 --- /dev/null +++ b/wwwroot/assets/icons/arrow-right.svg @@ -0,0 +1,5 @@ + + +arrow-right + + diff --git a/wwwroot/assets/icons/arrow-thick-bottom.svg b/wwwroot/assets/icons/arrow-thick-bottom.svg new file mode 100644 index 0000000..deee133 --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-bottom.svg @@ -0,0 +1,5 @@ + + +arrow-thick-bottom + + diff --git a/wwwroot/assets/icons/arrow-thick-from-bottom.svg b/wwwroot/assets/icons/arrow-thick-from-bottom.svg new file mode 100644 index 0000000..b88885a --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-from-bottom.svg @@ -0,0 +1,6 @@ + + +arrow-thick-from-bottom + + + diff --git a/wwwroot/assets/icons/arrow-thick-from-left.svg b/wwwroot/assets/icons/arrow-thick-from-left.svg new file mode 100644 index 0000000..a7f188a --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-from-left.svg @@ -0,0 +1,6 @@ + + +arrow-thick-from-left + + + diff --git a/wwwroot/assets/icons/arrow-thick-from-right.svg b/wwwroot/assets/icons/arrow-thick-from-right.svg new file mode 100644 index 0000000..d27455c --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-from-right.svg @@ -0,0 +1,6 @@ + + +arrow-thick-from-right + + + diff --git a/wwwroot/assets/icons/arrow-thick-from-top.svg b/wwwroot/assets/icons/arrow-thick-from-top.svg new file mode 100644 index 0000000..24cf3a1 --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-from-top.svg @@ -0,0 +1,6 @@ + + +arrow-thick-from-top + + + diff --git a/wwwroot/assets/icons/arrow-thick-left.svg b/wwwroot/assets/icons/arrow-thick-left.svg new file mode 100644 index 0000000..c5b152a --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-left.svg @@ -0,0 +1,5 @@ + + +arrow-thick-left + + diff --git a/wwwroot/assets/icons/arrow-thick-right.svg b/wwwroot/assets/icons/arrow-thick-right.svg new file mode 100644 index 0000000..8b3b5c4 --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-right.svg @@ -0,0 +1,5 @@ + + +arrow-thick-right + + diff --git a/wwwroot/assets/icons/arrow-thick-to-bottom.svg b/wwwroot/assets/icons/arrow-thick-to-bottom.svg new file mode 100644 index 0000000..d151fc5 --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-to-bottom.svg @@ -0,0 +1,6 @@ + + +arrow-thick-to-bottom + + + diff --git a/wwwroot/assets/icons/arrow-thick-to-left.svg b/wwwroot/assets/icons/arrow-thick-to-left.svg new file mode 100644 index 0000000..fc4cd68 --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-to-left.svg @@ -0,0 +1,6 @@ + + +arrow-thick-to-left + + + diff --git a/wwwroot/assets/icons/arrow-thick-to-right.svg b/wwwroot/assets/icons/arrow-thick-to-right.svg new file mode 100644 index 0000000..570c1f4 --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-to-right.svg @@ -0,0 +1,6 @@ + + +arrow-thick-to-right + + + diff --git a/wwwroot/assets/icons/arrow-thick-to-top.svg b/wwwroot/assets/icons/arrow-thick-to-top.svg new file mode 100644 index 0000000..5228b64 --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-to-top.svg @@ -0,0 +1,6 @@ + + +arrow-thick-to-top + + + diff --git a/wwwroot/assets/icons/arrow-thick-top.svg b/wwwroot/assets/icons/arrow-thick-top.svg new file mode 100644 index 0000000..0b748a6 --- /dev/null +++ b/wwwroot/assets/icons/arrow-thick-top.svg @@ -0,0 +1,5 @@ + + +arrow-thick-top + + diff --git a/wwwroot/assets/icons/arrow-top.svg b/wwwroot/assets/icons/arrow-top.svg new file mode 100644 index 0000000..855b675 --- /dev/null +++ b/wwwroot/assets/icons/arrow-top.svg @@ -0,0 +1,5 @@ + + +arrow-top + + diff --git a/wwwroot/assets/icons/assistive-listening-system.svg b/wwwroot/assets/icons/assistive-listening-system.svg new file mode 100644 index 0000000..24983b5 --- /dev/null +++ b/wwwroot/assets/icons/assistive-listening-system.svg @@ -0,0 +1,11 @@ + + +assistive-listening-system + + + + + + + + diff --git a/wwwroot/assets/icons/asterisk-circle.svg b/wwwroot/assets/icons/asterisk-circle.svg new file mode 100644 index 0000000..3749a11 --- /dev/null +++ b/wwwroot/assets/icons/asterisk-circle.svg @@ -0,0 +1,6 @@ + + +asterisk-circle + + + diff --git a/wwwroot/assets/icons/asterisk.svg b/wwwroot/assets/icons/asterisk.svg new file mode 100644 index 0000000..78a0409 --- /dev/null +++ b/wwwroot/assets/icons/asterisk.svg @@ -0,0 +1,5 @@ + + +asterisk + + diff --git a/wwwroot/assets/icons/at.svg b/wwwroot/assets/icons/at.svg new file mode 100644 index 0000000..1b27d4a --- /dev/null +++ b/wwwroot/assets/icons/at.svg @@ -0,0 +1,5 @@ + + +at + + diff --git a/wwwroot/assets/icons/audio-description.svg b/wwwroot/assets/icons/audio-description.svg new file mode 100644 index 0000000..c2cc7a1 --- /dev/null +++ b/wwwroot/assets/icons/audio-description.svg @@ -0,0 +1,7 @@ + + +audio-description + + + + diff --git a/wwwroot/assets/icons/audio-spectrum.svg b/wwwroot/assets/icons/audio-spectrum.svg new file mode 100644 index 0000000..abcb11b --- /dev/null +++ b/wwwroot/assets/icons/audio-spectrum.svg @@ -0,0 +1,10 @@ + + +audio-spectrum + + + + + + + diff --git a/wwwroot/assets/icons/audio.svg b/wwwroot/assets/icons/audio.svg new file mode 100644 index 0000000..23f1f40 --- /dev/null +++ b/wwwroot/assets/icons/audio.svg @@ -0,0 +1,9 @@ + + +audio + + + + + + diff --git a/wwwroot/assets/icons/av-timer.svg b/wwwroot/assets/icons/av-timer.svg new file mode 100644 index 0000000..e76d979 --- /dev/null +++ b/wwwroot/assets/icons/av-timer.svg @@ -0,0 +1,8 @@ + + +av-timer + + + + + diff --git a/wwwroot/assets/icons/badge.svg b/wwwroot/assets/icons/badge.svg new file mode 100644 index 0000000..fe85ed7 --- /dev/null +++ b/wwwroot/assets/icons/badge.svg @@ -0,0 +1,6 @@ + + +badge + + + diff --git a/wwwroot/assets/icons/balance-scale.svg b/wwwroot/assets/icons/balance-scale.svg new file mode 100644 index 0000000..7d58027 --- /dev/null +++ b/wwwroot/assets/icons/balance-scale.svg @@ -0,0 +1,7 @@ + + +balance-scale + + + + diff --git a/wwwroot/assets/icons/ban.svg b/wwwroot/assets/icons/ban.svg new file mode 100644 index 0000000..af05de0 --- /dev/null +++ b/wwwroot/assets/icons/ban.svg @@ -0,0 +1,5 @@ + + +ban + + diff --git a/wwwroot/assets/icons/bank.svg b/wwwroot/assets/icons/bank.svg new file mode 100644 index 0000000..bcec2aa --- /dev/null +++ b/wwwroot/assets/icons/bank.svg @@ -0,0 +1,12 @@ + + +bank + + + + + + + + + diff --git a/wwwroot/assets/icons/bar-chart.svg b/wwwroot/assets/icons/bar-chart.svg new file mode 100644 index 0000000..fc2d8d4 --- /dev/null +++ b/wwwroot/assets/icons/bar-chart.svg @@ -0,0 +1,7 @@ + + +bar-chart + + + + diff --git a/wwwroot/assets/icons/barcode.svg b/wwwroot/assets/icons/barcode.svg new file mode 100644 index 0000000..5be67da --- /dev/null +++ b/wwwroot/assets/icons/barcode.svg @@ -0,0 +1,14 @@ + + +barcode + + + + + + + + + + + diff --git a/wwwroot/assets/icons/baseball.svg b/wwwroot/assets/icons/baseball.svg new file mode 100644 index 0000000..7d30887 --- /dev/null +++ b/wwwroot/assets/icons/baseball.svg @@ -0,0 +1,6 @@ + + +baseball + + + diff --git a/wwwroot/assets/icons/basket.svg b/wwwroot/assets/icons/basket.svg new file mode 100644 index 0000000..0682926 --- /dev/null +++ b/wwwroot/assets/icons/basket.svg @@ -0,0 +1,9 @@ + + +basket + + + + + + diff --git a/wwwroot/assets/icons/basketball.svg b/wwwroot/assets/icons/basketball.svg new file mode 100644 index 0000000..a291f39 --- /dev/null +++ b/wwwroot/assets/icons/basketball.svg @@ -0,0 +1,5 @@ + + +basketball + + diff --git a/wwwroot/assets/icons/bath.svg b/wwwroot/assets/icons/bath.svg new file mode 100644 index 0000000..526040f --- /dev/null +++ b/wwwroot/assets/icons/bath.svg @@ -0,0 +1,5 @@ + + +bath + + diff --git a/wwwroot/assets/icons/battery-0.svg b/wwwroot/assets/icons/battery-0.svg new file mode 100644 index 0000000..4e307a3 --- /dev/null +++ b/wwwroot/assets/icons/battery-0.svg @@ -0,0 +1,5 @@ + + +battery-0 + + diff --git a/wwwroot/assets/icons/battery-3.svg b/wwwroot/assets/icons/battery-3.svg new file mode 100644 index 0000000..f46f72c --- /dev/null +++ b/wwwroot/assets/icons/battery-3.svg @@ -0,0 +1,8 @@ + + +battery-3 + + + + + diff --git a/wwwroot/assets/icons/battery-5.svg b/wwwroot/assets/icons/battery-5.svg new file mode 100644 index 0000000..95fbd8f --- /dev/null +++ b/wwwroot/assets/icons/battery-5.svg @@ -0,0 +1,10 @@ + + +battery-5 + + + + + + + diff --git a/wwwroot/assets/icons/battery-alert.svg b/wwwroot/assets/icons/battery-alert.svg new file mode 100644 index 0000000..4b8e42d --- /dev/null +++ b/wwwroot/assets/icons/battery-alert.svg @@ -0,0 +1,7 @@ + + +battery-alert + + + + diff --git a/wwwroot/assets/icons/battery-slash.svg b/wwwroot/assets/icons/battery-slash.svg new file mode 100644 index 0000000..9c80d6d --- /dev/null +++ b/wwwroot/assets/icons/battery-slash.svg @@ -0,0 +1,6 @@ + + +battery-slash + + + diff --git a/wwwroot/assets/icons/beach-access.svg b/wwwroot/assets/icons/beach-access.svg new file mode 100644 index 0000000..fef527a --- /dev/null +++ b/wwwroot/assets/icons/beach-access.svg @@ -0,0 +1,5 @@ + + +beach-access + + diff --git a/wwwroot/assets/icons/beaker.svg b/wwwroot/assets/icons/beaker.svg new file mode 100644 index 0000000..cbc2b29 --- /dev/null +++ b/wwwroot/assets/icons/beaker.svg @@ -0,0 +1,5 @@ + + +beaker + + diff --git a/wwwroot/assets/icons/bed.svg b/wwwroot/assets/icons/bed.svg new file mode 100644 index 0000000..3579a13 --- /dev/null +++ b/wwwroot/assets/icons/bed.svg @@ -0,0 +1,5 @@ + + +bed + + diff --git a/wwwroot/assets/icons/bell.svg b/wwwroot/assets/icons/bell.svg new file mode 100644 index 0000000..4274db2 --- /dev/null +++ b/wwwroot/assets/icons/bell.svg @@ -0,0 +1,5 @@ + + +bell + + diff --git a/wwwroot/assets/icons/bike.svg b/wwwroot/assets/icons/bike.svg new file mode 100644 index 0000000..fe7a96d --- /dev/null +++ b/wwwroot/assets/icons/bike.svg @@ -0,0 +1,8 @@ + + +bike + + + + + diff --git a/wwwroot/assets/icons/birthday-cake.svg b/wwwroot/assets/icons/birthday-cake.svg new file mode 100644 index 0000000..25bdf9f --- /dev/null +++ b/wwwroot/assets/icons/birthday-cake.svg @@ -0,0 +1,5 @@ + + +birthday-cake + + diff --git a/wwwroot/assets/icons/blind.svg b/wwwroot/assets/icons/blind.svg new file mode 100644 index 0000000..d990503 --- /dev/null +++ b/wwwroot/assets/icons/blind.svg @@ -0,0 +1,7 @@ + + +blind + + + + diff --git a/wwwroot/assets/icons/bluetooth.svg b/wwwroot/assets/icons/bluetooth.svg new file mode 100644 index 0000000..29cb565 --- /dev/null +++ b/wwwroot/assets/icons/bluetooth.svg @@ -0,0 +1,5 @@ + + +bluetooth + + diff --git a/wwwroot/assets/icons/blur-circular.svg b/wwwroot/assets/icons/blur-circular.svg new file mode 100644 index 0000000..b0c5fae --- /dev/null +++ b/wwwroot/assets/icons/blur-circular.svg @@ -0,0 +1,17 @@ + + +blur-circular + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/blur-linear.svg b/wwwroot/assets/icons/blur-linear.svg new file mode 100644 index 0000000..c73a1e3 --- /dev/null +++ b/wwwroot/assets/icons/blur-linear.svg @@ -0,0 +1,12 @@ + + +blur-linear + + + + + + + + + diff --git a/wwwroot/assets/icons/blur.svg b/wwwroot/assets/icons/blur.svg new file mode 100644 index 0000000..f45d1b8 --- /dev/null +++ b/wwwroot/assets/icons/blur.svg @@ -0,0 +1,13 @@ + + +blur + + + + + + + + + + diff --git a/wwwroot/assets/icons/boat-alt.svg b/wwwroot/assets/icons/boat-alt.svg new file mode 100644 index 0000000..89b96c5 --- /dev/null +++ b/wwwroot/assets/icons/boat-alt.svg @@ -0,0 +1,10 @@ + + +boat-alt + + + + + + + diff --git a/wwwroot/assets/icons/bold.svg b/wwwroot/assets/icons/bold.svg new file mode 100644 index 0000000..ef18c03 --- /dev/null +++ b/wwwroot/assets/icons/bold.svg @@ -0,0 +1,6 @@ + + +bold + + + diff --git a/wwwroot/assets/icons/bolt.svg b/wwwroot/assets/icons/bolt.svg new file mode 100644 index 0000000..8e868d2 --- /dev/null +++ b/wwwroot/assets/icons/bolt.svg @@ -0,0 +1,5 @@ + + +bolt + + diff --git a/wwwroot/assets/icons/book.svg b/wwwroot/assets/icons/book.svg new file mode 100644 index 0000000..ef08f50 --- /dev/null +++ b/wwwroot/assets/icons/book.svg @@ -0,0 +1,5 @@ + + +book + + diff --git a/wwwroot/assets/icons/bookmark.svg b/wwwroot/assets/icons/bookmark.svg new file mode 100644 index 0000000..2b8cdbd --- /dev/null +++ b/wwwroot/assets/icons/bookmark.svg @@ -0,0 +1,5 @@ + + +bookmark + + diff --git a/wwwroot/assets/icons/bootstrap.svg b/wwwroot/assets/icons/bootstrap.svg new file mode 100644 index 0000000..02cff37 --- /dev/null +++ b/wwwroot/assets/icons/bootstrap.svg @@ -0,0 +1,6 @@ + + +bootstrap + + + diff --git a/wwwroot/assets/icons/border-all.svg b/wwwroot/assets/icons/border-all.svg new file mode 100644 index 0000000..2813977 --- /dev/null +++ b/wwwroot/assets/icons/border-all.svg @@ -0,0 +1,5 @@ + + +border-all + + diff --git a/wwwroot/assets/icons/border-bottom.svg b/wwwroot/assets/icons/border-bottom.svg new file mode 100644 index 0000000..ba8e643 --- /dev/null +++ b/wwwroot/assets/icons/border-bottom.svg @@ -0,0 +1,31 @@ + + +border-bottom + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/border-clear.svg b/wwwroot/assets/icons/border-clear.svg new file mode 100644 index 0000000..400d8db --- /dev/null +++ b/wwwroot/assets/icons/border-clear.svg @@ -0,0 +1,37 @@ + + +border-clear + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/border-horizontal.svg b/wwwroot/assets/icons/border-horizontal.svg new file mode 100644 index 0000000..daa8f90 --- /dev/null +++ b/wwwroot/assets/icons/border-horizontal.svg @@ -0,0 +1,31 @@ + + +border-horizontal + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/border-inner.svg b/wwwroot/assets/icons/border-inner.svg new file mode 100644 index 0000000..08b7763 --- /dev/null +++ b/wwwroot/assets/icons/border-inner.svg @@ -0,0 +1,25 @@ + + +border-inner + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/border-left.svg b/wwwroot/assets/icons/border-left.svg new file mode 100644 index 0000000..0f5dab0 --- /dev/null +++ b/wwwroot/assets/icons/border-left.svg @@ -0,0 +1,31 @@ + + +border-left + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/border-outer.svg b/wwwroot/assets/icons/border-outer.svg new file mode 100644 index 0000000..02c3398 --- /dev/null +++ b/wwwroot/assets/icons/border-outer.svg @@ -0,0 +1,14 @@ + + +border-outer + + + + + + + + + + + diff --git a/wwwroot/assets/icons/border-right.svg b/wwwroot/assets/icons/border-right.svg new file mode 100644 index 0000000..4aa8624 --- /dev/null +++ b/wwwroot/assets/icons/border-right.svg @@ -0,0 +1,31 @@ + + +border-right + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/border-style.svg b/wwwroot/assets/icons/border-style.svg new file mode 100644 index 0000000..e855e1c --- /dev/null +++ b/wwwroot/assets/icons/border-style.svg @@ -0,0 +1,16 @@ + + +border-style + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/border-top.svg b/wwwroot/assets/icons/border-top.svg new file mode 100644 index 0000000..88afb23 --- /dev/null +++ b/wwwroot/assets/icons/border-top.svg @@ -0,0 +1,31 @@ + + +border-top + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/border-vertical.svg b/wwwroot/assets/icons/border-vertical.svg new file mode 100644 index 0000000..9beef04 --- /dev/null +++ b/wwwroot/assets/icons/border-vertical.svg @@ -0,0 +1,31 @@ + + +border-vertical + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/bowling.svg b/wwwroot/assets/icons/bowling.svg new file mode 100644 index 0000000..220b43e --- /dev/null +++ b/wwwroot/assets/icons/bowling.svg @@ -0,0 +1,8 @@ + + +bowling + + + + + diff --git a/wwwroot/assets/icons/braille.svg b/wwwroot/assets/icons/braille.svg new file mode 100644 index 0000000..d6bda64 --- /dev/null +++ b/wwwroot/assets/icons/braille.svg @@ -0,0 +1,11 @@ + + +braille + + + + + + + + diff --git a/wwwroot/assets/icons/brands/500px.svg b/wwwroot/assets/icons/brands/500px.svg new file mode 100644 index 0000000..d872f24 --- /dev/null +++ b/wwwroot/assets/icons/brands/500px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/accessible-icon.svg b/wwwroot/assets/icons/brands/accessible-icon.svg new file mode 100644 index 0000000..725b902 --- /dev/null +++ b/wwwroot/assets/icons/brands/accessible-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/accusoft.svg b/wwwroot/assets/icons/brands/accusoft.svg new file mode 100644 index 0000000..7be2e62 --- /dev/null +++ b/wwwroot/assets/icons/brands/accusoft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/acquisitions-incorporated.svg b/wwwroot/assets/icons/brands/acquisitions-incorporated.svg new file mode 100644 index 0000000..459cb0e --- /dev/null +++ b/wwwroot/assets/icons/brands/acquisitions-incorporated.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/adn.svg b/wwwroot/assets/icons/brands/adn.svg new file mode 100644 index 0000000..ee28539 --- /dev/null +++ b/wwwroot/assets/icons/brands/adn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/adobe.svg b/wwwroot/assets/icons/brands/adobe.svg new file mode 100644 index 0000000..27030e6 --- /dev/null +++ b/wwwroot/assets/icons/brands/adobe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/adversal.svg b/wwwroot/assets/icons/brands/adversal.svg new file mode 100644 index 0000000..125dd50 --- /dev/null +++ b/wwwroot/assets/icons/brands/adversal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/affiliatetheme.svg b/wwwroot/assets/icons/brands/affiliatetheme.svg new file mode 100644 index 0000000..d5dd4e8 --- /dev/null +++ b/wwwroot/assets/icons/brands/affiliatetheme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/airbnb.svg b/wwwroot/assets/icons/brands/airbnb.svg new file mode 100644 index 0000000..b3ca9d6 --- /dev/null +++ b/wwwroot/assets/icons/brands/airbnb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/algolia.svg b/wwwroot/assets/icons/brands/algolia.svg new file mode 100644 index 0000000..979d7cd --- /dev/null +++ b/wwwroot/assets/icons/brands/algolia.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/alipay.svg b/wwwroot/assets/icons/brands/alipay.svg new file mode 100644 index 0000000..de341fb --- /dev/null +++ b/wwwroot/assets/icons/brands/alipay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/amazon-pay.svg b/wwwroot/assets/icons/brands/amazon-pay.svg new file mode 100644 index 0000000..76e4c4a --- /dev/null +++ b/wwwroot/assets/icons/brands/amazon-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/amazon.svg b/wwwroot/assets/icons/brands/amazon.svg new file mode 100644 index 0000000..642fdb2 --- /dev/null +++ b/wwwroot/assets/icons/brands/amazon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/amilia.svg b/wwwroot/assets/icons/brands/amilia.svg new file mode 100644 index 0000000..48c693c --- /dev/null +++ b/wwwroot/assets/icons/brands/amilia.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/android.svg b/wwwroot/assets/icons/brands/android.svg new file mode 100644 index 0000000..62de410 --- /dev/null +++ b/wwwroot/assets/icons/brands/android.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/angellist.svg b/wwwroot/assets/icons/brands/angellist.svg new file mode 100644 index 0000000..422885c --- /dev/null +++ b/wwwroot/assets/icons/brands/angellist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/angrycreative.svg b/wwwroot/assets/icons/brands/angrycreative.svg new file mode 100644 index 0000000..b262469 --- /dev/null +++ b/wwwroot/assets/icons/brands/angrycreative.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/angular.svg b/wwwroot/assets/icons/brands/angular.svg new file mode 100644 index 0000000..9948fb7 --- /dev/null +++ b/wwwroot/assets/icons/brands/angular.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/app-store-ios.svg b/wwwroot/assets/icons/brands/app-store-ios.svg new file mode 100644 index 0000000..12fc848 --- /dev/null +++ b/wwwroot/assets/icons/brands/app-store-ios.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/app-store.svg b/wwwroot/assets/icons/brands/app-store.svg new file mode 100644 index 0000000..52e04a6 --- /dev/null +++ b/wwwroot/assets/icons/brands/app-store.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/apper.svg b/wwwroot/assets/icons/brands/apper.svg new file mode 100644 index 0000000..f986f50 --- /dev/null +++ b/wwwroot/assets/icons/brands/apper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/apple-pay.svg b/wwwroot/assets/icons/brands/apple-pay.svg new file mode 100644 index 0000000..5d3145a --- /dev/null +++ b/wwwroot/assets/icons/brands/apple-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/apple.svg b/wwwroot/assets/icons/brands/apple.svg new file mode 100644 index 0000000..e24ed63 --- /dev/null +++ b/wwwroot/assets/icons/brands/apple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/artstation.svg b/wwwroot/assets/icons/brands/artstation.svg new file mode 100644 index 0000000..2c79313 --- /dev/null +++ b/wwwroot/assets/icons/brands/artstation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/asymmetrik.svg b/wwwroot/assets/icons/brands/asymmetrik.svg new file mode 100644 index 0000000..ef47296 --- /dev/null +++ b/wwwroot/assets/icons/brands/asymmetrik.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/atlassian.svg b/wwwroot/assets/icons/brands/atlassian.svg new file mode 100644 index 0000000..c07561e --- /dev/null +++ b/wwwroot/assets/icons/brands/atlassian.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/audible.svg b/wwwroot/assets/icons/brands/audible.svg new file mode 100644 index 0000000..7ee5aef --- /dev/null +++ b/wwwroot/assets/icons/brands/audible.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/autoprefixer.svg b/wwwroot/assets/icons/brands/autoprefixer.svg new file mode 100644 index 0000000..912dee1 --- /dev/null +++ b/wwwroot/assets/icons/brands/autoprefixer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/avianex.svg b/wwwroot/assets/icons/brands/avianex.svg new file mode 100644 index 0000000..4095309 --- /dev/null +++ b/wwwroot/assets/icons/brands/avianex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/aviato.svg b/wwwroot/assets/icons/brands/aviato.svg new file mode 100644 index 0000000..064e044 --- /dev/null +++ b/wwwroot/assets/icons/brands/aviato.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/aws.svg b/wwwroot/assets/icons/brands/aws.svg new file mode 100644 index 0000000..61973d3 --- /dev/null +++ b/wwwroot/assets/icons/brands/aws.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/bandcamp.svg b/wwwroot/assets/icons/brands/bandcamp.svg new file mode 100644 index 0000000..f1e1c20 --- /dev/null +++ b/wwwroot/assets/icons/brands/bandcamp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/battle-net.svg b/wwwroot/assets/icons/brands/battle-net.svg new file mode 100644 index 0000000..8ceec68 --- /dev/null +++ b/wwwroot/assets/icons/brands/battle-net.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/behance-square.svg b/wwwroot/assets/icons/brands/behance-square.svg new file mode 100644 index 0000000..2d9e08b --- /dev/null +++ b/wwwroot/assets/icons/brands/behance-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/behance.svg b/wwwroot/assets/icons/brands/behance.svg new file mode 100644 index 0000000..73e9467 --- /dev/null +++ b/wwwroot/assets/icons/brands/behance.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/bimobject.svg b/wwwroot/assets/icons/brands/bimobject.svg new file mode 100644 index 0000000..b708fde --- /dev/null +++ b/wwwroot/assets/icons/brands/bimobject.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/bitbucket.svg b/wwwroot/assets/icons/brands/bitbucket.svg new file mode 100644 index 0000000..2902d35 --- /dev/null +++ b/wwwroot/assets/icons/brands/bitbucket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/bitcoin.svg b/wwwroot/assets/icons/brands/bitcoin.svg new file mode 100644 index 0000000..9ee5f2e --- /dev/null +++ b/wwwroot/assets/icons/brands/bitcoin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/bity.svg b/wwwroot/assets/icons/brands/bity.svg new file mode 100644 index 0000000..cf6c63d --- /dev/null +++ b/wwwroot/assets/icons/brands/bity.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/black-tie.svg b/wwwroot/assets/icons/brands/black-tie.svg new file mode 100644 index 0000000..36f3eb7 --- /dev/null +++ b/wwwroot/assets/icons/brands/black-tie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/blackberry.svg b/wwwroot/assets/icons/brands/blackberry.svg new file mode 100644 index 0000000..d830886 --- /dev/null +++ b/wwwroot/assets/icons/brands/blackberry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/blogger-b.svg b/wwwroot/assets/icons/brands/blogger-b.svg new file mode 100644 index 0000000..c313b52 --- /dev/null +++ b/wwwroot/assets/icons/brands/blogger-b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/blogger.svg b/wwwroot/assets/icons/brands/blogger.svg new file mode 100644 index 0000000..7707557 --- /dev/null +++ b/wwwroot/assets/icons/brands/blogger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/bluetooth-b.svg b/wwwroot/assets/icons/brands/bluetooth-b.svg new file mode 100644 index 0000000..d6e3a5e --- /dev/null +++ b/wwwroot/assets/icons/brands/bluetooth-b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/bluetooth.svg b/wwwroot/assets/icons/brands/bluetooth.svg new file mode 100644 index 0000000..aad75a3 --- /dev/null +++ b/wwwroot/assets/icons/brands/bluetooth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/bootstrap.svg b/wwwroot/assets/icons/brands/bootstrap.svg new file mode 100644 index 0000000..35fa43c --- /dev/null +++ b/wwwroot/assets/icons/brands/bootstrap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/brands-symbol-defs.svg b/wwwroot/assets/icons/brands/brands-symbol-defs.svg new file mode 100644 index 0000000..fd308e4 --- /dev/null +++ b/wwwroot/assets/icons/brands/brands-symbol-defs.svg @@ -0,0 +1,1294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/brands/btc.svg b/wwwroot/assets/icons/brands/btc.svg new file mode 100644 index 0000000..45e6515 --- /dev/null +++ b/wwwroot/assets/icons/brands/btc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/buffer.svg b/wwwroot/assets/icons/brands/buffer.svg new file mode 100644 index 0000000..90b3bcd --- /dev/null +++ b/wwwroot/assets/icons/brands/buffer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/buromobelexperte.svg b/wwwroot/assets/icons/brands/buromobelexperte.svg new file mode 100644 index 0000000..f419c90 --- /dev/null +++ b/wwwroot/assets/icons/brands/buromobelexperte.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/buysellads.svg b/wwwroot/assets/icons/brands/buysellads.svg new file mode 100644 index 0000000..5bb292d --- /dev/null +++ b/wwwroot/assets/icons/brands/buysellads.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/canadian-maple-leaf.svg b/wwwroot/assets/icons/brands/canadian-maple-leaf.svg new file mode 100644 index 0000000..ca96f7c --- /dev/null +++ b/wwwroot/assets/icons/brands/canadian-maple-leaf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-amazon-pay.svg b/wwwroot/assets/icons/brands/cc-amazon-pay.svg new file mode 100644 index 0000000..7a98669 --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-amazon-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-amex.svg b/wwwroot/assets/icons/brands/cc-amex.svg new file mode 100644 index 0000000..7d43515 --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-amex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-apple-pay.svg b/wwwroot/assets/icons/brands/cc-apple-pay.svg new file mode 100644 index 0000000..a8a56ed --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-apple-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-diners-club.svg b/wwwroot/assets/icons/brands/cc-diners-club.svg new file mode 100644 index 0000000..7ade2bb --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-diners-club.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-discover.svg b/wwwroot/assets/icons/brands/cc-discover.svg new file mode 100644 index 0000000..2b780e4 --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-discover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-jcb.svg b/wwwroot/assets/icons/brands/cc-jcb.svg new file mode 100644 index 0000000..8671a88 --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-jcb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-mastercard.svg b/wwwroot/assets/icons/brands/cc-mastercard.svg new file mode 100644 index 0000000..af0753e --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-mastercard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-paypal.svg b/wwwroot/assets/icons/brands/cc-paypal.svg new file mode 100644 index 0000000..6ca9200 --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-paypal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-stripe.svg b/wwwroot/assets/icons/brands/cc-stripe.svg new file mode 100644 index 0000000..5cb2a8d --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-stripe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cc-visa.svg b/wwwroot/assets/icons/brands/cc-visa.svg new file mode 100644 index 0000000..b5cb29a --- /dev/null +++ b/wwwroot/assets/icons/brands/cc-visa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/centercode.svg b/wwwroot/assets/icons/brands/centercode.svg new file mode 100644 index 0000000..440b9c8 --- /dev/null +++ b/wwwroot/assets/icons/brands/centercode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/centos.svg b/wwwroot/assets/icons/brands/centos.svg new file mode 100644 index 0000000..72b5f20 --- /dev/null +++ b/wwwroot/assets/icons/brands/centos.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/chrome.svg b/wwwroot/assets/icons/brands/chrome.svg new file mode 100644 index 0000000..5ea90d9 --- /dev/null +++ b/wwwroot/assets/icons/brands/chrome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/chromecast.svg b/wwwroot/assets/icons/brands/chromecast.svg new file mode 100644 index 0000000..9857e95 --- /dev/null +++ b/wwwroot/assets/icons/brands/chromecast.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cloudscale.svg b/wwwroot/assets/icons/brands/cloudscale.svg new file mode 100644 index 0000000..9ad2a40 --- /dev/null +++ b/wwwroot/assets/icons/brands/cloudscale.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cloudsmith.svg b/wwwroot/assets/icons/brands/cloudsmith.svg new file mode 100644 index 0000000..bd2d470 --- /dev/null +++ b/wwwroot/assets/icons/brands/cloudsmith.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cloudversify.svg b/wwwroot/assets/icons/brands/cloudversify.svg new file mode 100644 index 0000000..4ed2518 --- /dev/null +++ b/wwwroot/assets/icons/brands/cloudversify.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/codepen.svg b/wwwroot/assets/icons/brands/codepen.svg new file mode 100644 index 0000000..3258537 --- /dev/null +++ b/wwwroot/assets/icons/brands/codepen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/codiepie.svg b/wwwroot/assets/icons/brands/codiepie.svg new file mode 100644 index 0000000..dc7579c --- /dev/null +++ b/wwwroot/assets/icons/brands/codiepie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/confluence.svg b/wwwroot/assets/icons/brands/confluence.svg new file mode 100644 index 0000000..ffeb923 --- /dev/null +++ b/wwwroot/assets/icons/brands/confluence.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/connectdevelop.svg b/wwwroot/assets/icons/brands/connectdevelop.svg new file mode 100644 index 0000000..8588469 --- /dev/null +++ b/wwwroot/assets/icons/brands/connectdevelop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/contao.svg b/wwwroot/assets/icons/brands/contao.svg new file mode 100644 index 0000000..a08f60a --- /dev/null +++ b/wwwroot/assets/icons/brands/contao.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cpanel.svg b/wwwroot/assets/icons/brands/cpanel.svg new file mode 100644 index 0000000..c95511c --- /dev/null +++ b/wwwroot/assets/icons/brands/cpanel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-by.svg b/wwwroot/assets/icons/brands/creative-commons-by.svg new file mode 100644 index 0000000..5432986 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-by.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-nc-eu.svg b/wwwroot/assets/icons/brands/creative-commons-nc-eu.svg new file mode 100644 index 0000000..539c7d6 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-nc-eu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-nc-jp.svg b/wwwroot/assets/icons/brands/creative-commons-nc-jp.svg new file mode 100644 index 0000000..a8d89b1 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-nc-jp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-nc.svg b/wwwroot/assets/icons/brands/creative-commons-nc.svg new file mode 100644 index 0000000..abb1577 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-nc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-nd.svg b/wwwroot/assets/icons/brands/creative-commons-nd.svg new file mode 100644 index 0000000..07b5fde --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-nd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-pd-alt.svg b/wwwroot/assets/icons/brands/creative-commons-pd-alt.svg new file mode 100644 index 0000000..d362184 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-pd-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-pd.svg b/wwwroot/assets/icons/brands/creative-commons-pd.svg new file mode 100644 index 0000000..884fbd0 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-pd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-remix.svg b/wwwroot/assets/icons/brands/creative-commons-remix.svg new file mode 100644 index 0000000..70ced89 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-remix.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-sa.svg b/wwwroot/assets/icons/brands/creative-commons-sa.svg new file mode 100644 index 0000000..c9f41f8 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-sa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-sampling-plus.svg b/wwwroot/assets/icons/brands/creative-commons-sampling-plus.svg new file mode 100644 index 0000000..c06a1cd --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-sampling-plus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-sampling.svg b/wwwroot/assets/icons/brands/creative-commons-sampling.svg new file mode 100644 index 0000000..40a20c6 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-sampling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-share.svg b/wwwroot/assets/icons/brands/creative-commons-share.svg new file mode 100644 index 0000000..afef40a --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-share.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons-zero.svg b/wwwroot/assets/icons/brands/creative-commons-zero.svg new file mode 100644 index 0000000..a67d789 --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons-zero.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/creative-commons.svg b/wwwroot/assets/icons/brands/creative-commons.svg new file mode 100644 index 0000000..e24a68f --- /dev/null +++ b/wwwroot/assets/icons/brands/creative-commons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/critical-role.svg b/wwwroot/assets/icons/brands/critical-role.svg new file mode 100644 index 0000000..d4d2ceb --- /dev/null +++ b/wwwroot/assets/icons/brands/critical-role.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/css3-alt.svg b/wwwroot/assets/icons/brands/css3-alt.svg new file mode 100644 index 0000000..544362a --- /dev/null +++ b/wwwroot/assets/icons/brands/css3-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/css3.svg b/wwwroot/assets/icons/brands/css3.svg new file mode 100644 index 0000000..5ea43ed --- /dev/null +++ b/wwwroot/assets/icons/brands/css3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/cuttlefish.svg b/wwwroot/assets/icons/brands/cuttlefish.svg new file mode 100644 index 0000000..92f20d8 --- /dev/null +++ b/wwwroot/assets/icons/brands/cuttlefish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/d-and-d-beyond.svg b/wwwroot/assets/icons/brands/d-and-d-beyond.svg new file mode 100644 index 0000000..195c6e9 --- /dev/null +++ b/wwwroot/assets/icons/brands/d-and-d-beyond.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/d-and-d.svg b/wwwroot/assets/icons/brands/d-and-d.svg new file mode 100644 index 0000000..9411ae0 --- /dev/null +++ b/wwwroot/assets/icons/brands/d-and-d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/dashcube.svg b/wwwroot/assets/icons/brands/dashcube.svg new file mode 100644 index 0000000..c31239b --- /dev/null +++ b/wwwroot/assets/icons/brands/dashcube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/delicious.svg b/wwwroot/assets/icons/brands/delicious.svg new file mode 100644 index 0000000..f207754 --- /dev/null +++ b/wwwroot/assets/icons/brands/delicious.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/deploydog.svg b/wwwroot/assets/icons/brands/deploydog.svg new file mode 100644 index 0000000..c9764e8 --- /dev/null +++ b/wwwroot/assets/icons/brands/deploydog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/deskpro.svg b/wwwroot/assets/icons/brands/deskpro.svg new file mode 100644 index 0000000..48ad269 --- /dev/null +++ b/wwwroot/assets/icons/brands/deskpro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/dev.svg b/wwwroot/assets/icons/brands/dev.svg new file mode 100644 index 0000000..399017f --- /dev/null +++ b/wwwroot/assets/icons/brands/dev.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/deviantart.svg b/wwwroot/assets/icons/brands/deviantart.svg new file mode 100644 index 0000000..017804b --- /dev/null +++ b/wwwroot/assets/icons/brands/deviantart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/dhl.svg b/wwwroot/assets/icons/brands/dhl.svg new file mode 100644 index 0000000..cc62f97 --- /dev/null +++ b/wwwroot/assets/icons/brands/dhl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/diaspora.svg b/wwwroot/assets/icons/brands/diaspora.svg new file mode 100644 index 0000000..edd3ace --- /dev/null +++ b/wwwroot/assets/icons/brands/diaspora.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/digg.svg b/wwwroot/assets/icons/brands/digg.svg new file mode 100644 index 0000000..9c580fb --- /dev/null +++ b/wwwroot/assets/icons/brands/digg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/digital-ocean.svg b/wwwroot/assets/icons/brands/digital-ocean.svg new file mode 100644 index 0000000..861def5 --- /dev/null +++ b/wwwroot/assets/icons/brands/digital-ocean.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/discord.svg b/wwwroot/assets/icons/brands/discord.svg new file mode 100644 index 0000000..650fe8f --- /dev/null +++ b/wwwroot/assets/icons/brands/discord.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/discourse.svg b/wwwroot/assets/icons/brands/discourse.svg new file mode 100644 index 0000000..8740397 --- /dev/null +++ b/wwwroot/assets/icons/brands/discourse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/dochub.svg b/wwwroot/assets/icons/brands/dochub.svg new file mode 100644 index 0000000..c336088 --- /dev/null +++ b/wwwroot/assets/icons/brands/dochub.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/docker.svg b/wwwroot/assets/icons/brands/docker.svg new file mode 100644 index 0000000..c4b1319 --- /dev/null +++ b/wwwroot/assets/icons/brands/docker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/draft2digital.svg b/wwwroot/assets/icons/brands/draft2digital.svg new file mode 100644 index 0000000..3720720 --- /dev/null +++ b/wwwroot/assets/icons/brands/draft2digital.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/dribbble-square.svg b/wwwroot/assets/icons/brands/dribbble-square.svg new file mode 100644 index 0000000..147f5ae --- /dev/null +++ b/wwwroot/assets/icons/brands/dribbble-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/dribbble.svg b/wwwroot/assets/icons/brands/dribbble.svg new file mode 100644 index 0000000..165c90a --- /dev/null +++ b/wwwroot/assets/icons/brands/dribbble.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/dropbox.svg b/wwwroot/assets/icons/brands/dropbox.svg new file mode 100644 index 0000000..cbc4787 --- /dev/null +++ b/wwwroot/assets/icons/brands/dropbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/drupal.svg b/wwwroot/assets/icons/brands/drupal.svg new file mode 100644 index 0000000..09a90ae --- /dev/null +++ b/wwwroot/assets/icons/brands/drupal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/dyalog.svg b/wwwroot/assets/icons/brands/dyalog.svg new file mode 100644 index 0000000..40a59c7 --- /dev/null +++ b/wwwroot/assets/icons/brands/dyalog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/earlybirds.svg b/wwwroot/assets/icons/brands/earlybirds.svg new file mode 100644 index 0000000..42c9f51 --- /dev/null +++ b/wwwroot/assets/icons/brands/earlybirds.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ebay.svg b/wwwroot/assets/icons/brands/ebay.svg new file mode 100644 index 0000000..fe79f93 --- /dev/null +++ b/wwwroot/assets/icons/brands/ebay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/edge.svg b/wwwroot/assets/icons/brands/edge.svg new file mode 100644 index 0000000..70548ac --- /dev/null +++ b/wwwroot/assets/icons/brands/edge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/elementor.svg b/wwwroot/assets/icons/brands/elementor.svg new file mode 100644 index 0000000..da05021 --- /dev/null +++ b/wwwroot/assets/icons/brands/elementor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ello.svg b/wwwroot/assets/icons/brands/ello.svg new file mode 100644 index 0000000..4cc8b07 --- /dev/null +++ b/wwwroot/assets/icons/brands/ello.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ember.svg b/wwwroot/assets/icons/brands/ember.svg new file mode 100644 index 0000000..69b7176 --- /dev/null +++ b/wwwroot/assets/icons/brands/ember.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/empire.svg b/wwwroot/assets/icons/brands/empire.svg new file mode 100644 index 0000000..b000c8e --- /dev/null +++ b/wwwroot/assets/icons/brands/empire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/envira.svg b/wwwroot/assets/icons/brands/envira.svg new file mode 100644 index 0000000..92aee14 --- /dev/null +++ b/wwwroot/assets/icons/brands/envira.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/erlang.svg b/wwwroot/assets/icons/brands/erlang.svg new file mode 100644 index 0000000..01e29ac --- /dev/null +++ b/wwwroot/assets/icons/brands/erlang.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ethereum.svg b/wwwroot/assets/icons/brands/ethereum.svg new file mode 100644 index 0000000..fce0031 --- /dev/null +++ b/wwwroot/assets/icons/brands/ethereum.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/etsy.svg b/wwwroot/assets/icons/brands/etsy.svg new file mode 100644 index 0000000..1dc3634 --- /dev/null +++ b/wwwroot/assets/icons/brands/etsy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/evernote.svg b/wwwroot/assets/icons/brands/evernote.svg new file mode 100644 index 0000000..f5834ee --- /dev/null +++ b/wwwroot/assets/icons/brands/evernote.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/expeditedssl.svg b/wwwroot/assets/icons/brands/expeditedssl.svg new file mode 100644 index 0000000..a5c2936 --- /dev/null +++ b/wwwroot/assets/icons/brands/expeditedssl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/facebook-f.svg b/wwwroot/assets/icons/brands/facebook-f.svg new file mode 100644 index 0000000..40d4f1c --- /dev/null +++ b/wwwroot/assets/icons/brands/facebook-f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/facebook-messenger.svg b/wwwroot/assets/icons/brands/facebook-messenger.svg new file mode 100644 index 0000000..b1cefea --- /dev/null +++ b/wwwroot/assets/icons/brands/facebook-messenger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/facebook-square.svg b/wwwroot/assets/icons/brands/facebook-square.svg new file mode 100644 index 0000000..dc9b9d8 --- /dev/null +++ b/wwwroot/assets/icons/brands/facebook-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/facebook.svg b/wwwroot/assets/icons/brands/facebook.svg new file mode 100644 index 0000000..6e23a94 --- /dev/null +++ b/wwwroot/assets/icons/brands/facebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/fantasy-flight-games.svg b/wwwroot/assets/icons/brands/fantasy-flight-games.svg new file mode 100644 index 0000000..f4c4275 --- /dev/null +++ b/wwwroot/assets/icons/brands/fantasy-flight-games.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/fedex.svg b/wwwroot/assets/icons/brands/fedex.svg new file mode 100644 index 0000000..bcea5e5 --- /dev/null +++ b/wwwroot/assets/icons/brands/fedex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/fedora.svg b/wwwroot/assets/icons/brands/fedora.svg new file mode 100644 index 0000000..b62726f --- /dev/null +++ b/wwwroot/assets/icons/brands/fedora.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/figma.svg b/wwwroot/assets/icons/brands/figma.svg new file mode 100644 index 0000000..8c2f960 --- /dev/null +++ b/wwwroot/assets/icons/brands/figma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/firefox.svg b/wwwroot/assets/icons/brands/firefox.svg new file mode 100644 index 0000000..a011198 --- /dev/null +++ b/wwwroot/assets/icons/brands/firefox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/first-order-alt.svg b/wwwroot/assets/icons/brands/first-order-alt.svg new file mode 100644 index 0000000..86853ce --- /dev/null +++ b/wwwroot/assets/icons/brands/first-order-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/first-order.svg b/wwwroot/assets/icons/brands/first-order.svg new file mode 100644 index 0000000..527e4a5 --- /dev/null +++ b/wwwroot/assets/icons/brands/first-order.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/firstdraft.svg b/wwwroot/assets/icons/brands/firstdraft.svg new file mode 100644 index 0000000..c2bcd31 --- /dev/null +++ b/wwwroot/assets/icons/brands/firstdraft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/flickr.svg b/wwwroot/assets/icons/brands/flickr.svg new file mode 100644 index 0000000..15dcfc6 --- /dev/null +++ b/wwwroot/assets/icons/brands/flickr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/flipboard.svg b/wwwroot/assets/icons/brands/flipboard.svg new file mode 100644 index 0000000..866f82f --- /dev/null +++ b/wwwroot/assets/icons/brands/flipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/fly.svg b/wwwroot/assets/icons/brands/fly.svg new file mode 100644 index 0000000..69ee5c7 --- /dev/null +++ b/wwwroot/assets/icons/brands/fly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/font-awesome-alt.svg b/wwwroot/assets/icons/brands/font-awesome-alt.svg new file mode 100644 index 0000000..f80146a --- /dev/null +++ b/wwwroot/assets/icons/brands/font-awesome-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/font-awesome-flag.svg b/wwwroot/assets/icons/brands/font-awesome-flag.svg new file mode 100644 index 0000000..9f0b7a4 --- /dev/null +++ b/wwwroot/assets/icons/brands/font-awesome-flag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/font-awesome-logo-full.svg b/wwwroot/assets/icons/brands/font-awesome-logo-full.svg new file mode 100644 index 0000000..06b75a4 --- /dev/null +++ b/wwwroot/assets/icons/brands/font-awesome-logo-full.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/font-awesome.svg b/wwwroot/assets/icons/brands/font-awesome.svg new file mode 100644 index 0000000..8c1d445 --- /dev/null +++ b/wwwroot/assets/icons/brands/font-awesome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/fonticons-fi.svg b/wwwroot/assets/icons/brands/fonticons-fi.svg new file mode 100644 index 0000000..e654422 --- /dev/null +++ b/wwwroot/assets/icons/brands/fonticons-fi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/fonticons.svg b/wwwroot/assets/icons/brands/fonticons.svg new file mode 100644 index 0000000..b9e2de5 --- /dev/null +++ b/wwwroot/assets/icons/brands/fonticons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/fort-awesome-alt.svg b/wwwroot/assets/icons/brands/fort-awesome-alt.svg new file mode 100644 index 0000000..bc6d0c2 --- /dev/null +++ b/wwwroot/assets/icons/brands/fort-awesome-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/fort-awesome.svg b/wwwroot/assets/icons/brands/fort-awesome.svg new file mode 100644 index 0000000..a763d43 --- /dev/null +++ b/wwwroot/assets/icons/brands/fort-awesome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/forumbee.svg b/wwwroot/assets/icons/brands/forumbee.svg new file mode 100644 index 0000000..d31d641 --- /dev/null +++ b/wwwroot/assets/icons/brands/forumbee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/foursquare.svg b/wwwroot/assets/icons/brands/foursquare.svg new file mode 100644 index 0000000..130fa9b --- /dev/null +++ b/wwwroot/assets/icons/brands/foursquare.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/free-code-camp.svg b/wwwroot/assets/icons/brands/free-code-camp.svg new file mode 100644 index 0000000..be4d13b --- /dev/null +++ b/wwwroot/assets/icons/brands/free-code-camp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/freebsd.svg b/wwwroot/assets/icons/brands/freebsd.svg new file mode 100644 index 0000000..98c790f --- /dev/null +++ b/wwwroot/assets/icons/brands/freebsd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/fulcrum.svg b/wwwroot/assets/icons/brands/fulcrum.svg new file mode 100644 index 0000000..adf033c --- /dev/null +++ b/wwwroot/assets/icons/brands/fulcrum.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/galactic-republic.svg b/wwwroot/assets/icons/brands/galactic-republic.svg new file mode 100644 index 0000000..8b91f99 --- /dev/null +++ b/wwwroot/assets/icons/brands/galactic-republic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/galactic-senate.svg b/wwwroot/assets/icons/brands/galactic-senate.svg new file mode 100644 index 0000000..7ee63c1 --- /dev/null +++ b/wwwroot/assets/icons/brands/galactic-senate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/get-pocket.svg b/wwwroot/assets/icons/brands/get-pocket.svg new file mode 100644 index 0000000..f604608 --- /dev/null +++ b/wwwroot/assets/icons/brands/get-pocket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/gg-circle.svg b/wwwroot/assets/icons/brands/gg-circle.svg new file mode 100644 index 0000000..7ff26dd --- /dev/null +++ b/wwwroot/assets/icons/brands/gg-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/gg.svg b/wwwroot/assets/icons/brands/gg.svg new file mode 100644 index 0000000..cace496 --- /dev/null +++ b/wwwroot/assets/icons/brands/gg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/git-alt.svg b/wwwroot/assets/icons/brands/git-alt.svg new file mode 100644 index 0000000..62194af --- /dev/null +++ b/wwwroot/assets/icons/brands/git-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/git-square.svg b/wwwroot/assets/icons/brands/git-square.svg new file mode 100644 index 0000000..f58e30b --- /dev/null +++ b/wwwroot/assets/icons/brands/git-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/git.svg b/wwwroot/assets/icons/brands/git.svg new file mode 100644 index 0000000..40571b1 --- /dev/null +++ b/wwwroot/assets/icons/brands/git.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/github-alt.svg b/wwwroot/assets/icons/brands/github-alt.svg new file mode 100644 index 0000000..43d2da5 --- /dev/null +++ b/wwwroot/assets/icons/brands/github-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/github-square.svg b/wwwroot/assets/icons/brands/github-square.svg new file mode 100644 index 0000000..a235d2f --- /dev/null +++ b/wwwroot/assets/icons/brands/github-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/github.svg b/wwwroot/assets/icons/brands/github.svg new file mode 100644 index 0000000..53bd7b2 --- /dev/null +++ b/wwwroot/assets/icons/brands/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/gitkraken.svg b/wwwroot/assets/icons/brands/gitkraken.svg new file mode 100644 index 0000000..a3bc20f --- /dev/null +++ b/wwwroot/assets/icons/brands/gitkraken.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/gitlab.svg b/wwwroot/assets/icons/brands/gitlab.svg new file mode 100644 index 0000000..ae4efce --- /dev/null +++ b/wwwroot/assets/icons/brands/gitlab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/gitter.svg b/wwwroot/assets/icons/brands/gitter.svg new file mode 100644 index 0000000..6aaafd9 --- /dev/null +++ b/wwwroot/assets/icons/brands/gitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/glide-g.svg b/wwwroot/assets/icons/brands/glide-g.svg new file mode 100644 index 0000000..7517405 --- /dev/null +++ b/wwwroot/assets/icons/brands/glide-g.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/glide.svg b/wwwroot/assets/icons/brands/glide.svg new file mode 100644 index 0000000..0fbdca4 --- /dev/null +++ b/wwwroot/assets/icons/brands/glide.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/gofore.svg b/wwwroot/assets/icons/brands/gofore.svg new file mode 100644 index 0000000..792de75 --- /dev/null +++ b/wwwroot/assets/icons/brands/gofore.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/goodreads-g.svg b/wwwroot/assets/icons/brands/goodreads-g.svg new file mode 100644 index 0000000..b355466 --- /dev/null +++ b/wwwroot/assets/icons/brands/goodreads-g.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/goodreads.svg b/wwwroot/assets/icons/brands/goodreads.svg new file mode 100644 index 0000000..040163a --- /dev/null +++ b/wwwroot/assets/icons/brands/goodreads.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/google-drive.svg b/wwwroot/assets/icons/brands/google-drive.svg new file mode 100644 index 0000000..cd8dd52 --- /dev/null +++ b/wwwroot/assets/icons/brands/google-drive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/google-play.svg b/wwwroot/assets/icons/brands/google-play.svg new file mode 100644 index 0000000..82cffd5 --- /dev/null +++ b/wwwroot/assets/icons/brands/google-play.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/google-plus-g.svg b/wwwroot/assets/icons/brands/google-plus-g.svg new file mode 100644 index 0000000..c4587db --- /dev/null +++ b/wwwroot/assets/icons/brands/google-plus-g.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/google-plus-square.svg b/wwwroot/assets/icons/brands/google-plus-square.svg new file mode 100644 index 0000000..f18979c --- /dev/null +++ b/wwwroot/assets/icons/brands/google-plus-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/google-plus.svg b/wwwroot/assets/icons/brands/google-plus.svg new file mode 100644 index 0000000..46e143e --- /dev/null +++ b/wwwroot/assets/icons/brands/google-plus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/google-wallet.svg b/wwwroot/assets/icons/brands/google-wallet.svg new file mode 100644 index 0000000..009afb6 --- /dev/null +++ b/wwwroot/assets/icons/brands/google-wallet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/google.svg b/wwwroot/assets/icons/brands/google.svg new file mode 100644 index 0000000..014b5ce --- /dev/null +++ b/wwwroot/assets/icons/brands/google.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/gratipay.svg b/wwwroot/assets/icons/brands/gratipay.svg new file mode 100644 index 0000000..a35d8b1 --- /dev/null +++ b/wwwroot/assets/icons/brands/gratipay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/grav.svg b/wwwroot/assets/icons/brands/grav.svg new file mode 100644 index 0000000..e12bbf5 --- /dev/null +++ b/wwwroot/assets/icons/brands/grav.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/gripfire.svg b/wwwroot/assets/icons/brands/gripfire.svg new file mode 100644 index 0000000..561aa2d --- /dev/null +++ b/wwwroot/assets/icons/brands/gripfire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/grunt.svg b/wwwroot/assets/icons/brands/grunt.svg new file mode 100644 index 0000000..a36fab8 --- /dev/null +++ b/wwwroot/assets/icons/brands/grunt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/gulp.svg b/wwwroot/assets/icons/brands/gulp.svg new file mode 100644 index 0000000..0bb37a2 --- /dev/null +++ b/wwwroot/assets/icons/brands/gulp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/hacker-news-square.svg b/wwwroot/assets/icons/brands/hacker-news-square.svg new file mode 100644 index 0000000..1bb8cab --- /dev/null +++ b/wwwroot/assets/icons/brands/hacker-news-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/hacker-news.svg b/wwwroot/assets/icons/brands/hacker-news.svg new file mode 100644 index 0000000..0de37e6 --- /dev/null +++ b/wwwroot/assets/icons/brands/hacker-news.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/hackerrank.svg b/wwwroot/assets/icons/brands/hackerrank.svg new file mode 100644 index 0000000..d2a44d1 --- /dev/null +++ b/wwwroot/assets/icons/brands/hackerrank.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/hips.svg b/wwwroot/assets/icons/brands/hips.svg new file mode 100644 index 0000000..7eb9cdf --- /dev/null +++ b/wwwroot/assets/icons/brands/hips.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/hire-a-helper.svg b/wwwroot/assets/icons/brands/hire-a-helper.svg new file mode 100644 index 0000000..5fdb39d --- /dev/null +++ b/wwwroot/assets/icons/brands/hire-a-helper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/hooli.svg b/wwwroot/assets/icons/brands/hooli.svg new file mode 100644 index 0000000..e4cf929 --- /dev/null +++ b/wwwroot/assets/icons/brands/hooli.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/hornbill.svg b/wwwroot/assets/icons/brands/hornbill.svg new file mode 100644 index 0000000..ce9375d --- /dev/null +++ b/wwwroot/assets/icons/brands/hornbill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/hotjar.svg b/wwwroot/assets/icons/brands/hotjar.svg new file mode 100644 index 0000000..7e47729 --- /dev/null +++ b/wwwroot/assets/icons/brands/hotjar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/houzz.svg b/wwwroot/assets/icons/brands/houzz.svg new file mode 100644 index 0000000..1ad90a2 --- /dev/null +++ b/wwwroot/assets/icons/brands/houzz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/html5.svg b/wwwroot/assets/icons/brands/html5.svg new file mode 100644 index 0000000..a06827d --- /dev/null +++ b/wwwroot/assets/icons/brands/html5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/hubspot.svg b/wwwroot/assets/icons/brands/hubspot.svg new file mode 100644 index 0000000..03f8f4e --- /dev/null +++ b/wwwroot/assets/icons/brands/hubspot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/imdb.svg b/wwwroot/assets/icons/brands/imdb.svg new file mode 100644 index 0000000..a4d5eb5 --- /dev/null +++ b/wwwroot/assets/icons/brands/imdb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/instagram.svg b/wwwroot/assets/icons/brands/instagram.svg new file mode 100644 index 0000000..89c89b7 --- /dev/null +++ b/wwwroot/assets/icons/brands/instagram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/intercom.svg b/wwwroot/assets/icons/brands/intercom.svg new file mode 100644 index 0000000..a36742b --- /dev/null +++ b/wwwroot/assets/icons/brands/intercom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/internet-explorer.svg b/wwwroot/assets/icons/brands/internet-explorer.svg new file mode 100644 index 0000000..36173c0 --- /dev/null +++ b/wwwroot/assets/icons/brands/internet-explorer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/invision.svg b/wwwroot/assets/icons/brands/invision.svg new file mode 100644 index 0000000..3af871b --- /dev/null +++ b/wwwroot/assets/icons/brands/invision.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ioxhost.svg b/wwwroot/assets/icons/brands/ioxhost.svg new file mode 100644 index 0000000..64f31af --- /dev/null +++ b/wwwroot/assets/icons/brands/ioxhost.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/itch-io.svg b/wwwroot/assets/icons/brands/itch-io.svg new file mode 100644 index 0000000..c87fb70 --- /dev/null +++ b/wwwroot/assets/icons/brands/itch-io.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/itunes-note.svg b/wwwroot/assets/icons/brands/itunes-note.svg new file mode 100644 index 0000000..bb46e70 --- /dev/null +++ b/wwwroot/assets/icons/brands/itunes-note.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/itunes.svg b/wwwroot/assets/icons/brands/itunes.svg new file mode 100644 index 0000000..32736ae --- /dev/null +++ b/wwwroot/assets/icons/brands/itunes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/java.svg b/wwwroot/assets/icons/brands/java.svg new file mode 100644 index 0000000..15fc4dd --- /dev/null +++ b/wwwroot/assets/icons/brands/java.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/jedi-order.svg b/wwwroot/assets/icons/brands/jedi-order.svg new file mode 100644 index 0000000..990461a --- /dev/null +++ b/wwwroot/assets/icons/brands/jedi-order.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/jenkins.svg b/wwwroot/assets/icons/brands/jenkins.svg new file mode 100644 index 0000000..4c2251f --- /dev/null +++ b/wwwroot/assets/icons/brands/jenkins.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/jira.svg b/wwwroot/assets/icons/brands/jira.svg new file mode 100644 index 0000000..467d3f6 --- /dev/null +++ b/wwwroot/assets/icons/brands/jira.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/joget.svg b/wwwroot/assets/icons/brands/joget.svg new file mode 100644 index 0000000..1007ec6 --- /dev/null +++ b/wwwroot/assets/icons/brands/joget.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/joomla.svg b/wwwroot/assets/icons/brands/joomla.svg new file mode 100644 index 0000000..a565430 --- /dev/null +++ b/wwwroot/assets/icons/brands/joomla.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/js-square.svg b/wwwroot/assets/icons/brands/js-square.svg new file mode 100644 index 0000000..389af1c --- /dev/null +++ b/wwwroot/assets/icons/brands/js-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/js.svg b/wwwroot/assets/icons/brands/js.svg new file mode 100644 index 0000000..1bf21b8 --- /dev/null +++ b/wwwroot/assets/icons/brands/js.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/jsfiddle.svg b/wwwroot/assets/icons/brands/jsfiddle.svg new file mode 100644 index 0000000..2fb27ee --- /dev/null +++ b/wwwroot/assets/icons/brands/jsfiddle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/kaggle.svg b/wwwroot/assets/icons/brands/kaggle.svg new file mode 100644 index 0000000..b93394a --- /dev/null +++ b/wwwroot/assets/icons/brands/kaggle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/keybase.svg b/wwwroot/assets/icons/brands/keybase.svg new file mode 100644 index 0000000..aeedb48 --- /dev/null +++ b/wwwroot/assets/icons/brands/keybase.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/keycdn.svg b/wwwroot/assets/icons/brands/keycdn.svg new file mode 100644 index 0000000..da19aee --- /dev/null +++ b/wwwroot/assets/icons/brands/keycdn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/kickstarter-k.svg b/wwwroot/assets/icons/brands/kickstarter-k.svg new file mode 100644 index 0000000..4ad8ad2 --- /dev/null +++ b/wwwroot/assets/icons/brands/kickstarter-k.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/kickstarter.svg b/wwwroot/assets/icons/brands/kickstarter.svg new file mode 100644 index 0000000..c765b1b --- /dev/null +++ b/wwwroot/assets/icons/brands/kickstarter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/korvue.svg b/wwwroot/assets/icons/brands/korvue.svg new file mode 100644 index 0000000..c9c44a8 --- /dev/null +++ b/wwwroot/assets/icons/brands/korvue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/laravel.svg b/wwwroot/assets/icons/brands/laravel.svg new file mode 100644 index 0000000..4c7a74c --- /dev/null +++ b/wwwroot/assets/icons/brands/laravel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/lastfm-square.svg b/wwwroot/assets/icons/brands/lastfm-square.svg new file mode 100644 index 0000000..e9febdb --- /dev/null +++ b/wwwroot/assets/icons/brands/lastfm-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/lastfm.svg b/wwwroot/assets/icons/brands/lastfm.svg new file mode 100644 index 0000000..7508067 --- /dev/null +++ b/wwwroot/assets/icons/brands/lastfm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/leanpub.svg b/wwwroot/assets/icons/brands/leanpub.svg new file mode 100644 index 0000000..994eca3 --- /dev/null +++ b/wwwroot/assets/icons/brands/leanpub.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/less.svg b/wwwroot/assets/icons/brands/less.svg new file mode 100644 index 0000000..12a0ae2 --- /dev/null +++ b/wwwroot/assets/icons/brands/less.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/line.svg b/wwwroot/assets/icons/brands/line.svg new file mode 100644 index 0000000..866abd8 --- /dev/null +++ b/wwwroot/assets/icons/brands/line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/linkedin-in.svg b/wwwroot/assets/icons/brands/linkedin-in.svg new file mode 100644 index 0000000..b65c89f --- /dev/null +++ b/wwwroot/assets/icons/brands/linkedin-in.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/linkedin.svg b/wwwroot/assets/icons/brands/linkedin.svg new file mode 100644 index 0000000..69d8e97 --- /dev/null +++ b/wwwroot/assets/icons/brands/linkedin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/linode.svg b/wwwroot/assets/icons/brands/linode.svg new file mode 100644 index 0000000..502bdf7 --- /dev/null +++ b/wwwroot/assets/icons/brands/linode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/linux.svg b/wwwroot/assets/icons/brands/linux.svg new file mode 100644 index 0000000..ca9b9a8 --- /dev/null +++ b/wwwroot/assets/icons/brands/linux.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/lyft.svg b/wwwroot/assets/icons/brands/lyft.svg new file mode 100644 index 0000000..4283ec5 --- /dev/null +++ b/wwwroot/assets/icons/brands/lyft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/magento.svg b/wwwroot/assets/icons/brands/magento.svg new file mode 100644 index 0000000..bdf6488 --- /dev/null +++ b/wwwroot/assets/icons/brands/magento.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/mailchimp.svg b/wwwroot/assets/icons/brands/mailchimp.svg new file mode 100644 index 0000000..8dff9bf --- /dev/null +++ b/wwwroot/assets/icons/brands/mailchimp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/mandalorian.svg b/wwwroot/assets/icons/brands/mandalorian.svg new file mode 100644 index 0000000..3ed7516 --- /dev/null +++ b/wwwroot/assets/icons/brands/mandalorian.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/markdown.svg b/wwwroot/assets/icons/brands/markdown.svg new file mode 100644 index 0000000..843d480 --- /dev/null +++ b/wwwroot/assets/icons/brands/markdown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/mastodon.svg b/wwwroot/assets/icons/brands/mastodon.svg new file mode 100644 index 0000000..bb7c428 --- /dev/null +++ b/wwwroot/assets/icons/brands/mastodon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/maxcdn.svg b/wwwroot/assets/icons/brands/maxcdn.svg new file mode 100644 index 0000000..4f4b85d --- /dev/null +++ b/wwwroot/assets/icons/brands/maxcdn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/medapps.svg b/wwwroot/assets/icons/brands/medapps.svg new file mode 100644 index 0000000..bb1a667 --- /dev/null +++ b/wwwroot/assets/icons/brands/medapps.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/medium-m.svg b/wwwroot/assets/icons/brands/medium-m.svg new file mode 100644 index 0000000..8305fda --- /dev/null +++ b/wwwroot/assets/icons/brands/medium-m.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/medium.svg b/wwwroot/assets/icons/brands/medium.svg new file mode 100644 index 0000000..f370e1e --- /dev/null +++ b/wwwroot/assets/icons/brands/medium.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/medrt.svg b/wwwroot/assets/icons/brands/medrt.svg new file mode 100644 index 0000000..3775944 --- /dev/null +++ b/wwwroot/assets/icons/brands/medrt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/meetup.svg b/wwwroot/assets/icons/brands/meetup.svg new file mode 100644 index 0000000..d387c4b --- /dev/null +++ b/wwwroot/assets/icons/brands/meetup.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/megaport.svg b/wwwroot/assets/icons/brands/megaport.svg new file mode 100644 index 0000000..17faf7c --- /dev/null +++ b/wwwroot/assets/icons/brands/megaport.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/mendeley.svg b/wwwroot/assets/icons/brands/mendeley.svg new file mode 100644 index 0000000..c0f76a8 --- /dev/null +++ b/wwwroot/assets/icons/brands/mendeley.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/microsoft.svg b/wwwroot/assets/icons/brands/microsoft.svg new file mode 100644 index 0000000..ed89895 --- /dev/null +++ b/wwwroot/assets/icons/brands/microsoft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/mix.svg b/wwwroot/assets/icons/brands/mix.svg new file mode 100644 index 0000000..d131e23 --- /dev/null +++ b/wwwroot/assets/icons/brands/mix.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/mixcloud.svg b/wwwroot/assets/icons/brands/mixcloud.svg new file mode 100644 index 0000000..094239b --- /dev/null +++ b/wwwroot/assets/icons/brands/mixcloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/mizuni.svg b/wwwroot/assets/icons/brands/mizuni.svg new file mode 100644 index 0000000..8cb8d91 --- /dev/null +++ b/wwwroot/assets/icons/brands/mizuni.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/modx.svg b/wwwroot/assets/icons/brands/modx.svg new file mode 100644 index 0000000..9cbc71f --- /dev/null +++ b/wwwroot/assets/icons/brands/modx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/monero.svg b/wwwroot/assets/icons/brands/monero.svg new file mode 100644 index 0000000..c4892b6 --- /dev/null +++ b/wwwroot/assets/icons/brands/monero.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/napster.svg b/wwwroot/assets/icons/brands/napster.svg new file mode 100644 index 0000000..866e31d --- /dev/null +++ b/wwwroot/assets/icons/brands/napster.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/neos.svg b/wwwroot/assets/icons/brands/neos.svg new file mode 100644 index 0000000..2bece21 --- /dev/null +++ b/wwwroot/assets/icons/brands/neos.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/nimblr.svg b/wwwroot/assets/icons/brands/nimblr.svg new file mode 100644 index 0000000..add60b0 --- /dev/null +++ b/wwwroot/assets/icons/brands/nimblr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/node-js.svg b/wwwroot/assets/icons/brands/node-js.svg new file mode 100644 index 0000000..c73f1a6 --- /dev/null +++ b/wwwroot/assets/icons/brands/node-js.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/node.svg b/wwwroot/assets/icons/brands/node.svg new file mode 100644 index 0000000..3bdb5ea --- /dev/null +++ b/wwwroot/assets/icons/brands/node.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/npm.svg b/wwwroot/assets/icons/brands/npm.svg new file mode 100644 index 0000000..ad643c3 --- /dev/null +++ b/wwwroot/assets/icons/brands/npm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ns8.svg b/wwwroot/assets/icons/brands/ns8.svg new file mode 100644 index 0000000..1f5e2fc --- /dev/null +++ b/wwwroot/assets/icons/brands/ns8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/nutritionix.svg b/wwwroot/assets/icons/brands/nutritionix.svg new file mode 100644 index 0000000..19eb0e0 --- /dev/null +++ b/wwwroot/assets/icons/brands/nutritionix.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/odnoklassniki-square.svg b/wwwroot/assets/icons/brands/odnoklassniki-square.svg new file mode 100644 index 0000000..e2793a9 --- /dev/null +++ b/wwwroot/assets/icons/brands/odnoklassniki-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/odnoklassniki.svg b/wwwroot/assets/icons/brands/odnoklassniki.svg new file mode 100644 index 0000000..f426fd3 --- /dev/null +++ b/wwwroot/assets/icons/brands/odnoklassniki.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/old-republic.svg b/wwwroot/assets/icons/brands/old-republic.svg new file mode 100644 index 0000000..8b62644 --- /dev/null +++ b/wwwroot/assets/icons/brands/old-republic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/opencart.svg b/wwwroot/assets/icons/brands/opencart.svg new file mode 100644 index 0000000..2f1498a --- /dev/null +++ b/wwwroot/assets/icons/brands/opencart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/openid.svg b/wwwroot/assets/icons/brands/openid.svg new file mode 100644 index 0000000..d36573e --- /dev/null +++ b/wwwroot/assets/icons/brands/openid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/opera.svg b/wwwroot/assets/icons/brands/opera.svg new file mode 100644 index 0000000..4fd8cb9 --- /dev/null +++ b/wwwroot/assets/icons/brands/opera.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/optin-monster.svg b/wwwroot/assets/icons/brands/optin-monster.svg new file mode 100644 index 0000000..cbf7049 --- /dev/null +++ b/wwwroot/assets/icons/brands/optin-monster.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/osi.svg b/wwwroot/assets/icons/brands/osi.svg new file mode 100644 index 0000000..f362cfd --- /dev/null +++ b/wwwroot/assets/icons/brands/osi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/page4.svg b/wwwroot/assets/icons/brands/page4.svg new file mode 100644 index 0000000..e0eda5d --- /dev/null +++ b/wwwroot/assets/icons/brands/page4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/pagelines.svg b/wwwroot/assets/icons/brands/pagelines.svg new file mode 100644 index 0000000..6722988 --- /dev/null +++ b/wwwroot/assets/icons/brands/pagelines.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/palfed.svg b/wwwroot/assets/icons/brands/palfed.svg new file mode 100644 index 0000000..5c8a4b2 --- /dev/null +++ b/wwwroot/assets/icons/brands/palfed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/patreon.svg b/wwwroot/assets/icons/brands/patreon.svg new file mode 100644 index 0000000..1990957 --- /dev/null +++ b/wwwroot/assets/icons/brands/patreon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/paypal.svg b/wwwroot/assets/icons/brands/paypal.svg new file mode 100644 index 0000000..ecf00b6 --- /dev/null +++ b/wwwroot/assets/icons/brands/paypal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/penny-arcade.svg b/wwwroot/assets/icons/brands/penny-arcade.svg new file mode 100644 index 0000000..77dea23 --- /dev/null +++ b/wwwroot/assets/icons/brands/penny-arcade.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/periscope.svg b/wwwroot/assets/icons/brands/periscope.svg new file mode 100644 index 0000000..9f46704 --- /dev/null +++ b/wwwroot/assets/icons/brands/periscope.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/phabricator.svg b/wwwroot/assets/icons/brands/phabricator.svg new file mode 100644 index 0000000..c518847 --- /dev/null +++ b/wwwroot/assets/icons/brands/phabricator.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/phoenix-framework.svg b/wwwroot/assets/icons/brands/phoenix-framework.svg new file mode 100644 index 0000000..4542fc2 --- /dev/null +++ b/wwwroot/assets/icons/brands/phoenix-framework.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/phoenix-squadron.svg b/wwwroot/assets/icons/brands/phoenix-squadron.svg new file mode 100644 index 0000000..961adc4 --- /dev/null +++ b/wwwroot/assets/icons/brands/phoenix-squadron.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/php.svg b/wwwroot/assets/icons/brands/php.svg new file mode 100644 index 0000000..c2d86d4 --- /dev/null +++ b/wwwroot/assets/icons/brands/php.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/pied-piper-alt.svg b/wwwroot/assets/icons/brands/pied-piper-alt.svg new file mode 100644 index 0000000..4e8c419 --- /dev/null +++ b/wwwroot/assets/icons/brands/pied-piper-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/pied-piper-hat.svg b/wwwroot/assets/icons/brands/pied-piper-hat.svg new file mode 100644 index 0000000..2f93465 --- /dev/null +++ b/wwwroot/assets/icons/brands/pied-piper-hat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/pied-piper-pp.svg b/wwwroot/assets/icons/brands/pied-piper-pp.svg new file mode 100644 index 0000000..092ca73 --- /dev/null +++ b/wwwroot/assets/icons/brands/pied-piper-pp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/pied-piper.svg b/wwwroot/assets/icons/brands/pied-piper.svg new file mode 100644 index 0000000..d74fb98 --- /dev/null +++ b/wwwroot/assets/icons/brands/pied-piper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/pinterest-p.svg b/wwwroot/assets/icons/brands/pinterest-p.svg new file mode 100644 index 0000000..311932a --- /dev/null +++ b/wwwroot/assets/icons/brands/pinterest-p.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/pinterest-square.svg b/wwwroot/assets/icons/brands/pinterest-square.svg new file mode 100644 index 0000000..7a502a7 --- /dev/null +++ b/wwwroot/assets/icons/brands/pinterest-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/pinterest.svg b/wwwroot/assets/icons/brands/pinterest.svg new file mode 100644 index 0000000..42c1f64 --- /dev/null +++ b/wwwroot/assets/icons/brands/pinterest.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/playstation.svg b/wwwroot/assets/icons/brands/playstation.svg new file mode 100644 index 0000000..3cd7fca --- /dev/null +++ b/wwwroot/assets/icons/brands/playstation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/product-hunt.svg b/wwwroot/assets/icons/brands/product-hunt.svg new file mode 100644 index 0000000..847ac2c --- /dev/null +++ b/wwwroot/assets/icons/brands/product-hunt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/pushed.svg b/wwwroot/assets/icons/brands/pushed.svg new file mode 100644 index 0000000..f7e24f0 --- /dev/null +++ b/wwwroot/assets/icons/brands/pushed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/python.svg b/wwwroot/assets/icons/brands/python.svg new file mode 100644 index 0000000..cf92eb9 --- /dev/null +++ b/wwwroot/assets/icons/brands/python.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/qq.svg b/wwwroot/assets/icons/brands/qq.svg new file mode 100644 index 0000000..541bdd5 --- /dev/null +++ b/wwwroot/assets/icons/brands/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/quinscape.svg b/wwwroot/assets/icons/brands/quinscape.svg new file mode 100644 index 0000000..9b37185 --- /dev/null +++ b/wwwroot/assets/icons/brands/quinscape.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/quora.svg b/wwwroot/assets/icons/brands/quora.svg new file mode 100644 index 0000000..601d815 --- /dev/null +++ b/wwwroot/assets/icons/brands/quora.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/r-project.svg b/wwwroot/assets/icons/brands/r-project.svg new file mode 100644 index 0000000..ef4076e --- /dev/null +++ b/wwwroot/assets/icons/brands/r-project.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/raspberry-pi.svg b/wwwroot/assets/icons/brands/raspberry-pi.svg new file mode 100644 index 0000000..cce311f --- /dev/null +++ b/wwwroot/assets/icons/brands/raspberry-pi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ravelry.svg b/wwwroot/assets/icons/brands/ravelry.svg new file mode 100644 index 0000000..49d511c --- /dev/null +++ b/wwwroot/assets/icons/brands/ravelry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/react.svg b/wwwroot/assets/icons/brands/react.svg new file mode 100644 index 0000000..e588410 --- /dev/null +++ b/wwwroot/assets/icons/brands/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/reacteurope.svg b/wwwroot/assets/icons/brands/reacteurope.svg new file mode 100644 index 0000000..5a626d8 --- /dev/null +++ b/wwwroot/assets/icons/brands/reacteurope.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/readme.svg b/wwwroot/assets/icons/brands/readme.svg new file mode 100644 index 0000000..482c337 --- /dev/null +++ b/wwwroot/assets/icons/brands/readme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/rebel.svg b/wwwroot/assets/icons/brands/rebel.svg new file mode 100644 index 0000000..555b053 --- /dev/null +++ b/wwwroot/assets/icons/brands/rebel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/red-river.svg b/wwwroot/assets/icons/brands/red-river.svg new file mode 100644 index 0000000..6e7044f --- /dev/null +++ b/wwwroot/assets/icons/brands/red-river.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/reddit-alien.svg b/wwwroot/assets/icons/brands/reddit-alien.svg new file mode 100644 index 0000000..85b9859 --- /dev/null +++ b/wwwroot/assets/icons/brands/reddit-alien.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/reddit-square.svg b/wwwroot/assets/icons/brands/reddit-square.svg new file mode 100644 index 0000000..e940a85 --- /dev/null +++ b/wwwroot/assets/icons/brands/reddit-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/reddit.svg b/wwwroot/assets/icons/brands/reddit.svg new file mode 100644 index 0000000..262d0a7 --- /dev/null +++ b/wwwroot/assets/icons/brands/reddit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/redhat.svg b/wwwroot/assets/icons/brands/redhat.svg new file mode 100644 index 0000000..0c2c9b8 --- /dev/null +++ b/wwwroot/assets/icons/brands/redhat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/renren.svg b/wwwroot/assets/icons/brands/renren.svg new file mode 100644 index 0000000..9706a70 --- /dev/null +++ b/wwwroot/assets/icons/brands/renren.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/replyd.svg b/wwwroot/assets/icons/brands/replyd.svg new file mode 100644 index 0000000..fe526f2 --- /dev/null +++ b/wwwroot/assets/icons/brands/replyd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/researchgate.svg b/wwwroot/assets/icons/brands/researchgate.svg new file mode 100644 index 0000000..db7149f --- /dev/null +++ b/wwwroot/assets/icons/brands/researchgate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/resolving.svg b/wwwroot/assets/icons/brands/resolving.svg new file mode 100644 index 0000000..339cbca --- /dev/null +++ b/wwwroot/assets/icons/brands/resolving.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/rev.svg b/wwwroot/assets/icons/brands/rev.svg new file mode 100644 index 0000000..2574a17 --- /dev/null +++ b/wwwroot/assets/icons/brands/rev.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/rocketchat.svg b/wwwroot/assets/icons/brands/rocketchat.svg new file mode 100644 index 0000000..b5e55fa --- /dev/null +++ b/wwwroot/assets/icons/brands/rocketchat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/rockrms.svg b/wwwroot/assets/icons/brands/rockrms.svg new file mode 100644 index 0000000..6c41d79 --- /dev/null +++ b/wwwroot/assets/icons/brands/rockrms.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/safari.svg b/wwwroot/assets/icons/brands/safari.svg new file mode 100644 index 0000000..70dc86b --- /dev/null +++ b/wwwroot/assets/icons/brands/safari.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/salesforce.svg b/wwwroot/assets/icons/brands/salesforce.svg new file mode 100644 index 0000000..546e833 --- /dev/null +++ b/wwwroot/assets/icons/brands/salesforce.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/sass.svg b/wwwroot/assets/icons/brands/sass.svg new file mode 100644 index 0000000..5543c1c --- /dev/null +++ b/wwwroot/assets/icons/brands/sass.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/schlix.svg b/wwwroot/assets/icons/brands/schlix.svg new file mode 100644 index 0000000..413e4ff --- /dev/null +++ b/wwwroot/assets/icons/brands/schlix.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/scribd.svg b/wwwroot/assets/icons/brands/scribd.svg new file mode 100644 index 0000000..f1ecad1 --- /dev/null +++ b/wwwroot/assets/icons/brands/scribd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/searchengin.svg b/wwwroot/assets/icons/brands/searchengin.svg new file mode 100644 index 0000000..2ed72b1 --- /dev/null +++ b/wwwroot/assets/icons/brands/searchengin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/sellcast.svg b/wwwroot/assets/icons/brands/sellcast.svg new file mode 100644 index 0000000..75b47f1 --- /dev/null +++ b/wwwroot/assets/icons/brands/sellcast.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/sellsy.svg b/wwwroot/assets/icons/brands/sellsy.svg new file mode 100644 index 0000000..6119fe5 --- /dev/null +++ b/wwwroot/assets/icons/brands/sellsy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/servicestack.svg b/wwwroot/assets/icons/brands/servicestack.svg new file mode 100644 index 0000000..9f937eb --- /dev/null +++ b/wwwroot/assets/icons/brands/servicestack.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/shirtsinbulk.svg b/wwwroot/assets/icons/brands/shirtsinbulk.svg new file mode 100644 index 0000000..4832095 --- /dev/null +++ b/wwwroot/assets/icons/brands/shirtsinbulk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/shopware.svg b/wwwroot/assets/icons/brands/shopware.svg new file mode 100644 index 0000000..8078f3c --- /dev/null +++ b/wwwroot/assets/icons/brands/shopware.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/simplybuilt.svg b/wwwroot/assets/icons/brands/simplybuilt.svg new file mode 100644 index 0000000..fbecfe9 --- /dev/null +++ b/wwwroot/assets/icons/brands/simplybuilt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/sistrix.svg b/wwwroot/assets/icons/brands/sistrix.svg new file mode 100644 index 0000000..e62cef6 --- /dev/null +++ b/wwwroot/assets/icons/brands/sistrix.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/sith.svg b/wwwroot/assets/icons/brands/sith.svg new file mode 100644 index 0000000..cecd39d --- /dev/null +++ b/wwwroot/assets/icons/brands/sith.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/sketch.svg b/wwwroot/assets/icons/brands/sketch.svg new file mode 100644 index 0000000..fb22f31 --- /dev/null +++ b/wwwroot/assets/icons/brands/sketch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/skyatlas.svg b/wwwroot/assets/icons/brands/skyatlas.svg new file mode 100644 index 0000000..d2c8a3b --- /dev/null +++ b/wwwroot/assets/icons/brands/skyatlas.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/skype.svg b/wwwroot/assets/icons/brands/skype.svg new file mode 100644 index 0000000..538843c --- /dev/null +++ b/wwwroot/assets/icons/brands/skype.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/slack-hash.svg b/wwwroot/assets/icons/brands/slack-hash.svg new file mode 100644 index 0000000..a465405 --- /dev/null +++ b/wwwroot/assets/icons/brands/slack-hash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/slack.svg b/wwwroot/assets/icons/brands/slack.svg new file mode 100644 index 0000000..ee293d6 --- /dev/null +++ b/wwwroot/assets/icons/brands/slack.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/slideshare.svg b/wwwroot/assets/icons/brands/slideshare.svg new file mode 100644 index 0000000..4215092 --- /dev/null +++ b/wwwroot/assets/icons/brands/slideshare.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/snapchat-ghost.svg b/wwwroot/assets/icons/brands/snapchat-ghost.svg new file mode 100644 index 0000000..4497f0c --- /dev/null +++ b/wwwroot/assets/icons/brands/snapchat-ghost.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/snapchat-square.svg b/wwwroot/assets/icons/brands/snapchat-square.svg new file mode 100644 index 0000000..c91e05e --- /dev/null +++ b/wwwroot/assets/icons/brands/snapchat-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/snapchat.svg b/wwwroot/assets/icons/brands/snapchat.svg new file mode 100644 index 0000000..88cfa16 --- /dev/null +++ b/wwwroot/assets/icons/brands/snapchat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/soundcloud.svg b/wwwroot/assets/icons/brands/soundcloud.svg new file mode 100644 index 0000000..0d9b061 --- /dev/null +++ b/wwwroot/assets/icons/brands/soundcloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/sourcetree.svg b/wwwroot/assets/icons/brands/sourcetree.svg new file mode 100644 index 0000000..40f346d --- /dev/null +++ b/wwwroot/assets/icons/brands/sourcetree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/speakap.svg b/wwwroot/assets/icons/brands/speakap.svg new file mode 100644 index 0000000..5123f7b --- /dev/null +++ b/wwwroot/assets/icons/brands/speakap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/speaker-deck.svg b/wwwroot/assets/icons/brands/speaker-deck.svg new file mode 100644 index 0000000..6816698 --- /dev/null +++ b/wwwroot/assets/icons/brands/speaker-deck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/spotify.svg b/wwwroot/assets/icons/brands/spotify.svg new file mode 100644 index 0000000..dcd028a --- /dev/null +++ b/wwwroot/assets/icons/brands/spotify.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/squarespace.svg b/wwwroot/assets/icons/brands/squarespace.svg new file mode 100644 index 0000000..6b31da5 --- /dev/null +++ b/wwwroot/assets/icons/brands/squarespace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/stack-exchange.svg b/wwwroot/assets/icons/brands/stack-exchange.svg new file mode 100644 index 0000000..3889ae2 --- /dev/null +++ b/wwwroot/assets/icons/brands/stack-exchange.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/stack-overflow.svg b/wwwroot/assets/icons/brands/stack-overflow.svg new file mode 100644 index 0000000..e8560a3 --- /dev/null +++ b/wwwroot/assets/icons/brands/stack-overflow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/stackpath.svg b/wwwroot/assets/icons/brands/stackpath.svg new file mode 100644 index 0000000..c2e5314 --- /dev/null +++ b/wwwroot/assets/icons/brands/stackpath.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/staylinked.svg b/wwwroot/assets/icons/brands/staylinked.svg new file mode 100644 index 0000000..3c6b2c8 --- /dev/null +++ b/wwwroot/assets/icons/brands/staylinked.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/steam-square.svg b/wwwroot/assets/icons/brands/steam-square.svg new file mode 100644 index 0000000..59a6a8f --- /dev/null +++ b/wwwroot/assets/icons/brands/steam-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/steam-symbol.svg b/wwwroot/assets/icons/brands/steam-symbol.svg new file mode 100644 index 0000000..f0ab74d --- /dev/null +++ b/wwwroot/assets/icons/brands/steam-symbol.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/steam.svg b/wwwroot/assets/icons/brands/steam.svg new file mode 100644 index 0000000..642650a --- /dev/null +++ b/wwwroot/assets/icons/brands/steam.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/sticker-mule.svg b/wwwroot/assets/icons/brands/sticker-mule.svg new file mode 100644 index 0000000..6a23f17 --- /dev/null +++ b/wwwroot/assets/icons/brands/sticker-mule.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/strava.svg b/wwwroot/assets/icons/brands/strava.svg new file mode 100644 index 0000000..40102da --- /dev/null +++ b/wwwroot/assets/icons/brands/strava.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/stripe-s.svg b/wwwroot/assets/icons/brands/stripe-s.svg new file mode 100644 index 0000000..d310dae --- /dev/null +++ b/wwwroot/assets/icons/brands/stripe-s.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/stripe.svg b/wwwroot/assets/icons/brands/stripe.svg new file mode 100644 index 0000000..1688d50 --- /dev/null +++ b/wwwroot/assets/icons/brands/stripe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/studiovinari.svg b/wwwroot/assets/icons/brands/studiovinari.svg new file mode 100644 index 0000000..e6e7fa8 --- /dev/null +++ b/wwwroot/assets/icons/brands/studiovinari.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/stumbleupon-circle.svg b/wwwroot/assets/icons/brands/stumbleupon-circle.svg new file mode 100644 index 0000000..a4b4234 --- /dev/null +++ b/wwwroot/assets/icons/brands/stumbleupon-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/stumbleupon.svg b/wwwroot/assets/icons/brands/stumbleupon.svg new file mode 100644 index 0000000..999d386 --- /dev/null +++ b/wwwroot/assets/icons/brands/stumbleupon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/superpowers.svg b/wwwroot/assets/icons/brands/superpowers.svg new file mode 100644 index 0000000..a6f13f6 --- /dev/null +++ b/wwwroot/assets/icons/brands/superpowers.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/supple.svg b/wwwroot/assets/icons/brands/supple.svg new file mode 100644 index 0000000..5afe879 --- /dev/null +++ b/wwwroot/assets/icons/brands/supple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/suse.svg b/wwwroot/assets/icons/brands/suse.svg new file mode 100644 index 0000000..adb6390 --- /dev/null +++ b/wwwroot/assets/icons/brands/suse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/symfony.svg b/wwwroot/assets/icons/brands/symfony.svg new file mode 100644 index 0000000..51905fe --- /dev/null +++ b/wwwroot/assets/icons/brands/symfony.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/teamspeak.svg b/wwwroot/assets/icons/brands/teamspeak.svg new file mode 100644 index 0000000..f430b5f --- /dev/null +++ b/wwwroot/assets/icons/brands/teamspeak.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/telegram-plane.svg b/wwwroot/assets/icons/brands/telegram-plane.svg new file mode 100644 index 0000000..a4e067b --- /dev/null +++ b/wwwroot/assets/icons/brands/telegram-plane.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/telegram.svg b/wwwroot/assets/icons/brands/telegram.svg new file mode 100644 index 0000000..fc5492c --- /dev/null +++ b/wwwroot/assets/icons/brands/telegram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/tencent-weibo.svg b/wwwroot/assets/icons/brands/tencent-weibo.svg new file mode 100644 index 0000000..30b49fc --- /dev/null +++ b/wwwroot/assets/icons/brands/tencent-weibo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/the-red-yeti.svg b/wwwroot/assets/icons/brands/the-red-yeti.svg new file mode 100644 index 0000000..f1af96f --- /dev/null +++ b/wwwroot/assets/icons/brands/the-red-yeti.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/themeco.svg b/wwwroot/assets/icons/brands/themeco.svg new file mode 100644 index 0000000..0e706e4 --- /dev/null +++ b/wwwroot/assets/icons/brands/themeco.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/themeisle.svg b/wwwroot/assets/icons/brands/themeisle.svg new file mode 100644 index 0000000..b933775 --- /dev/null +++ b/wwwroot/assets/icons/brands/themeisle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/think-peaks.svg b/wwwroot/assets/icons/brands/think-peaks.svg new file mode 100644 index 0000000..d956893 --- /dev/null +++ b/wwwroot/assets/icons/brands/think-peaks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/trade-federation.svg b/wwwroot/assets/icons/brands/trade-federation.svg new file mode 100644 index 0000000..07bd63b --- /dev/null +++ b/wwwroot/assets/icons/brands/trade-federation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/trello.svg b/wwwroot/assets/icons/brands/trello.svg new file mode 100644 index 0000000..634c6c3 --- /dev/null +++ b/wwwroot/assets/icons/brands/trello.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/tripadvisor.svg b/wwwroot/assets/icons/brands/tripadvisor.svg new file mode 100644 index 0000000..4f3e2b6 --- /dev/null +++ b/wwwroot/assets/icons/brands/tripadvisor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/tumblr-square.svg b/wwwroot/assets/icons/brands/tumblr-square.svg new file mode 100644 index 0000000..96b8cf5 --- /dev/null +++ b/wwwroot/assets/icons/brands/tumblr-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/tumblr.svg b/wwwroot/assets/icons/brands/tumblr.svg new file mode 100644 index 0000000..da59377 --- /dev/null +++ b/wwwroot/assets/icons/brands/tumblr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/twitch.svg b/wwwroot/assets/icons/brands/twitch.svg new file mode 100644 index 0000000..89a02fb --- /dev/null +++ b/wwwroot/assets/icons/brands/twitch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/twitter-square.svg b/wwwroot/assets/icons/brands/twitter-square.svg new file mode 100644 index 0000000..0ca7e0b --- /dev/null +++ b/wwwroot/assets/icons/brands/twitter-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/twitter.svg b/wwwroot/assets/icons/brands/twitter.svg new file mode 100644 index 0000000..f0ed9c5 --- /dev/null +++ b/wwwroot/assets/icons/brands/twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/typo3.svg b/wwwroot/assets/icons/brands/typo3.svg new file mode 100644 index 0000000..4da76b3 --- /dev/null +++ b/wwwroot/assets/icons/brands/typo3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/uber.svg b/wwwroot/assets/icons/brands/uber.svg new file mode 100644 index 0000000..569a1cd --- /dev/null +++ b/wwwroot/assets/icons/brands/uber.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ubuntu.svg b/wwwroot/assets/icons/brands/ubuntu.svg new file mode 100644 index 0000000..e1958dc --- /dev/null +++ b/wwwroot/assets/icons/brands/ubuntu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/uikit.svg b/wwwroot/assets/icons/brands/uikit.svg new file mode 100644 index 0000000..26ab611 --- /dev/null +++ b/wwwroot/assets/icons/brands/uikit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/uniregistry.svg b/wwwroot/assets/icons/brands/uniregistry.svg new file mode 100644 index 0000000..c77b491 --- /dev/null +++ b/wwwroot/assets/icons/brands/uniregistry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/untappd.svg b/wwwroot/assets/icons/brands/untappd.svg new file mode 100644 index 0000000..5e06293 --- /dev/null +++ b/wwwroot/assets/icons/brands/untappd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ups.svg b/wwwroot/assets/icons/brands/ups.svg new file mode 100644 index 0000000..eecae78 --- /dev/null +++ b/wwwroot/assets/icons/brands/ups.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/usb.svg b/wwwroot/assets/icons/brands/usb.svg new file mode 100644 index 0000000..a9d265e --- /dev/null +++ b/wwwroot/assets/icons/brands/usb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/usps.svg b/wwwroot/assets/icons/brands/usps.svg new file mode 100644 index 0000000..f939b3e --- /dev/null +++ b/wwwroot/assets/icons/brands/usps.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/ussunnah.svg b/wwwroot/assets/icons/brands/ussunnah.svg new file mode 100644 index 0000000..1dd9ed1 --- /dev/null +++ b/wwwroot/assets/icons/brands/ussunnah.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/vaadin.svg b/wwwroot/assets/icons/brands/vaadin.svg new file mode 100644 index 0000000..fadce5a --- /dev/null +++ b/wwwroot/assets/icons/brands/vaadin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/viacoin.svg b/wwwroot/assets/icons/brands/viacoin.svg new file mode 100644 index 0000000..c4777d6 --- /dev/null +++ b/wwwroot/assets/icons/brands/viacoin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/viadeo-square.svg b/wwwroot/assets/icons/brands/viadeo-square.svg new file mode 100644 index 0000000..9212671 --- /dev/null +++ b/wwwroot/assets/icons/brands/viadeo-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/viadeo.svg b/wwwroot/assets/icons/brands/viadeo.svg new file mode 100644 index 0000000..f4c1f8a --- /dev/null +++ b/wwwroot/assets/icons/brands/viadeo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/viber.svg b/wwwroot/assets/icons/brands/viber.svg new file mode 100644 index 0000000..e40506b --- /dev/null +++ b/wwwroot/assets/icons/brands/viber.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/vimeo-square.svg b/wwwroot/assets/icons/brands/vimeo-square.svg new file mode 100644 index 0000000..eed266e --- /dev/null +++ b/wwwroot/assets/icons/brands/vimeo-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/vimeo-v.svg b/wwwroot/assets/icons/brands/vimeo-v.svg new file mode 100644 index 0000000..c871528 --- /dev/null +++ b/wwwroot/assets/icons/brands/vimeo-v.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/vimeo.svg b/wwwroot/assets/icons/brands/vimeo.svg new file mode 100644 index 0000000..3a0c527 --- /dev/null +++ b/wwwroot/assets/icons/brands/vimeo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/vine.svg b/wwwroot/assets/icons/brands/vine.svg new file mode 100644 index 0000000..53cb27f --- /dev/null +++ b/wwwroot/assets/icons/brands/vine.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/vk.svg b/wwwroot/assets/icons/brands/vk.svg new file mode 100644 index 0000000..022717d --- /dev/null +++ b/wwwroot/assets/icons/brands/vk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/vnv.svg b/wwwroot/assets/icons/brands/vnv.svg new file mode 100644 index 0000000..56cd37b --- /dev/null +++ b/wwwroot/assets/icons/brands/vnv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/vuejs.svg b/wwwroot/assets/icons/brands/vuejs.svg new file mode 100644 index 0000000..932887c --- /dev/null +++ b/wwwroot/assets/icons/brands/vuejs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/waze.svg b/wwwroot/assets/icons/brands/waze.svg new file mode 100644 index 0000000..237e231 --- /dev/null +++ b/wwwroot/assets/icons/brands/waze.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/weebly.svg b/wwwroot/assets/icons/brands/weebly.svg new file mode 100644 index 0000000..917dabe --- /dev/null +++ b/wwwroot/assets/icons/brands/weebly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/weibo.svg b/wwwroot/assets/icons/brands/weibo.svg new file mode 100644 index 0000000..84f18c4 --- /dev/null +++ b/wwwroot/assets/icons/brands/weibo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/weixin.svg b/wwwroot/assets/icons/brands/weixin.svg new file mode 100644 index 0000000..cd27b19 --- /dev/null +++ b/wwwroot/assets/icons/brands/weixin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/whatsapp-square.svg b/wwwroot/assets/icons/brands/whatsapp-square.svg new file mode 100644 index 0000000..7db6753 --- /dev/null +++ b/wwwroot/assets/icons/brands/whatsapp-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/whatsapp.svg b/wwwroot/assets/icons/brands/whatsapp.svg new file mode 100644 index 0000000..6ca3eb3 --- /dev/null +++ b/wwwroot/assets/icons/brands/whatsapp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/whmcs.svg b/wwwroot/assets/icons/brands/whmcs.svg new file mode 100644 index 0000000..2bbd695 --- /dev/null +++ b/wwwroot/assets/icons/brands/whmcs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wikipedia-w.svg b/wwwroot/assets/icons/brands/wikipedia-w.svg new file mode 100644 index 0000000..0754253 --- /dev/null +++ b/wwwroot/assets/icons/brands/wikipedia-w.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/windows.svg b/wwwroot/assets/icons/brands/windows.svg new file mode 100644 index 0000000..586ba25 --- /dev/null +++ b/wwwroot/assets/icons/brands/windows.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wix.svg b/wwwroot/assets/icons/brands/wix.svg new file mode 100644 index 0000000..c1bea30 --- /dev/null +++ b/wwwroot/assets/icons/brands/wix.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wizards-of-the-coast.svg b/wwwroot/assets/icons/brands/wizards-of-the-coast.svg new file mode 100644 index 0000000..5842f47 --- /dev/null +++ b/wwwroot/assets/icons/brands/wizards-of-the-coast.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wolf-pack-battalion.svg b/wwwroot/assets/icons/brands/wolf-pack-battalion.svg new file mode 100644 index 0000000..eb8e312 --- /dev/null +++ b/wwwroot/assets/icons/brands/wolf-pack-battalion.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wordpress-simple.svg b/wwwroot/assets/icons/brands/wordpress-simple.svg new file mode 100644 index 0000000..de9795a --- /dev/null +++ b/wwwroot/assets/icons/brands/wordpress-simple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wordpress.svg b/wwwroot/assets/icons/brands/wordpress.svg new file mode 100644 index 0000000..3cc2bd4 --- /dev/null +++ b/wwwroot/assets/icons/brands/wordpress.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wpbeginner.svg b/wwwroot/assets/icons/brands/wpbeginner.svg new file mode 100644 index 0000000..1f81e84 --- /dev/null +++ b/wwwroot/assets/icons/brands/wpbeginner.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wpexplorer.svg b/wwwroot/assets/icons/brands/wpexplorer.svg new file mode 100644 index 0000000..706e12a --- /dev/null +++ b/wwwroot/assets/icons/brands/wpexplorer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wpforms.svg b/wwwroot/assets/icons/brands/wpforms.svg new file mode 100644 index 0000000..03a3662 --- /dev/null +++ b/wwwroot/assets/icons/brands/wpforms.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/wpressr.svg b/wwwroot/assets/icons/brands/wpressr.svg new file mode 100644 index 0000000..daa6135 --- /dev/null +++ b/wwwroot/assets/icons/brands/wpressr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/xbox.svg b/wwwroot/assets/icons/brands/xbox.svg new file mode 100644 index 0000000..5420576 --- /dev/null +++ b/wwwroot/assets/icons/brands/xbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/xing-square.svg b/wwwroot/assets/icons/brands/xing-square.svg new file mode 100644 index 0000000..8c9fb82 --- /dev/null +++ b/wwwroot/assets/icons/brands/xing-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/xing.svg b/wwwroot/assets/icons/brands/xing.svg new file mode 100644 index 0000000..c400771 --- /dev/null +++ b/wwwroot/assets/icons/brands/xing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/y-combinator.svg b/wwwroot/assets/icons/brands/y-combinator.svg new file mode 100644 index 0000000..d4a0f7e --- /dev/null +++ b/wwwroot/assets/icons/brands/y-combinator.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/yahoo.svg b/wwwroot/assets/icons/brands/yahoo.svg new file mode 100644 index 0000000..22dea83 --- /dev/null +++ b/wwwroot/assets/icons/brands/yahoo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/yammer.svg b/wwwroot/assets/icons/brands/yammer.svg new file mode 100644 index 0000000..e905678 --- /dev/null +++ b/wwwroot/assets/icons/brands/yammer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/yandex-international.svg b/wwwroot/assets/icons/brands/yandex-international.svg new file mode 100644 index 0000000..2b1c10c --- /dev/null +++ b/wwwroot/assets/icons/brands/yandex-international.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/yandex.svg b/wwwroot/assets/icons/brands/yandex.svg new file mode 100644 index 0000000..d054fe0 --- /dev/null +++ b/wwwroot/assets/icons/brands/yandex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/yarn.svg b/wwwroot/assets/icons/brands/yarn.svg new file mode 100644 index 0000000..ed00ea9 --- /dev/null +++ b/wwwroot/assets/icons/brands/yarn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/yelp.svg b/wwwroot/assets/icons/brands/yelp.svg new file mode 100644 index 0000000..d057f51 --- /dev/null +++ b/wwwroot/assets/icons/brands/yelp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/yoast.svg b/wwwroot/assets/icons/brands/yoast.svg new file mode 100644 index 0000000..bf2ec0f --- /dev/null +++ b/wwwroot/assets/icons/brands/yoast.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/youtube-square.svg b/wwwroot/assets/icons/brands/youtube-square.svg new file mode 100644 index 0000000..07b9ab5 --- /dev/null +++ b/wwwroot/assets/icons/brands/youtube-square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/youtube.svg b/wwwroot/assets/icons/brands/youtube.svg new file mode 100644 index 0000000..e831b88 --- /dev/null +++ b/wwwroot/assets/icons/brands/youtube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/brands/zhihu.svg b/wwwroot/assets/icons/brands/zhihu.svg new file mode 100644 index 0000000..c206c26 --- /dev/null +++ b/wwwroot/assets/icons/brands/zhihu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wwwroot/assets/icons/briefcase.svg b/wwwroot/assets/icons/briefcase.svg new file mode 100644 index 0000000..1c1950d --- /dev/null +++ b/wwwroot/assets/icons/briefcase.svg @@ -0,0 +1,5 @@ + + +briefcase + + diff --git a/wwwroot/assets/icons/brightness.svg b/wwwroot/assets/icons/brightness.svg new file mode 100644 index 0000000..6e2d7b8 --- /dev/null +++ b/wwwroot/assets/icons/brightness.svg @@ -0,0 +1,6 @@ + + +brightness + + + diff --git a/wwwroot/assets/icons/british-pound.svg b/wwwroot/assets/icons/british-pound.svg new file mode 100644 index 0000000..3ec525d --- /dev/null +++ b/wwwroot/assets/icons/british-pound.svg @@ -0,0 +1,5 @@ + + +british-pound + + diff --git a/wwwroot/assets/icons/browser.svg b/wwwroot/assets/icons/browser.svg new file mode 100644 index 0000000..baa7bb3 --- /dev/null +++ b/wwwroot/assets/icons/browser.svg @@ -0,0 +1,5 @@ + + +browser + + diff --git a/wwwroot/assets/icons/brush-alt.svg b/wwwroot/assets/icons/brush-alt.svg new file mode 100644 index 0000000..0942055 --- /dev/null +++ b/wwwroot/assets/icons/brush-alt.svg @@ -0,0 +1,5 @@ + + +brush-alt + + diff --git a/wwwroot/assets/icons/brush.svg b/wwwroot/assets/icons/brush.svg new file mode 100644 index 0000000..c67ed64 --- /dev/null +++ b/wwwroot/assets/icons/brush.svg @@ -0,0 +1,5 @@ + + +brush + + diff --git a/wwwroot/assets/icons/bug.svg b/wwwroot/assets/icons/bug.svg new file mode 100644 index 0000000..c820177 --- /dev/null +++ b/wwwroot/assets/icons/bug.svg @@ -0,0 +1,5 @@ + + +bug + + diff --git a/wwwroot/assets/icons/building.svg b/wwwroot/assets/icons/building.svg new file mode 100644 index 0000000..7f768cc --- /dev/null +++ b/wwwroot/assets/icons/building.svg @@ -0,0 +1,14 @@ + + +building + + + + + + + + + + + diff --git a/wwwroot/assets/icons/bullhorn.svg b/wwwroot/assets/icons/bullhorn.svg new file mode 100644 index 0000000..4b62d43 --- /dev/null +++ b/wwwroot/assets/icons/bullhorn.svg @@ -0,0 +1,5 @@ + + +bullhorn + + diff --git a/wwwroot/assets/icons/burger.svg b/wwwroot/assets/icons/burger.svg new file mode 100644 index 0000000..cee4608 --- /dev/null +++ b/wwwroot/assets/icons/burger.svg @@ -0,0 +1,8 @@ + + +burger + + + + + diff --git a/wwwroot/assets/icons/bus-alt.svg b/wwwroot/assets/icons/bus-alt.svg new file mode 100644 index 0000000..d4466d0 --- /dev/null +++ b/wwwroot/assets/icons/bus-alt.svg @@ -0,0 +1,5 @@ + + +bus-alt + + diff --git a/wwwroot/assets/icons/calculator.svg b/wwwroot/assets/icons/calculator.svg new file mode 100644 index 0000000..848b6b3 --- /dev/null +++ b/wwwroot/assets/icons/calculator.svg @@ -0,0 +1,10 @@ + + +calculator + + + + + + + diff --git a/wwwroot/assets/icons/calendar-check.svg b/wwwroot/assets/icons/calendar-check.svg new file mode 100644 index 0000000..0a288e0 --- /dev/null +++ b/wwwroot/assets/icons/calendar-check.svg @@ -0,0 +1,6 @@ + + +calendar-check + + + diff --git a/wwwroot/assets/icons/calendar.svg b/wwwroot/assets/icons/calendar.svg new file mode 100644 index 0000000..7054b45 --- /dev/null +++ b/wwwroot/assets/icons/calendar.svg @@ -0,0 +1,17 @@ + + +calendar + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/camera-control.svg b/wwwroot/assets/icons/camera-control.svg new file mode 100644 index 0000000..4557465 --- /dev/null +++ b/wwwroot/assets/icons/camera-control.svg @@ -0,0 +1,9 @@ + + +camera-control + + + + + + diff --git a/wwwroot/assets/icons/camera-roll.svg b/wwwroot/assets/icons/camera-roll.svg new file mode 100644 index 0000000..613ab14 --- /dev/null +++ b/wwwroot/assets/icons/camera-roll.svg @@ -0,0 +1,13 @@ + + +camera-roll + + + + + + + + + + diff --git a/wwwroot/assets/icons/camera.svg b/wwwroot/assets/icons/camera.svg new file mode 100644 index 0000000..bf5be4e --- /dev/null +++ b/wwwroot/assets/icons/camera.svg @@ -0,0 +1,6 @@ + + +camera + + + diff --git a/wwwroot/assets/icons/car-alt.svg b/wwwroot/assets/icons/car-alt.svg new file mode 100644 index 0000000..618cf63 --- /dev/null +++ b/wwwroot/assets/icons/car-alt.svg @@ -0,0 +1,5 @@ + + +car-alt + + diff --git a/wwwroot/assets/icons/caret-bottom.svg b/wwwroot/assets/icons/caret-bottom.svg new file mode 100644 index 0000000..3eda1d8 --- /dev/null +++ b/wwwroot/assets/icons/caret-bottom.svg @@ -0,0 +1,5 @@ + + +caret-bottom + + diff --git a/wwwroot/assets/icons/caret-left.svg b/wwwroot/assets/icons/caret-left.svg new file mode 100644 index 0000000..077a9fd --- /dev/null +++ b/wwwroot/assets/icons/caret-left.svg @@ -0,0 +1,5 @@ + + +caret-left + + diff --git a/wwwroot/assets/icons/caret-right.svg b/wwwroot/assets/icons/caret-right.svg new file mode 100644 index 0000000..f47ed10 --- /dev/null +++ b/wwwroot/assets/icons/caret-right.svg @@ -0,0 +1,5 @@ + + +caret-right + + diff --git a/wwwroot/assets/icons/caret-top.svg b/wwwroot/assets/icons/caret-top.svg new file mode 100644 index 0000000..790516b --- /dev/null +++ b/wwwroot/assets/icons/caret-top.svg @@ -0,0 +1,5 @@ + + +caret-top + + diff --git a/wwwroot/assets/icons/cart.svg b/wwwroot/assets/icons/cart.svg new file mode 100644 index 0000000..4b0fea8 --- /dev/null +++ b/wwwroot/assets/icons/cart.svg @@ -0,0 +1,7 @@ + + +cart + + + + diff --git a/wwwroot/assets/icons/casino.svg b/wwwroot/assets/icons/casino.svg new file mode 100644 index 0000000..efff9ab --- /dev/null +++ b/wwwroot/assets/icons/casino.svg @@ -0,0 +1,12 @@ + + +casino + + + + + + + + + diff --git a/wwwroot/assets/icons/cast.svg b/wwwroot/assets/icons/cast.svg new file mode 100644 index 0000000..b7f2209 --- /dev/null +++ b/wwwroot/assets/icons/cast.svg @@ -0,0 +1,8 @@ + + +cast + + + + + diff --git a/wwwroot/assets/icons/cat.svg b/wwwroot/assets/icons/cat.svg new file mode 100644 index 0000000..2059491 --- /dev/null +++ b/wwwroot/assets/icons/cat.svg @@ -0,0 +1,5 @@ + + +cat + + diff --git a/wwwroot/assets/icons/center-focus.svg b/wwwroot/assets/icons/center-focus.svg new file mode 100644 index 0000000..dfb9706 --- /dev/null +++ b/wwwroot/assets/icons/center-focus.svg @@ -0,0 +1,9 @@ + + +center-focus + + + + + + diff --git a/wwwroot/assets/icons/chart-line.svg b/wwwroot/assets/icons/chart-line.svg new file mode 100644 index 0000000..5066f4d --- /dev/null +++ b/wwwroot/assets/icons/chart-line.svg @@ -0,0 +1,6 @@ + + +chart-line + + + diff --git a/wwwroot/assets/icons/chart-pie.svg b/wwwroot/assets/icons/chart-pie.svg new file mode 100644 index 0000000..3ad41db --- /dev/null +++ b/wwwroot/assets/icons/chart-pie.svg @@ -0,0 +1,6 @@ + + +chart-pie + + + diff --git a/wwwroot/assets/icons/chart.svg b/wwwroot/assets/icons/chart.svg new file mode 100644 index 0000000..6a12276 --- /dev/null +++ b/wwwroot/assets/icons/chart.svg @@ -0,0 +1,7 @@ + + +chart + + + + diff --git a/wwwroot/assets/icons/chat-bubble.svg b/wwwroot/assets/icons/chat-bubble.svg new file mode 100644 index 0000000..eaec911 --- /dev/null +++ b/wwwroot/assets/icons/chat-bubble.svg @@ -0,0 +1,6 @@ + + +chat-bubble + + + diff --git a/wwwroot/assets/icons/check.svg b/wwwroot/assets/icons/check.svg new file mode 100644 index 0000000..690c7bc --- /dev/null +++ b/wwwroot/assets/icons/check.svg @@ -0,0 +1,5 @@ + + +check + + diff --git a/wwwroot/assets/icons/chevron-bottom.svg b/wwwroot/assets/icons/chevron-bottom.svg new file mode 100644 index 0000000..8fea1c1 --- /dev/null +++ b/wwwroot/assets/icons/chevron-bottom.svg @@ -0,0 +1,5 @@ + + +chevron-bottom + + diff --git a/wwwroot/assets/icons/chevron-circle-down-alt.svg b/wwwroot/assets/icons/chevron-circle-down-alt.svg new file mode 100644 index 0000000..dead356 --- /dev/null +++ b/wwwroot/assets/icons/chevron-circle-down-alt.svg @@ -0,0 +1,6 @@ + + +chevron-circle-down-alt + + + diff --git a/wwwroot/assets/icons/chevron-circle-left-alt.svg b/wwwroot/assets/icons/chevron-circle-left-alt.svg new file mode 100644 index 0000000..73c4c6c --- /dev/null +++ b/wwwroot/assets/icons/chevron-circle-left-alt.svg @@ -0,0 +1,6 @@ + + +chevron-circle-left-alt + + + diff --git a/wwwroot/assets/icons/chevron-circle-right-alt.svg b/wwwroot/assets/icons/chevron-circle-right-alt.svg new file mode 100644 index 0000000..fcee6b4 --- /dev/null +++ b/wwwroot/assets/icons/chevron-circle-right-alt.svg @@ -0,0 +1,6 @@ + + +chevron-circle-right-alt + + + diff --git a/wwwroot/assets/icons/chevron-circle-up-alt.svg b/wwwroot/assets/icons/chevron-circle-up-alt.svg new file mode 100644 index 0000000..84ca4ff --- /dev/null +++ b/wwwroot/assets/icons/chevron-circle-up-alt.svg @@ -0,0 +1,6 @@ + + +chevron-circle-up-alt + + + diff --git a/wwwroot/assets/icons/chevron-double-down.svg b/wwwroot/assets/icons/chevron-double-down.svg new file mode 100644 index 0000000..e09cb28 --- /dev/null +++ b/wwwroot/assets/icons/chevron-double-down.svg @@ -0,0 +1,6 @@ + + +chevron-double-down + + + diff --git a/wwwroot/assets/icons/chevron-double-left.svg b/wwwroot/assets/icons/chevron-double-left.svg new file mode 100644 index 0000000..5605a8b --- /dev/null +++ b/wwwroot/assets/icons/chevron-double-left.svg @@ -0,0 +1,6 @@ + + +chevron-double-left + + + diff --git a/wwwroot/assets/icons/chevron-double-right.svg b/wwwroot/assets/icons/chevron-double-right.svg new file mode 100644 index 0000000..0f8e569 --- /dev/null +++ b/wwwroot/assets/icons/chevron-double-right.svg @@ -0,0 +1,6 @@ + + +chevron-double-right + + + diff --git a/wwwroot/assets/icons/chevron-double-up-alt.svg b/wwwroot/assets/icons/chevron-double-up-alt.svg new file mode 100644 index 0000000..ea7b5af --- /dev/null +++ b/wwwroot/assets/icons/chevron-double-up-alt.svg @@ -0,0 +1,6 @@ + + +chevron-double-up-alt + + + diff --git a/wwwroot/assets/icons/chevron-double-up.svg b/wwwroot/assets/icons/chevron-double-up.svg new file mode 100644 index 0000000..4b8cca7 --- /dev/null +++ b/wwwroot/assets/icons/chevron-double-up.svg @@ -0,0 +1,6 @@ + + +chevron-double-up + + + diff --git a/wwwroot/assets/icons/chevron-left.svg b/wwwroot/assets/icons/chevron-left.svg new file mode 100644 index 0000000..01b8814 --- /dev/null +++ b/wwwroot/assets/icons/chevron-left.svg @@ -0,0 +1,5 @@ + + +chevron-left + + diff --git a/wwwroot/assets/icons/chevron-right.svg b/wwwroot/assets/icons/chevron-right.svg new file mode 100644 index 0000000..884d616 --- /dev/null +++ b/wwwroot/assets/icons/chevron-right.svg @@ -0,0 +1,5 @@ + + +chevron-right + + diff --git a/wwwroot/assets/icons/chevron-top.svg b/wwwroot/assets/icons/chevron-top.svg new file mode 100644 index 0000000..ab66da7 --- /dev/null +++ b/wwwroot/assets/icons/chevron-top.svg @@ -0,0 +1,5 @@ + + +chevron-top + + diff --git a/wwwroot/assets/icons/child-friendly.svg b/wwwroot/assets/icons/child-friendly.svg new file mode 100644 index 0000000..fd8f8ea --- /dev/null +++ b/wwwroot/assets/icons/child-friendly.svg @@ -0,0 +1,5 @@ + + +child-friendly + + diff --git a/wwwroot/assets/icons/child.svg b/wwwroot/assets/icons/child.svg new file mode 100644 index 0000000..9262d5c --- /dev/null +++ b/wwwroot/assets/icons/child.svg @@ -0,0 +1,8 @@ + + +child + + + + + diff --git a/wwwroot/assets/icons/circle.svg b/wwwroot/assets/icons/circle.svg new file mode 100644 index 0000000..3e6f4f1 --- /dev/null +++ b/wwwroot/assets/icons/circle.svg @@ -0,0 +1,5 @@ + + +circle + + diff --git a/wwwroot/assets/icons/clear-all.svg b/wwwroot/assets/icons/clear-all.svg new file mode 100644 index 0000000..9e1ba54 --- /dev/null +++ b/wwwroot/assets/icons/clear-all.svg @@ -0,0 +1,7 @@ + + +clear-all + + + + diff --git a/wwwroot/assets/icons/clipboard.svg b/wwwroot/assets/icons/clipboard.svg new file mode 100644 index 0000000..3a7a2ea --- /dev/null +++ b/wwwroot/assets/icons/clipboard.svg @@ -0,0 +1,6 @@ + + +clipboard + + + diff --git a/wwwroot/assets/icons/clock.svg b/wwwroot/assets/icons/clock.svg new file mode 100644 index 0000000..e07dfc8 --- /dev/null +++ b/wwwroot/assets/icons/clock.svg @@ -0,0 +1,6 @@ + + +clock + + + diff --git a/wwwroot/assets/icons/clone.svg b/wwwroot/assets/icons/clone.svg new file mode 100644 index 0000000..c0bf836 --- /dev/null +++ b/wwwroot/assets/icons/clone.svg @@ -0,0 +1,6 @@ + + +clone + + + diff --git a/wwwroot/assets/icons/closed-captioning.svg b/wwwroot/assets/icons/closed-captioning.svg new file mode 100644 index 0000000..35e69a1 --- /dev/null +++ b/wwwroot/assets/icons/closed-captioning.svg @@ -0,0 +1,7 @@ + + +closed-captioning + + + + diff --git a/wwwroot/assets/icons/cloud-download.svg b/wwwroot/assets/icons/cloud-download.svg new file mode 100644 index 0000000..295188d --- /dev/null +++ b/wwwroot/assets/icons/cloud-download.svg @@ -0,0 +1,6 @@ + + +cloud-download + + + diff --git a/wwwroot/assets/icons/cloud-upload.svg b/wwwroot/assets/icons/cloud-upload.svg new file mode 100644 index 0000000..118520e --- /dev/null +++ b/wwwroot/assets/icons/cloud-upload.svg @@ -0,0 +1,6 @@ + + +cloud-upload + + + diff --git a/wwwroot/assets/icons/cloud.svg b/wwwroot/assets/icons/cloud.svg new file mode 100644 index 0000000..eba9cb2 --- /dev/null +++ b/wwwroot/assets/icons/cloud.svg @@ -0,0 +1,5 @@ + + +cloud + + diff --git a/wwwroot/assets/icons/cloudy.svg b/wwwroot/assets/icons/cloudy.svg new file mode 100644 index 0000000..ba09cd1 --- /dev/null +++ b/wwwroot/assets/icons/cloudy.svg @@ -0,0 +1,5 @@ + + +cloudy + + diff --git a/wwwroot/assets/icons/code.svg b/wwwroot/assets/icons/code.svg new file mode 100644 index 0000000..446f0ac --- /dev/null +++ b/wwwroot/assets/icons/code.svg @@ -0,0 +1,7 @@ + + +code + + + + diff --git a/wwwroot/assets/icons/codepen.svg b/wwwroot/assets/icons/codepen.svg new file mode 100644 index 0000000..8efaeaf --- /dev/null +++ b/wwwroot/assets/icons/codepen.svg @@ -0,0 +1,5 @@ + + +codepen + + diff --git a/wwwroot/assets/icons/coffee.svg b/wwwroot/assets/icons/coffee.svg new file mode 100644 index 0000000..66189a2 --- /dev/null +++ b/wwwroot/assets/icons/coffee.svg @@ -0,0 +1,6 @@ + + +coffee + + + diff --git a/wwwroot/assets/icons/color-border.svg b/wwwroot/assets/icons/color-border.svg new file mode 100644 index 0000000..8441aeb --- /dev/null +++ b/wwwroot/assets/icons/color-border.svg @@ -0,0 +1,6 @@ + + +color-border + + + diff --git a/wwwroot/assets/icons/color-fill.svg b/wwwroot/assets/icons/color-fill.svg new file mode 100644 index 0000000..3f5819e --- /dev/null +++ b/wwwroot/assets/icons/color-fill.svg @@ -0,0 +1,7 @@ + + +color-fill + + + + diff --git a/wwwroot/assets/icons/color-palette.svg b/wwwroot/assets/icons/color-palette.svg new file mode 100644 index 0000000..d5e3c2b --- /dev/null +++ b/wwwroot/assets/icons/color-palette.svg @@ -0,0 +1,9 @@ + + +color-palette + + + + + + diff --git a/wwwroot/assets/icons/columns.svg b/wwwroot/assets/icons/columns.svg new file mode 100644 index 0000000..ff0f542 --- /dev/null +++ b/wwwroot/assets/icons/columns.svg @@ -0,0 +1,5 @@ + + +columns + + diff --git a/wwwroot/assets/icons/comment-bubble.svg b/wwwroot/assets/icons/comment-bubble.svg new file mode 100644 index 0000000..39cdaba --- /dev/null +++ b/wwwroot/assets/icons/comment-bubble.svg @@ -0,0 +1,5 @@ + + +comment-bubble + + diff --git a/wwwroot/assets/icons/comment-square.svg b/wwwroot/assets/icons/comment-square.svg new file mode 100644 index 0000000..603fd60 --- /dev/null +++ b/wwwroot/assets/icons/comment-square.svg @@ -0,0 +1,5 @@ + + +comment-square + + diff --git a/wwwroot/assets/icons/compass.svg b/wwwroot/assets/icons/compass.svg new file mode 100644 index 0000000..8591f59 --- /dev/null +++ b/wwwroot/assets/icons/compass.svg @@ -0,0 +1,6 @@ + + +compass + + + diff --git a/wwwroot/assets/icons/compress.svg b/wwwroot/assets/icons/compress.svg new file mode 100644 index 0000000..7ee4f62 --- /dev/null +++ b/wwwroot/assets/icons/compress.svg @@ -0,0 +1,8 @@ + + +compress + + + + + diff --git a/wwwroot/assets/icons/contact.svg b/wwwroot/assets/icons/contact.svg new file mode 100644 index 0000000..bbf4d93 --- /dev/null +++ b/wwwroot/assets/icons/contact.svg @@ -0,0 +1,5 @@ + + +contact + + diff --git a/wwwroot/assets/icons/contrast.svg b/wwwroot/assets/icons/contrast.svg new file mode 100644 index 0000000..07394ef --- /dev/null +++ b/wwwroot/assets/icons/contrast.svg @@ -0,0 +1,5 @@ + + +contrast + + diff --git a/wwwroot/assets/icons/copy.svg b/wwwroot/assets/icons/copy.svg new file mode 100644 index 0000000..d8303e3 --- /dev/null +++ b/wwwroot/assets/icons/copy.svg @@ -0,0 +1,6 @@ + + +copy + + + diff --git a/wwwroot/assets/icons/copyright.svg b/wwwroot/assets/icons/copyright.svg new file mode 100644 index 0000000..6e8a61b --- /dev/null +++ b/wwwroot/assets/icons/copyright.svg @@ -0,0 +1,6 @@ + + +copyright + + + diff --git a/wwwroot/assets/icons/coreui/free-symbol-defs.svg b/wwwroot/assets/icons/coreui/free-symbol-defs.svg new file mode 100644 index 0000000..4dfda5f --- /dev/null +++ b/wwwroot/assets/icons/coreui/free-symbol-defs.svg @@ -0,0 +1,3208 @@ + diff --git a/wwwroot/assets/icons/couch.svg b/wwwroot/assets/icons/couch.svg new file mode 100644 index 0000000..9b10f62 --- /dev/null +++ b/wwwroot/assets/icons/couch.svg @@ -0,0 +1,5 @@ + + +couch + + diff --git a/wwwroot/assets/icons/credit-card.svg b/wwwroot/assets/icons/credit-card.svg new file mode 100644 index 0000000..7a2d10c --- /dev/null +++ b/wwwroot/assets/icons/credit-card.svg @@ -0,0 +1,7 @@ + + +credit-card + + + + diff --git a/wwwroot/assets/icons/crop-rotate.svg b/wwwroot/assets/icons/crop-rotate.svg new file mode 100644 index 0000000..1e89522 --- /dev/null +++ b/wwwroot/assets/icons/crop-rotate.svg @@ -0,0 +1,7 @@ + + +crop-rotate + + + + diff --git a/wwwroot/assets/icons/crop.svg b/wwwroot/assets/icons/crop.svg new file mode 100644 index 0000000..5f70f94 --- /dev/null +++ b/wwwroot/assets/icons/crop.svg @@ -0,0 +1,10 @@ + + +crop + + + + + + + diff --git a/wwwroot/assets/icons/cursor-move.svg b/wwwroot/assets/icons/cursor-move.svg new file mode 100644 index 0000000..ec78b1c --- /dev/null +++ b/wwwroot/assets/icons/cursor-move.svg @@ -0,0 +1,11 @@ + + +cursor-move + + + + + + + + diff --git a/wwwroot/assets/icons/cursor.svg b/wwwroot/assets/icons/cursor.svg new file mode 100644 index 0000000..3f0e7ab --- /dev/null +++ b/wwwroot/assets/icons/cursor.svg @@ -0,0 +1,5 @@ + + +cursor + + diff --git a/wwwroot/assets/icons/cut.svg b/wwwroot/assets/icons/cut.svg new file mode 100644 index 0000000..f010b73 --- /dev/null +++ b/wwwroot/assets/icons/cut.svg @@ -0,0 +1,5 @@ + + +cut + + diff --git a/wwwroot/assets/icons/data-transfer-down.svg b/wwwroot/assets/icons/data-transfer-down.svg new file mode 100644 index 0000000..991e293 --- /dev/null +++ b/wwwroot/assets/icons/data-transfer-down.svg @@ -0,0 +1,6 @@ + + +data-transfer-down + + + diff --git a/wwwroot/assets/icons/data-transfer-up.svg b/wwwroot/assets/icons/data-transfer-up.svg new file mode 100644 index 0000000..d257960 --- /dev/null +++ b/wwwroot/assets/icons/data-transfer-up.svg @@ -0,0 +1,6 @@ + + +data-transfer-up + + + diff --git a/wwwroot/assets/icons/deaf.svg b/wwwroot/assets/icons/deaf.svg new file mode 100644 index 0000000..a5709af --- /dev/null +++ b/wwwroot/assets/icons/deaf.svg @@ -0,0 +1,7 @@ + + +deaf + + + + diff --git a/wwwroot/assets/icons/delete.svg b/wwwroot/assets/icons/delete.svg new file mode 100644 index 0000000..8aa51b6 --- /dev/null +++ b/wwwroot/assets/icons/delete.svg @@ -0,0 +1,6 @@ + + +delete + + + diff --git a/wwwroot/assets/icons/description.svg b/wwwroot/assets/icons/description.svg new file mode 100644 index 0000000..a1b637b --- /dev/null +++ b/wwwroot/assets/icons/description.svg @@ -0,0 +1,7 @@ + + +description + + + + diff --git a/wwwroot/assets/icons/devices.svg b/wwwroot/assets/icons/devices.svg new file mode 100644 index 0000000..8fe5d10 --- /dev/null +++ b/wwwroot/assets/icons/devices.svg @@ -0,0 +1,5 @@ + + +devices + + diff --git a/wwwroot/assets/icons/dialpad.svg b/wwwroot/assets/icons/dialpad.svg new file mode 100644 index 0000000..c8626d5 --- /dev/null +++ b/wwwroot/assets/icons/dialpad.svg @@ -0,0 +1,14 @@ + + +dialpad + + + + + + + + + + + diff --git a/wwwroot/assets/icons/dinner.svg b/wwwroot/assets/icons/dinner.svg new file mode 100644 index 0000000..3cfefe9 --- /dev/null +++ b/wwwroot/assets/icons/dinner.svg @@ -0,0 +1,6 @@ + + +dinner + + + diff --git a/wwwroot/assets/icons/dog.svg b/wwwroot/assets/icons/dog.svg new file mode 100644 index 0000000..be005fe --- /dev/null +++ b/wwwroot/assets/icons/dog.svg @@ -0,0 +1,5 @@ + + +dog + + diff --git a/wwwroot/assets/icons/dollar.svg b/wwwroot/assets/icons/dollar.svg new file mode 100644 index 0000000..eb5697b --- /dev/null +++ b/wwwroot/assets/icons/dollar.svg @@ -0,0 +1,5 @@ + + +dollar + + diff --git a/wwwroot/assets/icons/door.svg b/wwwroot/assets/icons/door.svg new file mode 100644 index 0000000..ea486ed --- /dev/null +++ b/wwwroot/assets/icons/door.svg @@ -0,0 +1,6 @@ + + +door + + + diff --git a/wwwroot/assets/icons/double-quote-sans-left.svg b/wwwroot/assets/icons/double-quote-sans-left.svg new file mode 100644 index 0000000..6a9384c --- /dev/null +++ b/wwwroot/assets/icons/double-quote-sans-left.svg @@ -0,0 +1,6 @@ + + +double-quote-sans-left + + + diff --git a/wwwroot/assets/icons/double-quote-sans-right.svg b/wwwroot/assets/icons/double-quote-sans-right.svg new file mode 100644 index 0000000..5e5596c --- /dev/null +++ b/wwwroot/assets/icons/double-quote-sans-right.svg @@ -0,0 +1,6 @@ + + +double-quote-sans-right + + + diff --git a/wwwroot/assets/icons/drink-alcohol.svg b/wwwroot/assets/icons/drink-alcohol.svg new file mode 100644 index 0000000..90e6fec --- /dev/null +++ b/wwwroot/assets/icons/drink-alcohol.svg @@ -0,0 +1,5 @@ + + +drink-alcohol + + diff --git a/wwwroot/assets/icons/drink.svg b/wwwroot/assets/icons/drink.svg new file mode 100644 index 0000000..67ba1a1 --- /dev/null +++ b/wwwroot/assets/icons/drink.svg @@ -0,0 +1,5 @@ + + +drink + + diff --git a/wwwroot/assets/icons/drop.svg b/wwwroot/assets/icons/drop.svg new file mode 100644 index 0000000..fd5d6c6 --- /dev/null +++ b/wwwroot/assets/icons/drop.svg @@ -0,0 +1,5 @@ + + +drop + + diff --git a/wwwroot/assets/icons/drop1.svg b/wwwroot/assets/icons/drop1.svg new file mode 100644 index 0000000..2a89922 --- /dev/null +++ b/wwwroot/assets/icons/drop1.svg @@ -0,0 +1,5 @@ + + +drop1 + + diff --git a/wwwroot/assets/icons/elevator.svg b/wwwroot/assets/icons/elevator.svg new file mode 100644 index 0000000..a5c89b6 --- /dev/null +++ b/wwwroot/assets/icons/elevator.svg @@ -0,0 +1,6 @@ + + +elevator + + + diff --git a/wwwroot/assets/icons/energy.svg b/wwwroot/assets/icons/energy.svg new file mode 100644 index 0000000..57ca6e3 --- /dev/null +++ b/wwwroot/assets/icons/energy.svg @@ -0,0 +1,5 @@ + + +energy + + diff --git a/wwwroot/assets/icons/envelope-closed.svg b/wwwroot/assets/icons/envelope-closed.svg new file mode 100644 index 0000000..729a865 --- /dev/null +++ b/wwwroot/assets/icons/envelope-closed.svg @@ -0,0 +1,5 @@ + + +envelope-closed + + diff --git a/wwwroot/assets/icons/envelope-letter.svg b/wwwroot/assets/icons/envelope-letter.svg new file mode 100644 index 0000000..8e559d3 --- /dev/null +++ b/wwwroot/assets/icons/envelope-letter.svg @@ -0,0 +1,5 @@ + + +envelope-letter + + diff --git a/wwwroot/assets/icons/envelope-open.svg b/wwwroot/assets/icons/envelope-open.svg new file mode 100644 index 0000000..13ae973 --- /dev/null +++ b/wwwroot/assets/icons/envelope-open.svg @@ -0,0 +1,5 @@ + + +envelope-open + + diff --git a/wwwroot/assets/icons/equalizer.svg b/wwwroot/assets/icons/equalizer.svg new file mode 100644 index 0000000..6da0b84 --- /dev/null +++ b/wwwroot/assets/icons/equalizer.svg @@ -0,0 +1,7 @@ + + +equalizer + + + + diff --git a/wwwroot/assets/icons/ethernet.svg b/wwwroot/assets/icons/ethernet.svg new file mode 100644 index 0000000..029f336 --- /dev/null +++ b/wwwroot/assets/icons/ethernet.svg @@ -0,0 +1,9 @@ + + +ethernet + + + + + + diff --git a/wwwroot/assets/icons/euro.svg b/wwwroot/assets/icons/euro.svg new file mode 100644 index 0000000..5ec1c72 --- /dev/null +++ b/wwwroot/assets/icons/euro.svg @@ -0,0 +1,5 @@ + + +euro + + diff --git a/wwwroot/assets/icons/excerpt.svg b/wwwroot/assets/icons/excerpt.svg new file mode 100644 index 0000000..a6172f6 --- /dev/null +++ b/wwwroot/assets/icons/excerpt.svg @@ -0,0 +1,11 @@ + + +excerpt + + + + + + + + diff --git a/wwwroot/assets/icons/exit-to-app.svg b/wwwroot/assets/icons/exit-to-app.svg new file mode 100644 index 0000000..ecf1570 --- /dev/null +++ b/wwwroot/assets/icons/exit-to-app.svg @@ -0,0 +1,6 @@ + + +exit-to-app + + + diff --git a/wwwroot/assets/icons/expand-down.svg b/wwwroot/assets/icons/expand-down.svg new file mode 100644 index 0000000..e04b46e --- /dev/null +++ b/wwwroot/assets/icons/expand-down.svg @@ -0,0 +1,7 @@ + + +expand-down + + + + diff --git a/wwwroot/assets/icons/expand-left.svg b/wwwroot/assets/icons/expand-left.svg new file mode 100644 index 0000000..462b63b --- /dev/null +++ b/wwwroot/assets/icons/expand-left.svg @@ -0,0 +1,7 @@ + + +expand-left + + + + diff --git a/wwwroot/assets/icons/expand-right.svg b/wwwroot/assets/icons/expand-right.svg new file mode 100644 index 0000000..b46903d --- /dev/null +++ b/wwwroot/assets/icons/expand-right.svg @@ -0,0 +1,7 @@ + + +expand-right + + + + diff --git a/wwwroot/assets/icons/expand-up.svg b/wwwroot/assets/icons/expand-up.svg new file mode 100644 index 0000000..ee5bcf9 --- /dev/null +++ b/wwwroot/assets/icons/expand-up.svg @@ -0,0 +1,7 @@ + + +expand-up + + + + diff --git a/wwwroot/assets/icons/exposure.svg b/wwwroot/assets/icons/exposure.svg new file mode 100644 index 0000000..e1ea839 --- /dev/null +++ b/wwwroot/assets/icons/exposure.svg @@ -0,0 +1,7 @@ + + +exposure + + + + diff --git a/wwwroot/assets/icons/external-link.svg b/wwwroot/assets/icons/external-link.svg new file mode 100644 index 0000000..c970a61 --- /dev/null +++ b/wwwroot/assets/icons/external-link.svg @@ -0,0 +1,6 @@ + + +external-link + + + diff --git a/wwwroot/assets/icons/eye.svg b/wwwroot/assets/icons/eye.svg new file mode 100644 index 0000000..115622e --- /dev/null +++ b/wwwroot/assets/icons/eye.svg @@ -0,0 +1,7 @@ + + +eye + + + + diff --git a/wwwroot/assets/icons/eyedropper.svg b/wwwroot/assets/icons/eyedropper.svg new file mode 100644 index 0000000..f9968a0 --- /dev/null +++ b/wwwroot/assets/icons/eyedropper.svg @@ -0,0 +1,5 @@ + + +eyedropper + + diff --git a/wwwroot/assets/icons/face-dead.svg b/wwwroot/assets/icons/face-dead.svg new file mode 100644 index 0000000..6ae3f51 --- /dev/null +++ b/wwwroot/assets/icons/face-dead.svg @@ -0,0 +1,8 @@ + + +face-dead + + + + + diff --git a/wwwroot/assets/icons/face.svg b/wwwroot/assets/icons/face.svg new file mode 100644 index 0000000..8911d5f --- /dev/null +++ b/wwwroot/assets/icons/face.svg @@ -0,0 +1,8 @@ + + +face + + + + + diff --git a/wwwroot/assets/icons/facebook.svg b/wwwroot/assets/icons/facebook.svg new file mode 100644 index 0000000..a7f5383 --- /dev/null +++ b/wwwroot/assets/icons/facebook.svg @@ -0,0 +1,5 @@ + + +facebook + + diff --git a/wwwroot/assets/icons/fastfood.svg b/wwwroot/assets/icons/fastfood.svg new file mode 100644 index 0000000..64414bc --- /dev/null +++ b/wwwroot/assets/icons/fastfood.svg @@ -0,0 +1,7 @@ + + +fastfood + + + + diff --git a/wwwroot/assets/icons/fax.svg b/wwwroot/assets/icons/fax.svg new file mode 100644 index 0000000..ea9688e --- /dev/null +++ b/wwwroot/assets/icons/fax.svg @@ -0,0 +1,12 @@ + + +fax + + + + + + + + + diff --git a/wwwroot/assets/icons/featured-playlist.svg b/wwwroot/assets/icons/featured-playlist.svg new file mode 100644 index 0000000..abcb25e --- /dev/null +++ b/wwwroot/assets/icons/featured-playlist.svg @@ -0,0 +1,9 @@ + + +featured-playlist + + + + + + diff --git a/wwwroot/assets/icons/file.svg b/wwwroot/assets/icons/file.svg new file mode 100644 index 0000000..d306700 --- /dev/null +++ b/wwwroot/assets/icons/file.svg @@ -0,0 +1,5 @@ + + +file + + diff --git a/wwwroot/assets/icons/filter-frames.svg b/wwwroot/assets/icons/filter-frames.svg new file mode 100644 index 0000000..48b189f --- /dev/null +++ b/wwwroot/assets/icons/filter-frames.svg @@ -0,0 +1,6 @@ + + +filter-frames + + + diff --git a/wwwroot/assets/icons/filter-photo.svg b/wwwroot/assets/icons/filter-photo.svg new file mode 100644 index 0000000..c1334ba --- /dev/null +++ b/wwwroot/assets/icons/filter-photo.svg @@ -0,0 +1,6 @@ + + +filter-photo + + + diff --git a/wwwroot/assets/icons/filter.svg b/wwwroot/assets/icons/filter.svg new file mode 100644 index 0000000..e0bab64 --- /dev/null +++ b/wwwroot/assets/icons/filter.svg @@ -0,0 +1,5 @@ + + +filter + + diff --git a/wwwroot/assets/icons/find-in-page.svg b/wwwroot/assets/icons/find-in-page.svg new file mode 100644 index 0000000..513c61c --- /dev/null +++ b/wwwroot/assets/icons/find-in-page.svg @@ -0,0 +1,6 @@ + + +find-in-page + + + diff --git a/wwwroot/assets/icons/fingerprint.svg b/wwwroot/assets/icons/fingerprint.svg new file mode 100644 index 0000000..348d4b9 --- /dev/null +++ b/wwwroot/assets/icons/fingerprint.svg @@ -0,0 +1,10 @@ + + +fingerprint + + + + + + + diff --git a/wwwroot/assets/icons/fire.svg b/wwwroot/assets/icons/fire.svg new file mode 100644 index 0000000..2b00f6c --- /dev/null +++ b/wwwroot/assets/icons/fire.svg @@ -0,0 +1,6 @@ + + +fire + + + diff --git a/wwwroot/assets/icons/flag-alt.svg b/wwwroot/assets/icons/flag-alt.svg new file mode 100644 index 0000000..98bbe95 --- /dev/null +++ b/wwwroot/assets/icons/flag-alt.svg @@ -0,0 +1,5 @@ + + +flag-alt + + diff --git a/wwwroot/assets/icons/flight-takeoff.svg b/wwwroot/assets/icons/flight-takeoff.svg new file mode 100644 index 0000000..c6aa644 --- /dev/null +++ b/wwwroot/assets/icons/flight-takeoff.svg @@ -0,0 +1,6 @@ + + +flight-takeoff + + + diff --git a/wwwroot/assets/icons/flip-to-back.svg b/wwwroot/assets/icons/flip-to-back.svg new file mode 100644 index 0000000..e2de29d --- /dev/null +++ b/wwwroot/assets/icons/flip-to-back.svg @@ -0,0 +1,29 @@ + + +flip-to-back + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/flip-to-front.svg b/wwwroot/assets/icons/flip-to-front.svg new file mode 100644 index 0000000..7c9c268 --- /dev/null +++ b/wwwroot/assets/icons/flip-to-front.svg @@ -0,0 +1,18 @@ + + +flip-to-front + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/flip.svg b/wwwroot/assets/icons/flip.svg new file mode 100644 index 0000000..dedeff6 --- /dev/null +++ b/wwwroot/assets/icons/flip.svg @@ -0,0 +1,16 @@ + + +flip + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/flower.svg b/wwwroot/assets/icons/flower.svg new file mode 100644 index 0000000..44d3bea --- /dev/null +++ b/wwwroot/assets/icons/flower.svg @@ -0,0 +1,6 @@ + + +flower + + + diff --git a/wwwroot/assets/icons/folder-open.svg b/wwwroot/assets/icons/folder-open.svg new file mode 100644 index 0000000..3574162 --- /dev/null +++ b/wwwroot/assets/icons/folder-open.svg @@ -0,0 +1,5 @@ + + +folder-open + + diff --git a/wwwroot/assets/icons/folder.svg b/wwwroot/assets/icons/folder.svg new file mode 100644 index 0000000..9072fea --- /dev/null +++ b/wwwroot/assets/icons/folder.svg @@ -0,0 +1,5 @@ + + +folder + + diff --git a/wwwroot/assets/icons/font.svg b/wwwroot/assets/icons/font.svg new file mode 100644 index 0000000..46b00e3 --- /dev/null +++ b/wwwroot/assets/icons/font.svg @@ -0,0 +1,6 @@ + + +font + + + diff --git a/wwwroot/assets/icons/football.svg b/wwwroot/assets/icons/football.svg new file mode 100644 index 0000000..b0004c0 --- /dev/null +++ b/wwwroot/assets/icons/football.svg @@ -0,0 +1,6 @@ + + +football + + + diff --git a/wwwroot/assets/icons/fork.svg b/wwwroot/assets/icons/fork.svg new file mode 100644 index 0000000..ba62ceb --- /dev/null +++ b/wwwroot/assets/icons/fork.svg @@ -0,0 +1,5 @@ + + +fork + + diff --git a/wwwroot/assets/icons/fridge.svg b/wwwroot/assets/icons/fridge.svg new file mode 100644 index 0000000..9fed168 --- /dev/null +++ b/wwwroot/assets/icons/fridge.svg @@ -0,0 +1,7 @@ + + +fridge + + + + diff --git a/wwwroot/assets/icons/frown.svg b/wwwroot/assets/icons/frown.svg new file mode 100644 index 0000000..d74eab4 --- /dev/null +++ b/wwwroot/assets/icons/frown.svg @@ -0,0 +1,8 @@ + + +frown + + + + + diff --git a/wwwroot/assets/icons/fullscreen-exit.svg b/wwwroot/assets/icons/fullscreen-exit.svg new file mode 100644 index 0000000..eec5196 --- /dev/null +++ b/wwwroot/assets/icons/fullscreen-exit.svg @@ -0,0 +1,6 @@ + + +fullscreen-exit + + + diff --git a/wwwroot/assets/icons/fullscreen.svg b/wwwroot/assets/icons/fullscreen.svg new file mode 100644 index 0000000..7c15036 --- /dev/null +++ b/wwwroot/assets/icons/fullscreen.svg @@ -0,0 +1,6 @@ + + +fullscreen + + + diff --git a/wwwroot/assets/icons/functions-alt.svg b/wwwroot/assets/icons/functions-alt.svg new file mode 100644 index 0000000..7dae521 --- /dev/null +++ b/wwwroot/assets/icons/functions-alt.svg @@ -0,0 +1,5 @@ + + +functions-alt + + diff --git a/wwwroot/assets/icons/functions.svg b/wwwroot/assets/icons/functions.svg new file mode 100644 index 0000000..54d958c --- /dev/null +++ b/wwwroot/assets/icons/functions.svg @@ -0,0 +1,5 @@ + + +functions + + diff --git a/wwwroot/assets/icons/gamepad.svg b/wwwroot/assets/icons/gamepad.svg new file mode 100644 index 0000000..e5ef3f4 --- /dev/null +++ b/wwwroot/assets/icons/gamepad.svg @@ -0,0 +1,10 @@ + + +gamepad + + + + + + + diff --git a/wwwroot/assets/icons/garage.svg b/wwwroot/assets/icons/garage.svg new file mode 100644 index 0000000..5914209 --- /dev/null +++ b/wwwroot/assets/icons/garage.svg @@ -0,0 +1,8 @@ + + +garage + + + + + diff --git a/wwwroot/assets/icons/gem.svg b/wwwroot/assets/icons/gem.svg new file mode 100644 index 0000000..afbf093 --- /dev/null +++ b/wwwroot/assets/icons/gem.svg @@ -0,0 +1,5 @@ + + +gem + + diff --git a/wwwroot/assets/icons/gif.svg b/wwwroot/assets/icons/gif.svg new file mode 100644 index 0000000..41197c6 --- /dev/null +++ b/wwwroot/assets/icons/gif.svg @@ -0,0 +1,7 @@ + + +gif + + + + diff --git a/wwwroot/assets/icons/gift.svg b/wwwroot/assets/icons/gift.svg new file mode 100644 index 0000000..63967b6 --- /dev/null +++ b/wwwroot/assets/icons/gift.svg @@ -0,0 +1,5 @@ + + +gift + + diff --git a/wwwroot/assets/icons/git.svg b/wwwroot/assets/icons/git.svg new file mode 100644 index 0000000..03dc933 --- /dev/null +++ b/wwwroot/assets/icons/git.svg @@ -0,0 +1,5 @@ + + +git + + diff --git a/wwwroot/assets/icons/github-circle.svg b/wwwroot/assets/icons/github-circle.svg new file mode 100644 index 0000000..70c1d40 --- /dev/null +++ b/wwwroot/assets/icons/github-circle.svg @@ -0,0 +1,5 @@ + + +github-circle + + diff --git a/wwwroot/assets/icons/github.svg b/wwwroot/assets/icons/github.svg new file mode 100644 index 0000000..ffa9cff --- /dev/null +++ b/wwwroot/assets/icons/github.svg @@ -0,0 +1,5 @@ + + +github + + diff --git a/wwwroot/assets/icons/gitlab.svg b/wwwroot/assets/icons/gitlab.svg new file mode 100644 index 0000000..cf48bd1 --- /dev/null +++ b/wwwroot/assets/icons/gitlab.svg @@ -0,0 +1,5 @@ + + +gitlab + + diff --git a/wwwroot/assets/icons/globe-alt.svg b/wwwroot/assets/icons/globe-alt.svg new file mode 100644 index 0000000..2b9e013 --- /dev/null +++ b/wwwroot/assets/icons/globe-alt.svg @@ -0,0 +1,5 @@ + + +globe-alt + + diff --git a/wwwroot/assets/icons/golf-alt.svg b/wwwroot/assets/icons/golf-alt.svg new file mode 100644 index 0000000..403429f --- /dev/null +++ b/wwwroot/assets/icons/golf-alt.svg @@ -0,0 +1,6 @@ + + +golf-alt + + + diff --git a/wwwroot/assets/icons/golf.svg b/wwwroot/assets/icons/golf.svg new file mode 100644 index 0000000..ad8e322 --- /dev/null +++ b/wwwroot/assets/icons/golf.svg @@ -0,0 +1,6 @@ + + +golf + + + diff --git a/wwwroot/assets/icons/gradient.svg b/wwwroot/assets/icons/gradient.svg new file mode 100644 index 0000000..d0d2c5a --- /dev/null +++ b/wwwroot/assets/icons/gradient.svg @@ -0,0 +1,13 @@ + + +gradient + + + + + + + + + + diff --git a/wwwroot/assets/icons/grain.svg b/wwwroot/assets/icons/grain.svg new file mode 100644 index 0000000..9b5f771 --- /dev/null +++ b/wwwroot/assets/icons/grain.svg @@ -0,0 +1,12 @@ + + +grain + + + + + + + + + diff --git a/wwwroot/assets/icons/graph.svg b/wwwroot/assets/icons/graph.svg new file mode 100644 index 0000000..4119be1 --- /dev/null +++ b/wwwroot/assets/icons/graph.svg @@ -0,0 +1,5 @@ + + +graph + + diff --git a/wwwroot/assets/icons/grid-slash.svg b/wwwroot/assets/icons/grid-slash.svg new file mode 100644 index 0000000..b933897 --- /dev/null +++ b/wwwroot/assets/icons/grid-slash.svg @@ -0,0 +1,6 @@ + + +grid-slash + + + diff --git a/wwwroot/assets/icons/grid.svg b/wwwroot/assets/icons/grid.svg new file mode 100644 index 0000000..b52cd86 --- /dev/null +++ b/wwwroot/assets/icons/grid.svg @@ -0,0 +1,5 @@ + + +grid + + diff --git a/wwwroot/assets/icons/hand-point-down.svg b/wwwroot/assets/icons/hand-point-down.svg new file mode 100644 index 0000000..4b2e087 --- /dev/null +++ b/wwwroot/assets/icons/hand-point-down.svg @@ -0,0 +1,5 @@ + + +hand-point-down + + diff --git a/wwwroot/assets/icons/hand-point-left.svg b/wwwroot/assets/icons/hand-point-left.svg new file mode 100644 index 0000000..25563c1 --- /dev/null +++ b/wwwroot/assets/icons/hand-point-left.svg @@ -0,0 +1,5 @@ + + +hand-point-left + + diff --git a/wwwroot/assets/icons/hand-point-right.svg b/wwwroot/assets/icons/hand-point-right.svg new file mode 100644 index 0000000..a884b46 --- /dev/null +++ b/wwwroot/assets/icons/hand-point-right.svg @@ -0,0 +1,5 @@ + + +hand-point-right + + diff --git a/wwwroot/assets/icons/hand-point-up.svg b/wwwroot/assets/icons/hand-point-up.svg new file mode 100644 index 0000000..1c4fc18 --- /dev/null +++ b/wwwroot/assets/icons/hand-point-up.svg @@ -0,0 +1,5 @@ + + +hand-point-up + + diff --git a/wwwroot/assets/icons/hd.svg b/wwwroot/assets/icons/hd.svg new file mode 100644 index 0000000..fbfe784 --- /dev/null +++ b/wwwroot/assets/icons/hd.svg @@ -0,0 +1,7 @@ + + +hd + + + + diff --git a/wwwroot/assets/icons/hdr.svg b/wwwroot/assets/icons/hdr.svg new file mode 100644 index 0000000..d5b850a --- /dev/null +++ b/wwwroot/assets/icons/hdr.svg @@ -0,0 +1,7 @@ + + +hdr + + + + diff --git a/wwwroot/assets/icons/header.svg b/wwwroot/assets/icons/header.svg new file mode 100644 index 0000000..629e540 --- /dev/null +++ b/wwwroot/assets/icons/header.svg @@ -0,0 +1,6 @@ + + +header + + + diff --git a/wwwroot/assets/icons/headphones.svg b/wwwroot/assets/icons/headphones.svg new file mode 100644 index 0000000..5d1a690 --- /dev/null +++ b/wwwroot/assets/icons/headphones.svg @@ -0,0 +1,5 @@ + + +headphones + + diff --git a/wwwroot/assets/icons/healing.svg b/wwwroot/assets/icons/healing.svg new file mode 100644 index 0000000..044489f --- /dev/null +++ b/wwwroot/assets/icons/healing.svg @@ -0,0 +1,11 @@ + + +healing + + + + + + + + diff --git a/wwwroot/assets/icons/heart.svg b/wwwroot/assets/icons/heart.svg new file mode 100644 index 0000000..ceb1a0c --- /dev/null +++ b/wwwroot/assets/icons/heart.svg @@ -0,0 +1,5 @@ + + +heart + + diff --git a/wwwroot/assets/icons/highlighter.svg b/wwwroot/assets/icons/highlighter.svg new file mode 100644 index 0000000..871c969 --- /dev/null +++ b/wwwroot/assets/icons/highlighter.svg @@ -0,0 +1,5 @@ + + +highlighter + + diff --git a/wwwroot/assets/icons/highligt.svg b/wwwroot/assets/icons/highligt.svg new file mode 100644 index 0000000..34085bd --- /dev/null +++ b/wwwroot/assets/icons/highligt.svg @@ -0,0 +1,8 @@ + + +highligt + + + + + diff --git a/wwwroot/assets/icons/history.svg b/wwwroot/assets/icons/history.svg new file mode 100644 index 0000000..d4c24d6 --- /dev/null +++ b/wwwroot/assets/icons/history.svg @@ -0,0 +1,6 @@ + + +history + + + diff --git a/wwwroot/assets/icons/home.svg b/wwwroot/assets/icons/home.svg new file mode 100644 index 0000000..c225754 --- /dev/null +++ b/wwwroot/assets/icons/home.svg @@ -0,0 +1,5 @@ + + +home + + diff --git a/wwwroot/assets/icons/hospital.svg b/wwwroot/assets/icons/hospital.svg new file mode 100644 index 0000000..55916e4 --- /dev/null +++ b/wwwroot/assets/icons/hospital.svg @@ -0,0 +1,9 @@ + + +hospital + + + + + + diff --git a/wwwroot/assets/icons/hot-tub.svg b/wwwroot/assets/icons/hot-tub.svg new file mode 100644 index 0000000..8cbade8 --- /dev/null +++ b/wwwroot/assets/icons/hot-tub.svg @@ -0,0 +1,12 @@ + + +hot-tub + + + + + + + + + diff --git a/wwwroot/assets/icons/house.svg b/wwwroot/assets/icons/house.svg new file mode 100644 index 0000000..d1f4c33 --- /dev/null +++ b/wwwroot/assets/icons/house.svg @@ -0,0 +1,6 @@ + + +house + + + diff --git a/wwwroot/assets/icons/https.svg b/wwwroot/assets/icons/https.svg new file mode 100644 index 0000000..d54d61a --- /dev/null +++ b/wwwroot/assets/icons/https.svg @@ -0,0 +1,6 @@ + + +https + + + diff --git a/wwwroot/assets/icons/image-broken.svg b/wwwroot/assets/icons/image-broken.svg new file mode 100644 index 0000000..fc49a74 --- /dev/null +++ b/wwwroot/assets/icons/image-broken.svg @@ -0,0 +1,6 @@ + + +image-broken + + + diff --git a/wwwroot/assets/icons/image-plus.svg b/wwwroot/assets/icons/image-plus.svg new file mode 100644 index 0000000..9e59b31 --- /dev/null +++ b/wwwroot/assets/icons/image-plus.svg @@ -0,0 +1,6 @@ + + +image-plus + + + diff --git a/wwwroot/assets/icons/image1.svg b/wwwroot/assets/icons/image1.svg new file mode 100644 index 0000000..e1f8be6 --- /dev/null +++ b/wwwroot/assets/icons/image1.svg @@ -0,0 +1,5 @@ + + +image1 + + diff --git a/wwwroot/assets/icons/inbox.svg b/wwwroot/assets/icons/inbox.svg new file mode 100644 index 0000000..af59e14 --- /dev/null +++ b/wwwroot/assets/icons/inbox.svg @@ -0,0 +1,5 @@ + + +inbox + + diff --git a/wwwroot/assets/icons/indent-decrease.svg b/wwwroot/assets/icons/indent-decrease.svg new file mode 100644 index 0000000..4ce3c3c --- /dev/null +++ b/wwwroot/assets/icons/indent-decrease.svg @@ -0,0 +1,10 @@ + + +indent-decrease + + + + + + + diff --git a/wwwroot/assets/icons/indent-increase.svg b/wwwroot/assets/icons/indent-increase.svg new file mode 100644 index 0000000..6bc5501 --- /dev/null +++ b/wwwroot/assets/icons/indent-increase.svg @@ -0,0 +1,10 @@ + + +indent-increase + + + + + + + diff --git a/wwwroot/assets/icons/industry-slash.svg b/wwwroot/assets/icons/industry-slash.svg new file mode 100644 index 0000000..33e9c6f --- /dev/null +++ b/wwwroot/assets/icons/industry-slash.svg @@ -0,0 +1,12 @@ + + +industry-slash + + + + + + + + + diff --git a/wwwroot/assets/icons/industry.svg b/wwwroot/assets/icons/industry.svg new file mode 100644 index 0000000..70881d9 --- /dev/null +++ b/wwwroot/assets/icons/industry.svg @@ -0,0 +1,13 @@ + + +industry + + + + + + + + + + diff --git a/wwwroot/assets/icons/infinity.svg b/wwwroot/assets/icons/infinity.svg new file mode 100644 index 0000000..f8b86b7 --- /dev/null +++ b/wwwroot/assets/icons/infinity.svg @@ -0,0 +1,5 @@ + + +infinity + + diff --git a/wwwroot/assets/icons/info.svg b/wwwroot/assets/icons/info.svg new file mode 100644 index 0000000..2c8bd90 --- /dev/null +++ b/wwwroot/assets/icons/info.svg @@ -0,0 +1,7 @@ + + +info + + + + diff --git a/wwwroot/assets/icons/input-hdmi.svg b/wwwroot/assets/icons/input-hdmi.svg new file mode 100644 index 0000000..5b3eb79 --- /dev/null +++ b/wwwroot/assets/icons/input-hdmi.svg @@ -0,0 +1,5 @@ + + +input-hdmi + + diff --git a/wwwroot/assets/icons/input-power.svg b/wwwroot/assets/icons/input-power.svg new file mode 100644 index 0000000..cd60452 --- /dev/null +++ b/wwwroot/assets/icons/input-power.svg @@ -0,0 +1,5 @@ + + +input-power + + diff --git a/wwwroot/assets/icons/input.svg b/wwwroot/assets/icons/input.svg new file mode 100644 index 0000000..ab1016b --- /dev/null +++ b/wwwroot/assets/icons/input.svg @@ -0,0 +1,6 @@ + + +input + + + diff --git a/wwwroot/assets/icons/instagram.svg b/wwwroot/assets/icons/instagram.svg new file mode 100644 index 0000000..6e6cff1 --- /dev/null +++ b/wwwroot/assets/icons/instagram.svg @@ -0,0 +1,7 @@ + + +instagram + + + + diff --git a/wwwroot/assets/icons/institution.svg b/wwwroot/assets/icons/institution.svg new file mode 100644 index 0000000..96fe084 --- /dev/null +++ b/wwwroot/assets/icons/institution.svg @@ -0,0 +1,10 @@ + + +institution + + + + + + + diff --git a/wwwroot/assets/icons/italic.svg b/wwwroot/assets/icons/italic.svg new file mode 100644 index 0000000..7b3315c --- /dev/null +++ b/wwwroot/assets/icons/italic.svg @@ -0,0 +1,6 @@ + + +italic + + + diff --git a/wwwroot/assets/icons/justify-center.svg b/wwwroot/assets/icons/justify-center.svg new file mode 100644 index 0000000..9f8e088 --- /dev/null +++ b/wwwroot/assets/icons/justify-center.svg @@ -0,0 +1,9 @@ + + +justify-center + + + + + + diff --git a/wwwroot/assets/icons/justify-left.svg b/wwwroot/assets/icons/justify-left.svg new file mode 100644 index 0000000..0abdb4f --- /dev/null +++ b/wwwroot/assets/icons/justify-left.svg @@ -0,0 +1,9 @@ + + +justify-left + + + + + + diff --git a/wwwroot/assets/icons/justify-right.svg b/wwwroot/assets/icons/justify-right.svg new file mode 100644 index 0000000..8abc8e2 --- /dev/null +++ b/wwwroot/assets/icons/justify-right.svg @@ -0,0 +1,9 @@ + + +justify-right + + + + + + diff --git a/wwwroot/assets/icons/keyboard.svg b/wwwroot/assets/icons/keyboard.svg new file mode 100644 index 0000000..126a070 --- /dev/null +++ b/wwwroot/assets/icons/keyboard.svg @@ -0,0 +1,20 @@ + + +keyboard + + + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/lan.svg b/wwwroot/assets/icons/lan.svg new file mode 100644 index 0000000..ab96574 --- /dev/null +++ b/wwwroot/assets/icons/lan.svg @@ -0,0 +1,5 @@ + + +lan + + diff --git a/wwwroot/assets/icons/language.svg b/wwwroot/assets/icons/language.svg new file mode 100644 index 0000000..ec59e3a --- /dev/null +++ b/wwwroot/assets/icons/language.svg @@ -0,0 +1,6 @@ + + +language + + + diff --git a/wwwroot/assets/icons/laptop.svg b/wwwroot/assets/icons/laptop.svg new file mode 100644 index 0000000..f0c0e08 --- /dev/null +++ b/wwwroot/assets/icons/laptop.svg @@ -0,0 +1,6 @@ + + +laptop + + + diff --git a/wwwroot/assets/icons/layers.svg b/wwwroot/assets/icons/layers.svg new file mode 100644 index 0000000..36652db --- /dev/null +++ b/wwwroot/assets/icons/layers.svg @@ -0,0 +1,7 @@ + + +layers + + + + diff --git a/wwwroot/assets/icons/leaf.svg b/wwwroot/assets/icons/leaf.svg new file mode 100644 index 0000000..1cbcb91 --- /dev/null +++ b/wwwroot/assets/icons/leaf.svg @@ -0,0 +1,5 @@ + + +leaf + + diff --git a/wwwroot/assets/icons/lemon.svg b/wwwroot/assets/icons/lemon.svg new file mode 100644 index 0000000..44a6b1d --- /dev/null +++ b/wwwroot/assets/icons/lemon.svg @@ -0,0 +1,6 @@ + + +lemon + + + diff --git a/wwwroot/assets/icons/level-down.svg b/wwwroot/assets/icons/level-down.svg new file mode 100644 index 0000000..6436d3c --- /dev/null +++ b/wwwroot/assets/icons/level-down.svg @@ -0,0 +1,5 @@ + + +level-down + + diff --git a/wwwroot/assets/icons/level-up.svg b/wwwroot/assets/icons/level-up.svg new file mode 100644 index 0000000..4e90441 --- /dev/null +++ b/wwwroot/assets/icons/level-up.svg @@ -0,0 +1,5 @@ + + +level-up + + diff --git a/wwwroot/assets/icons/library-add.svg b/wwwroot/assets/icons/library-add.svg new file mode 100644 index 0000000..11da4f3 --- /dev/null +++ b/wwwroot/assets/icons/library-add.svg @@ -0,0 +1,8 @@ + + +library-add + + + + + diff --git a/wwwroot/assets/icons/library.svg b/wwwroot/assets/icons/library.svg new file mode 100644 index 0000000..788e276 --- /dev/null +++ b/wwwroot/assets/icons/library.svg @@ -0,0 +1,7 @@ + + +library + + + + diff --git a/wwwroot/assets/icons/life-ring.svg b/wwwroot/assets/icons/life-ring.svg new file mode 100644 index 0000000..da49684 --- /dev/null +++ b/wwwroot/assets/icons/life-ring.svg @@ -0,0 +1,5 @@ + + +life-ring + + diff --git a/wwwroot/assets/icons/lightbulb.svg b/wwwroot/assets/icons/lightbulb.svg new file mode 100644 index 0000000..3e4d6cf --- /dev/null +++ b/wwwroot/assets/icons/lightbulb.svg @@ -0,0 +1,5 @@ + + +lightbulb + + diff --git a/wwwroot/assets/icons/line-spacing.svg b/wwwroot/assets/icons/line-spacing.svg new file mode 100644 index 0000000..16c7043 --- /dev/null +++ b/wwwroot/assets/icons/line-spacing.svg @@ -0,0 +1,9 @@ + + +line-spacing + + + + + + diff --git a/wwwroot/assets/icons/line-style.svg b/wwwroot/assets/icons/line-style.svg new file mode 100644 index 0000000..c28730e --- /dev/null +++ b/wwwroot/assets/icons/line-style.svg @@ -0,0 +1,14 @@ + + +line-style + + + + + + + + + + + diff --git a/wwwroot/assets/icons/line-weight.svg b/wwwroot/assets/icons/line-weight.svg new file mode 100644 index 0000000..20b42b3 --- /dev/null +++ b/wwwroot/assets/icons/line-weight.svg @@ -0,0 +1,8 @@ + + +line-weight + + + + + diff --git a/wwwroot/assets/icons/link-alt.svg b/wwwroot/assets/icons/link-alt.svg new file mode 100644 index 0000000..9f0fe0b --- /dev/null +++ b/wwwroot/assets/icons/link-alt.svg @@ -0,0 +1,7 @@ + + +link-alt + + + + diff --git a/wwwroot/assets/icons/link-broken.svg b/wwwroot/assets/icons/link-broken.svg new file mode 100644 index 0000000..c0e53a0 --- /dev/null +++ b/wwwroot/assets/icons/link-broken.svg @@ -0,0 +1,8 @@ + + +link-broken + + + + + diff --git a/wwwroot/assets/icons/link.svg b/wwwroot/assets/icons/link.svg new file mode 100644 index 0000000..4acc0b0 --- /dev/null +++ b/wwwroot/assets/icons/link.svg @@ -0,0 +1,7 @@ + + +link + + + + diff --git a/wwwroot/assets/icons/linkedin.svg b/wwwroot/assets/icons/linkedin.svg new file mode 100644 index 0000000..7144c29 --- /dev/null +++ b/wwwroot/assets/icons/linkedin.svg @@ -0,0 +1,8 @@ + + +linkedin + + + + + diff --git a/wwwroot/assets/icons/list-filter.svg b/wwwroot/assets/icons/list-filter.svg new file mode 100644 index 0000000..37a1a22 --- /dev/null +++ b/wwwroot/assets/icons/list-filter.svg @@ -0,0 +1,8 @@ + + +list-filter + + + + + diff --git a/wwwroot/assets/icons/list-high-priority.svg b/wwwroot/assets/icons/list-high-priority.svg new file mode 100644 index 0000000..47b7e53 --- /dev/null +++ b/wwwroot/assets/icons/list-high-priority.svg @@ -0,0 +1,9 @@ + + +list-high-priority + + + + + + diff --git a/wwwroot/assets/icons/list-low-priority.svg b/wwwroot/assets/icons/list-low-priority.svg new file mode 100644 index 0000000..d2cdbd3 --- /dev/null +++ b/wwwroot/assets/icons/list-low-priority.svg @@ -0,0 +1,9 @@ + + +list-low-priority + + + + + + diff --git a/wwwroot/assets/icons/list-numbered.svg b/wwwroot/assets/icons/list-numbered.svg new file mode 100644 index 0000000..aca1434 --- /dev/null +++ b/wwwroot/assets/icons/list-numbered.svg @@ -0,0 +1,10 @@ + + +list-numbered + + + + + + + diff --git a/wwwroot/assets/icons/list-rich.svg b/wwwroot/assets/icons/list-rich.svg new file mode 100644 index 0000000..ec5201f --- /dev/null +++ b/wwwroot/assets/icons/list-rich.svg @@ -0,0 +1,13 @@ + + +list-rich + + + + + + + + + + diff --git a/wwwroot/assets/icons/list.svg b/wwwroot/assets/icons/list.svg new file mode 100644 index 0000000..30ed6e4 --- /dev/null +++ b/wwwroot/assets/icons/list.svg @@ -0,0 +1,10 @@ + + +list + + + + + + + diff --git a/wwwroot/assets/icons/location-pin.svg b/wwwroot/assets/icons/location-pin.svg new file mode 100644 index 0000000..500b712 --- /dev/null +++ b/wwwroot/assets/icons/location-pin.svg @@ -0,0 +1,6 @@ + + +location-pin + + + diff --git a/wwwroot/assets/icons/lock-locked.svg b/wwwroot/assets/icons/lock-locked.svg new file mode 100644 index 0000000..3aeae47 --- /dev/null +++ b/wwwroot/assets/icons/lock-locked.svg @@ -0,0 +1,5 @@ + + +lock-locked + + diff --git a/wwwroot/assets/icons/lock-unlocked.svg b/wwwroot/assets/icons/lock-unlocked.svg new file mode 100644 index 0000000..f4e7641 --- /dev/null +++ b/wwwroot/assets/icons/lock-unlocked.svg @@ -0,0 +1,5 @@ + + +lock-unlocked + + diff --git a/wwwroot/assets/icons/locomotive.svg b/wwwroot/assets/icons/locomotive.svg new file mode 100644 index 0000000..969ead9 --- /dev/null +++ b/wwwroot/assets/icons/locomotive.svg @@ -0,0 +1,5 @@ + + +locomotive + + diff --git a/wwwroot/assets/icons/loop-1.svg b/wwwroot/assets/icons/loop-1.svg new file mode 100644 index 0000000..3d52c0b --- /dev/null +++ b/wwwroot/assets/icons/loop-1.svg @@ -0,0 +1,7 @@ + + +loop-1 + + + + diff --git a/wwwroot/assets/icons/loop-circular.svg b/wwwroot/assets/icons/loop-circular.svg new file mode 100644 index 0000000..d182d40 --- /dev/null +++ b/wwwroot/assets/icons/loop-circular.svg @@ -0,0 +1,6 @@ + + +loop-circular + + + diff --git a/wwwroot/assets/icons/loop.svg b/wwwroot/assets/icons/loop.svg new file mode 100644 index 0000000..596a9d2 --- /dev/null +++ b/wwwroot/assets/icons/loop.svg @@ -0,0 +1,6 @@ + + +loop + + + diff --git a/wwwroot/assets/icons/low-vision.svg b/wwwroot/assets/icons/low-vision.svg new file mode 100644 index 0000000..dec2187 --- /dev/null +++ b/wwwroot/assets/icons/low-vision.svg @@ -0,0 +1,7 @@ + + +low-vision + + + + diff --git a/wwwroot/assets/icons/magnifying-glass.svg b/wwwroot/assets/icons/magnifying-glass.svg new file mode 100644 index 0000000..1b24381 --- /dev/null +++ b/wwwroot/assets/icons/magnifying-glass.svg @@ -0,0 +1,5 @@ + + +magnifying-glass + + diff --git a/wwwroot/assets/icons/map.svg b/wwwroot/assets/icons/map.svg new file mode 100644 index 0000000..a820f2f --- /dev/null +++ b/wwwroot/assets/icons/map.svg @@ -0,0 +1,5 @@ + + +map + + diff --git a/wwwroot/assets/icons/media-eject.svg b/wwwroot/assets/icons/media-eject.svg new file mode 100644 index 0000000..5c76bed --- /dev/null +++ b/wwwroot/assets/icons/media-eject.svg @@ -0,0 +1,6 @@ + + +media-eject + + + diff --git a/wwwroot/assets/icons/media-pause.svg b/wwwroot/assets/icons/media-pause.svg new file mode 100644 index 0000000..ee4d50e --- /dev/null +++ b/wwwroot/assets/icons/media-pause.svg @@ -0,0 +1,6 @@ + + +media-pause + + + diff --git a/wwwroot/assets/icons/media-play.svg b/wwwroot/assets/icons/media-play.svg new file mode 100644 index 0000000..892492a --- /dev/null +++ b/wwwroot/assets/icons/media-play.svg @@ -0,0 +1,5 @@ + + +media-play + + diff --git a/wwwroot/assets/icons/media-record.svg b/wwwroot/assets/icons/media-record.svg new file mode 100644 index 0000000..d480aa7 --- /dev/null +++ b/wwwroot/assets/icons/media-record.svg @@ -0,0 +1,5 @@ + + +media-record + + diff --git a/wwwroot/assets/icons/media-skip-backward.svg b/wwwroot/assets/icons/media-skip-backward.svg new file mode 100644 index 0000000..8fd3e98 --- /dev/null +++ b/wwwroot/assets/icons/media-skip-backward.svg @@ -0,0 +1,5 @@ + + +media-skip-backward + + diff --git a/wwwroot/assets/icons/media-skip-forward.svg b/wwwroot/assets/icons/media-skip-forward.svg new file mode 100644 index 0000000..45a3551 --- /dev/null +++ b/wwwroot/assets/icons/media-skip-forward.svg @@ -0,0 +1,5 @@ + + +media-skip-forward + + diff --git a/wwwroot/assets/icons/media-step-backward.svg b/wwwroot/assets/icons/media-step-backward.svg new file mode 100644 index 0000000..ad1cef8 --- /dev/null +++ b/wwwroot/assets/icons/media-step-backward.svg @@ -0,0 +1,6 @@ + + +media-step-backward + + + diff --git a/wwwroot/assets/icons/media-step-forward.svg b/wwwroot/assets/icons/media-step-forward.svg new file mode 100644 index 0000000..301e025 --- /dev/null +++ b/wwwroot/assets/icons/media-step-forward.svg @@ -0,0 +1,6 @@ + + +media-step-forward + + + diff --git a/wwwroot/assets/icons/media-stop.svg b/wwwroot/assets/icons/media-stop.svg new file mode 100644 index 0000000..4be91a5 --- /dev/null +++ b/wwwroot/assets/icons/media-stop.svg @@ -0,0 +1,5 @@ + + +media-stop + + diff --git a/wwwroot/assets/icons/medical-cross.svg b/wwwroot/assets/icons/medical-cross.svg new file mode 100644 index 0000000..171b3fd --- /dev/null +++ b/wwwroot/assets/icons/medical-cross.svg @@ -0,0 +1,5 @@ + + +medical-cross + + diff --git a/wwwroot/assets/icons/meh.svg b/wwwroot/assets/icons/meh.svg new file mode 100644 index 0000000..e8260ec --- /dev/null +++ b/wwwroot/assets/icons/meh.svg @@ -0,0 +1,8 @@ + + +meh + + + + + diff --git a/wwwroot/assets/icons/memory.svg b/wwwroot/assets/icons/memory.svg new file mode 100644 index 0000000..2c93e87 --- /dev/null +++ b/wwwroot/assets/icons/memory.svg @@ -0,0 +1,6 @@ + + +memory + + + diff --git a/wwwroot/assets/icons/menu.svg b/wwwroot/assets/icons/menu.svg new file mode 100644 index 0000000..ee3d5ef --- /dev/null +++ b/wwwroot/assets/icons/menu.svg @@ -0,0 +1,7 @@ + + +menu + + + + diff --git a/wwwroot/assets/icons/microphone.svg b/wwwroot/assets/icons/microphone.svg new file mode 100644 index 0000000..801a90f --- /dev/null +++ b/wwwroot/assets/icons/microphone.svg @@ -0,0 +1,6 @@ + + +microphone + + + diff --git a/wwwroot/assets/icons/minus.svg b/wwwroot/assets/icons/minus.svg new file mode 100644 index 0000000..a4cf63b --- /dev/null +++ b/wwwroot/assets/icons/minus.svg @@ -0,0 +1,5 @@ + + +minus + + diff --git a/wwwroot/assets/icons/mobile-landscape.svg b/wwwroot/assets/icons/mobile-landscape.svg new file mode 100644 index 0000000..813b701 --- /dev/null +++ b/wwwroot/assets/icons/mobile-landscape.svg @@ -0,0 +1,5 @@ + + +mobile-landscape + + diff --git a/wwwroot/assets/icons/mobile.svg b/wwwroot/assets/icons/mobile.svg new file mode 100644 index 0000000..276eae1 --- /dev/null +++ b/wwwroot/assets/icons/mobile.svg @@ -0,0 +1,6 @@ + + +mobile + + + diff --git a/wwwroot/assets/icons/money.svg b/wwwroot/assets/icons/money.svg new file mode 100644 index 0000000..d96a250 --- /dev/null +++ b/wwwroot/assets/icons/money.svg @@ -0,0 +1,9 @@ + + +money + + + + + + diff --git a/wwwroot/assets/icons/monitor.svg b/wwwroot/assets/icons/monitor.svg new file mode 100644 index 0000000..275a030 --- /dev/null +++ b/wwwroot/assets/icons/monitor.svg @@ -0,0 +1,6 @@ + + +monitor + + + diff --git a/wwwroot/assets/icons/mood-bad.svg b/wwwroot/assets/icons/mood-bad.svg new file mode 100644 index 0000000..524137d --- /dev/null +++ b/wwwroot/assets/icons/mood-bad.svg @@ -0,0 +1,8 @@ + + +mood-bad + + + + + diff --git a/wwwroot/assets/icons/mood-good.svg b/wwwroot/assets/icons/mood-good.svg new file mode 100644 index 0000000..563f31c --- /dev/null +++ b/wwwroot/assets/icons/mood-good.svg @@ -0,0 +1,8 @@ + + +mood-good + + + + + diff --git a/wwwroot/assets/icons/mood-very-bad.svg b/wwwroot/assets/icons/mood-very-bad.svg new file mode 100644 index 0000000..c709d14 --- /dev/null +++ b/wwwroot/assets/icons/mood-very-bad.svg @@ -0,0 +1,8 @@ + + +mood-very-bad + + + + + diff --git a/wwwroot/assets/icons/mood-very-good.svg b/wwwroot/assets/icons/mood-very-good.svg new file mode 100644 index 0000000..5a5c2a4 --- /dev/null +++ b/wwwroot/assets/icons/mood-very-good.svg @@ -0,0 +1,8 @@ + + +mood-very-good + + + + + diff --git a/wwwroot/assets/icons/moon.svg b/wwwroot/assets/icons/moon.svg new file mode 100644 index 0000000..81d7f08 --- /dev/null +++ b/wwwroot/assets/icons/moon.svg @@ -0,0 +1,5 @@ + + +moon + + diff --git a/wwwroot/assets/icons/mouse.svg b/wwwroot/assets/icons/mouse.svg new file mode 100644 index 0000000..86076fa --- /dev/null +++ b/wwwroot/assets/icons/mouse.svg @@ -0,0 +1,5 @@ + + +mouse + + diff --git a/wwwroot/assets/icons/mouth-slash.svg b/wwwroot/assets/icons/mouth-slash.svg new file mode 100644 index 0000000..81ac7ec --- /dev/null +++ b/wwwroot/assets/icons/mouth-slash.svg @@ -0,0 +1,7 @@ + + +mouth-slash + + + + diff --git a/wwwroot/assets/icons/move.svg b/wwwroot/assets/icons/move.svg new file mode 100644 index 0000000..681b921 --- /dev/null +++ b/wwwroot/assets/icons/move.svg @@ -0,0 +1,5 @@ + + +move + + diff --git a/wwwroot/assets/icons/movie.svg b/wwwroot/assets/icons/movie.svg new file mode 100644 index 0000000..52476db --- /dev/null +++ b/wwwroot/assets/icons/movie.svg @@ -0,0 +1,5 @@ + + +movie + + diff --git a/wwwroot/assets/icons/mug-tea.svg b/wwwroot/assets/icons/mug-tea.svg new file mode 100644 index 0000000..c2d13f9 --- /dev/null +++ b/wwwroot/assets/icons/mug-tea.svg @@ -0,0 +1,6 @@ + + +mug-tea + + + diff --git a/wwwroot/assets/icons/mug.svg b/wwwroot/assets/icons/mug.svg new file mode 100644 index 0000000..e16bc85 --- /dev/null +++ b/wwwroot/assets/icons/mug.svg @@ -0,0 +1,6 @@ + + +mug + + + diff --git a/wwwroot/assets/icons/music-note.svg b/wwwroot/assets/icons/music-note.svg new file mode 100644 index 0000000..40b113b --- /dev/null +++ b/wwwroot/assets/icons/music-note.svg @@ -0,0 +1,5 @@ + + +music-note + + diff --git a/wwwroot/assets/icons/newspaper.svg b/wwwroot/assets/icons/newspaper.svg new file mode 100644 index 0000000..f106eb0 --- /dev/null +++ b/wwwroot/assets/icons/newspaper.svg @@ -0,0 +1,9 @@ + + +newspaper + + + + + + diff --git a/wwwroot/assets/icons/notes.svg b/wwwroot/assets/icons/notes.svg new file mode 100644 index 0000000..cbf591d --- /dev/null +++ b/wwwroot/assets/icons/notes.svg @@ -0,0 +1,8 @@ + + +notes + + + + + diff --git a/wwwroot/assets/icons/object-group.svg b/wwwroot/assets/icons/object-group.svg new file mode 100644 index 0000000..c0ca636 --- /dev/null +++ b/wwwroot/assets/icons/object-group.svg @@ -0,0 +1,6 @@ + + +object-group + + + diff --git a/wwwroot/assets/icons/object-ungroup.svg b/wwwroot/assets/icons/object-ungroup.svg new file mode 100644 index 0000000..16c9f83 --- /dev/null +++ b/wwwroot/assets/icons/object-ungroup.svg @@ -0,0 +1,5 @@ + + +object-ungroup + + diff --git a/wwwroot/assets/icons/opacity.svg b/wwwroot/assets/icons/opacity.svg new file mode 100644 index 0000000..f6548ec --- /dev/null +++ b/wwwroot/assets/icons/opacity.svg @@ -0,0 +1,10 @@ + + +opacity + + + + + + + diff --git a/wwwroot/assets/icons/options-horizontal.svg b/wwwroot/assets/icons/options-horizontal.svg new file mode 100644 index 0000000..ec91198 --- /dev/null +++ b/wwwroot/assets/icons/options-horizontal.svg @@ -0,0 +1,7 @@ + + +options-horizontal + + + + diff --git a/wwwroot/assets/icons/options.svg b/wwwroot/assets/icons/options.svg new file mode 100644 index 0000000..783bffc --- /dev/null +++ b/wwwroot/assets/icons/options.svg @@ -0,0 +1,7 @@ + + +options + + + + diff --git a/wwwroot/assets/icons/paint-bucket.svg b/wwwroot/assets/icons/paint-bucket.svg new file mode 100644 index 0000000..e89c7f7 --- /dev/null +++ b/wwwroot/assets/icons/paint-bucket.svg @@ -0,0 +1,6 @@ + + +paint-bucket + + + diff --git a/wwwroot/assets/icons/paint.svg b/wwwroot/assets/icons/paint.svg new file mode 100644 index 0000000..a97590c --- /dev/null +++ b/wwwroot/assets/icons/paint.svg @@ -0,0 +1,5 @@ + + +paint + + diff --git a/wwwroot/assets/icons/paper-plane.svg b/wwwroot/assets/icons/paper-plane.svg new file mode 100644 index 0000000..e85a6f7 --- /dev/null +++ b/wwwroot/assets/icons/paper-plane.svg @@ -0,0 +1,5 @@ + + +paper-plane + + diff --git a/wwwroot/assets/icons/paperclip.svg b/wwwroot/assets/icons/paperclip.svg new file mode 100644 index 0000000..2658183 --- /dev/null +++ b/wwwroot/assets/icons/paperclip.svg @@ -0,0 +1,5 @@ + + +paperclip + + diff --git a/wwwroot/assets/icons/paragraph.svg b/wwwroot/assets/icons/paragraph.svg new file mode 100644 index 0000000..15f22fe --- /dev/null +++ b/wwwroot/assets/icons/paragraph.svg @@ -0,0 +1,5 @@ + + +paragraph + + diff --git a/wwwroot/assets/icons/paw.svg b/wwwroot/assets/icons/paw.svg new file mode 100644 index 0000000..fefb3f2 --- /dev/null +++ b/wwwroot/assets/icons/paw.svg @@ -0,0 +1,9 @@ + + +paw + + + + + + diff --git a/wwwroot/assets/icons/pen-alt.svg b/wwwroot/assets/icons/pen-alt.svg new file mode 100644 index 0000000..1fb9faa --- /dev/null +++ b/wwwroot/assets/icons/pen-alt.svg @@ -0,0 +1,5 @@ + + +pen-alt + + diff --git a/wwwroot/assets/icons/pen-nib.svg b/wwwroot/assets/icons/pen-nib.svg new file mode 100644 index 0000000..235e94a --- /dev/null +++ b/wwwroot/assets/icons/pen-nib.svg @@ -0,0 +1,5 @@ + + +pen-nib + + diff --git a/wwwroot/assets/icons/pencil.svg b/wwwroot/assets/icons/pencil.svg new file mode 100644 index 0000000..b35237c --- /dev/null +++ b/wwwroot/assets/icons/pencil.svg @@ -0,0 +1,5 @@ + + +pencil + + diff --git a/wwwroot/assets/icons/people.svg b/wwwroot/assets/icons/people.svg new file mode 100644 index 0000000..4e0b87c --- /dev/null +++ b/wwwroot/assets/icons/people.svg @@ -0,0 +1,6 @@ + + +people + + + diff --git a/wwwroot/assets/icons/phone.svg b/wwwroot/assets/icons/phone.svg new file mode 100644 index 0000000..1db3b3e --- /dev/null +++ b/wwwroot/assets/icons/phone.svg @@ -0,0 +1,5 @@ + + +phone + + diff --git a/wwwroot/assets/icons/pin.svg b/wwwroot/assets/icons/pin.svg new file mode 100644 index 0000000..0e53a08 --- /dev/null +++ b/wwwroot/assets/icons/pin.svg @@ -0,0 +1,5 @@ + + +pin + + diff --git a/wwwroot/assets/icons/pizza.svg b/wwwroot/assets/icons/pizza.svg new file mode 100644 index 0000000..0d38309 --- /dev/null +++ b/wwwroot/assets/icons/pizza.svg @@ -0,0 +1,10 @@ + + +pizza + + + + + + + diff --git a/wwwroot/assets/icons/playlist-add.svg b/wwwroot/assets/icons/playlist-add.svg new file mode 100644 index 0000000..26f8e1b --- /dev/null +++ b/wwwroot/assets/icons/playlist-add.svg @@ -0,0 +1,8 @@ + + +playlist-add + + + + + diff --git a/wwwroot/assets/icons/plus.svg b/wwwroot/assets/icons/plus.svg new file mode 100644 index 0000000..84e6c48 --- /dev/null +++ b/wwwroot/assets/icons/plus.svg @@ -0,0 +1,5 @@ + + +plus + + diff --git a/wwwroot/assets/icons/polymer.svg b/wwwroot/assets/icons/polymer.svg new file mode 100644 index 0000000..0d7cc5c --- /dev/null +++ b/wwwroot/assets/icons/polymer.svg @@ -0,0 +1,5 @@ + + +polymer + + diff --git a/wwwroot/assets/icons/pool.svg b/wwwroot/assets/icons/pool.svg new file mode 100644 index 0000000..9344edc --- /dev/null +++ b/wwwroot/assets/icons/pool.svg @@ -0,0 +1,7 @@ + + +pool + + + + diff --git a/wwwroot/assets/icons/power-standby.svg b/wwwroot/assets/icons/power-standby.svg new file mode 100644 index 0000000..44c62d6 --- /dev/null +++ b/wwwroot/assets/icons/power-standby.svg @@ -0,0 +1,6 @@ + + +power-standby + + + diff --git a/wwwroot/assets/icons/pregnant.svg b/wwwroot/assets/icons/pregnant.svg new file mode 100644 index 0000000..228f3e4 --- /dev/null +++ b/wwwroot/assets/icons/pregnant.svg @@ -0,0 +1,6 @@ + + +pregnant + + + diff --git a/wwwroot/assets/icons/print.svg b/wwwroot/assets/icons/print.svg new file mode 100644 index 0000000..0bed738 --- /dev/null +++ b/wwwroot/assets/icons/print.svg @@ -0,0 +1,7 @@ + + +print + + + + diff --git a/wwwroot/assets/icons/puzzle.svg b/wwwroot/assets/icons/puzzle.svg new file mode 100644 index 0000000..a5da0a2 --- /dev/null +++ b/wwwroot/assets/icons/puzzle.svg @@ -0,0 +1,5 @@ + + +puzzle + + diff --git a/wwwroot/assets/icons/qr-code.svg b/wwwroot/assets/icons/qr-code.svg new file mode 100644 index 0000000..01f0ebc --- /dev/null +++ b/wwwroot/assets/icons/qr-code.svg @@ -0,0 +1,18 @@ + + +qr-code + + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/rain.svg b/wwwroot/assets/icons/rain.svg new file mode 100644 index 0000000..18c9637 --- /dev/null +++ b/wwwroot/assets/icons/rain.svg @@ -0,0 +1,9 @@ + + +rain + + + + + + diff --git a/wwwroot/assets/icons/react.svg b/wwwroot/assets/icons/react.svg new file mode 100644 index 0000000..49df4b9 --- /dev/null +++ b/wwwroot/assets/icons/react.svg @@ -0,0 +1,6 @@ + + +react + + + diff --git a/wwwroot/assets/icons/rectangle.svg b/wwwroot/assets/icons/rectangle.svg new file mode 100644 index 0000000..9c5a958 --- /dev/null +++ b/wwwroot/assets/icons/rectangle.svg @@ -0,0 +1,5 @@ + + +rectangle + + diff --git a/wwwroot/assets/icons/reddit.svg b/wwwroot/assets/icons/reddit.svg new file mode 100644 index 0000000..5037e5d --- /dev/null +++ b/wwwroot/assets/icons/reddit.svg @@ -0,0 +1,5 @@ + + +reddit + + diff --git a/wwwroot/assets/icons/registered.svg b/wwwroot/assets/icons/registered.svg new file mode 100644 index 0000000..b38b2da --- /dev/null +++ b/wwwroot/assets/icons/registered.svg @@ -0,0 +1,7 @@ + + +registered + + + + diff --git a/wwwroot/assets/icons/reload.svg b/wwwroot/assets/icons/reload.svg new file mode 100644 index 0000000..06663e1 --- /dev/null +++ b/wwwroot/assets/icons/reload.svg @@ -0,0 +1,5 @@ + + +reload + + diff --git a/wwwroot/assets/icons/resize-both.svg b/wwwroot/assets/icons/resize-both.svg new file mode 100644 index 0000000..9e3a5f0 --- /dev/null +++ b/wwwroot/assets/icons/resize-both.svg @@ -0,0 +1,5 @@ + + +resize-both + + diff --git a/wwwroot/assets/icons/resize-height.svg b/wwwroot/assets/icons/resize-height.svg new file mode 100644 index 0000000..b335687 --- /dev/null +++ b/wwwroot/assets/icons/resize-height.svg @@ -0,0 +1,5 @@ + + +resize-height + + diff --git a/wwwroot/assets/icons/resize-width.svg b/wwwroot/assets/icons/resize-width.svg new file mode 100644 index 0000000..9eb196c --- /dev/null +++ b/wwwroot/assets/icons/resize-width.svg @@ -0,0 +1,5 @@ + + +resize-width + + diff --git a/wwwroot/assets/icons/restaurant.svg b/wwwroot/assets/icons/restaurant.svg new file mode 100644 index 0000000..b4e5692 --- /dev/null +++ b/wwwroot/assets/icons/restaurant.svg @@ -0,0 +1,6 @@ + + +restaurant + + + diff --git a/wwwroot/assets/icons/room.svg b/wwwroot/assets/icons/room.svg new file mode 100644 index 0000000..dd4b62d --- /dev/null +++ b/wwwroot/assets/icons/room.svg @@ -0,0 +1,6 @@ + + +room + + + diff --git a/wwwroot/assets/icons/rowing.svg b/wwwroot/assets/icons/rowing.svg new file mode 100644 index 0000000..68ed712 --- /dev/null +++ b/wwwroot/assets/icons/rowing.svg @@ -0,0 +1,6 @@ + + +rowing + + + diff --git a/wwwroot/assets/icons/rss.svg b/wwwroot/assets/icons/rss.svg new file mode 100644 index 0000000..0d1c45c --- /dev/null +++ b/wwwroot/assets/icons/rss.svg @@ -0,0 +1,8 @@ + + +rss + + + + + diff --git a/wwwroot/assets/icons/running.svg b/wwwroot/assets/icons/running.svg new file mode 100644 index 0000000..efbf37c --- /dev/null +++ b/wwwroot/assets/icons/running.svg @@ -0,0 +1,6 @@ + + +running + + + diff --git a/wwwroot/assets/icons/satelite.svg b/wwwroot/assets/icons/satelite.svg new file mode 100644 index 0000000..7374805 --- /dev/null +++ b/wwwroot/assets/icons/satelite.svg @@ -0,0 +1,7 @@ + + +satelite + + + + diff --git a/wwwroot/assets/icons/save.svg b/wwwroot/assets/icons/save.svg new file mode 100644 index 0000000..707ece0 --- /dev/null +++ b/wwwroot/assets/icons/save.svg @@ -0,0 +1,6 @@ + + +save + + + diff --git a/wwwroot/assets/icons/school.svg b/wwwroot/assets/icons/school.svg new file mode 100644 index 0000000..345c720 --- /dev/null +++ b/wwwroot/assets/icons/school.svg @@ -0,0 +1,6 @@ + + +school + + + diff --git a/wwwroot/assets/icons/screen-desktop.svg b/wwwroot/assets/icons/screen-desktop.svg new file mode 100644 index 0000000..4bb1f9f --- /dev/null +++ b/wwwroot/assets/icons/screen-desktop.svg @@ -0,0 +1,5 @@ + + +screen-desktop + + diff --git a/wwwroot/assets/icons/screen-smartphone.svg b/wwwroot/assets/icons/screen-smartphone.svg new file mode 100644 index 0000000..2a00659 --- /dev/null +++ b/wwwroot/assets/icons/screen-smartphone.svg @@ -0,0 +1,7 @@ + + +screen-smartphone + + + + diff --git a/wwwroot/assets/icons/scrubber.svg b/wwwroot/assets/icons/scrubber.svg new file mode 100644 index 0000000..4090856 --- /dev/null +++ b/wwwroot/assets/icons/scrubber.svg @@ -0,0 +1,6 @@ + + +scrubber + + + diff --git a/wwwroot/assets/icons/settings.svg b/wwwroot/assets/icons/settings.svg new file mode 100644 index 0000000..1dc6778 --- /dev/null +++ b/wwwroot/assets/icons/settings.svg @@ -0,0 +1,6 @@ + + +settings + + + diff --git a/wwwroot/assets/icons/share-all.svg b/wwwroot/assets/icons/share-all.svg new file mode 100644 index 0000000..485ae40 --- /dev/null +++ b/wwwroot/assets/icons/share-all.svg @@ -0,0 +1,6 @@ + + +share-all + + + diff --git a/wwwroot/assets/icons/share-alt.svg b/wwwroot/assets/icons/share-alt.svg new file mode 100644 index 0000000..d29311c --- /dev/null +++ b/wwwroot/assets/icons/share-alt.svg @@ -0,0 +1,5 @@ + + +share-alt + + diff --git a/wwwroot/assets/icons/share-boxed.svg b/wwwroot/assets/icons/share-boxed.svg new file mode 100644 index 0000000..04ff494 --- /dev/null +++ b/wwwroot/assets/icons/share-boxed.svg @@ -0,0 +1,6 @@ + + +share-boxed + + + diff --git a/wwwroot/assets/icons/share.svg b/wwwroot/assets/icons/share.svg new file mode 100644 index 0000000..c646c5c --- /dev/null +++ b/wwwroot/assets/icons/share.svg @@ -0,0 +1,5 @@ + + +share + + diff --git a/wwwroot/assets/icons/shield-alt.svg b/wwwroot/assets/icons/shield-alt.svg new file mode 100644 index 0000000..de5bb3e --- /dev/null +++ b/wwwroot/assets/icons/shield-alt.svg @@ -0,0 +1,5 @@ + + +shield-alt + + diff --git a/wwwroot/assets/icons/short-text.svg b/wwwroot/assets/icons/short-text.svg new file mode 100644 index 0000000..6b7e195 --- /dev/null +++ b/wwwroot/assets/icons/short-text.svg @@ -0,0 +1,7 @@ + + +short-text + + + + diff --git a/wwwroot/assets/icons/shower.svg b/wwwroot/assets/icons/shower.svg new file mode 100644 index 0000000..21a2ee0 --- /dev/null +++ b/wwwroot/assets/icons/shower.svg @@ -0,0 +1,13 @@ + + +shower + + + + + + + + + + diff --git a/wwwroot/assets/icons/sign-language.svg b/wwwroot/assets/icons/sign-language.svg new file mode 100644 index 0000000..1fe191f --- /dev/null +++ b/wwwroot/assets/icons/sign-language.svg @@ -0,0 +1,5 @@ + + +sign-language + + diff --git a/wwwroot/assets/icons/signal-cellular-0.svg b/wwwroot/assets/icons/signal-cellular-0.svg new file mode 100644 index 0000000..b03309d --- /dev/null +++ b/wwwroot/assets/icons/signal-cellular-0.svg @@ -0,0 +1,5 @@ + + +signal-cellular-0 + + diff --git a/wwwroot/assets/icons/signal-cellular-3.svg b/wwwroot/assets/icons/signal-cellular-3.svg new file mode 100644 index 0000000..9050cb6 --- /dev/null +++ b/wwwroot/assets/icons/signal-cellular-3.svg @@ -0,0 +1,5 @@ + + +signal-cellular-3 + + diff --git a/wwwroot/assets/icons/signal-cellular-4.svg b/wwwroot/assets/icons/signal-cellular-4.svg new file mode 100644 index 0000000..36f3a1d --- /dev/null +++ b/wwwroot/assets/icons/signal-cellular-4.svg @@ -0,0 +1,5 @@ + + +signal-cellular-4 + + diff --git a/wwwroot/assets/icons/sim.svg b/wwwroot/assets/icons/sim.svg new file mode 100644 index 0000000..424224d --- /dev/null +++ b/wwwroot/assets/icons/sim.svg @@ -0,0 +1,6 @@ + + +sim + + + diff --git a/wwwroot/assets/icons/sitemap.svg b/wwwroot/assets/icons/sitemap.svg new file mode 100644 index 0000000..4b098f9 --- /dev/null +++ b/wwwroot/assets/icons/sitemap.svg @@ -0,0 +1,5 @@ + + +sitemap + + diff --git a/wwwroot/assets/icons/skype.svg b/wwwroot/assets/icons/skype.svg new file mode 100644 index 0000000..07ca3f8 --- /dev/null +++ b/wwwroot/assets/icons/skype.svg @@ -0,0 +1,6 @@ + + +skype + + + diff --git a/wwwroot/assets/icons/smile-plus.svg b/wwwroot/assets/icons/smile-plus.svg new file mode 100644 index 0000000..2daa187 --- /dev/null +++ b/wwwroot/assets/icons/smile-plus.svg @@ -0,0 +1,9 @@ + + +smile-plus + + + + + + diff --git a/wwwroot/assets/icons/smile.svg b/wwwroot/assets/icons/smile.svg new file mode 100644 index 0000000..83d40ba --- /dev/null +++ b/wwwroot/assets/icons/smile.svg @@ -0,0 +1,8 @@ + + +smile + + + + + diff --git a/wwwroot/assets/icons/smoke-free.svg b/wwwroot/assets/icons/smoke-free.svg new file mode 100644 index 0000000..66ba122 --- /dev/null +++ b/wwwroot/assets/icons/smoke-free.svg @@ -0,0 +1,9 @@ + + +smoke-free + + + + + + diff --git a/wwwroot/assets/icons/smoking-room.svg b/wwwroot/assets/icons/smoking-room.svg new file mode 100644 index 0000000..a6dd656 --- /dev/null +++ b/wwwroot/assets/icons/smoking-room.svg @@ -0,0 +1,9 @@ + + +smoking-room + + + + + + diff --git a/wwwroot/assets/icons/snowflake.svg b/wwwroot/assets/icons/snowflake.svg new file mode 100644 index 0000000..7db5379 --- /dev/null +++ b/wwwroot/assets/icons/snowflake.svg @@ -0,0 +1,5 @@ + + +snowflake + + diff --git a/wwwroot/assets/icons/sort-alpha-down.svg b/wwwroot/assets/icons/sort-alpha-down.svg new file mode 100644 index 0000000..787d4d1 --- /dev/null +++ b/wwwroot/assets/icons/sort-alpha-down.svg @@ -0,0 +1,7 @@ + + +sort-alpha-down + + + + diff --git a/wwwroot/assets/icons/sort-alpha-up.svg b/wwwroot/assets/icons/sort-alpha-up.svg new file mode 100644 index 0000000..edd47e2 --- /dev/null +++ b/wwwroot/assets/icons/sort-alpha-up.svg @@ -0,0 +1,7 @@ + + +sort-alpha-up + + + + diff --git a/wwwroot/assets/icons/sort-ascending.svg b/wwwroot/assets/icons/sort-ascending.svg new file mode 100644 index 0000000..aa7a6f6 --- /dev/null +++ b/wwwroot/assets/icons/sort-ascending.svg @@ -0,0 +1,9 @@ + + +sort-ascending + + + + + + diff --git a/wwwroot/assets/icons/sort-descending.svg b/wwwroot/assets/icons/sort-descending.svg new file mode 100644 index 0000000..e3ac64b --- /dev/null +++ b/wwwroot/assets/icons/sort-descending.svg @@ -0,0 +1,9 @@ + + +sort-descending + + + + + + diff --git a/wwwroot/assets/icons/sort-numeric-down.svg b/wwwroot/assets/icons/sort-numeric-down.svg new file mode 100644 index 0000000..dd4fced --- /dev/null +++ b/wwwroot/assets/icons/sort-numeric-down.svg @@ -0,0 +1,7 @@ + + +sort-numeric-down + + + + diff --git a/wwwroot/assets/icons/sort-numeric-up.svg b/wwwroot/assets/icons/sort-numeric-up.svg new file mode 100644 index 0000000..221496b --- /dev/null +++ b/wwwroot/assets/icons/sort-numeric-up.svg @@ -0,0 +1,7 @@ + + +sort-numeric-up + + + + diff --git a/wwwroot/assets/icons/spa.svg b/wwwroot/assets/icons/spa.svg new file mode 100644 index 0000000..faaa458 --- /dev/null +++ b/wwwroot/assets/icons/spa.svg @@ -0,0 +1,5 @@ + + +spa + + diff --git a/wwwroot/assets/icons/space-bar.svg b/wwwroot/assets/icons/space-bar.svg new file mode 100644 index 0000000..5da7439 --- /dev/null +++ b/wwwroot/assets/icons/space-bar.svg @@ -0,0 +1,5 @@ + + +space-bar + + diff --git a/wwwroot/assets/icons/speaker.svg b/wwwroot/assets/icons/speaker.svg new file mode 100644 index 0000000..0acf93f --- /dev/null +++ b/wwwroot/assets/icons/speaker.svg @@ -0,0 +1,8 @@ + + +speaker + + + + + diff --git a/wwwroot/assets/icons/speech.svg b/wwwroot/assets/icons/speech.svg new file mode 100644 index 0000000..a9e2cfb --- /dev/null +++ b/wwwroot/assets/icons/speech.svg @@ -0,0 +1,8 @@ + + +speech + + + + + diff --git a/wwwroot/assets/icons/speedometer.svg b/wwwroot/assets/icons/speedometer.svg new file mode 100644 index 0000000..c33d5e6 --- /dev/null +++ b/wwwroot/assets/icons/speedometer.svg @@ -0,0 +1,10 @@ + + +speedometer + + + + + + + diff --git a/wwwroot/assets/icons/spotify.svg b/wwwroot/assets/icons/spotify.svg new file mode 100644 index 0000000..e7b87fc --- /dev/null +++ b/wwwroot/assets/icons/spotify.svg @@ -0,0 +1,8 @@ + + +spotify + + + + + diff --git a/wwwroot/assets/icons/spreadsheet.svg b/wwwroot/assets/icons/spreadsheet.svg new file mode 100644 index 0000000..a8b8ea2 --- /dev/null +++ b/wwwroot/assets/icons/spreadsheet.svg @@ -0,0 +1,17 @@ + + +spreadsheet + + + + + + + + + + + + + + diff --git a/wwwroot/assets/icons/square.svg b/wwwroot/assets/icons/square.svg new file mode 100644 index 0000000..c014ef8 --- /dev/null +++ b/wwwroot/assets/icons/square.svg @@ -0,0 +1,5 @@ + + +square + + diff --git a/wwwroot/assets/icons/stackoverflow.svg b/wwwroot/assets/icons/stackoverflow.svg new file mode 100644 index 0000000..6b7e2a7 --- /dev/null +++ b/wwwroot/assets/icons/stackoverflow.svg @@ -0,0 +1,10 @@ + + +stackoverflow + + + + + + + diff --git a/wwwroot/assets/icons/star-half.svg b/wwwroot/assets/icons/star-half.svg new file mode 100644 index 0000000..45d22be --- /dev/null +++ b/wwwroot/assets/icons/star-half.svg @@ -0,0 +1,5 @@ + + +star-half + + diff --git a/wwwroot/assets/icons/star.svg b/wwwroot/assets/icons/star.svg new file mode 100644 index 0000000..6f26e11 --- /dev/null +++ b/wwwroot/assets/icons/star.svg @@ -0,0 +1,5 @@ + + +star + + diff --git a/wwwroot/assets/icons/storage.svg b/wwwroot/assets/icons/storage.svg new file mode 100644 index 0000000..4cef1e0 --- /dev/null +++ b/wwwroot/assets/icons/storage.svg @@ -0,0 +1,8 @@ + + +storage + + + + + diff --git a/wwwroot/assets/icons/stream.svg b/wwwroot/assets/icons/stream.svg new file mode 100644 index 0000000..3bffe89 --- /dev/null +++ b/wwwroot/assets/icons/stream.svg @@ -0,0 +1,7 @@ + + +stream + + + + diff --git a/wwwroot/assets/icons/sun.svg b/wwwroot/assets/icons/sun.svg new file mode 100644 index 0000000..3e2eceb --- /dev/null +++ b/wwwroot/assets/icons/sun.svg @@ -0,0 +1,13 @@ + + +sun + + + + + + + + + + diff --git a/wwwroot/assets/icons/swap-horizontal.svg b/wwwroot/assets/icons/swap-horizontal.svg new file mode 100644 index 0000000..240da8c --- /dev/null +++ b/wwwroot/assets/icons/swap-horizontal.svg @@ -0,0 +1,6 @@ + + +swap-horizontal + + + diff --git a/wwwroot/assets/icons/swap-vertical.svg b/wwwroot/assets/icons/swap-vertical.svg new file mode 100644 index 0000000..2c0a15d --- /dev/null +++ b/wwwroot/assets/icons/swap-vertical.svg @@ -0,0 +1,6 @@ + + +swap-vertical + + + diff --git a/wwwroot/assets/icons/swimming.svg b/wwwroot/assets/icons/swimming.svg new file mode 100644 index 0000000..0f362a7 --- /dev/null +++ b/wwwroot/assets/icons/swimming.svg @@ -0,0 +1,8 @@ + + +swimming + + + + + diff --git a/wwwroot/assets/icons/sync.svg b/wwwroot/assets/icons/sync.svg new file mode 100644 index 0000000..b9f56be --- /dev/null +++ b/wwwroot/assets/icons/sync.svg @@ -0,0 +1,6 @@ + + +sync + + + diff --git a/wwwroot/assets/icons/tablet.svg b/wwwroot/assets/icons/tablet.svg new file mode 100644 index 0000000..b8f529d --- /dev/null +++ b/wwwroot/assets/icons/tablet.svg @@ -0,0 +1,6 @@ + + +tablet + + + diff --git a/wwwroot/assets/icons/tag.svg b/wwwroot/assets/icons/tag.svg new file mode 100644 index 0000000..6124248 --- /dev/null +++ b/wwwroot/assets/icons/tag.svg @@ -0,0 +1,6 @@ + + +tag + + + diff --git a/wwwroot/assets/icons/tags.svg b/wwwroot/assets/icons/tags.svg new file mode 100644 index 0000000..5b34468 --- /dev/null +++ b/wwwroot/assets/icons/tags.svg @@ -0,0 +1,7 @@ + + +tags + + + + diff --git a/wwwroot/assets/icons/task.svg b/wwwroot/assets/icons/task.svg new file mode 100644 index 0000000..0ee7510 --- /dev/null +++ b/wwwroot/assets/icons/task.svg @@ -0,0 +1,6 @@ + + +task + + + diff --git a/wwwroot/assets/icons/taxi.svg b/wwwroot/assets/icons/taxi.svg new file mode 100644 index 0000000..57ea25b --- /dev/null +++ b/wwwroot/assets/icons/taxi.svg @@ -0,0 +1,10 @@ + + +taxi + + + + + + + diff --git a/wwwroot/assets/icons/tennis-ball.svg b/wwwroot/assets/icons/tennis-ball.svg new file mode 100644 index 0000000..cd90fb8 --- /dev/null +++ b/wwwroot/assets/icons/tennis-ball.svg @@ -0,0 +1,5 @@ + + +tennis-ball + + diff --git a/wwwroot/assets/icons/tennis.svg b/wwwroot/assets/icons/tennis.svg new file mode 100644 index 0000000..44c661f --- /dev/null +++ b/wwwroot/assets/icons/tennis.svg @@ -0,0 +1,6 @@ + + +tennis + + + diff --git a/wwwroot/assets/icons/terminal.svg b/wwwroot/assets/icons/terminal.svg new file mode 100644 index 0000000..10df329 --- /dev/null +++ b/wwwroot/assets/icons/terminal.svg @@ -0,0 +1,7 @@ + + +terminal + + + + diff --git a/wwwroot/assets/icons/terrain.svg b/wwwroot/assets/icons/terrain.svg new file mode 100644 index 0000000..b31b626 --- /dev/null +++ b/wwwroot/assets/icons/terrain.svg @@ -0,0 +1,6 @@ + + +terrain + + + diff --git a/wwwroot/assets/icons/text-shapes.svg b/wwwroot/assets/icons/text-shapes.svg new file mode 100644 index 0000000..f72fc3a --- /dev/null +++ b/wwwroot/assets/icons/text-shapes.svg @@ -0,0 +1,6 @@ + + +text-shapes + + + diff --git a/wwwroot/assets/icons/text-size.svg b/wwwroot/assets/icons/text-size.svg new file mode 100644 index 0000000..2d00dce --- /dev/null +++ b/wwwroot/assets/icons/text-size.svg @@ -0,0 +1,6 @@ + + +text-size + + + diff --git a/wwwroot/assets/icons/text-square.svg b/wwwroot/assets/icons/text-square.svg new file mode 100644 index 0000000..c44f4ea --- /dev/null +++ b/wwwroot/assets/icons/text-square.svg @@ -0,0 +1,6 @@ + + +text-square + + + diff --git a/wwwroot/assets/icons/text-strike.svg b/wwwroot/assets/icons/text-strike.svg new file mode 100644 index 0000000..5500575 --- /dev/null +++ b/wwwroot/assets/icons/text-strike.svg @@ -0,0 +1,7 @@ + + +text-strike + + + + diff --git a/wwwroot/assets/icons/text.svg b/wwwroot/assets/icons/text.svg new file mode 100644 index 0000000..c7961b1 --- /dev/null +++ b/wwwroot/assets/icons/text.svg @@ -0,0 +1,5 @@ + + +text + + diff --git a/wwwroot/assets/icons/thumb-down.svg b/wwwroot/assets/icons/thumb-down.svg new file mode 100644 index 0000000..ed05ba0 --- /dev/null +++ b/wwwroot/assets/icons/thumb-down.svg @@ -0,0 +1,6 @@ + + +thumb-down + + + diff --git a/wwwroot/assets/icons/thumb-up.svg b/wwwroot/assets/icons/thumb-up.svg new file mode 100644 index 0000000..2832aac --- /dev/null +++ b/wwwroot/assets/icons/thumb-up.svg @@ -0,0 +1,6 @@ + + +thumb-up + + + diff --git a/wwwroot/assets/icons/toggle-off.svg b/wwwroot/assets/icons/toggle-off.svg new file mode 100644 index 0000000..338ac2f --- /dev/null +++ b/wwwroot/assets/icons/toggle-off.svg @@ -0,0 +1,6 @@ + + +toggle-off + + + diff --git a/wwwroot/assets/icons/toilet.svg b/wwwroot/assets/icons/toilet.svg new file mode 100644 index 0000000..7070c4a --- /dev/null +++ b/wwwroot/assets/icons/toilet.svg @@ -0,0 +1,5 @@ + + +toilet + + diff --git a/wwwroot/assets/icons/touch-app.svg b/wwwroot/assets/icons/touch-app.svg new file mode 100644 index 0000000..29edfbc --- /dev/null +++ b/wwwroot/assets/icons/touch-app.svg @@ -0,0 +1,5 @@ + + +touch-app + + diff --git a/wwwroot/assets/icons/trademark.svg b/wwwroot/assets/icons/trademark.svg new file mode 100644 index 0000000..cfc1877 --- /dev/null +++ b/wwwroot/assets/icons/trademark.svg @@ -0,0 +1,6 @@ + + +trademark + + + diff --git a/wwwroot/assets/icons/transfer.svg b/wwwroot/assets/icons/transfer.svg new file mode 100644 index 0000000..c2f989c --- /dev/null +++ b/wwwroot/assets/icons/transfer.svg @@ -0,0 +1,6 @@ + + +transfer + + + diff --git a/wwwroot/assets/icons/translate.svg b/wwwroot/assets/icons/translate.svg new file mode 100644 index 0000000..7be606a --- /dev/null +++ b/wwwroot/assets/icons/translate.svg @@ -0,0 +1,6 @@ + + +translate + + + diff --git a/wwwroot/assets/icons/trash.svg b/wwwroot/assets/icons/trash.svg new file mode 100644 index 0000000..9851844 --- /dev/null +++ b/wwwroot/assets/icons/trash.svg @@ -0,0 +1,9 @@ + + +trash + + + + + + diff --git a/wwwroot/assets/icons/triangle.svg b/wwwroot/assets/icons/triangle.svg new file mode 100644 index 0000000..c4a5de8 --- /dev/null +++ b/wwwroot/assets/icons/triangle.svg @@ -0,0 +1,5 @@ + + +triangle + + diff --git a/wwwroot/assets/icons/truck.svg b/wwwroot/assets/icons/truck.svg new file mode 100644 index 0000000..59ab8f2 --- /dev/null +++ b/wwwroot/assets/icons/truck.svg @@ -0,0 +1,5 @@ + + +truck + + diff --git a/wwwroot/assets/icons/tv.svg b/wwwroot/assets/icons/tv.svg new file mode 100644 index 0000000..bd84e52 --- /dev/null +++ b/wwwroot/assets/icons/tv.svg @@ -0,0 +1,5 @@ + + +tv + + diff --git a/wwwroot/assets/icons/twitter.svg b/wwwroot/assets/icons/twitter.svg new file mode 100644 index 0000000..8406b2b --- /dev/null +++ b/wwwroot/assets/icons/twitter.svg @@ -0,0 +1,5 @@ + + +twitter + + diff --git a/wwwroot/assets/icons/underline.svg b/wwwroot/assets/icons/underline.svg new file mode 100644 index 0000000..882600d --- /dev/null +++ b/wwwroot/assets/icons/underline.svg @@ -0,0 +1,7 @@ + + +underline + + + + diff --git a/wwwroot/assets/icons/user-female.svg b/wwwroot/assets/icons/user-female.svg new file mode 100644 index 0000000..3ddb043 --- /dev/null +++ b/wwwroot/assets/icons/user-female.svg @@ -0,0 +1,5 @@ + + +user-female + + diff --git a/wwwroot/assets/icons/user-follow.svg b/wwwroot/assets/icons/user-follow.svg new file mode 100644 index 0000000..7f7f34d --- /dev/null +++ b/wwwroot/assets/icons/user-follow.svg @@ -0,0 +1,6 @@ + + +user-follow + + + diff --git a/wwwroot/assets/icons/user-unfollow.svg b/wwwroot/assets/icons/user-unfollow.svg new file mode 100644 index 0000000..f9b8e9c --- /dev/null +++ b/wwwroot/assets/icons/user-unfollow.svg @@ -0,0 +1,6 @@ + + +user-unfollow + + + diff --git a/wwwroot/assets/icons/user.svg b/wwwroot/assets/icons/user.svg new file mode 100644 index 0000000..aed87c3 --- /dev/null +++ b/wwwroot/assets/icons/user.svg @@ -0,0 +1,5 @@ + + +user + + diff --git a/wwwroot/assets/icons/vector.svg b/wwwroot/assets/icons/vector.svg new file mode 100644 index 0000000..e7c1334 --- /dev/null +++ b/wwwroot/assets/icons/vector.svg @@ -0,0 +1,5 @@ + + +vector + + diff --git a/wwwroot/assets/icons/vertical-align-bottom.svg b/wwwroot/assets/icons/vertical-align-bottom.svg new file mode 100644 index 0000000..a406cea --- /dev/null +++ b/wwwroot/assets/icons/vertical-align-bottom.svg @@ -0,0 +1,6 @@ + + +vertical-align-bottom + + + diff --git a/wwwroot/assets/icons/vertical-align-bottom1.svg b/wwwroot/assets/icons/vertical-align-bottom1.svg new file mode 100644 index 0000000..77a71b3 --- /dev/null +++ b/wwwroot/assets/icons/vertical-align-bottom1.svg @@ -0,0 +1,8 @@ + + +vertical-align-bottom1 + + + + + diff --git a/wwwroot/assets/icons/vertical-align-center.svg b/wwwroot/assets/icons/vertical-align-center.svg new file mode 100644 index 0000000..49cd566 --- /dev/null +++ b/wwwroot/assets/icons/vertical-align-center.svg @@ -0,0 +1,7 @@ + + +vertical-align-center + + + + diff --git a/wwwroot/assets/icons/vertical-align-center1.svg b/wwwroot/assets/icons/vertical-align-center1.svg new file mode 100644 index 0000000..ccaf26f --- /dev/null +++ b/wwwroot/assets/icons/vertical-align-center1.svg @@ -0,0 +1,11 @@ + + +vertical-align-center1 + + + + + + + + diff --git a/wwwroot/assets/icons/vertical-align-top.svg b/wwwroot/assets/icons/vertical-align-top.svg new file mode 100644 index 0000000..0bcfb28 --- /dev/null +++ b/wwwroot/assets/icons/vertical-align-top.svg @@ -0,0 +1,6 @@ + + +vertical-align-top + + + diff --git a/wwwroot/assets/icons/vertical-align-top1.svg b/wwwroot/assets/icons/vertical-align-top1.svg new file mode 100644 index 0000000..c490fb5 --- /dev/null +++ b/wwwroot/assets/icons/vertical-align-top1.svg @@ -0,0 +1,8 @@ + + +vertical-align-top1 + + + + + diff --git a/wwwroot/assets/icons/video.svg b/wwwroot/assets/icons/video.svg new file mode 100644 index 0000000..6d9c30d --- /dev/null +++ b/wwwroot/assets/icons/video.svg @@ -0,0 +1,5 @@ + + +video + + diff --git a/wwwroot/assets/icons/view-column.svg b/wwwroot/assets/icons/view-column.svg new file mode 100644 index 0000000..e9ce8b2 --- /dev/null +++ b/wwwroot/assets/icons/view-column.svg @@ -0,0 +1,5 @@ + + +view-column + + diff --git a/wwwroot/assets/icons/view-module.svg b/wwwroot/assets/icons/view-module.svg new file mode 100644 index 0000000..7c36b61 --- /dev/null +++ b/wwwroot/assets/icons/view-module.svg @@ -0,0 +1,5 @@ + + +view-module + + diff --git a/wwwroot/assets/icons/view-quilt.svg b/wwwroot/assets/icons/view-quilt.svg new file mode 100644 index 0000000..7629c26 --- /dev/null +++ b/wwwroot/assets/icons/view-quilt.svg @@ -0,0 +1,5 @@ + + +view-quilt + + diff --git a/wwwroot/assets/icons/view-stream.svg b/wwwroot/assets/icons/view-stream.svg new file mode 100644 index 0000000..7e49722 --- /dev/null +++ b/wwwroot/assets/icons/view-stream.svg @@ -0,0 +1,5 @@ + + +view-stream + + diff --git a/wwwroot/assets/icons/voice-over-record.svg b/wwwroot/assets/icons/voice-over-record.svg new file mode 100644 index 0000000..81b78c5 --- /dev/null +++ b/wwwroot/assets/icons/voice-over-record.svg @@ -0,0 +1,7 @@ + + +voice-over-record + + + + diff --git a/wwwroot/assets/icons/volume-high.svg b/wwwroot/assets/icons/volume-high.svg new file mode 100644 index 0000000..837c22a --- /dev/null +++ b/wwwroot/assets/icons/volume-high.svg @@ -0,0 +1,7 @@ + + +volume-high + + + + diff --git a/wwwroot/assets/icons/volume-low.svg b/wwwroot/assets/icons/volume-low.svg new file mode 100644 index 0000000..6da6b98 --- /dev/null +++ b/wwwroot/assets/icons/volume-low.svg @@ -0,0 +1,6 @@ + + +volume-low + + + diff --git a/wwwroot/assets/icons/volume-off.svg b/wwwroot/assets/icons/volume-off.svg new file mode 100644 index 0000000..13729d6 --- /dev/null +++ b/wwwroot/assets/icons/volume-off.svg @@ -0,0 +1,6 @@ + + +volume-off + + + diff --git a/wwwroot/assets/icons/vue.svg b/wwwroot/assets/icons/vue.svg new file mode 100644 index 0000000..3e4dc10 --- /dev/null +++ b/wwwroot/assets/icons/vue.svg @@ -0,0 +1,5 @@ + + +vue + + diff --git a/wwwroot/assets/icons/walk.svg b/wwwroot/assets/icons/walk.svg new file mode 100644 index 0000000..ab6cb0b --- /dev/null +++ b/wwwroot/assets/icons/walk.svg @@ -0,0 +1,6 @@ + + +walk + + + diff --git a/wwwroot/assets/icons/wallet.svg b/wwwroot/assets/icons/wallet.svg new file mode 100644 index 0000000..fd7d27e --- /dev/null +++ b/wwwroot/assets/icons/wallet.svg @@ -0,0 +1,6 @@ + + +wallet + + + diff --git a/wwwroot/assets/icons/wallpaper.svg b/wwwroot/assets/icons/wallpaper.svg new file mode 100644 index 0000000..2a3016f --- /dev/null +++ b/wwwroot/assets/icons/wallpaper.svg @@ -0,0 +1,9 @@ + + +wallpaper + + + + + + diff --git a/wwwroot/assets/icons/warning.svg b/wwwroot/assets/icons/warning.svg new file mode 100644 index 0000000..0b94ffc --- /dev/null +++ b/wwwroot/assets/icons/warning.svg @@ -0,0 +1,7 @@ + + +warning + + + + diff --git a/wwwroot/assets/icons/watch.svg b/wwwroot/assets/icons/watch.svg new file mode 100644 index 0000000..2c0bdc0 --- /dev/null +++ b/wwwroot/assets/icons/watch.svg @@ -0,0 +1,5 @@ + + +watch + + diff --git a/wwwroot/assets/icons/wc.svg b/wwwroot/assets/icons/wc.svg new file mode 100644 index 0000000..d25fd22 --- /dev/null +++ b/wwwroot/assets/icons/wc.svg @@ -0,0 +1,8 @@ + + +wc + + + + + diff --git a/wwwroot/assets/icons/weightlifitng.svg b/wwwroot/assets/icons/weightlifitng.svg new file mode 100644 index 0000000..6adc232 --- /dev/null +++ b/wwwroot/assets/icons/weightlifitng.svg @@ -0,0 +1,6 @@ + + +weightlifitng + + + diff --git a/wwwroot/assets/icons/wheelchair.svg b/wwwroot/assets/icons/wheelchair.svg new file mode 100644 index 0000000..277e8b7 --- /dev/null +++ b/wwwroot/assets/icons/wheelchair.svg @@ -0,0 +1,7 @@ + + +wheelchair + + + + diff --git a/wwwroot/assets/icons/wifi-signal-0.svg b/wwwroot/assets/icons/wifi-signal-0.svg new file mode 100644 index 0000000..7f22758 --- /dev/null +++ b/wwwroot/assets/icons/wifi-signal-0.svg @@ -0,0 +1,5 @@ + + +wifi-signal-0 + + diff --git a/wwwroot/assets/icons/wifi-signal-1.svg b/wwwroot/assets/icons/wifi-signal-1.svg new file mode 100644 index 0000000..2171a6d --- /dev/null +++ b/wwwroot/assets/icons/wifi-signal-1.svg @@ -0,0 +1,5 @@ + + +wifi-signal-1 + + diff --git a/wwwroot/assets/icons/wifi-signal-2.svg b/wwwroot/assets/icons/wifi-signal-2.svg new file mode 100644 index 0000000..b3a6e34 --- /dev/null +++ b/wwwroot/assets/icons/wifi-signal-2.svg @@ -0,0 +1,5 @@ + + +wifi-signal-2 + + diff --git a/wwwroot/assets/icons/wifi-signal-4.svg b/wwwroot/assets/icons/wifi-signal-4.svg new file mode 100644 index 0000000..490fecf --- /dev/null +++ b/wwwroot/assets/icons/wifi-signal-4.svg @@ -0,0 +1,5 @@ + + +wifi-signal-4 + + diff --git a/wwwroot/assets/icons/wifi-signal-off.svg b/wwwroot/assets/icons/wifi-signal-off.svg new file mode 100644 index 0000000..9a36126 --- /dev/null +++ b/wwwroot/assets/icons/wifi-signal-off.svg @@ -0,0 +1,6 @@ + + +wifi-signal-off + + + diff --git a/wwwroot/assets/icons/window-maximize.svg b/wwwroot/assets/icons/window-maximize.svg new file mode 100644 index 0000000..589f122 --- /dev/null +++ b/wwwroot/assets/icons/window-maximize.svg @@ -0,0 +1,5 @@ + + +window-maximize + + diff --git a/wwwroot/assets/icons/window-minimize.svg b/wwwroot/assets/icons/window-minimize.svg new file mode 100644 index 0000000..70036ab --- /dev/null +++ b/wwwroot/assets/icons/window-minimize.svg @@ -0,0 +1,5 @@ + + +window-minimize + + diff --git a/wwwroot/assets/icons/window-restore.svg b/wwwroot/assets/icons/window-restore.svg new file mode 100644 index 0000000..9b6d11d --- /dev/null +++ b/wwwroot/assets/icons/window-restore.svg @@ -0,0 +1,6 @@ + + +window-restore + + + diff --git a/wwwroot/assets/icons/window.svg b/wwwroot/assets/icons/window.svg new file mode 100644 index 0000000..b8f2b8f --- /dev/null +++ b/wwwroot/assets/icons/window.svg @@ -0,0 +1,5 @@ + + +window + + diff --git a/wwwroot/assets/icons/wrap-text.svg b/wwwroot/assets/icons/wrap-text.svg new file mode 100644 index 0000000..002860b --- /dev/null +++ b/wwwroot/assets/icons/wrap-text.svg @@ -0,0 +1,7 @@ + + +wrap-text + + + + diff --git a/wwwroot/assets/icons/x-circle.svg b/wwwroot/assets/icons/x-circle.svg new file mode 100644 index 0000000..4264d48 --- /dev/null +++ b/wwwroot/assets/icons/x-circle.svg @@ -0,0 +1,6 @@ + + +x-circle + + + diff --git a/wwwroot/assets/icons/x.svg b/wwwroot/assets/icons/x.svg new file mode 100644 index 0000000..1dc30f6 --- /dev/null +++ b/wwwroot/assets/icons/x.svg @@ -0,0 +1,5 @@ + + +x + + diff --git a/wwwroot/assets/icons/yen.svg b/wwwroot/assets/icons/yen.svg new file mode 100644 index 0000000..a0b8851 --- /dev/null +++ b/wwwroot/assets/icons/yen.svg @@ -0,0 +1,5 @@ + + +yen + + diff --git a/wwwroot/assets/icons/zoom-in.svg b/wwwroot/assets/icons/zoom-in.svg new file mode 100644 index 0000000..976225f --- /dev/null +++ b/wwwroot/assets/icons/zoom-in.svg @@ -0,0 +1,6 @@ + + +zoom-in + + + diff --git a/wwwroot/assets/icons/zoom-out.svg b/wwwroot/assets/icons/zoom-out.svg new file mode 100644 index 0000000..cf71ee3 --- /dev/null +++ b/wwwroot/assets/icons/zoom-out.svg @@ -0,0 +1,6 @@ + + +zoom-out + + + diff --git a/wwwroot/assets/img/avatars/admin.png b/wwwroot/assets/img/avatars/admin.png new file mode 100644 index 0000000000000000000000000000000000000000..b35b806e699a4a05207d37065dae62d085ba6488 GIT binary patch literal 8507 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 literal 0 HcmV?d00001 diff --git a/wwwroot/assets/img/full.jpg b/wwwroot/assets/img/full.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6028143248c972e463b0f240643163792bf0267d GIT binary patch literal 290033 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

j-tRafK%$Jug6k+T2(vrWctc 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 literal 0 HcmV?d00001 diff --git a/wwwroot/css/_bg-gradients.scss b/wwwroot/css/_bg-gradients.scss new file mode 100644 index 0000000..33b8bfb --- /dev/null +++ b/wwwroot/css/_bg-gradients.scss @@ -0,0 +1,23 @@ +// Gradients + +// scss-docs-start theme-gradients +$primary-gradient: ( "start": #321fdb, "stop": #1f1498 ) !default; + +$secondary-gradient: ( "start": #c8d2dc, "stop": $white ) !default; + +$light-gradient: ( "start": #e3e8ed, "stop": $white ) !default; + +$dark-gradient: ( "start": #3c4b64, "stop": #212333 ) !default; + +$danger-gradient: ( "start": #e55353, "stop": #d93737 ) !default; + +$warning-gradient: ( "start": #f9b115, "stop": #f6960b ) !default; + +$success-gradient: ( "start": #2eb85c, "stop": #1b9e3e ) !default; + +$info-gradient: ( "start": #39f, "stop": #2982cc ) !default; + +$theme-gradients: ( "primary": $primary-gradient, "secondary": $secondary-gradient, "success": $success-gradient, "info": $info-gradient, "warning": $warning-gradient, "danger": $danger-gradient, "light": $light-gradient, "dark": $dark-gradient ) !default; +// scss-docs-end theme-gradients + + diff --git a/wwwroot/css/custom.css b/wwwroot/css/custom.css new file mode 100644 index 0000000..dd3d6bc --- /dev/null +++ b/wwwroot/css/custom.css @@ -0,0 +1,3 @@ +.logs-table tr td:nth-of-type(odd) { + background-color: var(--cui-table-striped-bg); +} diff --git a/wwwroot/css/examples.css b/wwwroot/css/examples.css new file mode 100644 index 0000000..fd81c50 --- /dev/null +++ b/wwwroot/css/examples.css @@ -0,0 +1,74 @@ +/* stylelint-disable declaration-no-important, scss/selector-no-redundant-nesting-selector */ +.example:not(:first-child) { + margin-top: 1.5rem; +} +.example .tab-content { + background-color: #f9fafa !important; +} +.dark-theme .example .tab-content { + background-color: rgba(255, 255, 255, 0.1) !important; +} + +.example + p { + margin-top: 1.5rem; +} +.example .preview + p { + margin-top: 2rem; +} +.example .preview > .form-control + .form-control { + margin-top: 0.5rem; +} +.example .preview > .nav + .nav, +.example .preview > .alert + .alert, +.example .preview > .navbar + .navbar, +.example .preview > .progress + .progress { + margin-top: 1rem; +} +.example .preview > .dropdown-menu { + position: static; + display: block; +} +.example .preview > :last-child { + margin-bottom: 0; +} +.example .preview > svg + svg, +.example .preview > img + img { + margin-left: 0.5rem; +} +.example .preview > .btn, +.example .preview > .btn-group { + margin: 0.25rem 0.125rem; +} +.example .preview > .btn-toolbar + .btn-toolbar { + margin-top: 0.5rem; +} +.example .preview > .list-group { + max-width: 400px; +} +.example .preview > [class*=list-group-horizontal] { + max-width: 100%; +} +.example .preview .fixed-top, +.example .preview .sticky-top { + position: static; + margin: -1rem -1rem 1rem; +} +.example .preview .fixed-bottom { + position: static; + margin: 1rem -1rem -1rem; +} +@media (min-width: 576px) { + .example .preview .fixed-top, + .example .preview .sticky-top { + margin: -1.5rem -1.5rem 1rem; + } + .example .preview .fixed-bottom { + margin: 1rem -1.5rem -1.5rem; + } +} +.example .preview .pagination { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +/*# sourceMappingURL=examples.css.map */ \ No newline at end of file diff --git a/wwwroot/css/examples.css.map b/wwwroot/css/examples.css.map new file mode 100644 index 0000000..ecf3f01 --- /dev/null +++ b/wwwroot/css/examples.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../src/scss/examples.scss","examples.css","../../node_modules/@coreui/coreui/scss/mixins/_breakpoints.scss"],"names":[],"mappings":"AAAA,4FAAA;AAME;EACE,kBAAA;ACJJ;ADOE;EACE,oCAAA;ACLJ;ADOa;EACP,qDAAA;ACLN;;ADSE;EACE,kBAAA;ACNJ;ADWI;EACE,gBAAA;ACTN;ADaM;EACE,kBAAA;ACXR;ADeI;;;;EAIE,gBAAA;ACbN;ADgBI;EACE,gBAAA;EACA,cAAA;ACdN;ADiBI;EACE,gBAAA;ACfN;ADmBI;;EAEE,mBAAA;ACjBN;ADqBI;;EAEE,wBAAA;ACnBN;ADqBI;EACE,kBAAA;ACnBN;ADuBI;EACE,gBAAA;ACrBN;ADwBI;EACE,eAAA;ACtBN;AD0BI;;EAEE,gBAAA;EACA,wBAAA;ACxBN;AD2BI;EACE,gBAAA;EACA,wBAAA;ACzBN;ACkBI;EFWE;;IAEE,4BAAA;EC1BN;ED4BI;IACE,4BAAA;EC1BN;AACF;AD8BI;EACE,kBAAA;EACA,qBAAA;AC5BN","file":"examples.css","sourcesContent":["/* stylelint-disable declaration-no-important, scss/selector-no-redundant-nesting-selector */\n@import \"@coreui/coreui/scss/functions\";\n@import \"@coreui/coreui/scss/variables\";\n@import \"@coreui/coreui/scss/mixins\";\n\n.example {\n &:not(:first-child) {\n margin-top: 1.5rem;\n }\n\n .tab-content {\n background-color: $light-50 !important;\n\n @at-root .dark-theme & {\n background-color: rgba(255, 255, 255, .1) !important;\n }\n }\n\n & + p {\n margin-top: 1.5rem;\n }\n\n // Components examples\n .preview {\n + p {\n margin-top: 2rem;\n }\n\n > .form-control {\n + .form-control {\n margin-top: .5rem;\n }\n }\n\n > .nav + .nav,\n > .alert + .alert,\n > .navbar + .navbar,\n > .progress + .progress {\n margin-top: 1rem;\n }\n\n > .dropdown-menu {\n position: static;\n display: block;\n }\n\n > :last-child {\n margin-bottom: 0;\n }\n\n // Images\n > svg + svg,\n > img + img {\n margin-left: .5rem;\n }\n\n // Buttons\n > .btn,\n > .btn-group {\n margin: .25rem .125rem;\n }\n > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n }\n\n // List groups\n > .list-group {\n max-width: 400px;\n }\n\n > [class*=\"list-group-horizontal\"] {\n max-width: 100%;\n }\n\n // Navbars\n .fixed-top,\n .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n }\n\n .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n }\n\n @include media-breakpoint-up(sm) {\n .fixed-top,\n .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n }\n\n // Pagination\n .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n }\n }\n}\n","/* stylelint-disable declaration-no-important, scss/selector-no-redundant-nesting-selector */\n.example:not(:first-child) {\n margin-top: 1.5rem;\n}\n.example .tab-content {\n background-color: #f9fafa !important;\n}\n.dark-theme .example .tab-content {\n background-color: rgba(255, 255, 255, 0.1) !important;\n}\n\n.example + p {\n margin-top: 1.5rem;\n}\n.example .preview + p {\n margin-top: 2rem;\n}\n.example .preview > .form-control + .form-control {\n margin-top: 0.5rem;\n}\n.example .preview > .nav + .nav,\n.example .preview > .alert + .alert,\n.example .preview > .navbar + .navbar,\n.example .preview > .progress + .progress {\n margin-top: 1rem;\n}\n.example .preview > .dropdown-menu {\n position: static;\n display: block;\n}\n.example .preview > :last-child {\n margin-bottom: 0;\n}\n.example .preview > svg + svg,\n.example .preview > img + img {\n margin-left: 0.5rem;\n}\n.example .preview > .btn,\n.example .preview > .btn-group {\n margin: 0.25rem 0.125rem;\n}\n.example .preview > .btn-toolbar + .btn-toolbar {\n margin-top: 0.5rem;\n}\n.example .preview > .list-group {\n max-width: 400px;\n}\n.example .preview > [class*=list-group-horizontal] {\n max-width: 100%;\n}\n.example .preview .fixed-top,\n.example .preview .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n}\n.example .preview .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n}\n@media (min-width: 576px) {\n .example .preview .fixed-top,\n .example .preview .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .example .preview .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n}\n.example .preview .pagination {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n/*# sourceMappingURL=examples.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Name of the previous breakpoint, or null for the first breakpoint.\n//\n// >> breakpoint-before(lg)\n// md\n// >> breakpoint-next(lg, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(lg, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-before($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n - 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/wwwroot/css/examples.min.css b/wwwroot/css/examples.min.css new file mode 100644 index 0000000..87dd3e9 --- /dev/null +++ b/wwwroot/css/examples.min.css @@ -0,0 +1,2 @@ +.example:not(:first-child){margin-top:1.5rem}.example .tab-content{background-color:#f9fafa!important}.dark-theme .example .tab-content{background-color:rgba(255,255,255,.1)!important}.example+p{margin-top:1.5rem}.example .preview+p{margin-top:2rem}.example .preview>.form-control+.form-control{margin-top:.5rem}.example .preview>.alert+.alert,.example .preview>.nav+.nav,.example .preview>.navbar+.navbar,.example .preview>.progress+.progress{margin-top:1rem}.example .preview>.dropdown-menu{position:static;display:block}.example .preview>:last-child{margin-bottom:0}.example .preview>img+img,.example .preview>svg+svg{margin-left:.5rem}.example .preview>.btn,.example .preview>.btn-group{margin:.25rem .125rem}.example .preview>.btn-toolbar+.btn-toolbar{margin-top:.5rem}.example .preview>.list-group{max-width:400px}.example .preview>[class*=list-group-horizontal]{max-width:100%}.example .preview .fixed-top,.example .preview .sticky-top{position:static;margin:-1rem -1rem 1rem}.example .preview .fixed-bottom{position:static;margin:1rem -1rem -1rem}@media (min-width:576px){.example .preview .fixed-top,.example .preview .sticky-top{margin:-1.5rem -1.5rem 1rem}.example .preview .fixed-bottom{margin:1rem -1.5rem -1.5rem}}.example .preview .pagination{margin-top:.5rem;margin-bottom:.5rem} +/*# sourceMappingURL=examples.min.css.map */ \ No newline at end of file diff --git a/wwwroot/css/examples.min.css.map b/wwwroot/css/examples.min.css.map new file mode 100644 index 0000000..6de0b66 --- /dev/null +++ b/wwwroot/css/examples.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["..\\..\\src\\scss\\examples.scss","dist\\css\\examples.css","..\\..\\node_modules\\@coreui\\coreui\\scss\\mixins\\_breakpoints.scss"],"names":[],"mappings":"AAME,2BACE,WAAA,OAGF,sBACE,iBAAA,kBAES,kCACP,iBAAA,+BAIJ,WACE,WAAA,OAKA,oBACE,WAAA,KAIA,8CACE,WAAA,MCTR,gCDaI,4BCZJ,kCACA,sCDeM,WAAA,KAGF,iCACE,SAAA,OACA,QAAA,MAGF,8BACE,cAAA,ECbN,0BDiBI,0BAEE,YAAA,MAIF,uBCnBJ,6BDqBM,OAAA,OAAA,QAEF,4CACE,WAAA,MAIF,8BACE,UAAA,MAGF,iDACE,UAAA,KAIF,6BCxBJ,8BD0BM,SAAA,OACA,OAAA,MAAA,MAAA,KAGF,gCACE,SAAA,OACA,OAAA,KAAA,MAAA,MEPF,yBFWE,6BC1BJ,8BD4BM,OAAA,QAAA,QAAA,KAEF,gCACE,OAAA,KAAA,QAAA,SAKJ,8BACE,WAAA,MACA,cAAA","sourcesContent":["/* stylelint-disable declaration-no-important, scss/selector-no-redundant-nesting-selector */\n@import \"@coreui/coreui/scss/functions\";\n@import \"@coreui/coreui/scss/variables\";\n@import \"@coreui/coreui/scss/mixins\";\n\n.example {\n &:not(:first-child) {\n margin-top: 1.5rem;\n }\n\n .tab-content {\n background-color: $light-50 !important;\n\n @at-root .dark-theme & {\n background-color: rgba(255, 255, 255, .1) !important;\n }\n }\n\n & + p {\n margin-top: 1.5rem;\n }\n\n // Components examples\n .preview {\n + p {\n margin-top: 2rem;\n }\n\n > .form-control {\n + .form-control {\n margin-top: .5rem;\n }\n }\n\n > .nav + .nav,\n > .alert + .alert,\n > .navbar + .navbar,\n > .progress + .progress {\n margin-top: 1rem;\n }\n\n > .dropdown-menu {\n position: static;\n display: block;\n }\n\n > :last-child {\n margin-bottom: 0;\n }\n\n // Images\n > svg + svg,\n > img + img {\n margin-left: .5rem;\n }\n\n // Buttons\n > .btn,\n > .btn-group {\n margin: .25rem .125rem;\n }\n > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n }\n\n // List groups\n > .list-group {\n max-width: 400px;\n }\n\n > [class*=\"list-group-horizontal\"] {\n max-width: 100%;\n }\n\n // Navbars\n .fixed-top,\n .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n }\n\n .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n }\n\n @include media-breakpoint-up(sm) {\n .fixed-top,\n .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n }\n\n // Pagination\n .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n }\n }\n}\n","/* stylelint-disable declaration-no-important, scss/selector-no-redundant-nesting-selector */\n.example:not(:first-child) {\n margin-top: 1.5rem;\n}\n.example .tab-content {\n background-color: #f9fafa !important;\n}\n.dark-theme .example .tab-content {\n background-color: rgba(255, 255, 255, 0.1) !important;\n}\n\n.example + p {\n margin-top: 1.5rem;\n}\n.example .preview + p {\n margin-top: 2rem;\n}\n.example .preview > .form-control + .form-control {\n margin-top: 0.5rem;\n}\n.example .preview > .nav + .nav,\n.example .preview > .alert + .alert,\n.example .preview > .navbar + .navbar,\n.example .preview > .progress + .progress {\n margin-top: 1rem;\n}\n.example .preview > .dropdown-menu {\n position: static;\n display: block;\n}\n.example .preview > :last-child {\n margin-bottom: 0;\n}\n.example .preview > svg + svg,\n.example .preview > img + img {\n margin-left: 0.5rem;\n}\n.example .preview > .btn,\n.example .preview > .btn-group {\n margin: 0.25rem 0.125rem;\n}\n.example .preview > .btn-toolbar + .btn-toolbar {\n margin-top: 0.5rem;\n}\n.example .preview > .list-group {\n max-width: 400px;\n}\n.example .preview > [class*=list-group-horizontal] {\n max-width: 100%;\n}\n.example .preview .fixed-top,\n.example .preview .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n}\n.example .preview .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n}\n@media (min-width: 576px) {\n .example .preview .fixed-top,\n .example .preview .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .example .preview .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n}\n.example .preview .pagination {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n/*# sourceMappingURL=examples.css.map */","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Name of the previous breakpoint, or null for the first breakpoint.\n//\n// >> breakpoint-before(lg)\n// md\n// >> breakpoint-next(lg, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(lg, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-before($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n - 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/wwwroot/css/gradients.css b/wwwroot/css/gradients.css new file mode 100644 index 0000000..a50c31c --- /dev/null +++ b/wwwroot/css/gradients.css @@ -0,0 +1,39 @@ +.bg-primary-gradient { + background-color: var(--cui-primary, #1f1498); + background-image: linear-gradient(45deg, var(--cui-info-start, #321fdb) 0%, var(--cui-info-stop, #1f1498 100%)); +} + +.bg-secondary-gradient { + background-color: var(--cui-secondary, #fff); + background-image: linear-gradient(45deg, var(--cui-info-start, #c8d2dc) 0%, var(--cui-info-stop, #fff 100%)); +} + +.bg-light-gradient { + background-color: var(--cui-info, #fff); + background-image: linear-gradient(45deg, var(--cui-info-start, #e3e8ed) 0%, var(--cui-info-stop, #fff 100%)); +} + +.bg-dark-gradient { + background-color: var(--cui-info, #212333); + background-image: linear-gradient(45deg, var(--cui-info-start, #3c4b64) 0%, var(--cui-info-stop, #212333 100%)); +} + +.bg-danger-gradient { + background-color: var(--cui-info, #d93737); + background-image: linear-gradient(45deg, var(--cui-info-start, #e55353) 0%, var(--cui-info-stop, #d93737 100%)); +} + +.bg-warning-gradient { + background-color: var(--cui-info, #f6960b); + background-image: linear-gradient(45deg, var(--cui-info-start, #f9b115) 0%, var(--cui-info-stop, #f6960b 100%)); +} + +.bg-success-gradient { + background-color: var(--cui-info, #1b9e3e); + background-image: linear-gradient(45deg, var(--cui-info-start, #2eb85c) 0%, var(--cui-info-stop, #1b9e3e 100%)); +} + +.bg-info-gradient { + background-color: var(--cui-info, #2982cc); + background-image: linear-gradient(45deg, var(--cui-info-start, #39f) 0%, var(--cui-info-stop, #2982cc 100%)); +} diff --git a/wwwroot/css/style.css b/wwwroot/css/style.css new file mode 100644 index 0000000..3ec37da --- /dev/null +++ b/wwwroot/css/style.css @@ -0,0 +1,14086 @@ +@charset "UTF-8"; +/* stylelint-disable-line scss/dollar-variable-default */ +/* stylelint-disable-line scss/dollar-variable-default */ +/*! + * CoreUI - HTML, CSS, and JavaScript UI Components Library + * @version v4.2.6 + * @link https://coreui.io/ + * Copyright (c) 2022 creativeLabs Łukasz Holeczek + * License MIT (https://coreui.io/license/) + */ +:root { + --cui-blue: #0d6efd; + --cui-indigo: #6610f2; + --cui-purple: #6f42c1; + --cui-pink: #d63384; + --cui-red: #dc3545; + --cui-orange: #fd7e14; + --cui-yellow: #ffc107; + --cui-green: #198754; + --cui-teal: #20c997; + --cui-cyan: #0dcaf0; + --cui-black: #000015; + --cui-white: #fff; + --cui-gray: #8a93a2; + --cui-gray-dark: #636f83; + --cui-gray-100: #ebedef; + --cui-gray-200: #d8dbe0; + --cui-gray-300: #c4c9d0; + --cui-gray-400: #b1b7c1; + --cui-gray-500: #9da5b1; + --cui-gray-600: #8a93a2; + --cui-gray-700: #768192; + --cui-gray-800: #636f83; + --cui-gray-900: #4f5d73; + --cui-primary: #321fdb; + --cui-secondary: #9da5b1; + --cui-success: #2eb85c; + --cui-info: #39f; + --cui-warning: #f9b115; + --cui-danger: #e55353; + --cui-light: #ebedef; + --cui-dark: #4f5d73; + --cui-primary-rgb: 50, 31, 219; + --cui-secondary-rgb: 157, 165, 177; + --cui-success-rgb: 46, 184, 92; + --cui-info-rgb: 51, 153, 255; + --cui-warning-rgb: 249, 177, 21; + --cui-danger-rgb: 229, 83, 83; + --cui-light-rgb: 235, 237, 239; + --cui-dark-rgb: 79, 93, 115; + --cui-white-rgb: 255, 255, 255; + --cui-black-rgb: 0, 0, 21; + --cui-body-color-rgb: 44, 56, 74; + --cui-body-bg-rgb: 255, 255, 255; + --cui-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"; + --cui-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --cui-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --cui-body-font-family: var(--cui-font-sans-serif); + --cui-body-font-size: 1rem; + --cui-body-font-weight: 400; + --cui-body-line-height: 1.5; + --cui-body-color: rgba(44, 56, 74, 0.95); + --cui-body-bg: #fff; + --cui-border-width: 1px; + --cui-border-style: solid; + --cui-border-color: #d8dbe0; + --cui-border-color-translucent: rgba(0, 0, 21, 0.175); + --cui-border-radius: 0.375rem; + --cui-border-radius-sm: 0.25rem; + --cui-border-radius-lg: 0.5rem; + --cui-border-radius-xl: 1rem; + --cui-border-radius-2xl: 2rem; + --cui-border-radius-pill: 50rem; + --cui-heading-color: unset; + --cui-link-color: #321fdb; + --cui-link-hover-color: #2819af; + --cui-code-color: #d63384; + --cui-highlight-bg: #fff3cd; + --cui-breakpoint-xs: 0; + --cui-breakpoint-sm: 576px; + --cui-breakpoint-md: 768px; + --cui-breakpoint-lg: 992px; + --cui-breakpoint-xl: 1200px; + --cui-breakpoint-xxl: 1400px; + --cui-mobile-breakpoint: md; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--cui-body-font-family); + font-size: var(--cui-body-font-size); + font-weight: var(--cui-body-font-weight); + line-height: var(--cui-body-line-height); + color: var(--cui-body-color); + text-align: var(--cui-body-text-align); + background-color: var(--cui-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 21, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: 1px solid; + opacity: 0.25; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; + color: var(--cui-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 + 0.9vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.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, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; +} +html:not([dir=rtl]) dd { + margin-left: 0; +} +*[dir=rtl] dd { + margin-right: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.1875em; + background-color: var(--cui-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: var(--cui-link-color); + text-decoration: underline; +} +a:hover { + color: var(--cui-link-hover-color); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--cui-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; + color: var(--cui-pre-color, unset); +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--cui-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--cui-kbd-color, var(--cui-body-bg)); + background-color: var(--cui-kbd-bg, var(--cui-body-color)); + border-radius: 0.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: 0.5rem; + padding-bottom: 0.5rem; + color: var(--cui-table-caption-color, rgba(44, 56, 74, 0.38)); + text-align: left; +} + +th { + font-weight: 600; + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +html:not([dir=rtl]) legend { + float: left; +} +*[dir=rtl] legend { + float: right; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +*[dir=rtl] [type=tel], +*[dir=rtl] [type=url], +*[dir=rtl] [type=email], +*[dir=rtl] [type=number] { + direction: ltr; +} + +::-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 { + list-style: none; +} +html:not([dir=rtl]) .list-unstyled { + padding-left: 0; +} +*[dir=rtl] .list-unstyled { + padding-right: 0; +} + +.list-inline { + list-style: none; +} +html:not([dir=rtl]) .list-inline { + padding-left: 0; +} +*[dir=rtl] .list-inline { + padding-right: 0; +} + +.list-inline-item { + display: inline-block; +} +html:not([dir=rtl]) .list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} +*[dir=rtl] .list-inline-item:not(:last-child) { + margin-left: 0.5rem; +} + +.initialism { + font-size: 0.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: 0.875em; + color: #8a93a2; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--cui-thumbnail-bg, #fff); + border: 1px solid var(--cui-thumbnail-border-color, var(--cui-border-color)); + border-radius: 0.375rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: var(--cui-figure-caption-color, #8a93a2); +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --cui-gutter-x: 1.5rem; + --cui-gutter-y: 0; + width: 100%; + padding-right: calc(var(--cui-gutter-x) * 0.5); + padding-left: calc(var(--cui-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +.row { + --cui-gutter-x: 1.5rem; + --cui-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--cui-gutter-y)); + margin-right: calc(-0.5 * var(--cui-gutter-x)); + margin-left: calc(-0.5 * var(--cui-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--cui-gutter-x) * 0.5); + padding-left: calc(var(--cui-gutter-x) * 0.5); + margin-top: var(--cui-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +html:not([dir=rtl]) .offset-1 { + margin-left: 8.33333333%; +} +*[dir=rtl] .offset-1 { + margin-right: 8.33333333%; +} + +html:not([dir=rtl]) .offset-2 { + margin-left: 16.66666667%; +} +*[dir=rtl] .offset-2 { + margin-right: 16.66666667%; +} + +html:not([dir=rtl]) .offset-3 { + margin-left: 25%; +} +*[dir=rtl] .offset-3 { + margin-right: 25%; +} + +html:not([dir=rtl]) .offset-4 { + margin-left: 33.33333333%; +} +*[dir=rtl] .offset-4 { + margin-right: 33.33333333%; +} + +html:not([dir=rtl]) .offset-5 { + margin-left: 41.66666667%; +} +*[dir=rtl] .offset-5 { + margin-right: 41.66666667%; +} + +html:not([dir=rtl]) .offset-6 { + margin-left: 50%; +} +*[dir=rtl] .offset-6 { + margin-right: 50%; +} + +html:not([dir=rtl]) .offset-7 { + margin-left: 58.33333333%; +} +*[dir=rtl] .offset-7 { + margin-right: 58.33333333%; +} + +html:not([dir=rtl]) .offset-8 { + margin-left: 66.66666667%; +} +*[dir=rtl] .offset-8 { + margin-right: 66.66666667%; +} + +html:not([dir=rtl]) .offset-9 { + margin-left: 75%; +} +*[dir=rtl] .offset-9 { + margin-right: 75%; +} + +html:not([dir=rtl]) .offset-10 { + margin-left: 83.33333333%; +} +*[dir=rtl] .offset-10 { + margin-right: 83.33333333%; +} + +html:not([dir=rtl]) .offset-11 { + margin-left: 91.66666667%; +} +*[dir=rtl] .offset-11 { + margin-right: 91.66666667%; +} + +.g-0, +.gx-0 { + --cui-gutter-x: 0; +} + +.g-0, +.gy-0 { + --cui-gutter-y: 0; +} + +.g-1, +.gx-1 { + --cui-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --cui-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --cui-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --cui-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --cui-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --cui-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --cui-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --cui-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --cui-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --cui-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + html:not([dir=rtl]) .offset-sm-0 { + margin-left: 0; + } + *[dir=rtl] .offset-sm-0 { + margin-right: 0; + } + html:not([dir=rtl]) .offset-sm-1 { + margin-left: 8.33333333%; + } + *[dir=rtl] .offset-sm-1 { + margin-right: 8.33333333%; + } + html:not([dir=rtl]) .offset-sm-2 { + margin-left: 16.66666667%; + } + *[dir=rtl] .offset-sm-2 { + margin-right: 16.66666667%; + } + html:not([dir=rtl]) .offset-sm-3 { + margin-left: 25%; + } + *[dir=rtl] .offset-sm-3 { + margin-right: 25%; + } + html:not([dir=rtl]) .offset-sm-4 { + margin-left: 33.33333333%; + } + *[dir=rtl] .offset-sm-4 { + margin-right: 33.33333333%; + } + html:not([dir=rtl]) .offset-sm-5 { + margin-left: 41.66666667%; + } + *[dir=rtl] .offset-sm-5 { + margin-right: 41.66666667%; + } + html:not([dir=rtl]) .offset-sm-6 { + margin-left: 50%; + } + *[dir=rtl] .offset-sm-6 { + margin-right: 50%; + } + html:not([dir=rtl]) .offset-sm-7 { + margin-left: 58.33333333%; + } + *[dir=rtl] .offset-sm-7 { + margin-right: 58.33333333%; + } + html:not([dir=rtl]) .offset-sm-8 { + margin-left: 66.66666667%; + } + *[dir=rtl] .offset-sm-8 { + margin-right: 66.66666667%; + } + html:not([dir=rtl]) .offset-sm-9 { + margin-left: 75%; + } + *[dir=rtl] .offset-sm-9 { + margin-right: 75%; + } + html:not([dir=rtl]) .offset-sm-10 { + margin-left: 83.33333333%; + } + *[dir=rtl] .offset-sm-10 { + margin-right: 83.33333333%; + } + html:not([dir=rtl]) .offset-sm-11 { + margin-left: 91.66666667%; + } + *[dir=rtl] .offset-sm-11 { + margin-right: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --cui-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --cui-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --cui-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --cui-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --cui-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --cui-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --cui-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --cui-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --cui-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --cui-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --cui-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --cui-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + html:not([dir=rtl]) .offset-md-0 { + margin-left: 0; + } + *[dir=rtl] .offset-md-0 { + margin-right: 0; + } + html:not([dir=rtl]) .offset-md-1 { + margin-left: 8.33333333%; + } + *[dir=rtl] .offset-md-1 { + margin-right: 8.33333333%; + } + html:not([dir=rtl]) .offset-md-2 { + margin-left: 16.66666667%; + } + *[dir=rtl] .offset-md-2 { + margin-right: 16.66666667%; + } + html:not([dir=rtl]) .offset-md-3 { + margin-left: 25%; + } + *[dir=rtl] .offset-md-3 { + margin-right: 25%; + } + html:not([dir=rtl]) .offset-md-4 { + margin-left: 33.33333333%; + } + *[dir=rtl] .offset-md-4 { + margin-right: 33.33333333%; + } + html:not([dir=rtl]) .offset-md-5 { + margin-left: 41.66666667%; + } + *[dir=rtl] .offset-md-5 { + margin-right: 41.66666667%; + } + html:not([dir=rtl]) .offset-md-6 { + margin-left: 50%; + } + *[dir=rtl] .offset-md-6 { + margin-right: 50%; + } + html:not([dir=rtl]) .offset-md-7 { + margin-left: 58.33333333%; + } + *[dir=rtl] .offset-md-7 { + margin-right: 58.33333333%; + } + html:not([dir=rtl]) .offset-md-8 { + margin-left: 66.66666667%; + } + *[dir=rtl] .offset-md-8 { + margin-right: 66.66666667%; + } + html:not([dir=rtl]) .offset-md-9 { + margin-left: 75%; + } + *[dir=rtl] .offset-md-9 { + margin-right: 75%; + } + html:not([dir=rtl]) .offset-md-10 { + margin-left: 83.33333333%; + } + *[dir=rtl] .offset-md-10 { + margin-right: 83.33333333%; + } + html:not([dir=rtl]) .offset-md-11 { + margin-left: 91.66666667%; + } + *[dir=rtl] .offset-md-11 { + margin-right: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --cui-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --cui-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --cui-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --cui-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --cui-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --cui-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --cui-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --cui-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --cui-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --cui-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --cui-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --cui-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + html:not([dir=rtl]) .offset-lg-0 { + margin-left: 0; + } + *[dir=rtl] .offset-lg-0 { + margin-right: 0; + } + html:not([dir=rtl]) .offset-lg-1 { + margin-left: 8.33333333%; + } + *[dir=rtl] .offset-lg-1 { + margin-right: 8.33333333%; + } + html:not([dir=rtl]) .offset-lg-2 { + margin-left: 16.66666667%; + } + *[dir=rtl] .offset-lg-2 { + margin-right: 16.66666667%; + } + html:not([dir=rtl]) .offset-lg-3 { + margin-left: 25%; + } + *[dir=rtl] .offset-lg-3 { + margin-right: 25%; + } + html:not([dir=rtl]) .offset-lg-4 { + margin-left: 33.33333333%; + } + *[dir=rtl] .offset-lg-4 { + margin-right: 33.33333333%; + } + html:not([dir=rtl]) .offset-lg-5 { + margin-left: 41.66666667%; + } + *[dir=rtl] .offset-lg-5 { + margin-right: 41.66666667%; + } + html:not([dir=rtl]) .offset-lg-6 { + margin-left: 50%; + } + *[dir=rtl] .offset-lg-6 { + margin-right: 50%; + } + html:not([dir=rtl]) .offset-lg-7 { + margin-left: 58.33333333%; + } + *[dir=rtl] .offset-lg-7 { + margin-right: 58.33333333%; + } + html:not([dir=rtl]) .offset-lg-8 { + margin-left: 66.66666667%; + } + *[dir=rtl] .offset-lg-8 { + margin-right: 66.66666667%; + } + html:not([dir=rtl]) .offset-lg-9 { + margin-left: 75%; + } + *[dir=rtl] .offset-lg-9 { + margin-right: 75%; + } + html:not([dir=rtl]) .offset-lg-10 { + margin-left: 83.33333333%; + } + *[dir=rtl] .offset-lg-10 { + margin-right: 83.33333333%; + } + html:not([dir=rtl]) .offset-lg-11 { + margin-left: 91.66666667%; + } + *[dir=rtl] .offset-lg-11 { + margin-right: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --cui-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --cui-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --cui-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --cui-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --cui-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --cui-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --cui-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --cui-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --cui-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --cui-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --cui-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --cui-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + html:not([dir=rtl]) .offset-xl-0 { + margin-left: 0; + } + *[dir=rtl] .offset-xl-0 { + margin-right: 0; + } + html:not([dir=rtl]) .offset-xl-1 { + margin-left: 8.33333333%; + } + *[dir=rtl] .offset-xl-1 { + margin-right: 8.33333333%; + } + html:not([dir=rtl]) .offset-xl-2 { + margin-left: 16.66666667%; + } + *[dir=rtl] .offset-xl-2 { + margin-right: 16.66666667%; + } + html:not([dir=rtl]) .offset-xl-3 { + margin-left: 25%; + } + *[dir=rtl] .offset-xl-3 { + margin-right: 25%; + } + html:not([dir=rtl]) .offset-xl-4 { + margin-left: 33.33333333%; + } + *[dir=rtl] .offset-xl-4 { + margin-right: 33.33333333%; + } + html:not([dir=rtl]) .offset-xl-5 { + margin-left: 41.66666667%; + } + *[dir=rtl] .offset-xl-5 { + margin-right: 41.66666667%; + } + html:not([dir=rtl]) .offset-xl-6 { + margin-left: 50%; + } + *[dir=rtl] .offset-xl-6 { + margin-right: 50%; + } + html:not([dir=rtl]) .offset-xl-7 { + margin-left: 58.33333333%; + } + *[dir=rtl] .offset-xl-7 { + margin-right: 58.33333333%; + } + html:not([dir=rtl]) .offset-xl-8 { + margin-left: 66.66666667%; + } + *[dir=rtl] .offset-xl-8 { + margin-right: 66.66666667%; + } + html:not([dir=rtl]) .offset-xl-9 { + margin-left: 75%; + } + *[dir=rtl] .offset-xl-9 { + margin-right: 75%; + } + html:not([dir=rtl]) .offset-xl-10 { + margin-left: 83.33333333%; + } + *[dir=rtl] .offset-xl-10 { + margin-right: 83.33333333%; + } + html:not([dir=rtl]) .offset-xl-11 { + margin-left: 91.66666667%; + } + *[dir=rtl] .offset-xl-11 { + margin-right: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --cui-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --cui-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --cui-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --cui-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --cui-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --cui-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --cui-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --cui-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --cui-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --cui-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --cui-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --cui-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + html:not([dir=rtl]) .offset-xxl-0 { + margin-left: 0; + } + *[dir=rtl] .offset-xxl-0 { + margin-right: 0; + } + html:not([dir=rtl]) .offset-xxl-1 { + margin-left: 8.33333333%; + } + *[dir=rtl] .offset-xxl-1 { + margin-right: 8.33333333%; + } + html:not([dir=rtl]) .offset-xxl-2 { + margin-left: 16.66666667%; + } + *[dir=rtl] .offset-xxl-2 { + margin-right: 16.66666667%; + } + html:not([dir=rtl]) .offset-xxl-3 { + margin-left: 25%; + } + *[dir=rtl] .offset-xxl-3 { + margin-right: 25%; + } + html:not([dir=rtl]) .offset-xxl-4 { + margin-left: 33.33333333%; + } + *[dir=rtl] .offset-xxl-4 { + margin-right: 33.33333333%; + } + html:not([dir=rtl]) .offset-xxl-5 { + margin-left: 41.66666667%; + } + *[dir=rtl] .offset-xxl-5 { + margin-right: 41.66666667%; + } + html:not([dir=rtl]) .offset-xxl-6 { + margin-left: 50%; + } + *[dir=rtl] .offset-xxl-6 { + margin-right: 50%; + } + html:not([dir=rtl]) .offset-xxl-7 { + margin-left: 58.33333333%; + } + *[dir=rtl] .offset-xxl-7 { + margin-right: 58.33333333%; + } + html:not([dir=rtl]) .offset-xxl-8 { + margin-left: 66.66666667%; + } + *[dir=rtl] .offset-xxl-8 { + margin-right: 66.66666667%; + } + html:not([dir=rtl]) .offset-xxl-9 { + margin-left: 75%; + } + *[dir=rtl] .offset-xxl-9 { + margin-right: 75%; + } + html:not([dir=rtl]) .offset-xxl-10 { + margin-left: 83.33333333%; + } + *[dir=rtl] .offset-xxl-10 { + margin-right: 83.33333333%; + } + html:not([dir=rtl]) .offset-xxl-11 { + margin-left: 91.66666667%; + } + *[dir=rtl] .offset-xxl-11 { + margin-right: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --cui-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --cui-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --cui-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --cui-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --cui-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --cui-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --cui-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --cui-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --cui-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --cui-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --cui-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --cui-gutter-y: 3rem; + } +} +.table { + --cui-table-color: var(--cui-body-color); + --cui-table-bg: transparent; + --cui-table-border-color: var(--cui-border-color); + --cui-table-accent-bg: transparent; + --cui-table-striped-color: var(--cui-body-color); + --cui-table-striped-bg: rgba(0, 0, 21, 0.05); + --cui-table-active-color: var(--cui-body-color); + --cui-table-active-bg: rgba(0, 0, 21, 0.1); + --cui-table-hover-color: var(--cui-body-color); + --cui-table-hover-bg: rgba(0, 0, 21, 0.075); + width: 100%; + margin-bottom: 1rem; + color: var(--cui-table-color); + vertical-align: top; + border-color: var(--cui-table-border-color); +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--cui-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--cui-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: 2px solid currentcolor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --cui-table-accent-bg: var(--cui-table-striped-bg); + color: var(--cui-table-striped-color); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --cui-table-accent-bg: var(--cui-table-striped-bg); + color: var(--cui-table-striped-color); +} + +.table-active { + --cui-table-accent-bg: var(--cui-table-active-bg); + color: var(--cui-table-active-color); +} + +.table-hover > tbody > tr:hover > * { + --cui-table-accent-bg: var(--cui-table-hover-bg); + color: var(--cui-table-hover-color); +} + +.table-primary { + --cui-table-color: rgba(44, 56, 74, 0.95); + --cui-table-bg: #d6d2f8; + --cui-table-border-color: rgba(198, 196, 232, 0.995); + --cui-table-striped-bg: rgba(206, 203, 240, 0.9975); + --cui-table-striped-color: rgba(44, 56, 74, 0.95); + --cui-table-active-bg: rgba(198, 196, 232, 0.995); + --cui-table-active-color: rgba(44, 56, 74, 0.95); + --cui-table-hover-bg: rgba(202, 199, 236, 0.99625); + --cui-table-hover-color: rgba(44, 56, 74, 0.95); + color: var(--cui-table-color); + border-color: var(--cui-table-border-color); +} + +.table-secondary { + --cui-table-color: rgba(44, 56, 74, 0.95); + --cui-table-bg: #ebedef; + --cui-table-border-color: rgba(218, 220, 224, 0.995); + --cui-table-striped-bg: rgba(226, 229, 232, 0.9975); + --cui-table-striped-color: rgba(44, 56, 74, 0.95); + --cui-table-active-bg: rgba(218, 220, 224, 0.995); + --cui-table-active-color: rgba(44, 56, 74, 0.95); + --cui-table-hover-bg: rgba(222, 225, 228, 0.99625); + --cui-table-hover-color: rgba(44, 56, 74, 0.95); + color: var(--cui-table-color); + border-color: var(--cui-table-border-color); +} + +.table-success { + --cui-table-color: rgba(44, 56, 74, 0.95); + --cui-table-bg: #d5f1de; + --cui-table-border-color: rgba(198, 224, 208, 0.995); + --cui-table-striped-bg: rgba(205, 233, 215, 0.9975); + --cui-table-striped-color: rgba(44, 56, 74, 0.95); + --cui-table-active-bg: rgba(198, 224, 208, 0.995); + --cui-table-active-color: rgba(44, 56, 74, 0.95); + --cui-table-hover-bg: rgba(201, 228, 212, 0.99625); + --cui-table-hover-color: rgba(44, 56, 74, 0.95); + color: var(--cui-table-color); + border-color: var(--cui-table-border-color); +} + +.table-info { + --cui-table-color: rgba(44, 56, 74, 0.95); + --cui-table-bg: #d6ebff; + --cui-table-border-color: rgba(198, 219, 238, 0.995); + --cui-table-striped-bg: rgba(206, 227, 247, 0.9975); + --cui-table-striped-color: rgba(44, 56, 74, 0.95); + --cui-table-active-bg: rgba(198, 219, 238, 0.995); + --cui-table-active-color: rgba(44, 56, 74, 0.95); + --cui-table-hover-bg: rgba(202, 223, 243, 0.99625); + --cui-table-hover-color: rgba(44, 56, 74, 0.95); + color: var(--cui-table-color); + border-color: var(--cui-table-border-color); +} + +.table-warning { + --cui-table-color: rgba(44, 56, 74, 0.95); + --cui-table-bg: #feefd0; + --cui-table-border-color: rgba(235, 222, 196, 0.995); + --cui-table-striped-bg: rgba(244, 231, 202, 0.9975); + --cui-table-striped-color: rgba(44, 56, 74, 0.95); + --cui-table-active-bg: rgba(235, 222, 196, 0.995); + --cui-table-active-color: rgba(44, 56, 74, 0.95); + --cui-table-hover-bg: rgba(240, 226, 199, 0.99625); + --cui-table-hover-color: rgba(44, 56, 74, 0.95); + color: var(--cui-table-color); + border-color: var(--cui-table-border-color); +} + +.table-danger { + --cui-table-color: rgba(44, 56, 74, 0.95); + --cui-table-bg: #fadddd; + --cui-table-border-color: rgba(231, 206, 208, 0.995); + --cui-table-striped-bg: rgba(241, 214, 214, 0.9975); + --cui-table-striped-color: rgba(44, 56, 74, 0.95); + --cui-table-active-bg: rgba(231, 206, 208, 0.995); + --cui-table-active-color: rgba(44, 56, 74, 0.95); + --cui-table-hover-bg: rgba(236, 210, 211, 0.99625); + --cui-table-hover-color: rgba(44, 56, 74, 0.95); + color: var(--cui-table-color); + border-color: var(--cui-table-border-color); +} + +.table-light { + --cui-table-color: rgba(44, 56, 74, 0.95); + --cui-table-bg: #ebedef; + --cui-table-border-color: rgba(218, 220, 224, 0.995); + --cui-table-striped-bg: rgba(226, 229, 232, 0.9975); + --cui-table-striped-color: rgba(44, 56, 74, 0.95); + --cui-table-active-bg: rgba(218, 220, 224, 0.995); + --cui-table-active-color: rgba(44, 56, 74, 0.95); + --cui-table-hover-bg: rgba(222, 225, 228, 0.99625); + --cui-table-hover-color: rgba(44, 56, 74, 0.95); + color: var(--cui-table-color); + border-color: var(--cui-table-border-color); +} + +.table-dark { + --cui-table-color: rgba(255, 255, 255, 0.87); + --cui-table-bg: #4f5d73; + --cui-table-border-color: rgba(93, 106, 126, 0.987); + --cui-table-striped-bg: rgba(86, 99, 120, 0.9935); + --cui-table-striped-color: rgba(255, 255, 255, 0.87); + --cui-table-active-bg: rgba(93, 106, 126, 0.987); + --cui-table-active-color: rgba(255, 255, 255, 0.87); + --cui-table-hover-bg: rgba(89, 103, 123, 0.99025); + --cui-table-hover-color: rgba(255, 255, 255, 0.87); + color: var(--cui-table-color); + border-color: var(--cui-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: 0.5rem; + color: var(--cui-form-label-color, ); +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; + color: var(--cui-form-label-color, ); +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--cui-form-text-color, rgba(44, 56, 74, 0.38)); +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--cui-input-color, rgba(44, 56, 74, 0.95)); + background-color: var(--cui-input-bg, #fff); + background-clip: padding-box; + border: 1px solid var(--cui-input-border-color, #b1b7c1); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.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(--cui-input-focus-color, rgba(44, 56, 74, 0.95)); + background-color: var(--cui-input-focus-bg, #fff); + border-color: var(--cui-input-focus-border-color, #998fed); + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-moz-placeholder { + color: var(--cui-input-placeholder-color, #8a93a2); + opacity: 1; +} +.form-control::placeholder { + color: var(--cui-input-placeholder-color, #8a93a2); + opacity: 1; +} +.form-control:disabled { + background-color: #d8dbe0; + border-color: #b1b7c1; + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: var(--cui-form-file-button-color, rgba(44, 56, 74, 0.95)); + background-color: var(--cui-form-file-button-bg, #d8dbe0); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-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; + 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; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: var(--cui-form-file-button-color, rgba(44, 56, 74, 0.95)); + background-color: var(--cui-form-file-button-bg, #d8dbe0); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + 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; +} +@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(--cui-form-file-button-hover-bg, #cdd0d5); +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--cui-form-file-button-hover-bg, #cdd0d5); +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: var(--cui-input-plaintext-color, rgba(44, 56, 74, 0.95)); + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} + +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); +} + +.form-control-color { + width: 3rem; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: 0.375rem; +} +.form-control-color::-webkit-color-swatch { + border-radius: 0.375rem; +} +.form-control-color.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); +} +.form-control-color.form-control-lg { + height: calc(1.5em + 1rem + 2px); +} + +.form-select { + display: block; + width: 100%; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--cui-form-select-color, rgba(44, 56, 74, 0.95)); + background-color: var(--cui-form-select-bg, #fff); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23636f83' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-size: 16px 12px; + border: 1px solid var(--cui-form-select-border-color, #b1b7c1); + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +html:not([dir=rtl]) .form-select { + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + background-position: right 0.75rem center; +} +*[dir=rtl] .form-select { + padding: 0.375rem 0.75rem 0.375rem 2.25rem; + background-position: left 0.75rem center; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: var(--cui-form-select-focus-border-color, #998fed); + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + background-image: none; +} +html:not([dir=rtl]) .form-select[multiple], html:not([dir=rtl]) .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; +} +*[dir=rtl] .form-select[multiple], *[dir=rtl] .form-select[size]:not([size="1"]) { + padding-left: 0.75rem; +} +.form-select:disabled { + color: var(--cui-form-select-disabled-color, ); + background-color: var(--cui-form-select-disabled-bg, #d8dbe0); + border-color: var(--cui-form-select-disabled-border-color, #b1b7c1); +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 var(--cui-form-select-color, rgba(44, 56, 74, 0.95)); +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} +html:not([dir=rtl]) .form-select-sm { + padding-left: 0.5rem; +} +*[dir=rtl] .form-select-sm { + padding-right: 0.5rem; +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} +html:not([dir=rtl]) .form-select-lg { + padding-left: 1rem; +} +*[dir=rtl] .form-select-lg { + padding-right: 1rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + margin-bottom: 0.125rem; +} +html:not([dir=rtl]) .form-check { + padding-left: 1.5em; +} +*[dir=rtl] .form-check { + padding-right: 1.5em; +} +html:not([dir=rtl]) .form-check .form-check-input { + float: left; + margin-left: -1.5em; +} +*[dir=rtl] .form-check .form-check-input { + float: right; + margin-right: -1.5em; +} + +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} + +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: var(--cui-form-check-input-bg, #fff); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 21, 0.25); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + print-color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: 0.25em; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #998fed; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25); +} +.form-check-input:checked { + background-color: var(--cui-form-check-input-checked-bg-color, #321fdb); + border-color: var(--cui-form-check-input-checked-border-color, #321fdb); +} +.form-check-input:checked[type=checkbox] { + background-image: var(--cui-form-check-input-checked-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='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")); +} +.form-check-input:checked[type=radio] { + background-image: var(--cui-form-check-radio-checked-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='rgba%28255, 255, 255, 0.87%29'/%3e%3c/svg%3e")); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #321fdb; + border-color: #321fdb; + background-image: var(--cui-form-check-input-indeterminate-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='rgba%28255, 255, 255, 0.87%29' 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: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.5; +} + +.form-check-label { + color: var(--cui-form-check-label-color, unset); +} + +html:not([dir=rtl]) .form-switch { + padding-left: 2.5em; +} +*[dir=rtl] .form-switch { + padding-right: 2.5em; +} +.form-switch .form-check-input { + width: 2em; + background-image: var(--cui-form-switch-bg-image, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 21, 0.25%29'/%3e%3c/svg%3e")); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +html:not([dir=rtl]) .form-switch .form-check-input { + margin-left: -2.5em; +} +*[dir=rtl] .form-switch .form-check-input { + margin-right: -2.5em; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + background-image: var(--cui-form-switch-focus-bg-image, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23998fed'/%3e%3c/svg%3e")); +} +.form-switch .form-check-input:checked { + background-position: right center; + background-image: var(--cui-form-switch-checked-bg-image, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.87%29'/%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-switch-lg { + min-height: 1.25em; +} +html:not([dir=rtl]) .form-switch-lg { + padding-left: 2.25em; +} +*[dir=rtl] .form-switch-lg { + padding-right: 2.25em; +} +.form-switch-lg .form-check-input { + width: 1.75em; + height: 1.25em; +} +html:not([dir=rtl]) .form-switch-lg .form-check-input { + margin-left: -2.25em; +} +*[dir=rtl] .form-switch-lg .form-check-input { + margin-right: -2.25em; +} +.form-switch-lg .form-check-label { + padding-top: calc((1.25em - 1rem) / 2); +} + +.form-switch-xl { + min-height: 1.5em; +} +html:not([dir=rtl]) .form-switch-xl { + padding-left: 2.5em; +} +*[dir=rtl] .form-switch-xl { + padding-right: 2.5em; +} +.form-switch-xl .form-check-input { + width: 2em; + height: 1.5em; +} +html:not([dir=rtl]) .form-switch-xl .form-check-input { + margin-left: -2.5em; +} +*[dir=rtl] .form-switch-xl .form-check-input { + margin-right: -2.5em; +} +.form-switch-xl .form-check-label { + padding-top: calc((1.5em - 1rem) / 2); +} + +.form-check-inline { + display: inline-block; +} +html:not([dir=rtl]) .form-check-inline { + margin-right: 1rem; +} +*[dir=rtl] .form-check-inline { + margin-left: 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: 0.65; +} + +.form-check-primary { + --cui-form-check-input-checked-bg-color: #321fdb; + --cui-form-check-input-checked-border-color: #321fdb; + --cui-form-check-input-indeterminate-bg-color: #321fdb; + --cui-form-check-input-indeterminate-border-color: #321fdb; +} + +.form-check-secondary { + --cui-form-check-input-checked-bg-color: #9da5b1; + --cui-form-check-input-checked-border-color: #9da5b1; + --cui-form-check-input-indeterminate-bg-color: #9da5b1; + --cui-form-check-input-indeterminate-border-color: #9da5b1; +} + +.form-check-success { + --cui-form-check-input-checked-bg-color: #2eb85c; + --cui-form-check-input-checked-border-color: #2eb85c; + --cui-form-check-input-indeterminate-bg-color: #2eb85c; + --cui-form-check-input-indeterminate-border-color: #2eb85c; +} + +.form-check-info { + --cui-form-check-input-checked-bg-color: #39f; + --cui-form-check-input-checked-border-color: #39f; + --cui-form-check-input-indeterminate-bg-color: #39f; + --cui-form-check-input-indeterminate-border-color: #39f; +} + +.form-check-warning { + --cui-form-check-input-checked-bg-color: #f9b115; + --cui-form-check-input-checked-border-color: #f9b115; + --cui-form-check-input-indeterminate-bg-color: #f9b115; + --cui-form-check-input-indeterminate-border-color: #f9b115; +} + +.form-check-danger { + --cui-form-check-input-checked-bg-color: #e55353; + --cui-form-check-input-checked-border-color: #e55353; + --cui-form-check-input-indeterminate-bg-color: #e55353; + --cui-form-check-input-indeterminate-border-color: #e55353; +} + +.form-check-light { + --cui-form-check-input-checked-bg-color: #ebedef; + --cui-form-check-input-checked-border-color: #ebedef; + --cui-form-check-input-indeterminate-bg-color: #ebedef; + --cui-form-check-input-indeterminate-border-color: #ebedef; +} + +.form-check-dark { + --cui-form-check-input-checked-bg-color: #4f5d73; + --cui-form-check-input-checked-border-color: #4f5d73; + --cui-form-check-input-indeterminate-bg-color: #4f5d73; + --cui-form-check-input-indeterminate-border-color: #4f5d73; +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(50, 31, 219, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(50, 31, 219, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: var(--cui-form-range-thumb-bg, #321fdb); + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: var(--cui-form-range-thumb-active-bg, #c2bcf4); +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--cui-form-range-track-bg, #c4c9d0); + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: var(--cui-form-range-thumb-bg, #321fdb); + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: var(--cui-form-range-thumb-active-bg, #c2bcf4); +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--cui-form-range-track-bg, #c4c9d0); + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--cui-form-range-thumb-disabled-bg, #9da5b1); +} +.form-range:disabled::-moz-range-thumb { + background-color: var(--cui-form-range-thumb-disabled-bg, #9da5b1); +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + width: 100%; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +html:not([dir=rtl]) .form-floating > label { + left: 0; +} +*[dir=rtl] .form-floating > label { + right: 0; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label { + border-width: 1px 0; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--cui-input-group-addon-color, rgba(44, 56, 74, 0.95)); + text-align: center; + white-space: nowrap; + background-color: var(--cui-input-group-addon-bg, #d8dbe0); + border: 1px solid var(--cui-input-group-addon-border-color, #b1b7c1); + border-radius: 0.375rem; +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} + +html:not([dir=rtl]) .input-group-lg > .form-select, +html:not([dir=rtl]) .input-group-sm > .form-select { + padding-right: 3rem; +} +*[dir=rtl] .input-group-lg > .form-select, +*[dir=rtl] .input-group-sm > .form-select { + padding-left: 3rem; +} + +html:not([dir=rtl]) .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +html:not([dir=rtl]) .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +html:not([dir=rtl]) .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +html:not([dir=rtl]) .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +*[dir=rtl] .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +*[dir=rtl] .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +*[dir=rtl] .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +*[dir=rtl] .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +html:not([dir=rtl]) .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +html:not([dir=rtl]) .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +html:not([dir=rtl]) .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +html:not([dir=rtl]) .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +*[dir=rtl] .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +*[dir=rtl] .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +*[dir=rtl] .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +*[dir=rtl] .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +html:not([dir=rtl]) .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +*[dir=rtl] .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-right: -1px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +html:not([dir=rtl]) .input-group > .form-floating:not(:first-child) > .form-control, +html:not([dir=rtl]) .input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +*[dir=rtl] .input-group > .form-floating:not(:first-child) > .form-control, +*[dir=rtl] .input-group > .form-floating:not(:first-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #2eb85c; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #000015; + background-color: rgba(46, 184, 92, 0.9); + border-radius: 0.375rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #2eb85c; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232eb85c' 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-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +html:not([dir=rtl]) .was-validated .form-control:valid, html:not([dir=rtl]) .form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: right calc(0.375em + 0.1875rem) center; +} +*[dir=rtl] .was-validated .form-control:valid, *[dir=rtl] .form-control.is-valid { + padding-left: calc(1.5em + 0.75rem); + background-position: left calc(0.375em + 0.1875rem) center; +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #2eb85c; + box-shadow: 0 0 0 0.25rem rgba(46, 184, 92, 0.25); +} + +html:not([dir=rtl]) .was-validated textarea.form-control:valid, html:not([dir=rtl]) textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} +*[dir=rtl] .was-validated textarea.form-control:valid, *[dir=rtl] textarea.form-control.is-valid { + padding-left: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) left calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #2eb85c; +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23636f83' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232eb85c' 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-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +html:not([dir=rtl]) .was-validated .form-select:valid:not([multiple]):not([size]), html:not([dir=rtl]) .was-validated .form-select:valid:not([multiple])[size="1"], html:not([dir=rtl]) .form-select.is-valid:not([multiple]):not([size]), html:not([dir=rtl]) .form-select.is-valid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; +} +*[dir=rtl] .was-validated .form-select:valid:not([multiple]):not([size]), *[dir=rtl] .was-validated .form-select:valid:not([multiple])[size="1"], *[dir=rtl] .form-select.is-valid:not([multiple]):not([size]), *[dir=rtl] .form-select.is-valid:not([multiple])[size="1"] { + padding-left: 4.125rem; + background-position: left 0.75rem center, center left 2.25rem; +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #2eb85c; + box-shadow: 0 0 0 0.25rem rgba(46, 184, 92, 0.25); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #2eb85c; +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #2eb85c; +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(46, 184, 92, 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #2eb85c; +} + +html:not([dir=rtl]) .form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} +*[dir=rtl] .form-check-inline .form-check-input ~ .valid-feedback { + margin-right: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #e55353; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #000015; + background-color: rgba(229, 83, 83, 0.9); + border-radius: 0.375rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #e55353; + 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='%23e55353'%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='%23e55353' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +html:not([dir=rtl]) .was-validated .form-control:invalid, html:not([dir=rtl]) .form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: right calc(0.375em + 0.1875rem) center; +} +*[dir=rtl] .was-validated .form-control:invalid, *[dir=rtl] .form-control.is-invalid { + padding-left: calc(1.5em + 0.75rem); + background-position: left calc(0.375em + 0.1875rem) center; +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #e55353; + box-shadow: 0 0 0 0.25rem rgba(229, 83, 83, 0.25); +} + +html:not([dir=rtl]) .was-validated textarea.form-control:invalid, html:not([dir=rtl]) textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} +*[dir=rtl] .was-validated textarea.form-control:invalid, *[dir=rtl] textarea.form-control.is-invalid { + padding-left: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) left calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #e55353; +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23636f83' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e55353'%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='%23e55353' stroke='none'/%3e%3c/svg%3e"); + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +html:not([dir=rtl]) .was-validated .form-select:invalid:not([multiple]):not([size]), html:not([dir=rtl]) .was-validated .form-select:invalid:not([multiple])[size="1"], html:not([dir=rtl]) .form-select.is-invalid:not([multiple]):not([size]), html:not([dir=rtl]) .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; +} +*[dir=rtl] .was-validated .form-select:invalid:not([multiple]):not([size]), *[dir=rtl] .was-validated .form-select:invalid:not([multiple])[size="1"], *[dir=rtl] .form-select.is-invalid:not([multiple]):not([size]), *[dir=rtl] .form-select.is-invalid:not([multiple])[size="1"] { + padding-left: 4.125rem; + background-position: left 0.75rem center, center left 2.25rem; +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #e55353; + box-shadow: 0 0 0 0.25rem rgba(229, 83, 83, 0.25); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #e55353; +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #e55353; +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(229, 83, 83, 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #e55353; +} + +html:not([dir=rtl]) .form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} +*[dir=rtl] .form-check-inline .form-check-input ~ .invalid-feedback { + margin-right: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --cui-btn-padding-x: 0.75rem; + --cui-btn-padding-y: 0.375rem; + --cui-btn-font-family: ; + --cui-btn-font-size: 1rem; + --cui-btn-font-weight: 400; + --cui-btn-line-height: 1.5; + --cui-btn-color: rgba(44, 56, 74, 0.95); + --cui-btn-bg: transparent; + --cui-btn-border-width: 1px; + --cui-btn-border-color: transparent; + --cui-btn-border-radius: 0.375rem; + --cui-btn-hover-border-color: transparent; + --cui-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 21, 0.075); + --cui-btn-disabled-opacity: 0.65; + --cui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--cui-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--cui-btn-padding-y) var(--cui-btn-padding-x); + font-family: var(--cui-btn-font-family); + font-size: var(--cui-btn-font-size); + font-weight: var(--cui-btn-font-weight); + line-height: var(--cui-btn-line-height); + color: var(--cui-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(--cui-btn-border-width) solid var(--cui-btn-border-color); + border-radius: var(--cui-btn-border-radius); + background-color: var(--cui-btn-bg); + 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; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--cui-btn-hover-color); + background-color: var(--cui-btn-hover-bg); + border-color: var(--cui-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--cui-btn-color); + background-color: var(--cui-btn-bg); + border-color: var(--cui-btn-border-color); +} +.btn:focus-visible { + color: var(--cui-btn-hover-color); + background-color: var(--cui-btn-hover-bg); + border-color: var(--cui-btn-hover-border-color); + outline: 0; + box-shadow: var(--cui-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--cui-btn-hover-border-color); + outline: 0; + box-shadow: var(--cui-btn-focus-box-shadow); +} +.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--cui-btn-active-color); + background-color: var(--cui-btn-active-bg); + border-color: var(--cui-btn-active-border-color); +} +.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--cui-btn-focus-box-shadow); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + color: var(--cui-btn-disabled-color); + pointer-events: none; + background-color: var(--cui-btn-disabled-bg); + border-color: var(--cui-btn-disabled-border-color); + opacity: var(--cui-btn-disabled-opacity); +} + +.btn-transparent { + --cui-btn-active-border-color: transparent; + --cui-btn-disabled-border-color: transparent; + --cui-btn-hover-border-color: transparent; +} + +.btn-primary { + --cui-btn-color: rgba(255, 255, 255, 0.87); + --cui-btn-bg: #321fdb; + --cui-btn-border-color: #321fdb; + --cui-btn-hover-color: rgba(255, 255, 255, 0.87); + --cui-btn-hover-bg: #5141e0; + --cui-btn-hover-border-color: #4735df; + --cui-btn-focus-shadow-rgb: 75, 58, 223; + --cui-btn-active-color: rgba(255, 255, 255, 0.87); + --cui-btn-active-bg: #5b4ce2; + --cui-btn-active-border-color: #4735df; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: rgba(255, 255, 255, 0.87); + --cui-btn-disabled-bg: #321fdb; + --cui-btn-disabled-border-color: #321fdb; +} + +.btn-secondary { + --cui-btn-color: #000015; + --cui-btn-bg: #9da5b1; + --cui-btn-border-color: #9da5b1; + --cui-btn-hover-color: rgba(44, 56, 74, 0.95); + --cui-btn-hover-bg: #acb3bd; + --cui-btn-hover-border-color: #a7aeb9; + --cui-btn-focus-shadow-rgb: 133, 140, 154; + --cui-btn-active-color: rgba(44, 56, 74, 0.95); + --cui-btn-active-bg: #b1b7c1; + --cui-btn-active-border-color: #a7aeb9; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #000015; + --cui-btn-disabled-bg: #9da5b1; + --cui-btn-disabled-border-color: #9da5b1; +} + +.btn-success { + --cui-btn-color: #000015; + --cui-btn-bg: #2eb85c; + --cui-btn-border-color: #2eb85c; + --cui-btn-hover-color: rgba(44, 56, 74, 0.95); + --cui-btn-hover-bg: #4dc374; + --cui-btn-hover-border-color: #43bf6c; + --cui-btn-focus-shadow-rgb: 39, 156, 81; + --cui-btn-active-color: rgba(44, 56, 74, 0.95); + --cui-btn-active-bg: #58c67d; + --cui-btn-active-border-color: #43bf6c; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #000015; + --cui-btn-disabled-bg: #2eb85c; + --cui-btn-disabled-border-color: #2eb85c; +} + +.btn-danger { + --cui-btn-color: #000015; + --cui-btn-bg: #e55353; + --cui-btn-border-color: #e55353; + --cui-btn-hover-color: #000015; + --cui-btn-hover-bg: #e96d6d; + --cui-btn-hover-border-color: #e86464; + --cui-btn-focus-shadow-rgb: 195, 71, 74; + --cui-btn-active-color: #000015; + --cui-btn-active-bg: #ea7575; + --cui-btn-active-border-color: #e86464; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #000015; + --cui-btn-disabled-bg: #e55353; + --cui-btn-disabled-border-color: #e55353; +} + +.btn-warning { + --cui-btn-color: rgba(44, 56, 74, 0.95); + --cui-btn-bg: #f9b115; + --cui-btn-border-color: #f9b115; + --cui-btn-hover-color: #000015; + --cui-btn-hover-bg: #d49612; + --cui-btn-hover-border-color: #c78e11; + --cui-btn-focus-shadow-rgb: 221, 160, 28; + --cui-btn-active-color: #000015; + --cui-btn-active-bg: #c78e11; + --cui-btn-active-border-color: #bb8510; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: rgba(44, 56, 74, 0.95); + --cui-btn-disabled-bg: #f9b115; + --cui-btn-disabled-border-color: #f9b115; +} + +.btn-info { + --cui-btn-color: #000015; + --cui-btn-bg: #39f; + --cui-btn-border-color: #39f; + --cui-btn-hover-color: #000015; + --cui-btn-hover-bg: #52a8ff; + --cui-btn-hover-border-color: #47a3ff; + --cui-btn-focus-shadow-rgb: 43, 130, 220; + --cui-btn-active-color: #000015; + --cui-btn-active-bg: #5cadff; + --cui-btn-active-border-color: #47a3ff; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #000015; + --cui-btn-disabled-bg: #39f; + --cui-btn-disabled-border-color: #39f; +} + +.btn-light { + --cui-btn-color: rgba(44, 56, 74, 0.95); + --cui-btn-bg: #ebedef; + --cui-btn-border-color: #ebedef; + --cui-btn-hover-color: rgba(44, 56, 74, 0.95); + --cui-btn-hover-bg: #c8c9cb; + --cui-btn-hover-border-color: #bcbebf; + --cui-btn-focus-shadow-rgb: 209, 212, 216; + --cui-btn-active-color: rgba(44, 56, 74, 0.95); + --cui-btn-active-bg: #bcbebf; + --cui-btn-active-border-color: #b0b2b3; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: rgba(44, 56, 74, 0.95); + --cui-btn-disabled-bg: #ebedef; + --cui-btn-disabled-border-color: #ebedef; +} + +.btn-dark { + --cui-btn-color: rgba(255, 255, 255, 0.87); + --cui-btn-bg: #4f5d73; + --cui-btn-border-color: #4f5d73; + --cui-btn-hover-color: #fff; + --cui-btn-hover-bg: #697588; + --cui-btn-hover-border-color: #616d81; + --cui-btn-focus-shadow-rgb: 100, 112, 132; + --cui-btn-active-color: #fff; + --cui-btn-active-bg: #727d8f; + --cui-btn-active-border-color: #616d81; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: rgba(255, 255, 255, 0.87); + --cui-btn-disabled-bg: #4f5d73; + --cui-btn-disabled-border-color: #4f5d73; +} + +.btn-outline-primary { + --cui-btn-color: #321fdb; + --cui-btn-border-color: #321fdb; + --cui-btn-hover-color: rgba(255, 255, 255, 0.87); + --cui-btn-hover-bg: #5b4ce2; + --cui-btn-hover-border-color: #4735df; + --cui-btn-focus-shadow-rgb: 50, 31, 219; + --cui-btn-active-color: rgba(255, 255, 255, 0.87); + --cui-btn-active-bg: #5b4ce2; + --cui-btn-active-border-color: #4735df; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #321fdb; + --cui-btn-disabled-bg: transparent; + --cui-gradient: none; +} + +.btn-outline-secondary { + --cui-btn-color: #9da5b1; + --cui-btn-border-color: #9da5b1; + --cui-btn-hover-color: rgba(44, 56, 74, 0.95); + --cui-btn-hover-bg: #b1b7c1; + --cui-btn-hover-border-color: #a7aeb9; + --cui-btn-focus-shadow-rgb: 157, 165, 177; + --cui-btn-active-color: rgba(44, 56, 74, 0.95); + --cui-btn-active-bg: #b1b7c1; + --cui-btn-active-border-color: #a7aeb9; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #9da5b1; + --cui-btn-disabled-bg: transparent; + --cui-gradient: none; +} + +.btn-outline-success { + --cui-btn-color: #2eb85c; + --cui-btn-border-color: #2eb85c; + --cui-btn-hover-color: rgba(44, 56, 74, 0.95); + --cui-btn-hover-bg: #58c67d; + --cui-btn-hover-border-color: #43bf6c; + --cui-btn-focus-shadow-rgb: 46, 184, 92; + --cui-btn-active-color: rgba(44, 56, 74, 0.95); + --cui-btn-active-bg: #58c67d; + --cui-btn-active-border-color: #43bf6c; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #2eb85c; + --cui-btn-disabled-bg: transparent; + --cui-gradient: none; +} + +.btn-outline-danger { + --cui-btn-color: #e55353; + --cui-btn-border-color: #e55353; + --cui-btn-hover-color: #000015; + --cui-btn-hover-bg: #ea7575; + --cui-btn-hover-border-color: #e86464; + --cui-btn-focus-shadow-rgb: 229, 83, 83; + --cui-btn-active-color: #000015; + --cui-btn-active-bg: #ea7575; + --cui-btn-active-border-color: #e86464; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #e55353; + --cui-btn-disabled-bg: transparent; + --cui-gradient: none; +} + +.btn-outline-warning { + --cui-btn-color: #f9b115; + --cui-btn-border-color: #f9b115; + --cui-btn-hover-color: #000015; + --cui-btn-hover-bg: #c78e11; + --cui-btn-hover-border-color: #bb8510; + --cui-btn-focus-shadow-rgb: 249, 177, 21; + --cui-btn-active-color: #000015; + --cui-btn-active-bg: #c78e11; + --cui-btn-active-border-color: #bb8510; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #f9b115; + --cui-btn-disabled-bg: transparent; + --cui-gradient: none; +} + +.btn-outline-info { + --cui-btn-color: #39f; + --cui-btn-border-color: #39f; + --cui-btn-hover-color: #000015; + --cui-btn-hover-bg: #5cadff; + --cui-btn-hover-border-color: #47a3ff; + --cui-btn-focus-shadow-rgb: 51, 153, 255; + --cui-btn-active-color: #000015; + --cui-btn-active-bg: #5cadff; + --cui-btn-active-border-color: #47a3ff; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #39f; + --cui-btn-disabled-bg: transparent; + --cui-gradient: none; +} + +.btn-outline-light { + --cui-btn-color: #ebedef; + --cui-btn-border-color: #ebedef; + --cui-btn-hover-color: rgba(44, 56, 74, 0.95); + --cui-btn-hover-bg: #bcbebf; + --cui-btn-hover-border-color: #b0b2b3; + --cui-btn-focus-shadow-rgb: 235, 237, 239; + --cui-btn-active-color: rgba(44, 56, 74, 0.95); + --cui-btn-active-bg: #bcbebf; + --cui-btn-active-border-color: #b0b2b3; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #ebedef; + --cui-btn-disabled-bg: transparent; + --cui-gradient: none; +} + +.btn-outline-dark { + --cui-btn-color: #4f5d73; + --cui-btn-border-color: #4f5d73; + --cui-btn-hover-color: #fff; + --cui-btn-hover-bg: #727d8f; + --cui-btn-hover-border-color: #616d81; + --cui-btn-focus-shadow-rgb: 79, 93, 115; + --cui-btn-active-color: #fff; + --cui-btn-active-bg: #727d8f; + --cui-btn-active-border-color: #616d81; + --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125); + --cui-btn-disabled-color: #4f5d73; + --cui-btn-disabled-bg: transparent; + --cui-gradient: none; +} + +.btn-ghost-primary { + --cui-btn-color: #321fdb; + --cui-btn-hover-bg: #5141e0; + --cui-btn-hover-border-color: #4735df; + --cui-btn-hover-color: rgba(255, 255, 255, 0.87); + --cui-btn-active-bg: #5b4ce2; + --cui-btn-active-border-color: #4735df; + --cui-btn-active-color: rgba(255, 255, 255, 0.87); + --cui-btn-disabled-color: #321fdb; + --cui-btn-shadow: rgba(50, 31, 219, 0.5); +} + +.btn-ghost-secondary { + --cui-btn-color: #9da5b1; + --cui-btn-hover-bg: #acb3bd; + --cui-btn-hover-border-color: #a7aeb9; + --cui-btn-hover-color: rgba(44, 56, 74, 0.95); + --cui-btn-active-bg: #b1b7c1; + --cui-btn-active-border-color: #a7aeb9; + --cui-btn-active-color: rgba(44, 56, 74, 0.95); + --cui-btn-disabled-color: #9da5b1; + --cui-btn-shadow: rgba(157, 165, 177, 0.5); +} + +.btn-ghost-success { + --cui-btn-color: #2eb85c; + --cui-btn-hover-bg: #4dc374; + --cui-btn-hover-border-color: #43bf6c; + --cui-btn-hover-color: rgba(44, 56, 74, 0.95); + --cui-btn-active-bg: #58c67d; + --cui-btn-active-border-color: #43bf6c; + --cui-btn-active-color: rgba(44, 56, 74, 0.95); + --cui-btn-disabled-color: #2eb85c; + --cui-btn-shadow: rgba(46, 184, 92, 0.5); +} + +.btn-ghost-danger { + --cui-btn-color: #e55353; + --cui-btn-hover-bg: #e96d6d; + --cui-btn-hover-border-color: #e86464; + --cui-btn-hover-color: #000015; + --cui-btn-active-bg: #ea7575; + --cui-btn-active-border-color: #e86464; + --cui-btn-active-color: #000015; + --cui-btn-disabled-color: #e55353; + --cui-btn-shadow: rgba(229, 83, 83, 0.5); +} + +.btn-ghost-warning { + --cui-btn-color: #f9b115; + --cui-btn-hover-bg: #d49612; + --cui-btn-hover-border-color: #c78e11; + --cui-btn-hover-color: #000015; + --cui-btn-active-bg: #c78e11; + --cui-btn-active-border-color: #bb8510; + --cui-btn-active-color: #000015; + --cui-btn-disabled-color: #f9b115; + --cui-btn-shadow: rgba(249, 177, 21, 0.5); +} + +.btn-ghost-info { + --cui-btn-color: #39f; + --cui-btn-hover-bg: #52a8ff; + --cui-btn-hover-border-color: #47a3ff; + --cui-btn-hover-color: #000015; + --cui-btn-active-bg: #5cadff; + --cui-btn-active-border-color: #47a3ff; + --cui-btn-active-color: #000015; + --cui-btn-disabled-color: #39f; + --cui-btn-shadow: rgba(51, 153, 255, 0.5); +} + +.btn-ghost-light { + --cui-btn-color: #ebedef; + --cui-btn-hover-bg: #c8c9cb; + --cui-btn-hover-border-color: #bcbebf; + --cui-btn-hover-color: rgba(44, 56, 74, 0.95); + --cui-btn-active-bg: #bcbebf; + --cui-btn-active-border-color: #b0b2b3; + --cui-btn-active-color: rgba(44, 56, 74, 0.95); + --cui-btn-disabled-color: #ebedef; + --cui-btn-shadow: rgba(235, 237, 239, 0.5); +} + +.btn-ghost-dark { + --cui-btn-color: #4f5d73; + --cui-btn-hover-bg: #697588; + --cui-btn-hover-border-color: #616d81; + --cui-btn-hover-color: #fff; + --cui-btn-active-bg: #727d8f; + --cui-btn-active-border-color: #616d81; + --cui-btn-active-color: #fff; + --cui-btn-disabled-color: #4f5d73; + --cui-btn-shadow: rgba(79, 93, 115, 0.5); +} + +.btn-link { + --cui-btn-font-weight: 400; + --cui-btn-color: var(--cui-link-color); + --cui-btn-bg: transparent; + --cui-btn-border-color: transparent; + --cui-btn-hover-color: var(--cui-link-hover-color); + --cui-btn-hover-border-color: transparent; + --cui-btn-active-border-color: transparent; + --cui-btn-disabled-color: #8a93a2; + --cui-btn-disabled-border-color: transparent; + --cui-btn-box-shadow: none; + --cui-btn-focus-shadow-rgb: 75, 58, 223; + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--cui-btn-color); +} + +.btn-lg, .btn-group-lg > .btn { + --cui-btn-padding-y: 0.5rem; + --cui-btn-padding-x: 1rem; + --cui-btn-font-size: 1.25rem; + --cui-btn-border-radius: 0.5rem; +} + +.btn-sm, .btn-group-sm > .btn { + --cui-btn-padding-y: 0.25rem; + --cui-btn-padding-x: 0.5rem; + --cui-btn-font-size: 0.875rem; + --cui-btn-border-radius: 0.25rem; +} + +.fade { + transition: opacity 0.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 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +html:not([dir=rtl]) .dropdown-toggle::after { + margin-left: 0.255em; +} +*[dir=rtl] .dropdown-toggle::after { + margin-right: 0.255em; +} +html:not([dir=rtl]) .dropdown-toggle:empty::after { + margin-left: 0; +} +*[dir=rtl] .dropdown-toggle:empty::after { + margin-right: 0; +} + +.dropdown-menu { + --cui-dropdown-zindex: 1000; + --cui-dropdown-min-width: 10rem; + --cui-dropdown-padding-x: 0; + --cui-dropdown-padding-y: 0.5rem; + --cui-dropdown-spacer: 0.125rem; + --cui-dropdown-font-size: 1rem; + --cui-dropdown-color: rgba(44, 56, 74, 0.95); + --cui-dropdown-bg: #fff; + --cui-dropdown-border-color: var(--cui-border-color-translucent); + --cui-dropdown-border-radius: 0.375rem; + --cui-dropdown-border-width: 1px; + --cui-dropdown-inner-border-radius: calc(0.375rem - 1px); + --cui-dropdown-divider-bg: var(--cui-border-color-translucent); + --cui-dropdown-divider-margin-y: 0.5rem; + --cui-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15); + --cui-dropdown-link-color: #4f5d73; + --cui-dropdown-link-hover-color: #475468; + --cui-dropdown-link-hover-bg: #d8dbe0; + --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87); + --cui-dropdown-link-active-bg: #321fdb; + --cui-dropdown-link-disabled-color: #9da5b1; + --cui-dropdown-item-padding-x: 1rem; + --cui-dropdown-item-padding-y: 0.25rem; + --cui-dropdown-header-color: #8a93a2; + --cui-dropdown-header-padding-x: 1rem; + --cui-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--cui-dropdown-zindex); + display: none; + min-width: var(--cui-dropdown-min-width); + padding: var(--cui-dropdown-padding-y) var(--cui-dropdown-padding-x); + margin: 0; + font-size: var(--cui-dropdown-font-size); + color: var(--cui-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--cui-dropdown-bg); + background-clip: padding-box; + border: var(--cui-dropdown-border-width) solid var(--cui-dropdown-border-color); + border-radius: var(--cui-dropdown-border-radius); +} +.dropdown-menu[data-coreui-popper] { + top: 100%; + margin-top: var(--cui-dropdown-spacer); +} +html:not([dir=rtl]) .dropdown-menu[data-coreui-popper] { + left: 0; +} +*[dir=rtl] .dropdown-menu[data-coreui-popper] { + right: 0; +} + +.dropdown-menu-start { + --cui-position: start; +} +.dropdown-menu-start[data-coreui-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --cui-position: end; +} +.dropdown-menu-end[data-coreui-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --cui-position: start; + } + .dropdown-menu-sm-start[data-coreui-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --cui-position: end; + } + .dropdown-menu-sm-end[data-coreui-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --cui-position: start; + } + .dropdown-menu-md-start[data-coreui-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --cui-position: end; + } + .dropdown-menu-md-end[data-coreui-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --cui-position: start; + } + .dropdown-menu-lg-start[data-coreui-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --cui-position: end; + } + .dropdown-menu-lg-end[data-coreui-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --cui-position: start; + } + .dropdown-menu-xl-start[data-coreui-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --cui-position: end; + } + .dropdown-menu-xl-end[data-coreui-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --cui-position: start; + } + .dropdown-menu-xxl-start[data-coreui-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --cui-position: end; + } + .dropdown-menu-xxl-end[data-coreui-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-coreui-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--cui-dropdown-spacer); +} +.dropup .dropdown-toggle::after { + display: inline-block; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +html:not([dir=rtl]) .dropup .dropdown-toggle::after { + margin-left: 0.255em; +} +*[dir=rtl] .dropup .dropdown-toggle::after { + margin-right: 0.255em; +} +html:not([dir=rtl]) .dropup .dropdown-toggle:empty::after { + margin-left: 0; +} +*[dir=rtl] .dropup .dropdown-toggle:empty::after { + margin-right: 0; +} + +.dropend .dropdown-menu[data-coreui-popper] { + top: 0; + margin-top: 0; +} +html:not([dir=rtl]) .dropend .dropdown-menu[data-coreui-popper] { + right: auto; + left: 100%; + margin-left: var(--cui-dropdown-spacer); +} +*[dir=rtl] .dropend .dropdown-menu[data-coreui-popper] { + left: auto; + right: 100%; + margin-right: var(--cui-dropdown-spacer); +} +.dropend .dropdown-toggle::after { + display: inline-block; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; + vertical-align: 0; +} +html:not([dir=rtl]) .dropend .dropdown-toggle::after { + margin-left: 0.255em; +} +*[dir=rtl] .dropend .dropdown-toggle::after { + margin-right: 0.255em; +} +html:not([dir=rtl]) .dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +*[dir=rtl] .dropend .dropdown-toggle:empty::after { + margin-right: 0; +} + +.dropstart .dropdown-menu[data-coreui-popper] { + top: 0; + margin-top: 0; +} +html:not([dir=rtl]) .dropstart .dropdown-menu[data-coreui-popper] { + right: 100%; + left: auto; + margin-right: var(--cui-dropdown-spacer); +} +*[dir=rtl] .dropstart .dropdown-menu[data-coreui-popper] { + left: 100%; + right: auto; + margin-left: var(--cui-dropdown-spacer); +} +.dropstart .dropdown-toggle::after { + display: inline-block; + vertical-align: 0.255em; + content: ""; + display: none; +} +html:not([dir=rtl]) .dropstart .dropdown-toggle::after { + margin-left: 0.255em; +} +*[dir=rtl] .dropstart .dropdown-toggle::after { + margin-right: 0.255em; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; + vertical-align: 0; +} +html:not([dir=rtl]) .dropstart .dropdown-toggle::before { + margin-right: 0.255em; +} +*[dir=rtl] .dropstart .dropdown-toggle::before { + margin-left: 0.255em; +} +html:not([dir=rtl]) .dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +*[dir=rtl] .dropstart .dropdown-toggle:empty::after { + margin-right: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--cui-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--cui-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--cui-dropdown-item-padding-y) var(--cui-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--cui-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: var(--cui-dropdown-link-hover-color); + background-color: var(--cui-dropdown-link-hover-bg); +} +.dropdown-item.active, .dropdown-item:active { + color: var(--cui-dropdown-link-active-color); + text-decoration: none; + background-color: var(--cui-dropdown-link-active-bg); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--cui-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--cui-dropdown-header-padding-y) var(--cui-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.875rem; + color: var(--cui-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--cui-dropdown-item-padding-y) var(--cui-dropdown-item-padding-x); + color: var(--cui-dropdown-link-color); +} + +.dropdown-menu-dark { + --cui-dropdown-color: #c4c9d0; + --cui-dropdown-bg: #636f83; + --cui-dropdown-border-color: var(--cui-border-color-translucent); + --cui-dropdown-box-shadow: ; + --cui-dropdown-link-color: #c4c9d0; + --cui-dropdown-link-hover-color: rgba(255, 255, 255, 0.87); + --cui-dropdown-divider-bg: var(--cui-border-color-translucent); + --cui-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87); + --cui-dropdown-link-active-bg: #321fdb; + --cui-dropdown-link-disabled-color: #9da5b1; + --cui-dropdown-header-color: #9da5b1; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: 0.375rem; +} +html:not([dir=rtl]) .btn-group > :not(.btn-check:first-child) + .btn, +html:not([dir=rtl]) .btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} +*[dir=rtl] .btn-group > :not(.btn-check:first-child) + .btn, +*[dir=rtl] .btn-group > .btn-group:not(:first-child) { + margin-right: -1px; +} +html:not([dir=rtl]) .btn-group > .btn:not(:last-child):not(.dropdown-toggle), +html:not([dir=rtl]) .btn-group > .btn.dropdown-toggle-split:first-child, +html:not([dir=rtl]) .btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +*[dir=rtl] .btn-group > .btn:not(:last-child):not(.dropdown-toggle), +*[dir=rtl] .btn-group > .btn.dropdown-toggle-split:first-child, +*[dir=rtl] .btn-group > .btn-group:not(:last-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +html:not([dir=rtl]) .btn-group > .btn:nth-child(n+3), +html:not([dir=rtl]) .btn-group > :not(.btn-check) + .btn, +html:not([dir=rtl]) .btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +*[dir=rtl] .btn-group > .btn:nth-child(n+3), +*[dir=rtl] .btn-group > :not(.btn-check) + .btn, +*[dir=rtl] .btn-group > .btn-group:not(:first-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +html:not([dir=rtl]) .dropdown-toggle-split::after, html:not([dir=rtl]) .dropup .dropdown-toggle-split::after, html:not([dir=rtl]) .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +*[dir=rtl] .dropdown-toggle-split::after, *[dir=rtl] .dropup .dropdown-toggle-split::after, *[dir=rtl] .dropend .dropdown-toggle-split::after { + margin-right: 0; +} +html:not([dir=rtl]) .dropstart .dropdown-toggle-split::before { + margin-right: 0; +} +*[dir=rtl] .dropstart .dropdown-toggle-split::before { + margin-left: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + --cui-nav-link-padding-x: 1rem; + --cui-nav-link-padding-y: 0.5rem; + --cui-nav-link-font-weight: ; + --cui-nav-link-color: var(--cui-link-color); + --cui-nav-link-hover-color: var(--cui-link-hover-color); + --cui-nav-link-disabled-color: #8a93a2; + display: flex; + flex-wrap: wrap; + margin-bottom: 0; + list-style: none; +} +html:not([dir=rtl]) .nav { + padding-left: 0; +} +*[dir=rtl] .nav { + padding-right: 0; +} + +.nav-link { + display: block; + padding: var(--cui-nav-link-padding-y) var(--cui-nav-link-padding-x); + font-size: var(--cui-nav-link-font-size); + font-weight: var(--cui-nav-link-font-weight); + color: var(--cui-nav-link-color); + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: var(--cui-nav-link-hover-color); +} +.nav-link.disabled { + color: var(--cui-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --cui-nav-tabs-border-width: 1px; + --cui-nav-tabs-border-color: #c4c9d0; + --cui-nav-tabs-border-radius: 0.375rem; + --cui-nav-tabs-link-hover-border-color: #d8dbe0 #d8dbe0 #c4c9d0; + --cui-nav-tabs-link-active-color: #768192; + --cui-nav-tabs-link-active-bg: #fff; + --cui-nav-tabs-link-active-border-color: #c4c9d0 #c4c9d0 #fff; + border-bottom: var(--cui-nav-tabs-border-width) solid var(--cui-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--cui-nav-tabs-border-width)); + background: none; + border: var(--cui-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--cui-nav-tabs-border-radius); + border-top-right-radius: var(--cui-nav-tabs-border-radius); +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--cui-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled { + color: var(--cui-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--cui-nav-tabs-link-active-color); + background-color: var(--cui-nav-tabs-link-active-bg); + border-color: var(--cui-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--cui-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills { + --cui-nav-pills-border-radius: 0.375rem; + --cui-nav-pills-link-active-color: rgba(255, 255, 255, 0.87); + --cui-nav-pills-link-active-bg: #321fdb; +} +.nav-pills .nav-link { + background: none; + border: 0; + border-radius: var(--cui-nav-pills-border-radius); +} +.nav-pills .nav-link:disabled { + color: var(--cui-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--cui-nav-pills-link-active-color); + background-color: var(--cui-nav-pills-link-active-bg); +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + --cui-navbar-padding-x: 0; + --cui-navbar-padding-y: 0.5rem; + --cui-navbar-color: rgba(44, 56, 74, 0.681); + --cui-navbar-hover-color: rgba(44, 56, 74, 0.95); + --cui-navbar-disabled-color: rgba(44, 56, 74, 0.38); + --cui-navbar-active-color: rgba(44, 56, 74, 0.95); + --cui-navbar-brand-padding-y: 0.3125rem; + --cui-navbar-brand-margin-end: 1rem; + --cui-navbar-brand-font-size: 1.25rem; + --cui-navbar-brand-color: rgba(44, 56, 74, 0.95); + --cui-navbar-brand-hover-color: rgba(44, 56, 74, 0.95); + --cui-navbar-nav-link-padding-x: 0.5rem; + --cui-navbar-toggler-padding-y: 0.25rem; + --cui-navbar-toggler-padding-x: 0.75rem; + --cui-navbar-toggler-font-size: 1.25rem; + --cui-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%2844, 56, 74, 0.681%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --cui-navbar-toggler-border-color: rgba(0, 0, 21, 0.1); + --cui-navbar-toggler-border-radius: 0.375rem; + --cui-navbar-toggler-focus-width: 0.25rem; + --cui-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(--cui-navbar-padding-y) var(--cui-navbar-padding-x); +} +.navbar .header > .container, +.navbar .header > .container-fluid, +.navbar .header > .container-sm, +.navbar .header > .container-md, +.navbar .header > .container-lg, +.navbar .header > .container-xl, +.navbar .header > .container-xxl, .navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--cui-navbar-brand-padding-y); + padding-bottom: var(--cui-navbar-brand-padding-y); + font-size: var(--cui-navbar-brand-font-size); + color: var(--cui-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} +html:not([dir=rtl]) .navbar-brand { + margin-right: var(--cui-navbar-brand-margin-end); +} +*[dir=rtl] .navbar-brand { + margin-left: var(--cui-navbar-brand-margin-end); +} +.navbar-brand:hover, .navbar-brand:focus { + color: var(--cui-navbar-brand-hover-color); +} + +.navbar-nav { + --cui-nav-link-padding-x: 0; + --cui-nav-link-padding-y: 0.5rem; + --cui-nav-link-color: var(--cui-navbar-color); + --cui-nav-link-hover-color: var(--cui-navbar-hover-color); + --cui-nav-link-disabled-color: var(--cui-navbar-disabled-color); + display: flex; + flex-direction: column; + margin-bottom: 0; + list-style: none; +} +html:not([dir=rtl]) .navbar-nav { + padding-left: 0; +} +*[dir=rtl] .navbar-nav { + padding-right: 0; +} +.navbar-nav .show > .nav-link, +.navbar-nav .nav-link.active { + color: var(--cui-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--cui-navbar-color); +} +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--cui-navbar-active-color); +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: var(--cui-navbar-toggler-padding-y) var(--cui-navbar-toggler-padding-x); + font-size: var(--cui-navbar-toggler-font-size); + line-height: 1; + color: var(--cui-navbar-color); + background-color: transparent; + border: var(--cui-border-width) solid var(--cui-navbar-toggler-border-color); + border-radius: var(--cui-navbar-toggler-border-radius); + transition: var(--cui-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(--cui-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--cui-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--cui-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(--cui-navbar-nav-link-padding-x); + padding-left: var(--cui-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(--cui-navbar-nav-link-padding-x); + padding-left: var(--cui-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(--cui-navbar-nav-link-padding-x); + padding-left: var(--cui-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(--cui-navbar-nav-link-padding-x); + padding-left: var(--cui-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(--cui-navbar-nav-link-padding-x); + padding-left: var(--cui-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(--cui-navbar-nav-link-padding-x); + padding-left: var(--cui-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 { + --cui-navbar-color: rgba(255, 255, 255, 0.6); + --cui-navbar-hover-color: rgba(255, 255, 255, 0.87); + --cui-navbar-disabled-color: rgba(255, 255, 255, 0.38); + --cui-navbar-active-color: rgba(255, 255, 255, 0.87); + --cui-navbar-brand-color: rgba(255, 255, 255, 0.87); + --cui-navbar-brand-hover-color: rgba(255, 255, 255, 0.87); + --cui-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --cui-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.6%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + --cui-card-spacer-y: 1rem; + --cui-card-spacer-x: 1rem; + --cui-card-title-spacer-y: 0.5rem; + --cui-card-border-width: 1px; + --cui-card-border-color: var(--cui-border-color-translucent); + --cui-card-border-radius: 0.375rem; + --cui-card-box-shadow: ; + --cui-card-inner-border-radius: calc(0.375rem - 1px); + --cui-card-cap-padding-y: 0.5rem; + --cui-card-cap-padding-x: 1rem; + --cui-card-cap-bg: rgba(0, 0, 21, 0.03); + --cui-card-cap-color: unset; + --cui-card-height: ; + --cui-card-color: unset; + --cui-card-bg: #fff; + --cui-card-img-overlay-padding: 1rem; + --cui-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--cui-card-height); + word-wrap: break-word; + background-color: var(--cui-card-bg); + background-clip: border-box; + border: var(--cui-card-border-width) solid var(--cui-card-border-color); + border-radius: var(--cui-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(--cui-card-inner-border-radius); + border-top-right-radius: var(--cui-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--cui-card-inner-border-radius); + border-bottom-left-radius: var(--cui-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(--cui-card-spacer-y) var(--cui-card-spacer-x); + color: var(--cui-card-color); +} + +.card-title { + margin-bottom: var(--cui-card-title-spacer-y); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--cui-card-title-spacer-y)); + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +html:not([dir=rtl]) .card-link + .card-link { + margin-left: var(--cui-card-spacer-x); +} +*[dir=rtl] .card-link + .card-link { + margin-right: var(--cui-card-spacer-x); +} + +.card-header { + padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x); + margin-bottom: 0; + color: var(--cui-card-cap-color); + background-color: var(--cui-card-cap-bg); + border-bottom: var(--cui-card-border-width) solid var(--cui-card-border-color); +} +.card-header:first-child { + border-radius: var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius) 0 0; +} + +.card-footer { + padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x); + color: var(--cui-card-cap-color); + background-color: var(--cui-card-cap-bg); + border-top: var(--cui-card-border-width) solid var(--cui-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius); +} + +.card-header-tabs { + margin-right: calc(-0.5 * var(--cui-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--cui-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--cui-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--cui-card-bg); + border-bottom-color: var(--cui-card-bg); +} + +.card-header-pills { + margin-right: calc(-0.5 * var(--cui-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--cui-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--cui-card-img-overlay-padding); + border-radius: var(--cui-card-inner-border-radius); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: var(--cui-card-inner-border-radius); + border-top-right-radius: var(--cui-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--cui-card-inner-border-radius); + border-bottom-left-radius: var(--cui-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--cui-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; + } + html:not([dir=rtl]) .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + *[dir=rtl] .card-group > .card + .card { + margin-right: 0; + border-right: 0; + } + html:not([dir=rtl]) .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + *[dir=rtl] .card-group > .card:not(:last-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + html:not([dir=rtl]) .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + *[dir=rtl] .card-group > .card:not(:first-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion { + --cui-accordion-color: rgba(44, 56, 74, 0.95); + --cui-accordion-bg: #fff; + --cui-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; + --cui-accordion-border-color: var(--cui-border-color); + --cui-accordion-border-width: 1px; + --cui-accordion-border-radius: 0.375rem; + --cui-accordion-inner-border-radius: calc(0.375rem - 1px); + --cui-accordion-btn-padding-x: 1.25rem; + --cui-accordion-btn-padding-y: 1rem; + --cui-accordion-btn-color: rgba(44, 56, 74, 0.95); + --cui-accordion-btn-color: rgba(44, 56, 74, 0.95); + --cui-accordion-btn-bg: var(--cui-accordion-bg); + --cui-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%2844, 56, 74, 0.95%29'%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"); + --cui-accordion-btn-icon-width: 1.25rem; + --cui-accordion-btn-icon-transform: rotate(-180deg); + --cui-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --cui-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232d1cc5'%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"); + --cui-accordion-btn-focus-border-color: #998fed; + --cui-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25); + --cui-accordion-body-padding-x: 1.25rem; + --cui-accordion-body-padding-y: 1rem; + --cui-accordion-active-color: #2d1cc5; + --cui-accordion-active-bg: #ebe9fb; +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--cui-accordion-btn-padding-y) var(--cui-accordion-btn-padding-x); + font-size: 1rem; + color: var(--cui-accordion-btn-color); + text-align: left; + background-color: var(--cui-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--cui-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--cui-accordion-active-color); + background-color: var(--cui-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--cui-accordion-border-width)) 0 var(--cui-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--cui-accordion-btn-active-icon); + transform: var(--cui-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--cui-accordion-btn-icon-width); + height: var(--cui-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--cui-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--cui-accordion-btn-icon-width); + transition: var(--cui-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: var(--cui-accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--cui-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--cui-accordion-color); + background-color: var(--cui-accordion-bg); + border: var(--cui-accordion-border-width) solid var(--cui-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--cui-accordion-border-radius); + border-top-right-radius: var(--cui-accordion-border-radius); +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: var(--cui-accordion-inner-border-radius); + border-top-right-radius: var(--cui-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--cui-accordion-border-radius); + border-bottom-left-radius: var(--cui-accordion-border-radius); +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: var(--cui-accordion-inner-border-radius); + border-bottom-left-radius: var(--cui-accordion-inner-border-radius); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: var(--cui-accordion-border-radius); + border-bottom-left-radius: var(--cui-accordion-border-radius); +} + +.accordion-body { + padding: var(--cui-accordion-body-padding-y) var(--cui-accordion-body-padding-x); +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} + +.breadcrumb { + --cui-breadcrumb-padding-x: 0; + --cui-breadcrumb-padding-y: 0; + --cui-breadcrumb-margin-bottom: 1rem; + --cui-breadcrumb-bg: unset; + --cui-breadcrumb-border-radius: ; + --cui-breadcrumb-divider-color: #8a93a2; + --cui-breadcrumb-item-padding-x: 0.5rem; + --cui-breadcrumb-item-active-color: #8a93a2; + display: flex; + flex-wrap: wrap; + padding: var(--cui-breadcrumb-padding-y) var(--cui-breadcrumb-padding-x); + margin-bottom: var(--cui-breadcrumb-margin-bottom); + font-size: var(--cui-breadcrumb-font-size); + list-style: none; + background-color: var(--cui-breadcrumb-bg); + border-radius: var(--cui-breadcrumb-border-radius); +} + +html:not([dir=rtl]) .breadcrumb-item + .breadcrumb-item { + padding-left: var(--cui-breadcrumb-item-padding-x); +} +*[dir=rtl] .breadcrumb-item + .breadcrumb-item { + padding-right: var(--cui-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + color: var(--cui-breadcrumb-divider-color); +} +html:not([dir=rtl]) .breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--cui-breadcrumb-item-padding-x); + content: var(--cui-breadcrumb-divider, "/"); +} +*[dir=rtl] .breadcrumb-item + .breadcrumb-item::before { + float: right; + padding-left: var(--cui-breadcrumb-item-padding-x); + content: var(--cui-breadcrumb-divider-flipped, "/"); +} +.breadcrumb-item.active { + color: var(--cui-breadcrumb-item-active-color); +} + +.pagination { + --cui-pagination-padding-x: 0.75rem; + --cui-pagination-padding-y: 0.375rem; + --cui-pagination-font-size: 1rem; + --cui-pagination-color: var(--cui-link-color); + --cui-pagination-bg: #fff; + --cui-pagination-border-width: 1px; + --cui-pagination-border-color: #c4c9d0; + --cui-pagination-border-radius: 0.375rem; + --cui-pagination-hover-color: var(--cui-link-hover-color); + --cui-pagination-hover-bg: #d8dbe0; + --cui-pagination-hover-border-color: #c4c9d0; + --cui-pagination-focus-color: var(--cui-link-hover-color); + --cui-pagination-focus-bg: #d8dbe0; + --cui-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25); + --cui-pagination-active-color: rgba(255, 255, 255, 0.87); + --cui-pagination-active-bg: #321fdb; + --cui-pagination-active-border-color: #321fdb; + --cui-pagination-disabled-color: #8a93a2; + --cui-pagination-disabled-bg: #fff; + --cui-pagination-disabled-border-color: #c4c9d0; + display: flex; + list-style: none; +} +html:not([dir=rtl]) .pagination { + padding-left: 0; +} +*[dir=rtl] .pagination { + padding-right: 0; +} + +.page-link { + position: relative; + display: block; + padding: var(--cui-pagination-padding-y) var(--cui-pagination-padding-x); + font-size: var(--cui-pagination-font-size); + color: var(--cui-pagination-color); + text-decoration: none; + background-color: var(--cui-pagination-bg); + border: var(--cui-pagination-border-width) solid var(--cui-pagination-border-color); + 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; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--cui-pagination-hover-color); + background-color: var(--cui-pagination-hover-bg); + border-color: var(--cui-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--cui-pagination-focus-color); + background-color: var(--cui-pagination-focus-bg); + outline: 0; + box-shadow: var(--cui-pagination-focus-box-shadow); +} +.page-link.active, .active > .page-link { + z-index: 3; + color: var(--cui-pagination-active-color); + background-color: var(--cui-pagination-active-bg); + border-color: var(--cui-pagination-active-border-color); +} +.page-link.disabled, .disabled > .page-link { + color: var(--cui-pagination-disabled-color); + pointer-events: none; + background-color: var(--cui-pagination-disabled-bg); + border-color: var(--cui-pagination-disabled-border-color); +} + +html:not([dir=rtl]) .page-item:not(:first-child) .page-link { + margin-left: -1px; +} +*[dir=rtl] .page-item:not(:first-child) .page-link { + margin-right: -1px; +} +html:not([dir=rtl]) .page-item:first-child .page-link { + border-top-left-radius: var(--cui-pagination-border-radius); + border-bottom-left-radius: var(--cui-pagination-border-radius); +} +*[dir=rtl] .page-item:first-child .page-link { + border-top-right-radius: var(--cui-pagination-border-radius); + border-bottom-right-radius: var(--cui-pagination-border-radius); +} +html:not([dir=rtl]) .page-item:last-child .page-link { + border-top-right-radius: var(--cui-pagination-border-radius); + border-bottom-right-radius: var(--cui-pagination-border-radius); +} +*[dir=rtl] .page-item:last-child .page-link { + border-top-left-radius: var(--cui-pagination-border-radius); + border-bottom-left-radius: var(--cui-pagination-border-radius); +} + +.pagination-lg { + --cui-pagination-padding-x: 1.5rem; + --cui-pagination-padding-y: 0.75rem; + --cui-pagination-font-size: 1.25rem; + --cui-pagination-border-radius: 0.5rem; +} + +.pagination-sm { + --cui-pagination-padding-x: 0.5rem; + --cui-pagination-padding-y: 0.25rem; + --cui-pagination-font-size: 0.875rem; + --cui-pagination-border-radius: 0.25rem; +} + +.badge { + --cui-badge-padding-x: 0.65em; + --cui-badge-padding-y: 0.35em; + --cui-badge-font-size: 0.75em; + --cui-badge-font-weight: 700; + --cui-badge-color: rgba(255, 255, 255, 0.87); + --cui-badge-border-radius: 0.375rem; + display: inline-block; + padding: var(--cui-badge-padding-y) var(--cui-badge-padding-x); + font-size: var(--cui-badge-font-size); + font-weight: var(--cui-badge-font-weight); + line-height: 1; + color: var(--cui-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--cui-badge-border-radius, 0); +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-sm { + padding: 0.3em 0.5em; + font-size: 0.65em; +} + +.alert { + --cui-alert-bg: transparent; + --cui-alert-padding-x: 1rem; + --cui-alert-padding-y: 1rem; + --cui-alert-margin-bottom: 1rem; + --cui-alert-color: inherit; + --cui-alert-border-color: transparent; + --cui-alert-border: 1px solid var(--cui-alert-border-color); + --cui-alert-border-radius: 0.375rem; + position: relative; + padding: var(--cui-alert-padding-y) var(--cui-alert-padding-x); + margin-bottom: var(--cui-alert-margin-bottom); + color: var(--cui-alert-color); + background-color: var(--cui-alert-bg); + border: var(--cui-alert-border); + border-radius: var(--cui-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; + color: var(--cui-alert-link-color); +} + +html:not([dir=rtl]) .alert-dismissible { + padding-right: 3rem; +} +*[dir=rtl] .alert-dismissible { + padding-left: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + z-index: 2; + padding: 1.25rem 1rem; +} +html:not([dir=rtl]) .alert-dismissible .btn-close { + right: 0; +} +*[dir=rtl] .alert-dismissible .btn-close { + left: 0; +} + +.alert-primary { + --cui-alert-color: #1e1383; + --cui-alert-bg: #d6d2f8; + --cui-alert-border-color: #c2bcf4; +} +.alert-primary .alert-link { + color: #180f69; +} + +.alert-secondary { + --cui-alert-color: #5e636a; + --cui-alert-bg: #ebedef; + --cui-alert-border-color: #e2e4e8; +} +.alert-secondary .alert-link { + color: #4b4f55; +} + +.alert-success { + --cui-alert-color: #1c6e37; + --cui-alert-bg: #d5f1de; + --cui-alert-border-color: #c0eace; +} +.alert-success .alert-link { + color: #16582c; +} + +.alert-info { + --cui-alert-color: #1f5c99; + --cui-alert-bg: #d6ebff; + --cui-alert-border-color: #c2e0ff; +} +.alert-info .alert-link { + color: #194a7a; +} + +.alert-warning { + --cui-alert-color: rgba(131, 107, 52, 0.97); + --cui-alert-bg: #feefd0; + --cui-alert-border-color: #fde8b9; +} +.alert-warning .alert-link { + color: rgba(104, 85, 41, 0.976); +} + +.alert-danger { + --cui-alert-color: #893232; + --cui-alert-bg: #fadddd; + --cui-alert-border-color: #f7cbcb; +} +.alert-danger .alert-link { + color: #6e2828; +} + +.alert-light { + --cui-alert-color: rgba(125, 133, 144, 0.97); + --cui-alert-bg: #fbfbfc; + --cui-alert-border-color: #f9fafa; +} +.alert-light .alert-link { + color: rgba(99, 105, 114, 0.976); +} + +.alert-dark { + --cui-alert-color: #2f3845; + --cui-alert-bg: #dcdfe3; + --cui-alert-border-color: #caced5; +} +.alert-dark .alert-link { + color: #262d37; +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + --cui-progress-height: 1rem; + --cui-progress-font-size: 0.75rem; + --cui-progress-bg: #d8dbe0; + --cui-progress-border-radius: 0.375rem; + --cui-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 21, 0.075); + --cui-progress-bar-color: rgba(255, 255, 255, 0.87); + --cui-progress-bar-bg: #321fdb; + --cui-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--cui-progress-height); + overflow: hidden; + font-size: var(--cui-progress-font-size); + background-color: var(--cui-progress-bg); + border-radius: var(--cui-progress-border-radius); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--cui-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--cui-progress-bar-bg); + transition: var(--cui-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--cui-progress-height) var(--cui-progress-height); +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.progress-thin { + height: 4px; +} + +.progress.progress-white { + background-color: rgba(255, 255, 255, 0.2); +} +.progress.progress-white .progress-bar { + background-color: #fff; +} + +.progress-group { + display: flex; + flex-flow: row wrap; + margin-bottom: 1rem; +} + +.progress-group-prepend { + flex: 0 0 100px; + align-self: center; +} + +.progress-group-header { + display: flex; + flex-basis: 100%; + align-items: center; + margin-bottom: 0.25rem; +} + +.progress-group-bars { + flex-grow: 1; + align-self: center; +} +.progress-group-bars .progress:not(:last-child) { + margin-bottom: 2px; +} + +.progress-group-header + .progress-group-bars { + flex-basis: 100%; +} + +.list-group { + --cui-list-group-color: unset; + --cui-list-group-bg: #fff; + --cui-list-group-border-color: rgba(0, 0, 21, 0.125); + --cui-list-group-border-width: 1px; + --cui-list-group-border-radius: 0.375rem; + --cui-list-group-item-padding-x: 1rem; + --cui-list-group-item-padding-y: 0.5rem; + --cui-list-group-action-color: #768192; + --cui-list-group-action-hover-color: #768192; + --cui-list-group-action-hover-bg: #ebedef; + --cui-list-group-action-active-color: rgba(44, 56, 74, 0.95); + --cui-list-group-action-active-bg: #d8dbe0; + --cui-list-group-disabled-color: #8a93a2; + --cui-list-group-disabled-bg: #fff; + --cui-list-group-active-color: rgba(255, 255, 255, 0.87); + --cui-list-group-active-bg: #321fdb; + --cui-list-group-active-border-color: #321fdb; + display: flex; + flex-direction: column; + margin-bottom: 0; + border-radius: var(--cui-list-group-border-radius); +} +html:not([dir=rtl]) .list-group { + padding-left: 0; +} +*[dir=rtl] .list-group { + padding-right: 0; +} + +.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(--cui-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: var(--cui-list-group-action-hover-color); + text-decoration: none; + background-color: var(--cui-list-group-action-hover-bg); +} +.list-group-item-action:active { + color: var(--cui-list-group-action-active-color); + background-color: var(--cui-list-group-action-active-bg); +} + +.list-group-item { + position: relative; + display: block; + padding: var(--cui-list-group-item-padding-y) var(--cui-list-group-item-padding-x); + color: var(--cui-list-group-color); + text-decoration: none; + background-color: var(--cui-list-group-bg); + border: var(--cui-list-group-border-width) solid var(--cui-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(--cui-list-group-disabled-color); + pointer-events: none; + background-color: var(--cui-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--cui-list-group-active-color); + background-color: var(--cui-list-group-active-bg); + border-color: var(--cui-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(--cui-list-group-border-width)); + border-top-width: var(--cui-list-group-border-width); +} + +.list-group-horizontal { + flex-direction: row; +} +html:not([dir=rtl]) .list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--cui-list-group-border-radius); + border-top-right-radius: 0; +} +*[dir=rtl] .list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--cui-list-group-border-radius); + border-top-left-radius: 0; +} +html:not([dir=rtl]) .list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--cui-list-group-border-radius); + border-bottom-left-radius: 0; +} +*[dir=rtl] .list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--cui-list-group-border-radius); + border-bottom-right-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(--cui-list-group-border-width); +} +html:not([dir=rtl]) .list-group-horizontal > .list-group-item + .list-group-item { + border-left-width: 0; +} +*[dir=rtl] .list-group-horizontal > .list-group-item + .list-group-item { + border-right-width: 0; +} +html:not([dir=rtl]) .list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--cui-list-group-border-width)); + border-left-width: var(--cui-list-group-border-width); +} +*[dir=rtl] .list-group-horizontal > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--cui-list-group-border-width)); + border-right-width: var(--cui-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--cui-list-group-border-radius); + border-top-right-radius: 0; + } + *[dir=rtl] .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--cui-list-group-border-radius); + border-top-left-radius: 0; + } + html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--cui-list-group-border-radius); + border-bottom-left-radius: 0; + } + *[dir=rtl] .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--cui-list-group-border-radius); + border-bottom-right-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(--cui-list-group-border-width); + } + html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-left-width: 0; + } + *[dir=rtl] .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-right-width: 0; + } + html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--cui-list-group-border-width)); + border-left-width: var(--cui-list-group-border-width); + } + *[dir=rtl] .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--cui-list-group-border-width)); + border-right-width: var(--cui-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--cui-list-group-border-radius); + border-top-right-radius: 0; + } + *[dir=rtl] .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--cui-list-group-border-radius); + border-top-left-radius: 0; + } + html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--cui-list-group-border-radius); + border-bottom-left-radius: 0; + } + *[dir=rtl] .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--cui-list-group-border-radius); + border-bottom-right-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(--cui-list-group-border-width); + } + html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item + .list-group-item { + border-left-width: 0; + } + *[dir=rtl] .list-group-horizontal-md > .list-group-item + .list-group-item { + border-right-width: 0; + } + html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--cui-list-group-border-width)); + border-left-width: var(--cui-list-group-border-width); + } + *[dir=rtl] .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--cui-list-group-border-width)); + border-right-width: var(--cui-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--cui-list-group-border-radius); + border-top-right-radius: 0; + } + *[dir=rtl] .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--cui-list-group-border-radius); + border-top-left-radius: 0; + } + html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--cui-list-group-border-radius); + border-bottom-left-radius: 0; + } + *[dir=rtl] .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--cui-list-group-border-radius); + border-bottom-right-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(--cui-list-group-border-width); + } + html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-left-width: 0; + } + *[dir=rtl] .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-right-width: 0; + } + html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--cui-list-group-border-width)); + border-left-width: var(--cui-list-group-border-width); + } + *[dir=rtl] .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--cui-list-group-border-width)); + border-right-width: var(--cui-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--cui-list-group-border-radius); + border-top-right-radius: 0; + } + *[dir=rtl] .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--cui-list-group-border-radius); + border-top-left-radius: 0; + } + html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--cui-list-group-border-radius); + border-bottom-left-radius: 0; + } + *[dir=rtl] .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--cui-list-group-border-radius); + border-bottom-right-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(--cui-list-group-border-width); + } + html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-left-width: 0; + } + *[dir=rtl] .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-right-width: 0; + } + html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--cui-list-group-border-width)); + border-left-width: var(--cui-list-group-border-width); + } + *[dir=rtl] .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--cui-list-group-border-width)); + border-right-width: var(--cui-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--cui-list-group-border-radius); + border-top-right-radius: 0; + } + *[dir=rtl] .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--cui-list-group-border-radius); + border-top-left-radius: 0; + } + html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--cui-list-group-border-radius); + border-bottom-left-radius: 0; + } + *[dir=rtl] .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--cui-list-group-border-radius); + border-bottom-right-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(--cui-list-group-border-width); + } + html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-left-width: 0; + } + *[dir=rtl] .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-right-width: 0; + } + html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--cui-list-group-border-width)); + border-left-width: var(--cui-list-group-border-width); + } + *[dir=rtl] .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--cui-list-group-border-width)); + border-right-width: var(--cui-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--cui-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + --cui-list-group-color: contrast-ratio-correction(#1e1383, #d6d2f8, 40%, "primary"); + --cui-list-group-bg: #d6d2f8; + --cui-list-group-hover-bg: #2d1cc5; + --cui-list-group-action-hover-color: contrast-ratio-correction(#1e1383, #d6d2f8, 40%, "primary"); + --cui-list-group-action-active-color: #fff; + --cui-list-group-action-active-bg: contrast-ratio-correction(#1e1383, #d6d2f8, 40%, "primary"); + --cui-list-group-action-active-border-color: contrast-ratio-correction(#1e1383, #d6d2f8, 40%, "primary"); +} + +.list-group-item-secondary { + --cui-list-group-color: contrast-ratio-correction(#5e636a, #ebedef, 40%, "secondary"); + --cui-list-group-bg: #ebedef; + --cui-list-group-hover-bg: #8d959f; + --cui-list-group-action-hover-color: contrast-ratio-correction(#5e636a, #ebedef, 40%, "secondary"); + --cui-list-group-action-active-color: #fff; + --cui-list-group-action-active-bg: contrast-ratio-correction(#5e636a, #ebedef, 40%, "secondary"); + --cui-list-group-action-active-border-color: contrast-ratio-correction(#5e636a, #ebedef, 40%, "secondary"); +} + +.list-group-item-success { + --cui-list-group-color: contrast-ratio-correction(#1c6e37, #d5f1de, 40%, "success"); + --cui-list-group-bg: #d5f1de; + --cui-list-group-hover-bg: #29a653; + --cui-list-group-action-hover-color: contrast-ratio-correction(#1c6e37, #d5f1de, 40%, "success"); + --cui-list-group-action-active-color: #fff; + --cui-list-group-action-active-bg: contrast-ratio-correction(#1c6e37, #d5f1de, 40%, "success"); + --cui-list-group-action-active-border-color: contrast-ratio-correction(#1c6e37, #d5f1de, 40%, "success"); +} + +.list-group-item-danger { + --cui-list-group-color: contrast-ratio-correction(#893232, #fadddd, 40%, "danger"); + --cui-list-group-bg: #fadddd; + --cui-list-group-hover-bg: #ce4b4b; + --cui-list-group-action-hover-color: contrast-ratio-correction(#893232, #fadddd, 40%, "danger"); + --cui-list-group-action-active-color: #fff; + --cui-list-group-action-active-bg: contrast-ratio-correction(#893232, #fadddd, 40%, "danger"); + --cui-list-group-action-active-border-color: contrast-ratio-correction(#893232, #fadddd, 40%, "danger"); +} + +.list-group-item-warning { + --cui-list-group-color: contrast-ratio-correction(#956a0d, #feefd0, 40%, "warning"); + --cui-list-group-bg: #feefd0; + --cui-list-group-hover-bg: #e09f13; + --cui-list-group-action-hover-color: contrast-ratio-correction(#956a0d, #feefd0, 40%, "warning"); + --cui-list-group-action-active-color: #fff; + --cui-list-group-action-active-bg: contrast-ratio-correction(#956a0d, #feefd0, 40%, "warning"); + --cui-list-group-action-active-border-color: contrast-ratio-correction(#956a0d, #feefd0, 40%, "warning"); +} + +.list-group-item-info { + --cui-list-group-color: contrast-ratio-correction(#1f5c99, #d6ebff, 40%, "info"); + --cui-list-group-bg: #d6ebff; + --cui-list-group-hover-bg: #2e8ae6; + --cui-list-group-action-hover-color: contrast-ratio-correction(#1f5c99, #d6ebff, 40%, "info"); + --cui-list-group-action-active-color: #fff; + --cui-list-group-action-active-bg: contrast-ratio-correction(#1f5c99, #d6ebff, 40%, "info"); + --cui-list-group-action-active-border-color: contrast-ratio-correction(#1f5c99, #d6ebff, 40%, "info"); +} + +.list-group-item-light { + --cui-list-group-color: contrast-ratio-correction(#8d8e8f, #fbfbfc, 40%, "light"); + --cui-list-group-bg: #fbfbfc; + --cui-list-group-hover-bg: #d4d5d7; + --cui-list-group-action-hover-color: contrast-ratio-correction(#8d8e8f, #fbfbfc, 40%, "light"); + --cui-list-group-action-active-color: #fff; + --cui-list-group-action-active-bg: contrast-ratio-correction(#8d8e8f, #fbfbfc, 40%, "light"); + --cui-list-group-action-active-border-color: contrast-ratio-correction(#8d8e8f, #fbfbfc, 40%, "light"); +} + +.list-group-item-dark { + --cui-list-group-color: contrast-ratio-correction(#2f3845, #dcdfe3, 40%, "dark"); + --cui-list-group-bg: #dcdfe3; + --cui-list-group-hover-bg: #475468; + --cui-list-group-action-hover-color: contrast-ratio-correction(#2f3845, #dcdfe3, 40%, "dark"); + --cui-list-group-action-active-color: #fff; + --cui-list-group-action-active-bg: contrast-ratio-correction(#2f3845, #dcdfe3, 40%, "dark"); + --cui-list-group-action-active-border-color: contrast-ratio-correction(#2f3845, #dcdfe3, 40%, "dark"); +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: var(--cui-btn-close-color, rgba(44, 56, 74, 0.95)); + background: transparent var(--cui-btn-close-bg, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%2844, 56, 74, 0.95%29'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e")) center/1em auto no-repeat; + border: 0; + border-radius: 0.375rem; + opacity: 0.5; +} +.btn-close:hover { + color: var(--cui-btn-close-color, rgba(44, 56, 74, 0.95)); + text-decoration: none; + opacity: 0.75; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25); + opacity: 1; +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: 0.25; +} + +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + --cui-toast-zindex: 1090; + --cui-toast-padding-x: 0.75rem; + --cui-toast-padding-y: 0.5rem; + --cui-toast-spacing: 1.5rem; + --cui-toast-max-width: 350px; + --cui-toast-font-size: 0.875rem; + --cui-toast-color: unset; + --cui-toast-bg: rgba(255, 255, 255, 0.85); + --cui-toast-border-width: 1px; + --cui-toast-border-color: var(--cui-border-color-translucent); + --cui-toast-border-radius: 0.375rem; + --cui-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15); + --cui-toast-header-color: #8a93a2; + --cui-toast-header-bg: rgba(255, 255, 255, 0.85); + --cui-toast-header-border-color: rgba(0, 0, 21, 0.05); + width: var(--cui-toast-max-width); + max-width: 100%; + font-size: var(--cui-toast-font-size); + color: var(--cui-toast-color); + pointer-events: auto; + background-color: var(--cui-toast-bg); + background-clip: padding-box; + border: var(--cui-toast-border-width) solid var(--cui-toast-border-color); + box-shadow: var(--cui-toast-box-shadow); + border-radius: var(--cui-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + --cui-toast-zindex: 1090; + position: absolute; + z-index: var(--cui-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(--cui-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--cui-toast-padding-y) var(--cui-toast-padding-x); + color: var(--cui-toast-header-color); + background-color: var(--cui-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--cui-toast-border-width) solid var(--cui-toast-header-border-color); + border-top-left-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width)); + border-top-right-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width)); +} +html:not([dir=rtl]) .toast-header .btn-close { + margin-right: calc(-0.5 * var(--cui-toast-padding-x)); + margin-left: var(--cui-toast-padding-x); +} +*[dir=rtl] .toast-header .btn-close { + margin-left: calc(-0.5 * var(--cui-toast-padding-x)); + margin-right: var(--cui-toast-padding-x); +} + +.toast-body { + padding: var(--cui-toast-padding-x); + word-wrap: break-word; +} + +.modal { + --cui-modal-zindex: 1055; + --cui-modal-width: 500px; + --cui-modal-padding: 1rem; + --cui-modal-margin: 0.5rem; + --cui-modal-color: unset; + --cui-modal-bg: #fff; + --cui-modal-border-color: var(--cui-border-color-translucent); + --cui-modal-border-width: 1px; + --cui-modal-border-radius: 0.5rem; + --cui-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 21, 0.075); + --cui-modal-inner-border-radius: calc(0.5rem - 1px); + --cui-modal-header-padding-x: 1rem; + --cui-modal-header-padding-y: 1rem; + --cui-modal-header-padding: 1rem 1rem; + --cui-modal-header-border-color: var(--cui-border-color); + --cui-modal-header-border-width: 1px; + --cui-modal-title-line-height: 1.5; + --cui-modal-footer-gap: 0.5rem; + --cui-modal-footer-bg: ; + --cui-modal-footer-border-color: var(--cui-border-color); + --cui-modal-footer-border-width: 1px; + position: fixed; + top: 0; + z-index: var(--cui-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} +html:not([dir=rtl]) .modal { + left: 0; +} +*[dir=rtl] .modal { + right: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--cui-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.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(--cui-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(--cui-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--cui-modal-color); + pointer-events: auto; + background-color: var(--cui-modal-bg); + background-clip: padding-box; + border: var(--cui-modal-border-width) solid var(--cui-modal-border-color); + border-radius: var(--cui-modal-border-radius); + outline: 0; +} + +.modal-backdrop { + --cui-backdrop-zindex: 1050; + --cui-backdrop-bg: #000015; + --cui-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--cui-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--cui-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--cui-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--cui-modal-header-padding); + border-bottom: var(--cui-modal-header-border-width) solid var(--cui-modal-header-border-color); + border-top-left-radius: var(--cui-modal-inner-border-radius); + border-top-right-radius: var(--cui-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--cui-modal-header-padding-y) * 0.5) calc(var(--cui-modal-header-padding-x) * 0.5); +} +html:not([dir=rtl]) .modal-header .btn-close { + margin: calc(-0.5 * var(--cui-modal-header-padding-y)) calc(-0.5 * var(--cui-modal-header-padding-x)) calc(-0.5 * var(--cui-modal-header-padding-y)) auto; +} +*[dir=rtl] .modal-header .btn-close { + margin: calc(-0.5 * var(--cui-modal-header-padding-y)) auto calc(-0.5 * var(--cui-modal-header-padding-y)) calc(-0.5 * var(--cui-modal-header-padding-x)); +} + +.modal-title { + margin-bottom: 0; + line-height: var(--cui-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--cui-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--cui-modal-padding) - var(--cui-modal-footer-gap) * 0.5); + background-color: var(--cui-modal-footer-bg); + border-top: var(--cui-modal-footer-border-width) solid var(--cui-modal-footer-border-color); + border-bottom-right-radius: var(--cui-modal-inner-border-radius); + border-bottom-left-radius: var(--cui-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--cui-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --cui-modal-margin: 1.75rem; + --cui-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15); + } + .modal-dialog { + max-width: var(--cui-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --cui-modal-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --cui-modal-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --cui-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --cui-tooltip-zindex: 1080; + --cui-tooltip-max-width: 200px; + --cui-tooltip-padding-x: 0.5rem; + --cui-tooltip-padding-y: 0.25rem; + --cui-tooltip-margin: ; + --cui-tooltip-font-size: 0.875rem; + --cui-tooltip-color: rgba(255, 255, 255, 0.87); + --cui-tooltip-bg: #000015; + --cui-tooltip-border-radius: 0.375rem; + --cui-tooltip-opacity: 0.9; + --cui-tooltip-arrow-width: 0.8rem; + --cui-tooltip-arrow-height: 0.4rem; + z-index: var(--cui-tooltip-zindex); + display: block; + padding: var(--cui-tooltip-arrow-height); + margin: var(--cui-tooltip-margin); + font-family: var(--cui-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(--cui-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--cui-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--cui-tooltip-arrow-width); + height: var(--cui-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--cui-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: 0; + width: var(--cui-tooltip-arrow-height); + height: var(--cui-tooltip-arrow-width); +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--cui-tooltip-bg); +} + +/* rtl:end:ignore */ +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: 0; +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height); + border-bottom-color: var(--cui-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: 0; + width: var(--cui-tooltip-arrow-height); + height: var(--cui-tooltip-arrow-width); +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height); + border-left-color: var(--cui-tooltip-bg); +} + +/* rtl:end:ignore */ +.tooltip-inner { + max-width: var(--cui-tooltip-max-width); + padding: var(--cui-tooltip-padding-y) var(--cui-tooltip-padding-x); + color: var(--cui-tooltip-color); + text-align: center; + background-color: var(--cui-tooltip-bg); + border-radius: var(--cui-tooltip-border-radius, 0); +} + +.popover { + --cui-popover-zindex: 1070; + --cui-popover-max-width: 276px; + --cui-popover-font-size: 0.875rem; + --cui-popover-bg: #fff; + --cui-popover-border-width: 1px; + --cui-popover-border-color: var(--cui-border-color-translucent); + --cui-popover-border-radius: 0.5rem; + --cui-popover-inner-border-radius: calc(0.5rem - 1px); + --cui-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15); + --cui-popover-header-padding-x: 1rem; + --cui-popover-header-padding-y: 0.5rem; + --cui-popover-header-font-size: 1rem; + --cui-popover-header-color: unset; + --cui-popover-header-bg: #f0f0f0; + --cui-popover-body-padding-x: 1rem; + --cui-popover-body-padding-y: 1rem; + --cui-popover-body-color: rgba(44, 56, 74, 0.95); + --cui-popover-arrow-width: 1rem; + --cui-popover-arrow-height: 0.5rem; + --cui-popover-arrow-border: var(--cui-popover-border-color); + z-index: var(--cui-popover-zindex); + display: block; + max-width: var(--cui-popover-max-width); + font-family: var(--cui-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(--cui-popover-font-size); + word-wrap: break-word; + background-color: var(--cui-popover-bg); + background-clip: padding-box; + border: var(--cui-popover-border-width) solid var(--cui-popover-border-color); + border-radius: var(--cui-popover-border-radius); +} +.popover .popover-arrow { + display: block; + width: var(--cui-popover-arrow-width); + height: var(--cui-popover-arrow-height); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width)); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0; +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--cui-popover-arrow-border); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--cui-popover-border-width); + border-top-color: var(--cui-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width)); + width: var(--cui-popover-arrow-height); + height: var(--cui-popover-arrow-width); +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--cui-popover-arrow-border); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--cui-popover-border-width); + border-right-color: var(--cui-popover-bg); +} + +/* rtl:end:ignore */ +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width)); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--cui-popover-arrow-border); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--cui-popover-border-width); + border-bottom-color: var(--cui-popover-bg); +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--cui-popover-arrow-width); + margin-left: calc(-0.5 * var(--cui-popover-arrow-width)); + content: ""; + border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width)); + width: var(--cui-popover-arrow-height); + height: var(--cui-popover-arrow-width); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-width: calc(var(--cui-popover-arrow-width) * 0.5) 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--cui-popover-arrow-border); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--cui-popover-border-width); + border-left-color: var(--cui-popover-bg); +} + +/* rtl:end:ignore */ +.popover-header { + padding: var(--cui-popover-header-padding-y) var(--cui-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--cui-popover-header-font-size); + color: var(--cui-popover-header-color); + background-color: var(--cui-popover-header-bg); + border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-border-color); + border-top-left-radius: var(--cui-popover-inner-border-radius); + border-top-right-radius: var(--cui-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--cui-popover-body-padding-y) var(--cui-popover-body-padding-x); + color: var(--cui-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 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: var(--cui-carousel-control-color, rgba(255, 255, 255, 0.87)); + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: var(--cui-carousel-control-color, rgba(255, 255, 255, 0.87)); + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.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='rgba%28255, 255, 255, 0.87%29'%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='rgba%28255, 255, 255, 0.87%29'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-coreui-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: var(--cui-carousel-indicator-active-bg, #fff); + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-coreui-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: var(--cui-carousel-caption-color, rgba(255, 255, 255, 0.87)); + text-align: center; +} + +.carousel-dark { + --cui-carousel-indicator-active-bg: #000015; + --cui-carousel-caption-color: rgba(44, 56, 74, 0.95); +} +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-coreui-target] { + background-color: #000015; +} +.carousel-dark .carousel-caption { + color: rgba(44, 56, 74, 0.95); +} + +.spinner-grow, +.spinner-border { + display: inline-block; + width: var(--cui-spinner-width); + height: var(--cui-spinner-height); + vertical-align: var(--cui-spinner-vertical-align); + border-radius: 50%; + animation: var(--cui-spinner-animation-speed) linear infinite var(--cui-spinner-animation-name); +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + --cui-spinner-width: 2rem; + --cui-spinner-height: 2rem; + --cui-spinner-vertical-align: -0.125em; + --cui-spinner-border-width: 0.25em; + --cui-spinner-animation-speed: 0.75s; + --cui-spinner-animation-name: spinner-border; + border: var(--cui-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --cui-spinner-width: 1rem; + --cui-spinner-height: 1rem; + --cui-spinner-border-width: 0.2em; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --cui-spinner-width: 2rem; + --cui-spinner-height: 2rem; + --cui-spinner-vertical-align: -0.125em; + --cui-spinner-animation-speed: 0.75s; + --cui-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --cui-spinner-width: 1rem; + --cui-spinner-height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --cui-spinner-animation-speed: 1.5s; + } +} +.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --cui-offcanvas-zindex: 1045; + --cui-offcanvas-width: 400px; + --cui-offcanvas-height: 30vh; + --cui-offcanvas-padding-x: 1rem; + --cui-offcanvas-padding-y: 1rem; + --cui-offcanvas-color: unset; + --cui-offcanvas-bg: #fff; + --cui-offcanvas-border-width: 1px; + --cui-offcanvas-border-color: var(--cui-border-color-translucent); + --cui-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 21, 0.075); +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--cui-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--cui-offcanvas-color); + visibility: hidden; + background-color: var(--cui-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + width: var(--cui-offcanvas-width); + } + html:not([dir=rtl]) .offcanvas-sm.offcanvas-start { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(-100%); + } + *[dir=rtl] .offcanvas-sm.offcanvas-start { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-end { + top: 0; + width: var(--cui-offcanvas-width); + transform: translateX(100%); + } + html:not([dir=rtl]) .offcanvas-sm.offcanvas-end { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } + *[dir=rtl] .offcanvas-sm.offcanvas-end { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none !important; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --cui-offcanvas-height: auto; + --cui-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(--cui-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--cui-offcanvas-color); + visibility: hidden; + background-color: var(--cui-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + width: var(--cui-offcanvas-width); + } + html:not([dir=rtl]) .offcanvas-md.offcanvas-start { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(-100%); + } + *[dir=rtl] .offcanvas-md.offcanvas-start { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-end { + top: 0; + width: var(--cui-offcanvas-width); + transform: translateX(100%); + } + html:not([dir=rtl]) .offcanvas-md.offcanvas-end { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } + *[dir=rtl] .offcanvas-md.offcanvas-end { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none !important; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --cui-offcanvas-height: auto; + --cui-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(--cui-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--cui-offcanvas-color); + visibility: hidden; + background-color: var(--cui-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + width: var(--cui-offcanvas-width); + } + html:not([dir=rtl]) .offcanvas-lg.offcanvas-start { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(-100%); + } + *[dir=rtl] .offcanvas-lg.offcanvas-start { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-end { + top: 0; + width: var(--cui-offcanvas-width); + transform: translateX(100%); + } + html:not([dir=rtl]) .offcanvas-lg.offcanvas-end { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } + *[dir=rtl] .offcanvas-lg.offcanvas-end { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none !important; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --cui-offcanvas-height: auto; + --cui-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(--cui-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--cui-offcanvas-color); + visibility: hidden; + background-color: var(--cui-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + width: var(--cui-offcanvas-width); + } + html:not([dir=rtl]) .offcanvas-xl.offcanvas-start { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(-100%); + } + *[dir=rtl] .offcanvas-xl.offcanvas-start { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-end { + top: 0; + width: var(--cui-offcanvas-width); + transform: translateX(100%); + } + html:not([dir=rtl]) .offcanvas-xl.offcanvas-end { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } + *[dir=rtl] .offcanvas-xl.offcanvas-end { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none !important; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --cui-offcanvas-height: auto; + --cui-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(--cui-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--cui-offcanvas-color); + visibility: hidden; + background-color: var(--cui-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + width: var(--cui-offcanvas-width); + } + html:not([dir=rtl]) .offcanvas-xxl.offcanvas-start { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(-100%); + } + *[dir=rtl] .offcanvas-xxl.offcanvas-start { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-end { + top: 0; + width: var(--cui-offcanvas-width); + transform: translateX(100%); + } + html:not([dir=rtl]) .offcanvas-xxl.offcanvas-end { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } + *[dir=rtl] .offcanvas-xxl.offcanvas-end { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none !important; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --cui-offcanvas-height: auto; + --cui-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(--cui-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--cui-offcanvas-color); + visibility: hidden; + background-color: var(--cui-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + width: var(--cui-offcanvas-width); +} +html:not([dir=rtl]) .offcanvas.offcanvas-start { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(-100%); +} +*[dir=rtl] .offcanvas.offcanvas-start { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-end { + top: 0; + width: var(--cui-offcanvas-width); + transform: translateX(100%); +} +html:not([dir=rtl]) .offcanvas.offcanvas-end { + right: 0; + border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); +} +*[dir=rtl] .offcanvas.offcanvas-end { + left: 0; + border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--cui-offcanvas-height); + max-height: 100%; + border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none !important; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: var(--cui-offcanvas-backdrop-bg, #000015); +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--cui-offcanvas-padding-y) * 0.5) calc(var(--cui-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--cui-offcanvas-padding-y)); + margin-bottom: calc(-0.5 * var(--cui-offcanvas-padding-y)); +} +html:not([dir=rtl]) .offcanvas-header .btn-close { + margin-right: calc(-0.5 * var(--cui-offcanvas-padding-x)); +} +*[dir=rtl] .offcanvas-header .btn-close { + margin-left: calc(-0.5 * var(--cui-offcanvas-padding-x)); +} + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient(130deg, #000015 55%, rgba(0, 0, 0, 0.8) 75%, #000015 95%); + mask-image: linear-gradient(130deg, #000015 55%, rgba(0, 0, 0, 0.8) 75%, #000015 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%; + } +} +.avatar { + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + vertical-align: middle; + border-radius: 50em; + transition: margin 0.15s; + width: 2rem; + height: 2rem; + font-size: 0.8rem; +} +@media (prefers-reduced-motion: reduce) { + .avatar { + transition: none; + } +} +.avatar .avatar-status { + width: 0.5333333333rem; + height: 0.5333333333rem; +} + +.avatar-img { + width: 100%; + height: auto; + border-radius: 50em; +} + +.avatar-status { + position: absolute; + bottom: 0; + display: block; + border: 1px solid #fff; + border-radius: 50em; +} +html:not([dir=rtl]) .avatar-status { + right: 0; +} +*[dir=rtl] .avatar-status { + left: 0; +} + +.avatar-sm { + width: 1.5rem; + height: 1.5rem; + font-size: 0.6rem; +} +.avatar-sm .avatar-status { + width: 0.4rem; + height: 0.4rem; +} + +.avatar-md { + width: 2.5rem; + height: 2.5rem; + font-size: 1rem; +} +.avatar-md .avatar-status { + width: 0.6666666667rem; + height: 0.6666666667rem; +} + +.avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.2rem; +} +.avatar-lg .avatar-status { + width: 0.8rem; + height: 0.8rem; +} + +.avatar-xl { + width: 4rem; + height: 4rem; + font-size: 1.6rem; +} +.avatar-xl .avatar-status { + width: 1.0666666667rem; + height: 1.0666666667rem; +} + +.avatars-stack { + display: flex; +} +html:not([dir=rtl]) .avatars-stack .avatar { + margin-right: -0.8rem; +} +*[dir=rtl] .avatars-stack .avatar { + margin-left: -0.8rem; +} +html:not([dir=rtl]) .avatars-stack .avatar:hover { + margin-right: 0; +} +*[dir=rtl] .avatars-stack .avatar:hover { + margin-left: 0; +} +html:not([dir=rtl]) .avatars-stack .avatar-sm { + margin-right: -0.6rem; +} +*[dir=rtl] .avatars-stack .avatar-sm { + margin-left: -0.6rem; +} +html:not([dir=rtl]) .avatars-stack .avatar-md { + margin-right: -1rem; +} +*[dir=rtl] .avatars-stack .avatar-md { + margin-left: -1rem; +} +html:not([dir=rtl]) .avatars-stack .avatar-lg { + margin-right: -1.2rem; +} +*[dir=rtl] .avatars-stack .avatar-lg { + margin-left: -1.2rem; +} +html:not([dir=rtl]) .avatars-stack .avatar-xl { + margin-right: -1.6rem; +} +*[dir=rtl] .avatars-stack .avatar-xl { + margin-left: -1.6rem; +} + +.callout { + --cui-callout-padding-x: 1rem; + --cui-callout-padding-y: 1rem; + --cui-callout-margin-x: 0; + --cui-callout-margin-y: 1rem; + --cui-callout-border-width: 1px; + --cui-callout-border-color: #d8dbe0; + --cui-callout-border-left-width: 4px; + --cui-callout-border-radius: 0.375rem; + padding: var(--cui-callout-padding-y) var(--cui-callout-padding-x); + margin: var(--cui-callout-margin-y) var(--cui-callout-margin-x); + border: var(--cui-callout-border-width) solid var(--cui-callout-border-color); + border-radius: var(--cui-callout-border-radius); +} +html:not([dir=rtl]) .callout { + border-left-width: var(--cui-callout-border-left-width); + border-left-color: var(--cui-callout-border-left-color); +} +*[dir=rtl] .callout { + border-right-width: var(--cui-callout-border-right-width); + border-right-color: var(--cui-callout-border-right-color); +} + +.callout-primary { + --cui-callout-border-left-color: #321fdb; +} + +.callout-secondary { + --cui-callout-border-left-color: #9da5b1; +} + +.callout-success { + --cui-callout-border-left-color: #2eb85c; +} + +.callout-danger { + --cui-callout-border-left-color: #e55353; +} + +.callout-warning { + --cui-callout-border-left-color: #f9b115; +} + +.callout-info { + --cui-callout-border-left-color: #39f; +} + +.callout-light { + --cui-callout-border-left-color: #ebedef; +} + +.callout-dark { + --cui-callout-border-left-color: #4f5d73; +} + +.footer { + --cui-footer-min-height: 3rem; + --cui-footer-padding-x: 1rem; + --cui-footer-padding-y: 0.5rem; + --cui-footer-color: rgba(44, 56, 74, 0.95); + --cui-footer-bg: #ebedef; + --cui-footer-border-color: #d8dbe0; + --cui-footer-border: 1px solid var(--cui-footer-border-color); + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + min-height: var(--cui-footer-min-height); + padding: var(--cui-footer-padding-y) var(--cui-footer-padding-x); + color: var(--cui-footer-color); + background: var(--cui-footer-bg); + border-top: var(--cui-footer-border); +} + +.footer-fixed { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.footer-sticky { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1030; +} + +.header { + --cui-header-min-height: 4rem; + --cui-header-padding-x: 0.5rem; + --cui-header-padding-y: 0.5rem; + --cui-header-bg: #fff; + --cui-header-color: rgba(44, 56, 74, 0.681); + --cui-header-border-color: #d8dbe0; + --cui-header-border: 1px solid var(--cui-header-border-color); + --cui-header-hover-color: rgba(44, 56, 74, 0.95); + --cui-header-disabled-color: rgba(44, 56, 74, 0.38); + --cui-header-active-color: rgba(44, 56, 74, 0.95); + --cui-header-brand-padding-y: 0.3125rem; + --cui-header-brand-color: #4f5d73; + --cui-header-brand-hover-color: #475468; + --cui-header-toggler-padding-x: 0.75rem; + --cui-header-toggler-padding-y: 0.25rem; + --cui-header-toggler-bg: transparent; + --cui-header-toggler-color: rgba(44, 56, 74, 0.681); + --cui-header-toggler-border-radius: 0.375rem; + --cui-header-toggler-hover-color: rgba(44, 56, 74, 0.95); + --cui-header-toggler-icon-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%2844, 56, 74, 0.681%29' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); + --cui-header-toggler-hover-icon-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%2844, 56, 74, 0.95%29' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); + --cui-header-nav-link-padding-x: 0.5rem; + --cui-header-nav-link-padding-y: 0.5rem; + --cui-header-divider-border-color: #d8dbe0; + --cui-header-divider-border: 1px solid var(--cui-header-divider-border-color); + --cui-subheader-min-height: 3rem; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + min-height: var(--cui-header-min-height); + padding: var(--cui-header-padding-y) var(--cui-header-padding-x); + background: var(--cui-header-bg); + border-bottom: var(--cui-header-border); +} +.header > .container, +.header > .container-fluid, +.header > .container-sm, +.header > .container-md, +.header > .container-lg, +.header > .container-xl, +.header > .container-xxl, .header .navbar > .container, +.header .navbar > .container-fluid, +.header .navbar > .container-sm, +.header .navbar > .container-md, +.header .navbar > .container-lg, +.header .navbar > .container-xl, +.header .navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.header .container:first-child, +.header .container-fluid:first-child, +.header .container-sm:first-child, +.header .container-md:first-child, +.header .container-lg:first-child, +.header .container-xl:first-child, +.header .container-xxl:first-child { + min-height: calc(var(--cui-header-min-height) - 2 * var(--cui-header-padding-y)); +} +.header .container:nth-child(n+2), +.header .container-fluid:nth-child(n+2), +.header .container-sm:nth-child(n+2), +.header .container-md:nth-child(n+2), +.header .container-lg:nth-child(n+2), +.header .container-xl:nth-child(n+2), +.header .container-xxl:nth-child(n+2) { + min-height: calc(var(--cui-subheader-min-height) - 2 * var(--cui-header-padding-y)); +} +.header.header-sticky { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1029; +} + +.header-divider { + flex-basis: calc(100% + 2 * var(--cui-header-padding-x)); + height: 0; + margin: var(--cui-header-padding-y) calc(var(--cui-header-padding-x) * -1); + border-top: var(--cui-header-divider-border); +} + +.header-brand { + padding-top: var(--cui-header-brand-padding-y); + padding-bottom: var(--cui-header-brand-padding-y); + font-size: 1.25rem; + color: var(--cui-header-brand-color); + text-decoration: none; + white-space: nowrap; +} +html:not([dir=rtl]) .header-brand { + margin-right: 1rem; +} +*[dir=rtl] .header-brand { + margin-left: 1rem; +} +.header-brand:hover, .header-brand:focus { + color: var(--cui-header-brand-hover-color); +} + +.header-nav { + display: flex; + flex-direction: row; + margin-bottom: 0; + list-style: none; +} +html:not([dir=rtl]) .header-nav { + padding-left: 0; +} +*[dir=rtl] .header-nav { + padding-right: 0; +} +.header-nav .nav-link { + padding: var(--cui-header-nav-link-padding-y) var(--cui-header-nav-link-padding-x); + color: var(--cui-header-color); +} +.header-nav .nav-link:hover, .header-nav .nav-link:focus { + color: var(--cui-header-hover-color); +} +.header-nav .nav-link.disabled { + color: var(--cui-header-disabled-color); +} +.header-nav .show > .nav-link, +.header-nav .nav-link.active { + color: var(--cui-header-active-color); +} +.header-nav .dropdown-menu { + position: absolute; +} + +.header-text { + padding-top: var(--cui-header-nav-link-padding-y); + padding-bottom: var(--cui-header-nav-link-padding-y); + color: var(--cui-header-color); +} +.header-text a { + color: var(--cui-header-active-color); +} +.header-text a:hover, .header-text a:focus { + color: var(--cui-header-active-color); +} + +.header-toggler { + padding: var(--cui-header-toggler-padding-y) var(--cui-header-toggler-padding-x); + font-size: 1.25rem; + color: var(--cui-header-toggler-color); + background-color: var(--cui-header-toggler-bg); + border: 0; + border-radius: var(--cui-header-toggler-border-radius); +} +.header-toggler:hover { + color: var(--cui-header-toggler-hover-color); + text-decoration: none; +} +.header-toggler:focus { + outline: 0; +} +.header-toggler:not(:disabled) { + cursor: pointer; +} + +.header-toggler-icon { + display: block; + height: 1.5625rem; + background-image: var(--cui-header-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center center; + background-size: 100% 100%; +} +.header-toggler-icon:hover { + background-image: var(--cui-header-toggler-hover-icon-bg); +} + +.icon { + display: inline-block; + color: inherit; + text-align: center; + vertical-align: -0.125rem; + fill: currentcolor; +} +.icon:not(.icon-c-s):not(.icon-custom-size) { + width: 1rem; + height: 1rem; + font-size: 1rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl { + width: 2rem; + height: 2rem; + font-size: 2rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl { + width: 1.5rem; + height: 1.5rem; + font-size: 1.5rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg { + width: 1.25rem; + height: 1.25rem; + font-size: 1.25rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm { + width: 0.875rem; + height: 0.875rem; + font-size: 0.875rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl { + width: 3rem; + height: 3rem; + font-size: 3rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl { + width: 4rem; + height: 4rem; + font-size: 4rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl { + width: 5rem; + height: 5rem; + font-size: 5rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl { + width: 6rem; + height: 6rem; + font-size: 6rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl { + width: 7rem; + height: 7rem; + font-size: 7rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl { + width: 8rem; + height: 8rem; + font-size: 8rem; +} +.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl { + width: 9rem; + height: 9rem; + font-size: 9rem; +} + +.sidebar { + --cui-sidebar-width: 16rem; + --cui-sidebar-bg: #3c4b64; + --cui-sidebar-padding-x: 0; + --cui-sidebar-padding-y: 0; + --cui-sidebar-color: rgba(255, 255, 255, 0.87); + --cui-sidebar-border-width: 0; + --cui-sidebar-border-color: transparent; + --cui-sidebar-brand-color: rgba(255, 255, 255, 0.87); + --cui-sidebar-brand-height: 4rem; + --cui-sidebar-brand-bg: rgba(0, 0, 21, 0.2); + --cui-sidebar-header-height: 4rem; + --cui-sidebar-header-bg: rgba(0, 0, 21, 0.2); + --cui-sidebar-header-padding-x: 1rem; + --cui-sidebar-header-padding-y: 0.75rem; + --cui-sidebar-footer-bg: rgba(0, 0, 21, 0.2); + --cui-sidebar-footer-height: auto; + --cui-sidebar-footer-padding-x: 1rem; + --cui-sidebar-footer-padding-y: 0.75rem; + --cui-sidebar-toggler-bg: rgba(0, 0, 21, 0.2); + --cui-sidebar-toggler-height: 3rem; + --cui-sidebar-toggler-indicator: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%238a93a2' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E"); + --cui-sidebar-toggler-indicator-width: 4rem; + --cui-sidebar-toggler-indicator-height: 3rem; + --cui-sidebar-toggler-hover-bg: rgba(0, 0, 0, 0.3); + --cui-sidebar-toggler-indicator-hover: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='rgba%28255, 255, 255, 0.87%29' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E"); + --cui-sidebar-narrow-width: 4rem; + --cui-sidebar-nav-title-padding-x: 1rem; + --cui-sidebar-nav-title-padding-y: 0.75rem; + --cui-sidebar-nav-title-margin-top: 1rem; + --cui-sidebar-nav-title-color: rgba(255, 255, 255, 0.6); + --cui-sidebar-nav-link-padding-x: 1rem; + --cui-sidebar-nav-link-padding-y: 0.8445rem; + --cui-sidebar-nav-link-color: rgba(255, 255, 255, 0.6); + --cui-sidebar-nav-link-bg: transparent; + --cui-sidebar-nav-link-border-color: transparent; + --cui-sidebar-nav-link-border: 0 solid var(--cui-sidebar-nav-link-border-color); + --cui-sidebar-nav-link-border-radius: 0; + --cui-sidebar-nav-link-active-color: rgba(255, 255, 255, 0.87); + --cui-sidebar-nav-link-active-bg: rgba(255, 255, 255, 0.05); + --cui-sidebar-nav-link-active-icon-color: rgba(255, 255, 255, 0.87); + --cui-sidebar-nav-link-disabled-color: rgba(255, 255, 255, 0.38); + --cui-sidebar-nav-link-disabled-icon-color: rgba(255, 255, 255, 0.6); + --cui-sidebar-nav-link-hover-color: rgba(255, 255, 255, 0.87); + --cui-sidebar-nav-link-hover-bg: rgba(255, 255, 255, 0.05); + --cui-sidebar-nav-link-hover-icon-color: rgba(255, 255, 255, 0.87); + --cui-sidebar-nav-icon-width: 4rem; + --cui-sidebar-nav-icon-height: 1.25rem; + --cui-sidebar-nav-icon-font-size: 1.25rem; + --cui-sidebar-nav-link-icon-color: rgba(255, 255, 255, 0.6); + --cui-sidebar-nav-group-bg: rgba(0, 0, 0, 0.2); + --cui-sidebar-nav-group-items-padding-y: 0; + --cui-sidebar-nav-group-items-padding-x: 0; + --cui-sidebar-nav-group-indicator: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%28255, 255, 255, 0.6%29'%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"); + --cui-sidebar-nav-group-indicator-hover: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%28255, 255, 255, 0.87%29'%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"); + --cui-sidebar-nav-group-toggle-show-color: rgba(255, 255, 255, 0.6); + position: relative; + display: flex; + flex: 0 0 var(--cui-sidebar-width); + flex-direction: column; + order: -1; + width: var(--cui-sidebar-width); + padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x); + color: var(--cui-sidebar-color); + background: var(--cui-sidebar-bg); + box-shadow: none; + transition: margin-left 0.15s, margin-right 0.15s, box-shadow 0.075s, transform 0.15s, width 0.15s, z-index 0s ease 0.15s; +} +html:not([dir=rtl]) .sidebar { + border-right: var(--cui-sidebar-border-width) solid var(--cui-sidebar-border-color); +} +*[dir=rtl] .sidebar { + border-left: var(--cui-sidebar-border-width) solid var(--cui-sidebar-border-color); +} +@media (prefers-reduced-motion: reduce) { + .sidebar { + transition: none; + } +} +html:not([dir=rtl]) .sidebar:not(.sidebar-end) { + margin-left: 0; +} +*[dir=rtl] .sidebar:not(.sidebar-end) { + margin-right: 0; +} +.sidebar:not(.sidebar-end) ~ * { + --cui-sidebar-occupy-start: 16rem; +} +.sidebar.sidebar-end { + order: 99; +} +html:not([dir=rtl]) .sidebar.sidebar-end { + margin-right: 0; +} +*[dir=rtl] .sidebar.sidebar-end { + margin-left: 0; +} +.sidebar.sidebar-end ~ * { + --cui-sidebar-occupy-end: 16rem; +} +.sidebar[class*=bg-] { + border-color: rgba(0, 0, 21, 0.1); +} +.sidebar.sidebar-sm { + --cui-sidebar-width: 12rem; +} +@media (min-width: 768px) { + .sidebar.sidebar-sm:not(.sidebar-end):not(.hide) ~ * { + --cui-sidebar-occupy-start: 12rem; + } + .sidebar.sidebar-sm.sidebar-end:not(.hide) ~ * { + --cui-sidebar-occupy-end: 12rem; + } +} +.sidebar.sidebar-lg { + --cui-sidebar-width: 20rem; +} +@media (min-width: 768px) { + .sidebar.sidebar-lg:not(.sidebar-end):not(.hide) ~ * { + --cui-sidebar-occupy-start: 20rem; + } + .sidebar.sidebar-lg.sidebar-end:not(.hide) ~ * { + --cui-sidebar-occupy-end: 20rem; + } +} +.sidebar.sidebar-xl { + --cui-sidebar-width: 24rem; +} +@media (min-width: 768px) { + .sidebar.sidebar-xl:not(.sidebar-end):not(.hide) ~ * { + --cui-sidebar-occupy-start: 24rem; + } + .sidebar.sidebar-xl.sidebar-end:not(.hide) ~ * { + --cui-sidebar-occupy-end: 24rem; + } +} +@media (min-width: 768px) { + html:not([dir=rtl]) .sidebar.hide:not(.sidebar-end) { + margin-left: calc(-1 * var(--cui-sidebar-width)); + } + *[dir=rtl] .sidebar.hide:not(.sidebar-end) { + margin-right: calc(-1 * var(--cui-sidebar-width)); + } + .sidebar.hide:not(.sidebar-end) ~ * { + --cui-sidebar-occupy-start: 0; + } + html:not([dir=rtl]) .sidebar.hide.sidebar-end { + margin-right: calc(-1 * var(--cui-sidebar-width)); + } + *[dir=rtl] .sidebar.hide.sidebar-end { + margin-left: calc(-1 * var(--cui-sidebar-width)); + } + .sidebar.hide.sidebar-end ~ * { + --cui-sidebar-occupy-end: 0; + } +} +@media (min-width: 768px) { + .sidebar.sidebar-fixed { + position: fixed; + top: 0; + bottom: 0; + z-index: 1030; + } + html:not([dir=rtl]) .sidebar.sidebar-fixed:not(.sidebar-end) { + left: 0; + } + *[dir=rtl] .sidebar.sidebar-fixed:not(.sidebar-end) { + right: 0; + } + html:not([dir=rtl]) .sidebar.sidebar-fixed.sidebar-end { + right: 0; + } + *[dir=rtl] .sidebar.sidebar-fixed.sidebar-end { + left: 0; + } +} +@media (min-width: 768px) { + .sidebar.sidebar-sticky { + position: -webkit-sticky; + position: sticky; + top: 0; + height: 100vh; + } +} +.sidebar.sidebar-overlaid { + position: fixed; + top: 0; + bottom: 0; + z-index: 1032; +} +html:not([dir=rtl]) .sidebar.sidebar-overlaid:not(.sidebar-end) { + left: 0; +} +*[dir=rtl] .sidebar.sidebar-overlaid:not(.sidebar-end) { + right: 0; +} +.sidebar.sidebar-overlaid:not(.sidebar-end) ~ * { + --cui-sidebar-occupy-start: 0; +} +html:not([dir=rtl]) .sidebar.sidebar-overlaid.sidebar-end { + right: 0; +} +*[dir=rtl] .sidebar.sidebar-overlaid.sidebar-end { + left: 0; +} +.sidebar.sidebar-overlaid.sidebar-end ~ * { + --cui-sidebar-occupy-end: 0; +} +@media (max-width: 767.98px) { + .sidebar { + --cui-is-mobile: true; + position: fixed; + top: 0; + bottom: 0; + z-index: 1031; + } + html:not([dir=rtl]) .sidebar:not(.sidebar-end) { + left: 0; + } + *[dir=rtl] .sidebar:not(.sidebar-end) { + right: 0; + } + .sidebar:not(.sidebar-end) ~ * { + --cui-sidebar-occupy-start: 0 !important; + } + html:not([dir=rtl]) .sidebar:not(.sidebar-end):not(.show) { + margin-left: calc(-1 * var(--cui-sidebar-width)); + } + *[dir=rtl] .sidebar:not(.sidebar-end):not(.show) { + margin-right: calc(-1 * var(--cui-sidebar-width)); + } + html:not([dir=rtl]) .sidebar.sidebar-end { + right: 0; + } + *[dir=rtl] .sidebar.sidebar-end { + left: 0; + } + .sidebar.sidebar-end ~ * { + --cui-sidebar-occupy-end: 0 !important; + } + html:not([dir=rtl]) .sidebar.sidebar-end:not(.show) { + margin-right: calc(-1 * var(--cui-sidebar-width)); + } + *[dir=rtl] .sidebar.sidebar-end:not(.show) { + margin-left: calc(-1 * var(--cui-sidebar-width)); + } +} + +.sidebar-close { + position: absolute; + top: 0; + width: var(--cui-sidebar-width); + height: var(--cui-sidebar-header-height); + color: var(--cui-sidebar-color); + background: transparent; + border: 0; +} +html:not([dir=rtl]) .sidebar-close { + right: 0; +} +*[dir=rtl] .sidebar-close { + left: 0; +} +.sidebar-close:hover { + text-decoration: none; +} +.sidebar-close:focus { + outline: 0; +} + +.sidebar-brand { + display: flex; + flex: 0 0 var(--cui-sidebar-brand-height); + align-items: center; + justify-content: center; + color: var(--cui-sidebar-brand-color); + background: var(--cui-sidebar-brand-bg); +} +.sidebar-brand .sidebar-brand-narrow { + display: none; +} + +.sidebar-header { + flex: 0 0 var(--cui-sidebar-header-height); + padding: var(--cui-sidebar-header-padding-y) var(--cui-sidebar-header-padding-x); + text-align: center; + background: var(--cui-sidebar-header-bg); + transition: height 0.15s, padding 0.15s; +} +@media (prefers-reduced-motion: reduce) { + .sidebar-header { + transition: none; + } +} +.sidebar-header .nav-link { + display: flex; + align-items: center; + min-height: var(--cui-sidebar-header-height); +} + +.sidebar-footer { + flex: 0 0 var(--cui-sidebar-footer-height); + padding: var(--cui-sidebar-footer-padding-y) var(--cui-sidebar-footer-padding-x); + background: var(--cui-sidebar-footer-bg); + transition: height 0.15s, padding 0.15s; +} +@media (prefers-reduced-motion: reduce) { + .sidebar-footer { + transition: none; + } +} + +.sidebar-toggler { + display: flex; + flex: 0 0 var(--cui-sidebar-toggler-height); + justify-content: flex-end; + width: inherit; + padding: 0; + cursor: pointer; + background-color: var(--cui-sidebar-toggler-bg); + border: 0; +} +@media (max-width: 767.98px) { + .sidebar-toggler { + display: none; + } +} +.sidebar-toggler::before { + display: block; + width: var(--cui-sidebar-toggler-indicator-width); + height: var(--cui-sidebar-toggler-indicator-height); + content: ""; + background-image: var(--cui-sidebar-toggler-indicator); + background-repeat: no-repeat; + background-position: center; + background-size: calc(var(--cui-sidebar-toggler-indicator-height) * 0.25); + transition: transform 0.15s; +} +@media (prefers-reduced-motion: reduce) { + .sidebar-toggler::before { + transition: none; + } +} +*[dir=rtl] .sidebar-toggler::before { + transform: rotate(-180deg); +} +.sidebar-toggler:focus { + outline: 0; +} +.sidebar-toggler:hover { + background-color: var(--cui-sidebar-toggler-hover-bg); +} +.sidebar-toggler:hover::before { + background-image: var(--cui-sidebar-toggler-indicator-hover); +} +.sidebar-end .sidebar-toggler { + justify-content: flex-start; +} +.sidebar-end .sidebar-toggler::before { + transform: rotate(-180deg); +} + +.sidebar-backdrop { + --cui-backdrop-zindex: 1030; + --cui-backdrop-bg: #000015; + --cui-backdrop-opacity: 0.5; +} +@media (max-width: 767.98px) { + .sidebar-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: var(--cui-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--cui-backdrop-bg); + } + .sidebar-backdrop.fade { + opacity: 0; + } + .sidebar-backdrop.show { + opacity: var(--cui-backdrop-opacity); + } +} + +.sidebar-nav { + position: relative; + display: flex; + flex: 1; + flex-direction: column; + padding: 0; + margin-bottom: 0; + overflow-x: hidden; + overflow-y: auto; + list-style: none; +} +.sidebar-nav .nav-title { + padding: var(--cui-sidebar-nav-title-padding-y) var(--cui-sidebar-nav-title-padding-x); + margin-top: var(--cui-sidebar-nav-title-margin-top); + font-size: 80%; + font-weight: 700; + color: var(--cui-sidebar-nav-title-color); + text-transform: uppercase; + transition: height 0.15s, margin 0.15s; +} +@media (prefers-reduced-motion: reduce) { + .sidebar-nav .nav-title { + transition: none; + } +} +.sidebar-nav .nav-link { + display: flex; + flex: 1; + align-items: center; + padding: var(--cui-sidebar-nav-link-padding-y) var(--cui-sidebar-nav-link-padding-x); + color: var(--cui-sidebar-nav-link-color); + text-decoration: none; + white-space: nowrap; + background: var(--cui-sidebar-nav-link-bg); + border: var(--cui-sidebar-nav-link-border); + border-radius: var(--cui-sidebar-nav-link-border-radius); + transition: background 0.15s ease, color 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .sidebar-nav .nav-link { + transition: none; + } +} +.sidebar-nav .nav-link.active { + color: var(--cui-sidebar-nav-link-active-color); + background: var(--cui-sidebar-nav-link-active-bg); +} +.sidebar-nav .nav-link.active .nav-icon { + color: var(--cui-sidebar-nav-link-active-icon-color); +} +.sidebar-nav .nav-link.disabled { + color: var(--cui-sidebar-nav-link-disabled-color); + pointer-events: none; + cursor: not-allowed; + background: transparent; +} +.sidebar-nav .nav-link.disabled .nav-icon { + color: var(--cui-sidebar-nav-link-disabled-icon-color); +} +.sidebar-nav .nav-link.disabled:hover { + color: var(--cui-sidebar-nav-link-disabled-color); +} +.sidebar-nav .nav-link.disabled:hover .nav-icon { + color: var(--cui-sidebar-nav-link-disabled-icon-color); +} +.sidebar-nav .nav-link.disabled:hover.nav-dropdown-toggle::after { + background-image: var(--cui-sidebar-nav-group-indicator-hover); +} +@media (hover: hover), (-ms-high-contrast: none) { + .sidebar-nav .nav-link:hover { + color: var(--cui-sidebar-nav-link-hover-color); + text-decoration: none; + background: var(--cui-sidebar-nav-link-hover-bg); + } + .sidebar-nav .nav-link:hover .nav-icon { + color: var(--cui-sidebar-nav-link-hover-icon-color); + } + .sidebar-nav .nav-link:hover.nav-group-toggle::after { + background-image: var(--cui-sidebar-nav-group-indicator-hover); + } +} +.sidebar-nav .nav-icon { + flex: 0 0 var(--cui-sidebar-nav-icon-width); + height: var(--cui-sidebar-nav-icon-height); + font-size: var(--cui-sidebar-nav-icon-font-size); + color: var(--cui-sidebar-nav-link-icon-color); + text-align: center; + pointer-events: none; + fill: currentcolor; + transition: inherit; +} +@media (prefers-reduced-motion: reduce) { + .sidebar-nav .nav-icon { + transition: none; + } +} +html:not([dir=rtl]) .sidebar-nav .nav-icon:first-child { + margin-left: calc(var(--cui-sidebar-nav-link-padding-x) * -1); +} +*[dir=rtl] .sidebar-nav .nav-icon:first-child { + margin-right: calc(var(--cui-sidebar-nav-link-padding-x) * -1); +} +.sidebar-nav svg.nav-icon { + overflow: hidden; +} +.sidebar-nav .nav-group { + position: relative; + transition: background 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .sidebar-nav .nav-group { + transition: none; + } +} +.sidebar-nav .nav-group .nav-group-items { + padding: var(--cui-sidebar-nav-group-items-padding-y) var(--cui-sidebar-nav-group-items-padding-x); + overflow: hidden; + transition: height 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .sidebar-nav .nav-group .nav-group-items { + transition: none; + } +} +.sidebar-nav .nav-group:not(.show) .nav-group-items { + display: none; +} +.sidebar-nav .nav-group.show { + background: var(--cui-sidebar-nav-group-bg); +} +.sidebar-nav .nav-group.show .nav-group-toggle { + color: var(--cui-sidebar-nav-group-toggle-show-color); +} +.sidebar-nav .nav-group.show > .nav-group-toggle::after { + transform: rotate(180deg); +} +.sidebar-nav .nav-group.show + .show { + margin-top: 1px; +} +.sidebar-nav .nav-group-toggle { + cursor: pointer; +} +.sidebar-nav .nav-group-toggle::after { + display: block; + flex: 0 12px; + height: 12px; + content: ""; + background-image: var(--cui-sidebar-nav-group-indicator); + background-repeat: no-repeat; + background-position: center; + transition: transform 0.15s; +} +html:not([dir=rtl]) .sidebar-nav .nav-group-toggle::after { + margin-left: auto; +} +*[dir=rtl] .sidebar-nav .nav-group-toggle::after { + margin-right: auto; +} +@media (prefers-reduced-motion: reduce) { + .sidebar-nav .nav-group-toggle::after { + transition: none; + } +} +.sidebar-nav .nav-group-items { + padding: 0; + list-style: none; +} +html:not([dir=rtl]) .sidebar-nav .nav-group-items .nav-link { + padding-left: var(--cui-sidebar-nav-icon-width); +} +*[dir=rtl] .sidebar-nav .nav-group-items .nav-link { + padding-right: var(--cui-sidebar-nav-icon-width); +} +html:not([dir=rtl]) .sidebar-nav .nav-group-items .nav-link .nav-icon { + margin-left: calc(var(--cui-sidebar-nav-icon-width) * -1); +} +*[dir=rtl] .sidebar-nav .nav-group-items .nav-link .nav-icon { + margin-right: calc(var(--cui-sidebar-nav-icon-width) * -1); +} +.sidebar-nav.compact .nav-link, +.sidebar-nav .compact .nav-link { + padding-top: calc(var(--cui-sidebar-nav-link-padding-y) * 0.5); + padding-bottom: calc(var(--cui-sidebar-nav-link-padding-y) * 0.5); +} + +@media (min-width: 768px) { + .sidebar-narrow-unfoldable:not(:hover), .sidebar-narrow { + z-index: 1031; + flex: 0 0 var(--cui-sidebar-narrow-width); + width: var(--cui-sidebar-narrow-width); + padding-bottom: var(--cui-sidebar-toggler-height); + overflow: visible; + } + .sidebar-fixed.sidebar-narrow-unfoldable:not(:hover), .sidebar-fixed.sidebar-narrow { + z-index: 1031; + width: var(--cui-sidebar-narrow-width); + } + .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-full, .sidebar-narrow .sidebar-brand-full { + display: none; + } + .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-narrow, .sidebar-narrow .sidebar-brand-narrow { + display: block; + } + .sidebar-narrow-unfoldable:not(:hover) .d-narrow-none, .sidebar-narrow .d-narrow-none, + .sidebar-narrow-unfoldable:not(:hover) .nav-label, + .sidebar-narrow .nav-label, + .sidebar-narrow-unfoldable:not(:hover) .nav-title, + .sidebar-narrow .nav-title, + .sidebar-narrow-unfoldable:not(:hover) .nav-group-items, + .sidebar-narrow .nav-group-items, + .sidebar-narrow-unfoldable:not(:hover) .sidebar-footer, + .sidebar-narrow .sidebar-footer, + .sidebar-narrow-unfoldable:not(:hover) .sidebar-form, + .sidebar-narrow .sidebar-form, + .sidebar-narrow-unfoldable:not(:hover) .sidebar-header, + .sidebar-narrow .sidebar-header { + height: 0 !important; + padding: 0; + margin: 0; + visibility: hidden; + opacity: 0; + } + .sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler, .sidebar-narrow .sidebar-toggler { + position: fixed; + bottom: 0; + } + html:not([dir=rtl]) .sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before, html:not([dir=rtl]) .sidebar-narrow .sidebar-toggler::before { + transform: rotate(-180deg); + } + *[dir=rtl] .sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before, *[dir=rtl] .sidebar-narrow .sidebar-toggler::before { + transform: rotate(0deg); + } + .sidebar-end.sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before, .sidebar-end.sidebar-narrow .sidebar-toggler::before { + transform: rotate(0deg); + } +} + +.sidebar-narrow:not(.sidebar-end) ~ * { + --cui-sidebar-occupy-start: 4rem; +} +.sidebar-narrow.sidebar-end ~ * { + --cui-sidebar-occupy-end: 4rem; +} + +.sidebar-narrow-unfoldable { + position: fixed; + z-index: 1031; +} +.sidebar-narrow-unfoldable:not(.sidebar-end) ~ * { + --cui-sidebar-occupy-start: 4rem; +} +.sidebar-narrow-unfoldable.sidebar-end ~ * { + --cui-sidebar-occupy-end: 4rem; +} +html:not([dir=rtl]) .sidebar-narrow-unfoldable:hover .sidebar-toggler::before { + transform: rotate(-180deg); +} +*[dir=rtl] .sidebar-narrow-unfoldable:hover .sidebar-toggler::before { + transform: rotate(0deg); +} +.sidebar-narrow-unfoldable:hover.sidebar-end .sidebar-toggler::before { + transform: rotate(0deg); +} + +html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); +} +*[dir=rtl] .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); +} +html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow-unfoldable.sidebar-end { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); +} +*[dir=rtl] .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow-unfoldable.sidebar-end { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); +} + +@media (max-width: 575.98px) { + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow-unfoldable.sidebar-end { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow-unfoldable.sidebar-end { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } +} +@media (max-width: 767.98px) { + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow-unfoldable.sidebar-end { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow-unfoldable.sidebar-end { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } +} +@media (max-width: 991.98px) { + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow-unfoldable.sidebar-end { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow-unfoldable.sidebar-end { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } +} +@media (max-width: 1199.98px) { + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow-unfoldable.sidebar-end { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow-unfoldable.sidebar-end { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } +} +@media (max-width: 1399.98px) { + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow-unfoldable:not(.sidebar-end) { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow-unfoldable.sidebar-end { + margin-right: calc(var(--cui-sidebar-narrow-width) * -1); + } + *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow-unfoldable.sidebar-end { + margin-left: calc(var(--cui-sidebar-narrow-width) * -1); + } +} +.subheader { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + min-height: 3rem; + padding: 0.5rem 1rem; + background: var(--cui-subheader-bg, #fff); + border-bottom: var(--cui-subheader-border-width, 1px) solid var(--cui-subheader-border-color, #d8dbe0); +} + +.subheader-sticky { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1029; +} + +.subheader-nav { + display: flex; + flex-direction: row; + margin-bottom: 0; + list-style: none; +} +html:not([dir=rtl]) .subheader-nav { + padding-left: 0; +} +*[dir=rtl] .subheader-nav { + padding-right: 0; +} +.subheader-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + color: var(--cui-subheader-color, rgba(44, 56, 74, 0.681)); +} +.subheader-nav .nav-link:hover, .subheader-nav .nav-link:focus { + color: var(--cui-subheader-hover-color, rgba(44, 56, 74, 0.95)); +} +.subheader-nav .nav-link.disabled { + color: var(--cui-subheader-disabled-color, rgba(44, 56, 74, 0.38)); +} +.subheader-nav .show > .nav-link, +.subheader-nav .nav-link.active { + color: var(--cui-subheader-active-color, rgba(44, 56, 74, 0.95)); +} +.subheader-nav .dropdown-menu { + position: absolute; +} + +.subheader-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--cui-subheader-color, rgba(44, 56, 74, 0.681)); +} +.subheader-text a { + color: var(--cui-subheader-active-color, rgba(44, 56, 74, 0.95)); +} +.subheader-text a:hover, .subheader-text a:focus { + color: var(--cui-subheader-active-color, rgba(44, 56, 74, 0.95)); +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: rgba(255, 255, 255, 0.87) !important; + background-color: RGBA(50, 31, 219, var(--cui-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #000015 !important; + background-color: RGBA(157, 165, 177, var(--cui-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #000015 !important; + background-color: RGBA(46, 184, 92, var(--cui-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #000015 !important; + background-color: RGBA(51, 153, 255, var(--cui-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: rgba(44, 56, 74, 0.95) !important; + background-color: RGBA(249, 177, 21, var(--cui-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #000015 !important; + background-color: RGBA(229, 83, 83, var(--cui-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: rgba(44, 56, 74, 0.95) !important; + background-color: RGBA(235, 237, 239, var(--cui-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: rgba(255, 255, 255, 0.87) !important; + background-color: RGBA(79, 93, 115, var(--cui-bg-opacity, 1)) !important; +} + +.link-primary { + color: #321fdb !important; +} +.link-primary:hover, .link-primary:focus { + color: #5b4ce2 !important; +} + +.link-secondary { + color: #9da5b1 !important; +} +.link-secondary:hover, .link-secondary:focus { + color: #b1b7c1 !important; +} + +.link-success { + color: #2eb85c !important; +} +.link-success:hover, .link-success:focus { + color: #58c67d !important; +} + +.link-info { + color: #39f !important; +} +.link-info:hover, .link-info:focus { + color: #5cadff !important; +} + +.link-warning { + color: #f9b115 !important; +} +.link-warning:hover, .link-warning:focus { + color: #c78e11 !important; +} + +.link-danger { + color: #e55353 !important; +} +.link-danger:hover, .link-danger:focus { + color: #ea7575 !important; +} + +.link-light { + color: #ebedef !important; +} +.link-light:hover, .link-light:focus { + color: #bcbebf !important; +} + +.link-dark { + color: #4f5d73 !important; +} +.link-dark:hover, .link-dark:focus { + color: #727d8f !important; +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--cui-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + width: 100%; + height: 100%; +} +html:not([dir=rtl]) .ratio > * { + left: 0; +} +*[dir=rtl] .ratio > * { + right: 0; +} + +.ratio-1x1 { + --cui-aspect-ratio: 100%; +} + +.ratio-4x3 { + --cui-aspect-ratio: 75%; +} + +.ratio-16x9 { + --cui-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --cui-aspect-ratio: 42.8571428571%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + padding: 0; + background-color: currentcolor; + opacity: 0.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; +} + +html:not([dir=rtl]) .float-start { + float: left !important; +} +*[dir=rtl] .float-start { + float: right !important; +} + +html:not([dir=rtl]) .float-end { + float: right !important; +} +*[dir=rtl] .float-end { + float: left !important; +} + +html:not([dir=rtl]) .float-none { + float: none !important; +} +*[dir=rtl] .float-none { + float: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 21, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 21, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +html:not([dir=rtl]) .border-end { + border-right: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important; +} +*[dir=rtl] .border-end { + border-left: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important; +} + +html:not([dir=rtl]) .border-end-0 { + border-right: 0 !important; +} +*[dir=rtl] .border-end-0 { + border-left: 0 !important; +} + +.border-bottom { + border-bottom: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +html:not([dir=rtl]) .border-start { + border-left: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important; +} +*[dir=rtl] .border-start { + border-right: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important; +} + +html:not([dir=rtl]) .border-start-0 { + border-left: 0 !important; +} +*[dir=rtl] .border-start-0 { + border-right: 0 !important; +} + +.border-primary { + --cui-border-opacity: 1; + border-color: rgba(var(--cui-primary-rgb), var(--cui-border-opacity)) !important; +} + +.border-secondary { + --cui-border-opacity: 1; + border-color: rgba(var(--cui-secondary-rgb), var(--cui-border-opacity)) !important; +} + +.border-success { + --cui-border-opacity: 1; + border-color: rgba(var(--cui-success-rgb), var(--cui-border-opacity)) !important; +} + +.border-info { + --cui-border-opacity: 1; + border-color: rgba(var(--cui-info-rgb), var(--cui-border-opacity)) !important; +} + +.border-warning { + --cui-border-opacity: 1; + border-color: rgba(var(--cui-warning-rgb), var(--cui-border-opacity)) !important; +} + +.border-danger { + --cui-border-opacity: 1; + border-color: rgba(var(--cui-danger-rgb), var(--cui-border-opacity)) !important; +} + +.border-light { + --cui-border-opacity: 1; + border-color: rgba(var(--cui-light-rgb), var(--cui-border-opacity)) !important; +} + +.border-dark { + --cui-border-opacity: 1; + border-color: rgba(var(--cui-dark-rgb), var(--cui-border-opacity)) !important; +} + +.border-white { + --cui-border-opacity: 1; + border-color: rgba(var(--cui-white-rgb), var(--cui-border-opacity)) !important; +} + +.border-top-primary { + border-top-color: #321fdb !important; +} + +.border-top-secondary { + border-top-color: #9da5b1 !important; +} + +.border-top-success { + border-top-color: #2eb85c !important; +} + +.border-top-info { + border-top-color: #39f !important; +} + +.border-top-warning { + border-top-color: #f9b115 !important; +} + +.border-top-danger { + border-top-color: #e55353 !important; +} + +.border-top-light { + border-top-color: #ebedef !important; +} + +.border-top-dark { + border-top-color: #4f5d73 !important; +} + +.border-top-white { + border-top-color: #fff !important; +} + +html:not([dir=rtl]) .border-end-primary { + border-right-color: #321fdb !important; +} +*[dir=rtl] .border-end-primary { + border-left-color: #321fdb !important; +} + +html:not([dir=rtl]) .border-end-secondary { + border-right-color: #9da5b1 !important; +} +*[dir=rtl] .border-end-secondary { + border-left-color: #9da5b1 !important; +} + +html:not([dir=rtl]) .border-end-success { + border-right-color: #2eb85c !important; +} +*[dir=rtl] .border-end-success { + border-left-color: #2eb85c !important; +} + +html:not([dir=rtl]) .border-end-info { + border-right-color: #39f !important; +} +*[dir=rtl] .border-end-info { + border-left-color: #39f !important; +} + +html:not([dir=rtl]) .border-end-warning { + border-right-color: #f9b115 !important; +} +*[dir=rtl] .border-end-warning { + border-left-color: #f9b115 !important; +} + +html:not([dir=rtl]) .border-end-danger { + border-right-color: #e55353 !important; +} +*[dir=rtl] .border-end-danger { + border-left-color: #e55353 !important; +} + +html:not([dir=rtl]) .border-end-light { + border-right-color: #ebedef !important; +} +*[dir=rtl] .border-end-light { + border-left-color: #ebedef !important; +} + +html:not([dir=rtl]) .border-end-dark { + border-right-color: #4f5d73 !important; +} +*[dir=rtl] .border-end-dark { + border-left-color: #4f5d73 !important; +} + +html:not([dir=rtl]) .border-end-white { + border-right-color: #fff !important; +} +*[dir=rtl] .border-end-white { + border-left-color: #fff !important; +} + +.border-bottom-primary { + border-bottom-color: #321fdb !important; +} + +.border-bottom-secondary { + border-bottom-color: #9da5b1 !important; +} + +.border-bottom-success { + border-bottom-color: #2eb85c !important; +} + +.border-bottom-info { + border-bottom-color: #39f !important; +} + +.border-bottom-warning { + border-bottom-color: #f9b115 !important; +} + +.border-bottom-danger { + border-bottom-color: #e55353 !important; +} + +.border-bottom-light { + border-bottom-color: #ebedef !important; +} + +.border-bottom-dark { + border-bottom-color: #4f5d73 !important; +} + +.border-bottom-white { + border-bottom-color: #fff !important; +} + +html:not([dir=rtl]) .border-start-primary { + border-left-color: #321fdb !important; +} +*[dir=rtl] .border-start-primary { + border-right-color: #321fdb !important; +} + +html:not([dir=rtl]) .border-start-secondary { + border-left-color: #9da5b1 !important; +} +*[dir=rtl] .border-start-secondary { + border-right-color: #9da5b1 !important; +} + +html:not([dir=rtl]) .border-start-success { + border-left-color: #2eb85c !important; +} +*[dir=rtl] .border-start-success { + border-right-color: #2eb85c !important; +} + +html:not([dir=rtl]) .border-start-info { + border-left-color: #39f !important; +} +*[dir=rtl] .border-start-info { + border-right-color: #39f !important; +} + +html:not([dir=rtl]) .border-start-warning { + border-left-color: #f9b115 !important; +} +*[dir=rtl] .border-start-warning { + border-right-color: #f9b115 !important; +} + +html:not([dir=rtl]) .border-start-danger { + border-left-color: #e55353 !important; +} +*[dir=rtl] .border-start-danger { + border-right-color: #e55353 !important; +} + +html:not([dir=rtl]) .border-start-light { + border-left-color: #ebedef !important; +} +*[dir=rtl] .border-start-light { + border-right-color: #ebedef !important; +} + +html:not([dir=rtl]) .border-start-dark { + border-left-color: #4f5d73 !important; +} +*[dir=rtl] .border-start-dark { + border-right-color: #4f5d73 !important; +} + +html:not([dir=rtl]) .border-start-white { + border-left-color: #fff !important; +} +*[dir=rtl] .border-start-white { + border-right-color: #fff !important; +} + +.border-1 { + --cui-border-width: 1px; +} + +.border-2 { + --cui-border-width: 2px; +} + +.border-3 { + --cui-border-width: 3px; +} + +.border-4 { + --cui-border-width: 4px; +} + +.border-5 { + --cui-border-width: 5px; +} + +.border-top-1 { + border-top-width: 1px !important; +} + +.border-top-2 { + border-top-width: 2px !important; +} + +.border-top-3 { + border-top-width: 3px !important; +} + +.border-top-4 { + border-top-width: 4px !important; +} + +.border-top-5 { + border-top-width: 5px !important; +} + +html:not([dir=rtl]) .border-end-1 { + border-right-width: 1px !important; +} +*[dir=rtl] .border-end-1 { + border-left-width: 1px !important; +} + +html:not([dir=rtl]) .border-end-2 { + border-right-width: 2px !important; +} +*[dir=rtl] .border-end-2 { + border-left-width: 2px !important; +} + +html:not([dir=rtl]) .border-end-3 { + border-right-width: 3px !important; +} +*[dir=rtl] .border-end-3 { + border-left-width: 3px !important; +} + +html:not([dir=rtl]) .border-end-4 { + border-right-width: 4px !important; +} +*[dir=rtl] .border-end-4 { + border-left-width: 4px !important; +} + +html:not([dir=rtl]) .border-end-5 { + border-right-width: 5px !important; +} +*[dir=rtl] .border-end-5 { + border-left-width: 5px !important; +} + +.border-bottom-1 { + border-bottom-width: 1px !important; +} + +.border-bottom-2 { + border-bottom-width: 2px !important; +} + +.border-bottom-3 { + border-bottom-width: 3px !important; +} + +.border-bottom-4 { + border-bottom-width: 4px !important; +} + +.border-bottom-5 { + border-bottom-width: 5px !important; +} + +html:not([dir=rtl]) .border-start-1 { + border-left-width: 1px !important; +} +*[dir=rtl] .border-start-1 { + border-right-width: 1px !important; +} + +html:not([dir=rtl]) .border-start-2 { + border-left-width: 2px !important; +} +*[dir=rtl] .border-start-2 { + border-right-width: 2px !important; +} + +html:not([dir=rtl]) .border-start-3 { + border-left-width: 3px !important; +} +*[dir=rtl] .border-start-3 { + border-right-width: 3px !important; +} + +html:not([dir=rtl]) .border-start-4 { + border-left-width: 4px !important; +} +*[dir=rtl] .border-start-4 { + border-right-width: 4px !important; +} + +html:not([dir=rtl]) .border-start-5 { + border-left-width: 5px !important; +} +*[dir=rtl] .border-start-5 { + border-right-width: 5px !important; +} + +.border-opacity-10 { + --cui-border-opacity: 0.1; +} + +.border-opacity-25 { + --cui-border-opacity: 0.25; +} + +.border-opacity-50 { + --cui-border-opacity: 0.5; +} + +.border-opacity-75 { + --cui-border-opacity: 0.75; +} + +.border-opacity-100 { + --cui-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: 0.25rem !important; +} + +.m-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.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; +} + +html:not([dir=rtl]) .me-0 { + margin-right: 0 !important; +} +*[dir=rtl] .me-0 { + margin-left: 0 !important; +} + +html:not([dir=rtl]) .me-1 { + margin-right: 0.25rem !important; +} +*[dir=rtl] .me-1 { + margin-left: 0.25rem !important; +} + +html:not([dir=rtl]) .me-2 { + margin-right: 0.5rem !important; +} +*[dir=rtl] .me-2 { + margin-left: 0.5rem !important; +} + +html:not([dir=rtl]) .me-3 { + margin-right: 1rem !important; +} +*[dir=rtl] .me-3 { + margin-left: 1rem !important; +} + +html:not([dir=rtl]) .me-4 { + margin-right: 1.5rem !important; +} +*[dir=rtl] .me-4 { + margin-left: 1.5rem !important; +} + +html:not([dir=rtl]) .me-5 { + margin-right: 3rem !important; +} +*[dir=rtl] .me-5 { + margin-left: 3rem !important; +} + +html:not([dir=rtl]) .me-auto { + margin-right: auto !important; +} +*[dir=rtl] .me-auto { + margin-left: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.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; +} + +html:not([dir=rtl]) .ms-0 { + margin-left: 0 !important; +} +*[dir=rtl] .ms-0 { + margin-right: 0 !important; +} + +html:not([dir=rtl]) .ms-1 { + margin-left: 0.25rem !important; +} +*[dir=rtl] .ms-1 { + margin-right: 0.25rem !important; +} + +html:not([dir=rtl]) .ms-2 { + margin-left: 0.5rem !important; +} +*[dir=rtl] .ms-2 { + margin-right: 0.5rem !important; +} + +html:not([dir=rtl]) .ms-3 { + margin-left: 1rem !important; +} +*[dir=rtl] .ms-3 { + margin-right: 1rem !important; +} + +html:not([dir=rtl]) .ms-4 { + margin-left: 1.5rem !important; +} +*[dir=rtl] .ms-4 { + margin-right: 1.5rem !important; +} + +html:not([dir=rtl]) .ms-5 { + margin-left: 3rem !important; +} +*[dir=rtl] .ms-5 { + margin-right: 3rem !important; +} + +html:not([dir=rtl]) .ms-auto { + margin-left: auto !important; +} +*[dir=rtl] .ms-auto { + margin-right: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +html:not([dir=rtl]) .pe-0 { + padding-right: 0 !important; +} +*[dir=rtl] .pe-0 { + padding-left: 0 !important; +} + +html:not([dir=rtl]) .pe-1 { + padding-right: 0.25rem !important; +} +*[dir=rtl] .pe-1 { + padding-left: 0.25rem !important; +} + +html:not([dir=rtl]) .pe-2 { + padding-right: 0.5rem !important; +} +*[dir=rtl] .pe-2 { + padding-left: 0.5rem !important; +} + +html:not([dir=rtl]) .pe-3 { + padding-right: 1rem !important; +} +*[dir=rtl] .pe-3 { + padding-left: 1rem !important; +} + +html:not([dir=rtl]) .pe-4 { + padding-right: 1.5rem !important; +} +*[dir=rtl] .pe-4 { + padding-left: 1.5rem !important; +} + +html:not([dir=rtl]) .pe-5 { + padding-right: 3rem !important; +} +*[dir=rtl] .pe-5 { + padding-left: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +html:not([dir=rtl]) .ps-0 { + padding-left: 0 !important; +} +*[dir=rtl] .ps-0 { + padding-right: 0 !important; +} + +html:not([dir=rtl]) .ps-1 { + padding-left: 0.25rem !important; +} +*[dir=rtl] .ps-1 { + padding-right: 0.25rem !important; +} + +html:not([dir=rtl]) .ps-2 { + padding-left: 0.5rem !important; +} +*[dir=rtl] .ps-2 { + padding-right: 0.5rem !important; +} + +html:not([dir=rtl]) .ps-3 { + padding-left: 1rem !important; +} +*[dir=rtl] .ps-3 { + padding-right: 1rem !important; +} + +html:not([dir=rtl]) .ps-4 { + padding-left: 1.5rem !important; +} +*[dir=rtl] .ps-4 { + padding-right: 1.5rem !important; +} + +html:not([dir=rtl]) .ps-5 { + padding-left: 3rem !important; +} +*[dir=rtl] .ps-5 { + padding-right: 3rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.font-monospace { + font-family: var(--cui-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-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; +} + +html:not([dir=rtl]) .text-start { + text-align: left !important; +} +*[dir=rtl] .text-start { + text-align: right !important; +} + +html:not([dir=rtl]) .text-end { + text-align: right !important; +} +*[dir=rtl] .text-end { + text-align: left !important; +} + +html:not([dir=rtl]) .text-center { + text-align: center !important; +} +*[dir=rtl] .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; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --cui-text-opacity: 1; + color: rgba(var(--cui-primary-rgb), var(--cui-text-opacity)) !important; +} + +.text-secondary { + --cui-text-opacity: 1; + color: rgba(var(--cui-secondary-rgb), var(--cui-text-opacity)) !important; +} + +.text-success { + --cui-text-opacity: 1; + color: rgba(var(--cui-success-rgb), var(--cui-text-opacity)) !important; +} + +.text-info { + --cui-text-opacity: 1; + color: rgba(var(--cui-info-rgb), var(--cui-text-opacity)) !important; +} + +.text-warning { + --cui-text-opacity: 1; + color: rgba(var(--cui-warning-rgb), var(--cui-text-opacity)) !important; +} + +.text-danger { + --cui-text-opacity: 1; + color: rgba(var(--cui-danger-rgb), var(--cui-text-opacity)) !important; +} + +.text-light { + --cui-text-opacity: 1; + color: rgba(var(--cui-light-rgb), var(--cui-text-opacity)) !important; +} + +.text-dark { + --cui-text-opacity: 1; + color: rgba(var(--cui-dark-rgb), var(--cui-text-opacity)) !important; +} + +.text-black { + --cui-text-opacity: 1; + color: rgba(var(--cui-black-rgb), var(--cui-text-opacity)) !important; +} + +.text-white { + --cui-text-opacity: 1; + color: rgba(var(--cui-white-rgb), var(--cui-text-opacity)) !important; +} + +.text-body { + --cui-text-opacity: 1; + color: rgba(var(--cui-body-color-rgb), var(--cui-text-opacity)) !important; +} + +.text-muted { + --cui-text-opacity: 1; + color: rgba(44, 56, 74, 0.38) !important; +} + +.text-black-50 { + --cui-text-opacity: 1; + color: rgba(0, 0, 21, 0.5) !important; +} + +.text-white-50 { + --cui-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-reset { + --cui-text-opacity: 1; + color: inherit !important; +} + +.text-high-emphasis-inverse { + --cui-text-opacity: 1; + color: rgba(255, 255, 255, 0.87) !important; +} + +.text-medium-emphasis-inverse { + --cui-text-opacity: 1; + color: rgba(255, 255, 255, 0.6) !important; +} + +.text-disabled-inverse { + --cui-text-opacity: 1; + color: rgba(255, 255, 255, 0.38) !important; +} + +.text-high-emphasis { + --cui-text-opacity: 1; + color: rgba(44, 56, 74, 0.95) !important; +} + +.text-medium-emphasis { + --cui-text-opacity: 1; + color: rgba(44, 56, 74, 0.681) !important; +} + +.text-disabled { + --cui-text-opacity: 1; + color: rgba(44, 56, 74, 0.38) !important; +} + +.text-opacity-25 { + --cui-text-opacity: 0.25; +} + +.text-opacity-50 { + --cui-text-opacity: 0.5; +} + +.text-opacity-75 { + --cui-text-opacity: 0.75; +} + +.text-opacity-100 { + --cui-text-opacity: 1; +} + +.bg-primary { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-primary-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-secondary { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-secondary-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-success { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-success-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-info { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-info-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-warning { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-warning-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-danger { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-danger-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-light { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-light-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-dark { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-dark-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-black { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-black-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-white { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-white-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-body { + --cui-bg-opacity: 1; + background-color: rgba(var(--cui-body-bg-rgb), var(--cui-bg-opacity)) !important; +} + +.bg-transparent { + --cui-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-opacity-10 { + --cui-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --cui-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --cui-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --cui-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --cui-bg-opacity: 1; +} + +.bg-gradient { + background-image: var(--cui-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(--cui-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--cui-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--cui-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--cui-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--cui-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--cui-border-radius-2xl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--cui-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--cui-border-radius) !important; + border-top-right-radius: var(--cui-border-radius) !important; +} + +html:not([dir=rtl]) .rounded-end { + border-top-right-radius: var(--cui-border-radius) !important; + border-bottom-right-radius: var(--cui-border-radius) !important; +} +*[dir=rtl] .rounded-end { + border-top-left-radius: var(--cui-border-radius) !important; + border-bottom-left-radius: var(--cui-border-radius) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--cui-border-radius) !important; + border-bottom-left-radius: var(--cui-border-radius) !important; +} + +html:not([dir=rtl]) .rounded-start { + border-bottom-left-radius: var(--cui-border-radius) !important; + border-top-left-radius: var(--cui-border-radius) !important; +} +*[dir=rtl] .rounded-start { + border-bottom-right-radius: var(--cui-border-radius) !important; + border-top-right-radius: var(--cui-border-radius) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media (min-width: 576px) { + html:not([dir=rtl]) .float-sm-start { + float: left !important; + } + *[dir=rtl] .float-sm-start { + float: right !important; + } + html:not([dir=rtl]) .float-sm-end { + float: right !important; + } + *[dir=rtl] .float-sm-end { + float: left !important; + } + html:not([dir=rtl]) .float-sm-none { + float: none !important; + } + *[dir=rtl] .float-sm-none { + float: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.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; + } + html:not([dir=rtl]) .me-sm-0 { + margin-right: 0 !important; + } + *[dir=rtl] .me-sm-0 { + margin-left: 0 !important; + } + html:not([dir=rtl]) .me-sm-1 { + margin-right: 0.25rem !important; + } + *[dir=rtl] .me-sm-1 { + margin-left: 0.25rem !important; + } + html:not([dir=rtl]) .me-sm-2 { + margin-right: 0.5rem !important; + } + *[dir=rtl] .me-sm-2 { + margin-left: 0.5rem !important; + } + html:not([dir=rtl]) .me-sm-3 { + margin-right: 1rem !important; + } + *[dir=rtl] .me-sm-3 { + margin-left: 1rem !important; + } + html:not([dir=rtl]) .me-sm-4 { + margin-right: 1.5rem !important; + } + *[dir=rtl] .me-sm-4 { + margin-left: 1.5rem !important; + } + html:not([dir=rtl]) .me-sm-5 { + margin-right: 3rem !important; + } + *[dir=rtl] .me-sm-5 { + margin-left: 3rem !important; + } + html:not([dir=rtl]) .me-sm-auto { + margin-right: auto !important; + } + *[dir=rtl] .me-sm-auto { + margin-left: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.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; + } + html:not([dir=rtl]) .ms-sm-0 { + margin-left: 0 !important; + } + *[dir=rtl] .ms-sm-0 { + margin-right: 0 !important; + } + html:not([dir=rtl]) .ms-sm-1 { + margin-left: 0.25rem !important; + } + *[dir=rtl] .ms-sm-1 { + margin-right: 0.25rem !important; + } + html:not([dir=rtl]) .ms-sm-2 { + margin-left: 0.5rem !important; + } + *[dir=rtl] .ms-sm-2 { + margin-right: 0.5rem !important; + } + html:not([dir=rtl]) .ms-sm-3 { + margin-left: 1rem !important; + } + *[dir=rtl] .ms-sm-3 { + margin-right: 1rem !important; + } + html:not([dir=rtl]) .ms-sm-4 { + margin-left: 1.5rem !important; + } + *[dir=rtl] .ms-sm-4 { + margin-right: 1.5rem !important; + } + html:not([dir=rtl]) .ms-sm-5 { + margin-left: 3rem !important; + } + *[dir=rtl] .ms-sm-5 { + margin-right: 3rem !important; + } + html:not([dir=rtl]) .ms-sm-auto { + margin-left: auto !important; + } + *[dir=rtl] .ms-sm-auto { + margin-right: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + html:not([dir=rtl]) .pe-sm-0 { + padding-right: 0 !important; + } + *[dir=rtl] .pe-sm-0 { + padding-left: 0 !important; + } + html:not([dir=rtl]) .pe-sm-1 { + padding-right: 0.25rem !important; + } + *[dir=rtl] .pe-sm-1 { + padding-left: 0.25rem !important; + } + html:not([dir=rtl]) .pe-sm-2 { + padding-right: 0.5rem !important; + } + *[dir=rtl] .pe-sm-2 { + padding-left: 0.5rem !important; + } + html:not([dir=rtl]) .pe-sm-3 { + padding-right: 1rem !important; + } + *[dir=rtl] .pe-sm-3 { + padding-left: 1rem !important; + } + html:not([dir=rtl]) .pe-sm-4 { + padding-right: 1.5rem !important; + } + *[dir=rtl] .pe-sm-4 { + padding-left: 1.5rem !important; + } + html:not([dir=rtl]) .pe-sm-5 { + padding-right: 3rem !important; + } + *[dir=rtl] .pe-sm-5 { + padding-left: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + html:not([dir=rtl]) .ps-sm-0 { + padding-left: 0 !important; + } + *[dir=rtl] .ps-sm-0 { + padding-right: 0 !important; + } + html:not([dir=rtl]) .ps-sm-1 { + padding-left: 0.25rem !important; + } + *[dir=rtl] .ps-sm-1 { + padding-right: 0.25rem !important; + } + html:not([dir=rtl]) .ps-sm-2 { + padding-left: 0.5rem !important; + } + *[dir=rtl] .ps-sm-2 { + padding-right: 0.5rem !important; + } + html:not([dir=rtl]) .ps-sm-3 { + padding-left: 1rem !important; + } + *[dir=rtl] .ps-sm-3 { + padding-right: 1rem !important; + } + html:not([dir=rtl]) .ps-sm-4 { + padding-left: 1.5rem !important; + } + *[dir=rtl] .ps-sm-4 { + padding-right: 1.5rem !important; + } + html:not([dir=rtl]) .ps-sm-5 { + padding-left: 3rem !important; + } + *[dir=rtl] .ps-sm-5 { + padding-right: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + html:not([dir=rtl]) .text-sm-start { + text-align: left !important; + } + *[dir=rtl] .text-sm-start { + text-align: right !important; + } + html:not([dir=rtl]) .text-sm-end { + text-align: right !important; + } + *[dir=rtl] .text-sm-end { + text-align: left !important; + } + html:not([dir=rtl]) .text-sm-center { + text-align: center !important; + } + *[dir=rtl] .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + html:not([dir=rtl]) .float-md-start { + float: left !important; + } + *[dir=rtl] .float-md-start { + float: right !important; + } + html:not([dir=rtl]) .float-md-end { + float: right !important; + } + *[dir=rtl] .float-md-end { + float: left !important; + } + html:not([dir=rtl]) .float-md-none { + float: none !important; + } + *[dir=rtl] .float-md-none { + float: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.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; + } + html:not([dir=rtl]) .me-md-0 { + margin-right: 0 !important; + } + *[dir=rtl] .me-md-0 { + margin-left: 0 !important; + } + html:not([dir=rtl]) .me-md-1 { + margin-right: 0.25rem !important; + } + *[dir=rtl] .me-md-1 { + margin-left: 0.25rem !important; + } + html:not([dir=rtl]) .me-md-2 { + margin-right: 0.5rem !important; + } + *[dir=rtl] .me-md-2 { + margin-left: 0.5rem !important; + } + html:not([dir=rtl]) .me-md-3 { + margin-right: 1rem !important; + } + *[dir=rtl] .me-md-3 { + margin-left: 1rem !important; + } + html:not([dir=rtl]) .me-md-4 { + margin-right: 1.5rem !important; + } + *[dir=rtl] .me-md-4 { + margin-left: 1.5rem !important; + } + html:not([dir=rtl]) .me-md-5 { + margin-right: 3rem !important; + } + *[dir=rtl] .me-md-5 { + margin-left: 3rem !important; + } + html:not([dir=rtl]) .me-md-auto { + margin-right: auto !important; + } + *[dir=rtl] .me-md-auto { + margin-left: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.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; + } + html:not([dir=rtl]) .ms-md-0 { + margin-left: 0 !important; + } + *[dir=rtl] .ms-md-0 { + margin-right: 0 !important; + } + html:not([dir=rtl]) .ms-md-1 { + margin-left: 0.25rem !important; + } + *[dir=rtl] .ms-md-1 { + margin-right: 0.25rem !important; + } + html:not([dir=rtl]) .ms-md-2 { + margin-left: 0.5rem !important; + } + *[dir=rtl] .ms-md-2 { + margin-right: 0.5rem !important; + } + html:not([dir=rtl]) .ms-md-3 { + margin-left: 1rem !important; + } + *[dir=rtl] .ms-md-3 { + margin-right: 1rem !important; + } + html:not([dir=rtl]) .ms-md-4 { + margin-left: 1.5rem !important; + } + *[dir=rtl] .ms-md-4 { + margin-right: 1.5rem !important; + } + html:not([dir=rtl]) .ms-md-5 { + margin-left: 3rem !important; + } + *[dir=rtl] .ms-md-5 { + margin-right: 3rem !important; + } + html:not([dir=rtl]) .ms-md-auto { + margin-left: auto !important; + } + *[dir=rtl] .ms-md-auto { + margin-right: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + html:not([dir=rtl]) .pe-md-0 { + padding-right: 0 !important; + } + *[dir=rtl] .pe-md-0 { + padding-left: 0 !important; + } + html:not([dir=rtl]) .pe-md-1 { + padding-right: 0.25rem !important; + } + *[dir=rtl] .pe-md-1 { + padding-left: 0.25rem !important; + } + html:not([dir=rtl]) .pe-md-2 { + padding-right: 0.5rem !important; + } + *[dir=rtl] .pe-md-2 { + padding-left: 0.5rem !important; + } + html:not([dir=rtl]) .pe-md-3 { + padding-right: 1rem !important; + } + *[dir=rtl] .pe-md-3 { + padding-left: 1rem !important; + } + html:not([dir=rtl]) .pe-md-4 { + padding-right: 1.5rem !important; + } + *[dir=rtl] .pe-md-4 { + padding-left: 1.5rem !important; + } + html:not([dir=rtl]) .pe-md-5 { + padding-right: 3rem !important; + } + *[dir=rtl] .pe-md-5 { + padding-left: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + html:not([dir=rtl]) .ps-md-0 { + padding-left: 0 !important; + } + *[dir=rtl] .ps-md-0 { + padding-right: 0 !important; + } + html:not([dir=rtl]) .ps-md-1 { + padding-left: 0.25rem !important; + } + *[dir=rtl] .ps-md-1 { + padding-right: 0.25rem !important; + } + html:not([dir=rtl]) .ps-md-2 { + padding-left: 0.5rem !important; + } + *[dir=rtl] .ps-md-2 { + padding-right: 0.5rem !important; + } + html:not([dir=rtl]) .ps-md-3 { + padding-left: 1rem !important; + } + *[dir=rtl] .ps-md-3 { + padding-right: 1rem !important; + } + html:not([dir=rtl]) .ps-md-4 { + padding-left: 1.5rem !important; + } + *[dir=rtl] .ps-md-4 { + padding-right: 1.5rem !important; + } + html:not([dir=rtl]) .ps-md-5 { + padding-left: 3rem !important; + } + *[dir=rtl] .ps-md-5 { + padding-right: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + html:not([dir=rtl]) .text-md-start { + text-align: left !important; + } + *[dir=rtl] .text-md-start { + text-align: right !important; + } + html:not([dir=rtl]) .text-md-end { + text-align: right !important; + } + *[dir=rtl] .text-md-end { + text-align: left !important; + } + html:not([dir=rtl]) .text-md-center { + text-align: center !important; + } + *[dir=rtl] .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + html:not([dir=rtl]) .float-lg-start { + float: left !important; + } + *[dir=rtl] .float-lg-start { + float: right !important; + } + html:not([dir=rtl]) .float-lg-end { + float: right !important; + } + *[dir=rtl] .float-lg-end { + float: left !important; + } + html:not([dir=rtl]) .float-lg-none { + float: none !important; + } + *[dir=rtl] .float-lg-none { + float: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.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; + } + html:not([dir=rtl]) .me-lg-0 { + margin-right: 0 !important; + } + *[dir=rtl] .me-lg-0 { + margin-left: 0 !important; + } + html:not([dir=rtl]) .me-lg-1 { + margin-right: 0.25rem !important; + } + *[dir=rtl] .me-lg-1 { + margin-left: 0.25rem !important; + } + html:not([dir=rtl]) .me-lg-2 { + margin-right: 0.5rem !important; + } + *[dir=rtl] .me-lg-2 { + margin-left: 0.5rem !important; + } + html:not([dir=rtl]) .me-lg-3 { + margin-right: 1rem !important; + } + *[dir=rtl] .me-lg-3 { + margin-left: 1rem !important; + } + html:not([dir=rtl]) .me-lg-4 { + margin-right: 1.5rem !important; + } + *[dir=rtl] .me-lg-4 { + margin-left: 1.5rem !important; + } + html:not([dir=rtl]) .me-lg-5 { + margin-right: 3rem !important; + } + *[dir=rtl] .me-lg-5 { + margin-left: 3rem !important; + } + html:not([dir=rtl]) .me-lg-auto { + margin-right: auto !important; + } + *[dir=rtl] .me-lg-auto { + margin-left: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.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; + } + html:not([dir=rtl]) .ms-lg-0 { + margin-left: 0 !important; + } + *[dir=rtl] .ms-lg-0 { + margin-right: 0 !important; + } + html:not([dir=rtl]) .ms-lg-1 { + margin-left: 0.25rem !important; + } + *[dir=rtl] .ms-lg-1 { + margin-right: 0.25rem !important; + } + html:not([dir=rtl]) .ms-lg-2 { + margin-left: 0.5rem !important; + } + *[dir=rtl] .ms-lg-2 { + margin-right: 0.5rem !important; + } + html:not([dir=rtl]) .ms-lg-3 { + margin-left: 1rem !important; + } + *[dir=rtl] .ms-lg-3 { + margin-right: 1rem !important; + } + html:not([dir=rtl]) .ms-lg-4 { + margin-left: 1.5rem !important; + } + *[dir=rtl] .ms-lg-4 { + margin-right: 1.5rem !important; + } + html:not([dir=rtl]) .ms-lg-5 { + margin-left: 3rem !important; + } + *[dir=rtl] .ms-lg-5 { + margin-right: 3rem !important; + } + html:not([dir=rtl]) .ms-lg-auto { + margin-left: auto !important; + } + *[dir=rtl] .ms-lg-auto { + margin-right: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + html:not([dir=rtl]) .pe-lg-0 { + padding-right: 0 !important; + } + *[dir=rtl] .pe-lg-0 { + padding-left: 0 !important; + } + html:not([dir=rtl]) .pe-lg-1 { + padding-right: 0.25rem !important; + } + *[dir=rtl] .pe-lg-1 { + padding-left: 0.25rem !important; + } + html:not([dir=rtl]) .pe-lg-2 { + padding-right: 0.5rem !important; + } + *[dir=rtl] .pe-lg-2 { + padding-left: 0.5rem !important; + } + html:not([dir=rtl]) .pe-lg-3 { + padding-right: 1rem !important; + } + *[dir=rtl] .pe-lg-3 { + padding-left: 1rem !important; + } + html:not([dir=rtl]) .pe-lg-4 { + padding-right: 1.5rem !important; + } + *[dir=rtl] .pe-lg-4 { + padding-left: 1.5rem !important; + } + html:not([dir=rtl]) .pe-lg-5 { + padding-right: 3rem !important; + } + *[dir=rtl] .pe-lg-5 { + padding-left: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + html:not([dir=rtl]) .ps-lg-0 { + padding-left: 0 !important; + } + *[dir=rtl] .ps-lg-0 { + padding-right: 0 !important; + } + html:not([dir=rtl]) .ps-lg-1 { + padding-left: 0.25rem !important; + } + *[dir=rtl] .ps-lg-1 { + padding-right: 0.25rem !important; + } + html:not([dir=rtl]) .ps-lg-2 { + padding-left: 0.5rem !important; + } + *[dir=rtl] .ps-lg-2 { + padding-right: 0.5rem !important; + } + html:not([dir=rtl]) .ps-lg-3 { + padding-left: 1rem !important; + } + *[dir=rtl] .ps-lg-3 { + padding-right: 1rem !important; + } + html:not([dir=rtl]) .ps-lg-4 { + padding-left: 1.5rem !important; + } + *[dir=rtl] .ps-lg-4 { + padding-right: 1.5rem !important; + } + html:not([dir=rtl]) .ps-lg-5 { + padding-left: 3rem !important; + } + *[dir=rtl] .ps-lg-5 { + padding-right: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + html:not([dir=rtl]) .text-lg-start { + text-align: left !important; + } + *[dir=rtl] .text-lg-start { + text-align: right !important; + } + html:not([dir=rtl]) .text-lg-end { + text-align: right !important; + } + *[dir=rtl] .text-lg-end { + text-align: left !important; + } + html:not([dir=rtl]) .text-lg-center { + text-align: center !important; + } + *[dir=rtl] .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + html:not([dir=rtl]) .float-xl-start { + float: left !important; + } + *[dir=rtl] .float-xl-start { + float: right !important; + } + html:not([dir=rtl]) .float-xl-end { + float: right !important; + } + *[dir=rtl] .float-xl-end { + float: left !important; + } + html:not([dir=rtl]) .float-xl-none { + float: none !important; + } + *[dir=rtl] .float-xl-none { + float: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.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; + } + html:not([dir=rtl]) .me-xl-0 { + margin-right: 0 !important; + } + *[dir=rtl] .me-xl-0 { + margin-left: 0 !important; + } + html:not([dir=rtl]) .me-xl-1 { + margin-right: 0.25rem !important; + } + *[dir=rtl] .me-xl-1 { + margin-left: 0.25rem !important; + } + html:not([dir=rtl]) .me-xl-2 { + margin-right: 0.5rem !important; + } + *[dir=rtl] .me-xl-2 { + margin-left: 0.5rem !important; + } + html:not([dir=rtl]) .me-xl-3 { + margin-right: 1rem !important; + } + *[dir=rtl] .me-xl-3 { + margin-left: 1rem !important; + } + html:not([dir=rtl]) .me-xl-4 { + margin-right: 1.5rem !important; + } + *[dir=rtl] .me-xl-4 { + margin-left: 1.5rem !important; + } + html:not([dir=rtl]) .me-xl-5 { + margin-right: 3rem !important; + } + *[dir=rtl] .me-xl-5 { + margin-left: 3rem !important; + } + html:not([dir=rtl]) .me-xl-auto { + margin-right: auto !important; + } + *[dir=rtl] .me-xl-auto { + margin-left: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.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; + } + html:not([dir=rtl]) .ms-xl-0 { + margin-left: 0 !important; + } + *[dir=rtl] .ms-xl-0 { + margin-right: 0 !important; + } + html:not([dir=rtl]) .ms-xl-1 { + margin-left: 0.25rem !important; + } + *[dir=rtl] .ms-xl-1 { + margin-right: 0.25rem !important; + } + html:not([dir=rtl]) .ms-xl-2 { + margin-left: 0.5rem !important; + } + *[dir=rtl] .ms-xl-2 { + margin-right: 0.5rem !important; + } + html:not([dir=rtl]) .ms-xl-3 { + margin-left: 1rem !important; + } + *[dir=rtl] .ms-xl-3 { + margin-right: 1rem !important; + } + html:not([dir=rtl]) .ms-xl-4 { + margin-left: 1.5rem !important; + } + *[dir=rtl] .ms-xl-4 { + margin-right: 1.5rem !important; + } + html:not([dir=rtl]) .ms-xl-5 { + margin-left: 3rem !important; + } + *[dir=rtl] .ms-xl-5 { + margin-right: 3rem !important; + } + html:not([dir=rtl]) .ms-xl-auto { + margin-left: auto !important; + } + *[dir=rtl] .ms-xl-auto { + margin-right: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + html:not([dir=rtl]) .pe-xl-0 { + padding-right: 0 !important; + } + *[dir=rtl] .pe-xl-0 { + padding-left: 0 !important; + } + html:not([dir=rtl]) .pe-xl-1 { + padding-right: 0.25rem !important; + } + *[dir=rtl] .pe-xl-1 { + padding-left: 0.25rem !important; + } + html:not([dir=rtl]) .pe-xl-2 { + padding-right: 0.5rem !important; + } + *[dir=rtl] .pe-xl-2 { + padding-left: 0.5rem !important; + } + html:not([dir=rtl]) .pe-xl-3 { + padding-right: 1rem !important; + } + *[dir=rtl] .pe-xl-3 { + padding-left: 1rem !important; + } + html:not([dir=rtl]) .pe-xl-4 { + padding-right: 1.5rem !important; + } + *[dir=rtl] .pe-xl-4 { + padding-left: 1.5rem !important; + } + html:not([dir=rtl]) .pe-xl-5 { + padding-right: 3rem !important; + } + *[dir=rtl] .pe-xl-5 { + padding-left: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + html:not([dir=rtl]) .ps-xl-0 { + padding-left: 0 !important; + } + *[dir=rtl] .ps-xl-0 { + padding-right: 0 !important; + } + html:not([dir=rtl]) .ps-xl-1 { + padding-left: 0.25rem !important; + } + *[dir=rtl] .ps-xl-1 { + padding-right: 0.25rem !important; + } + html:not([dir=rtl]) .ps-xl-2 { + padding-left: 0.5rem !important; + } + *[dir=rtl] .ps-xl-2 { + padding-right: 0.5rem !important; + } + html:not([dir=rtl]) .ps-xl-3 { + padding-left: 1rem !important; + } + *[dir=rtl] .ps-xl-3 { + padding-right: 1rem !important; + } + html:not([dir=rtl]) .ps-xl-4 { + padding-left: 1.5rem !important; + } + *[dir=rtl] .ps-xl-4 { + padding-right: 1.5rem !important; + } + html:not([dir=rtl]) .ps-xl-5 { + padding-left: 3rem !important; + } + *[dir=rtl] .ps-xl-5 { + padding-right: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + html:not([dir=rtl]) .text-xl-start { + text-align: left !important; + } + *[dir=rtl] .text-xl-start { + text-align: right !important; + } + html:not([dir=rtl]) .text-xl-end { + text-align: right !important; + } + *[dir=rtl] .text-xl-end { + text-align: left !important; + } + html:not([dir=rtl]) .text-xl-center { + text-align: center !important; + } + *[dir=rtl] .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + html:not([dir=rtl]) .float-xxl-start { + float: left !important; + } + *[dir=rtl] .float-xxl-start { + float: right !important; + } + html:not([dir=rtl]) .float-xxl-end { + float: right !important; + } + *[dir=rtl] .float-xxl-end { + float: left !important; + } + html:not([dir=rtl]) .float-xxl-none { + float: none !important; + } + *[dir=rtl] .float-xxl-none { + float: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.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; + } + html:not([dir=rtl]) .me-xxl-0 { + margin-right: 0 !important; + } + *[dir=rtl] .me-xxl-0 { + margin-left: 0 !important; + } + html:not([dir=rtl]) .me-xxl-1 { + margin-right: 0.25rem !important; + } + *[dir=rtl] .me-xxl-1 { + margin-left: 0.25rem !important; + } + html:not([dir=rtl]) .me-xxl-2 { + margin-right: 0.5rem !important; + } + *[dir=rtl] .me-xxl-2 { + margin-left: 0.5rem !important; + } + html:not([dir=rtl]) .me-xxl-3 { + margin-right: 1rem !important; + } + *[dir=rtl] .me-xxl-3 { + margin-left: 1rem !important; + } + html:not([dir=rtl]) .me-xxl-4 { + margin-right: 1.5rem !important; + } + *[dir=rtl] .me-xxl-4 { + margin-left: 1.5rem !important; + } + html:not([dir=rtl]) .me-xxl-5 { + margin-right: 3rem !important; + } + *[dir=rtl] .me-xxl-5 { + margin-left: 3rem !important; + } + html:not([dir=rtl]) .me-xxl-auto { + margin-right: auto !important; + } + *[dir=rtl] .me-xxl-auto { + margin-left: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.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; + } + html:not([dir=rtl]) .ms-xxl-0 { + margin-left: 0 !important; + } + *[dir=rtl] .ms-xxl-0 { + margin-right: 0 !important; + } + html:not([dir=rtl]) .ms-xxl-1 { + margin-left: 0.25rem !important; + } + *[dir=rtl] .ms-xxl-1 { + margin-right: 0.25rem !important; + } + html:not([dir=rtl]) .ms-xxl-2 { + margin-left: 0.5rem !important; + } + *[dir=rtl] .ms-xxl-2 { + margin-right: 0.5rem !important; + } + html:not([dir=rtl]) .ms-xxl-3 { + margin-left: 1rem !important; + } + *[dir=rtl] .ms-xxl-3 { + margin-right: 1rem !important; + } + html:not([dir=rtl]) .ms-xxl-4 { + margin-left: 1.5rem !important; + } + *[dir=rtl] .ms-xxl-4 { + margin-right: 1.5rem !important; + } + html:not([dir=rtl]) .ms-xxl-5 { + margin-left: 3rem !important; + } + *[dir=rtl] .ms-xxl-5 { + margin-right: 3rem !important; + } + html:not([dir=rtl]) .ms-xxl-auto { + margin-left: auto !important; + } + *[dir=rtl] .ms-xxl-auto { + margin-right: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + html:not([dir=rtl]) .pe-xxl-0 { + padding-right: 0 !important; + } + *[dir=rtl] .pe-xxl-0 { + padding-left: 0 !important; + } + html:not([dir=rtl]) .pe-xxl-1 { + padding-right: 0.25rem !important; + } + *[dir=rtl] .pe-xxl-1 { + padding-left: 0.25rem !important; + } + html:not([dir=rtl]) .pe-xxl-2 { + padding-right: 0.5rem !important; + } + *[dir=rtl] .pe-xxl-2 { + padding-left: 0.5rem !important; + } + html:not([dir=rtl]) .pe-xxl-3 { + padding-right: 1rem !important; + } + *[dir=rtl] .pe-xxl-3 { + padding-left: 1rem !important; + } + html:not([dir=rtl]) .pe-xxl-4 { + padding-right: 1.5rem !important; + } + *[dir=rtl] .pe-xxl-4 { + padding-left: 1.5rem !important; + } + html:not([dir=rtl]) .pe-xxl-5 { + padding-right: 3rem !important; + } + *[dir=rtl] .pe-xxl-5 { + padding-left: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + html:not([dir=rtl]) .ps-xxl-0 { + padding-left: 0 !important; + } + *[dir=rtl] .ps-xxl-0 { + padding-right: 0 !important; + } + html:not([dir=rtl]) .ps-xxl-1 { + padding-left: 0.25rem !important; + } + *[dir=rtl] .ps-xxl-1 { + padding-right: 0.25rem !important; + } + html:not([dir=rtl]) .ps-xxl-2 { + padding-left: 0.5rem !important; + } + *[dir=rtl] .ps-xxl-2 { + padding-right: 0.5rem !important; + } + html:not([dir=rtl]) .ps-xxl-3 { + padding-left: 1rem !important; + } + *[dir=rtl] .ps-xxl-3 { + padding-right: 1rem !important; + } + html:not([dir=rtl]) .ps-xxl-4 { + padding-left: 1.5rem !important; + } + *[dir=rtl] .ps-xxl-4 { + padding-right: 1.5rem !important; + } + html:not([dir=rtl]) .ps-xxl-5 { + padding-left: 3rem !important; + } + *[dir=rtl] .ps-xxl-5 { + padding-right: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + html:not([dir=rtl]) .text-xxl-start { + text-align: left !important; + } + *[dir=rtl] .text-xxl-start { + text-align: right !important; + } + html:not([dir=rtl]) .text-xxl-end { + text-align: right !important; + } + *[dir=rtl] .text-xxl-end { + text-align: left !important; + } + html:not([dir=rtl]) .text-xxl-center { + text-align: center !important; + } + *[dir=rtl] .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-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; + } +} +.wrapper { + width: 100%; + will-change: auto; + transition: padding 0.15s; +} +html:not([dir=rtl]) .wrapper { + padding-left: var(--cui-sidebar-occupy-start, 0); +} +*[dir=rtl] .wrapper { + padding-right: var(--cui-sidebar-occupy-start, 0); +} +@media (prefers-reduced-motion: reduce) { + .wrapper { + transition: none; + } +} + +/* stylelint-disable declaration-no-important, scss/selector-no-redundant-nesting-selector */ +.example:not(:first-child) { + margin-top: 1.5rem; +} +.example .tab-content { + background-color: #f9fafa !important; +} +.dark-theme .example .tab-content { + background-color: rgba(255, 255, 255, 0.1) !important; +} + +.example + p { + margin-top: 1.5rem; +} +.example .preview + p { + margin-top: 2rem; +} +.example .preview > .form-control + .form-control { + margin-top: 0.5rem; +} +.example .preview > .nav + .nav, +.example .preview > .alert + .alert, +.example .preview > .navbar + .navbar, +.example .preview > .progress + .progress { + margin-top: 1rem; +} +.example .preview > .dropdown-menu { + position: static; + display: block; +} +.example .preview > :last-child { + margin-bottom: 0; +} +.example .preview > svg + svg, +.example .preview > img + img { + margin-left: 0.5rem; +} +.example .preview > .btn, +.example .preview > .btn-group { + margin: 0.25rem 0.125rem; +} +.example .preview > .btn-toolbar + .btn-toolbar { + margin-top: 0.5rem; +} +.example .preview > .list-group { + max-width: 400px; +} +.example .preview > [class*=list-group-horizontal] { + max-width: 100%; +} +.example .preview .fixed-top, +.example .preview .sticky-top { + position: static; + margin: -1rem -1rem 1rem; +} +.example .preview .fixed-bottom { + position: static; + margin: 1rem -1rem -1rem; +} +@media (min-width: 576px) { + .example .preview .fixed-top, + .example .preview .sticky-top { + margin: -1.5rem -1.5rem 1rem; + } + .example .preview .fixed-bottom { + margin: 1rem -1.5rem -1.5rem; + } +} +.example .preview .pagination { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/wwwroot/css/style.css.map b/wwwroot/css/style.css.map new file mode 100644 index 0000000..9fc81da --- /dev/null +++ b/wwwroot/css/style.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["style.css","../../src/scss/style.scss","../../node_modules/@coreui/coreui/scss/coreui.scss","../../node_modules/@coreui/coreui/scss/_root.scss","../../node_modules/@coreui/coreui/scss/vendor/_rfs.scss","../../node_modules/@coreui/coreui/scss/_reboot.scss","../../node_modules/@coreui/coreui/scss/_variables.scss","../../node_modules/@coreui/coreui/scss/mixins/_ltr-rtl.scss","../../node_modules/@coreui/coreui/scss/mixins/_border-radius.scss","../../node_modules/@coreui/coreui/scss/_type.scss","../../node_modules/@coreui/coreui/scss/mixins/_lists.scss","../../node_modules/@coreui/coreui/scss/_images.scss","../../node_modules/@coreui/coreui/scss/mixins/_image.scss","../../node_modules/@coreui/coreui/scss/_containers.scss","../../node_modules/@coreui/coreui/scss/mixins/_container.scss","../../node_modules/@coreui/coreui/scss/mixins/_breakpoints.scss","../../node_modules/@coreui/coreui/scss/_grid.scss","../../node_modules/@coreui/coreui/scss/mixins/_grid.scss","../../node_modules/@coreui/coreui/scss/_tables.scss","../../node_modules/@coreui/coreui/scss/mixins/_table-variants.scss","../../node_modules/@coreui/coreui/scss/forms/_labels.scss","../../node_modules/@coreui/coreui/scss/forms/_form-text.scss","../../node_modules/@coreui/coreui/scss/forms/_form-control.scss","../../node_modules/@coreui/coreui/scss/mixins/_transition.scss","../../node_modules/@coreui/coreui/scss/mixins/_gradients.scss","../../node_modules/@coreui/coreui/scss/forms/_form-select.scss","../../node_modules/@coreui/coreui/scss/forms/_form-check.scss","../../node_modules/@coreui/coreui/scss/forms/_form-range.scss","../../node_modules/@coreui/coreui/scss/forms/_floating-labels.scss","../../node_modules/@coreui/coreui/scss/forms/_input-group.scss","../../node_modules/@coreui/coreui/scss/mixins/_forms.scss","../../node_modules/@coreui/coreui/scss/_buttons.scss","../../node_modules/@coreui/coreui/scss/mixins/_buttons.scss","../../node_modules/@coreui/coreui/scss/_transitions.scss","../../node_modules/@coreui/coreui/scss/_dropdown.scss","../../node_modules/@coreui/coreui/scss/mixins/_caret.scss","../../node_modules/@coreui/coreui/scss/_button-group.scss","../../node_modules/@coreui/coreui/scss/_nav.scss","../../node_modules/@coreui/coreui/scss/_navbar.scss","../../node_modules/@coreui/coreui/scss/_card.scss","../../node_modules/@coreui/coreui/scss/_accordion.scss","../../node_modules/@coreui/coreui/scss/_breadcrumb.scss","../../node_modules/@coreui/coreui/scss/_pagination.scss","../../node_modules/@coreui/coreui/scss/mixins/_pagination.scss","../../node_modules/@coreui/coreui/scss/_badge.scss","../../node_modules/@coreui/coreui/scss/_alert.scss","../../node_modules/@coreui/coreui/scss/mixins/_alert.scss","../../node_modules/@coreui/coreui/scss/_progress.scss","../../node_modules/@coreui/coreui/scss/_list-group.scss","../../node_modules/@coreui/coreui/scss/mixins/_list-group.scss","../../node_modules/@coreui/coreui/scss/_close.scss","../../node_modules/@coreui/coreui/scss/_toasts.scss","../../node_modules/@coreui/coreui/scss/_modal.scss","../../node_modules/@coreui/coreui/scss/mixins/_backdrop.scss","../../node_modules/@coreui/coreui/scss/_tooltip.scss","../../node_modules/@coreui/coreui/scss/mixins/_reset-text.scss","../../node_modules/@coreui/coreui/scss/_popover.scss","../../node_modules/@coreui/coreui/scss/_carousel.scss","../../node_modules/@coreui/coreui/scss/mixins/_clearfix.scss","../../node_modules/@coreui/coreui/scss/_spinners.scss","../../node_modules/@coreui/coreui/scss/_offcanvas.scss","../../node_modules/@coreui/coreui/scss/_placeholders.scss","../../node_modules/@coreui/coreui/scss/_avatar.scss","../../node_modules/@coreui/coreui/scss/mixins/_avatar.scss","../../node_modules/@coreui/coreui/scss/_callout.scss","../../node_modules/@coreui/coreui/scss/_footer.scss","../../node_modules/@coreui/coreui/scss/_header.scss","../../node_modules/@coreui/coreui/scss/_icon.scss","../../node_modules/@coreui/coreui/scss/mixins/_icon.scss","../../node_modules/@coreui/coreui/scss/sidebar/_sidebar.scss","../../node_modules/@coreui/coreui/scss/sidebar/_sidebar-nav.scss","../../node_modules/@coreui/coreui/scss/sidebar/_sidebar-narrow.scss","../../node_modules/@coreui/coreui/scss/_subheader.scss","../../node_modules/@coreui/coreui/scss/helpers/_color-bg.scss","../../node_modules/@coreui/coreui/scss/helpers/_colored-links.scss","../../node_modules/@coreui/coreui/scss/helpers/_ratio.scss","../../node_modules/@coreui/coreui/scss/helpers/_position.scss","../../node_modules/@coreui/coreui/scss/helpers/_stacks.scss","../../node_modules/@coreui/coreui/scss/helpers/_visually-hidden.scss","../../node_modules/@coreui/coreui/scss/mixins/_visually-hidden.scss","../../node_modules/@coreui/coreui/scss/helpers/_stretched-link.scss","../../node_modules/@coreui/coreui/scss/helpers/_text-truncation.scss","../../node_modules/@coreui/coreui/scss/mixins/_text-truncate.scss","../../node_modules/@coreui/coreui/scss/helpers/_vr.scss","../../node_modules/@coreui/coreui/scss/mixins/_utilities.scss","../../node_modules/@coreui/coreui/scss/utilities/_api.scss","../../src/scss/_layout.scss","../../src/scss/examples.scss"],"names":[],"mappings":"AAAA,gBAAgB;ACGG,wDAAA;AACA,wDAAA;ACJnB;;;;;;EAAA;ACAA;EAQI,mBAAA;EAAA,qBAAA;EAAA,qBAAA;EAAA,mBAAA;EAAA,kBAAA;EAAA,qBAAA;EAAA,qBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,mBAAA;EAAA,oBAAA;EAAA,iBAAA;EAAA,mBAAA;EAAA,wBAAA;EAIA,uBAAA;EAAA,uBAAA;EAAA,uBAAA;EAAA,uBAAA;EAAA,uBAAA;EAAA,uBAAA;EAAA,uBAAA;EAAA,uBAAA;EAAA,uBAAA;EAIA,sBAAA;EAAA,wBAAA;EAAA,sBAAA;EAAA,gBAAA;EAAA,sBAAA;EAAA,qBAAA;EAAA,oBAAA;EAAA,mBAAA;EAIA,8BAAA;EAAA,kCAAA;EAAA,8BAAA;EAAA,4BAAA;EAAA,+BAAA;EAAA,6BAAA;EAAA,8BAAA;EAAA,2BAAA;EAGF,8BAAA;EACA,yBAAA;EACA,gCAAA;EACA,gCAAA;EAMA,sNAAA;EACA,0GAAA;EACA,0FAAA;EAOA,kDAAA;EC4PI,0BALI;EDrPR,2BAAA;EACA,2BAAA;EACA,wCAAA;EAIA,mBAAA;EAIA,uBAAA;EACA,yBAAA;EACA,2BAAA;EACA,qDAAA;EAEA,6BAAA;EACA,+BAAA;EACA,8BAAA;EACA,4BAAA;EACA,6BAAA;EACA,+BAAA;EAGA,0BAAA;EACA,yBAAA;EACA,+BAAA;EAEA,yBAAA;EAEA,2BAAA;EAGE,sBAAA;EAAA,0BAAA;EAAA,0BAAA;EAAA,0BAAA;EAAA,2BAAA;EAAA,4BAAA;EAGF,2BAAA;AHOF;;AKtEA;;;EAGE,sBAAA;ALyEF;;AK1DI;EANJ;IAOM,uBAAA;EL8DJ;AACF;;AKjDA;EACE,SAAA;EACA,wCAAA;EDmPI,oCALI;EC5OR,wCAAA;EACA,wCAAA;EACA,4BAAA;EACA,sCAAA;EACA,oCAAA;EACA,8BAAA;EACA,8CAAA;ALoDF;;AK3CA;EACE,cAAA;EACA,cC4oB4B;ED3oB5B,SAAA;EACA,qBAAA;EACA,aCkpB4B;ANpmB9B;;AKpCA;EACE,aAAA;EACA,qBC8kB4B;ED3kB5B,gBC8kB4B;ED7kB5B,gBC8kB4B;ED7kB5B,+BAAA;ALqCF;;AKlCA;ED6MQ,iCAAA;AJvKR;AIKI;EC3CJ;IDoNQ,iBAAA;EJ1KN;AACF;;AKtCA;EDwMQ,iCAAA;AJ9JR;AIJI;ECtCJ;ID+MQ,eAAA;EJjKN;AACF;;AK1CA;EDmMQ,+BAAA;AJrJR;AIbI;ECjCJ;ID0MQ,kBAAA;EJxJN;AACF;;AK9CA;ED8LQ,iCAAA;AJ5IR;AItBI;EC5BJ;IDqMQ,iBAAA;EJ/IN;AACF;;AKlDA;EDqLM,kBALI;AJ1HV;;AKjDA;EDgLM,eALI;AJtHV;;AK1CA;EACE,aAAA;EACA,mBCwX0B;AN3U5B;;AKnCA;EACE,yCAAA;EAAA,iCAAA;EACA,YAAA;EACA,sCAAA;EAAA,8BAAA;ALsCF;;AKhCA;EACE,mBAAA;EACA,kBAAA;EACA,oBAAA;ALmCF;;AKxBA;;;EAGE,aAAA;EACA,mBAAA;AL2BF;;AKxBA;;;;EAIE,gBAAA;AL2BF;;AKxBA;EACE,gBCmd4B;ANxb9B;;AKtBA;EACE,qBAAA;ALyBF;AO/MI;EAgCE,cAAA;APkLN;AO1MI;EA+BI,eAAA;AP8KR;;AKxBA;EACE,gBAAA;AL2BF;;AKnBA;;EAEE,mBC4b4B;ANta9B;;AKdA;EDmFM,kBALI;AJ5DV;;AKXA;EACE,iBC0gB4B;EDzgB5B,yCAAA;ALcF;;AKLA;;EAEE,kBAAA;ED+DI,iBALI;ECxDR,cAAA;EACA,wBAAA;ALQF;;AKLA;EAAM,eAAA;ALSN;;AKRA;EAAM,WAAA;ALYN;;AKPA;EACE,4BAAA;EACA,0BC0PwC;ANhP1C;AKRE;EACE,kCAAA;ALUJ;;AKCE;EAEE,cAAA;EACA,qBAAA;ALCJ;;AKMA;;;;EAIE,sCCuW4B;EFlVxB,cALI;AJlBV;;AKUA;EACE,cAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;EDSI,kBALI;ECFR,kCAAA;ALPF;AKUE;EDII,kBALI;ECGN,cAAA;EACA,kBAAA;ALRJ;;AKYA;EDHM,kBALI;ECUR,4BAAA;EACA,qBAAA;ALTF;AKYE;EACE,cAAA;ALVJ;;AKcA;EACE,2BAAA;EDfI,kBALI;ECsBR,+CAAA;EACA,0DAAA;EGpSE,sBAAA;AR0RJ;AKaE;EACE,UAAA;EDtBE,cALI;AJiBV;;AKqBA;EACE,gBAAA;ALlBF;;AKwBA;;EAEE,sBAAA;ALrBF;;AK6BA;EACE,oBAAA;EACA,yBAAA;AL1BF;;AK6BA;EACE,mBCwZ4B;EDvZ5B,sBCuZ4B;EDtZ5B,6DAAA;EACA,gBAAA;AL1BF;;AKiCA;EACE,gBCwZ4B;EDvZ5B,mBAAA;EACA,gCAAA;AL9BF;;AKiCA;;;;;;EAME,qBAAA;EACA,mBAAA;EACA,eAAA;AL9BF;;AKsCA;EACE,qBAAA;ALnCF;;AKyCA;EAEE,gBAAA;ALvCF;;AK+CA;EACE,UAAA;AL5CF;;AKiDA;;;;;EAKE,SAAA;EACA,oBAAA;EDrHI,kBALI;EC4HR,oBAAA;AL9CF;;AKkDA;;EAEE,oBAAA;AL/CF;;AKoDA;EACE,eAAA;ALjDF;;AKoDA;EAGE,iBAAA;ALnDF;AKsDE;EACE,UAAA;ALpDJ;;AK2DA;EACE,wBAAA;ALxDF;;AKgEA;;;;EAIE,0BAAA;AL7DF;AKgEI;;;;EACE,eAAA;AL3DN;;AKkEA;EACE,UAAA;EACA,kBAAA;AL/DF;;AKoEA;EACE,gBAAA;ALjEF;;AK2EA;EACE,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;ALxEF;;AKgFA;EAEE,WAAA;EACA,UAAA;EACA,qBCyO4B;EFnbtB,iCAAA;EC6MN,oBAAA;AL/EF;AOraI;EAgCE,WAAA;APwYN;AOhaI;EA+BI,YAAA;APoYR;AItSI;ECwWJ;ID/LQ,iBAAA;EJiIN;AACF;AKsEE;EACE,WAAA;ALpEJ;;AK2EA;;;;;;;EAOE,UAAA;ALxEF;;AK2EA;EACE,YAAA;ALxEF;;AKiFA;EACE,oBAAA;EACA,6BAAA;AL9EF;;AKqFE;;;;EAIE,cAAA;ALlFJ;;AKyFA;EACE,wBAAA;ALtFF;;AK2FA;EACE,UAAA;ALxFF;;AK+FA;EACE,aAAA;EACA,0BAAA;AL5FF;;AK0FA;EACE,aAAA;EACA,0BAAA;AL5FF;;AKiGA;EACE,qBAAA;AL9FF;;AKmGA;EACE,SAAA;ALhGF;;AKuGA;EACE,kBAAA;EACA,eAAA;ALpGF;;AK4GA;EACE,wBAAA;ALzGF;;AKiHA;EACE,wBAAA;AL9GF;;ASrdA;ELyQM,kBALI;EKlQR,gBH4pB8B;ANpMhC;;ASndE;ELsQM,iCAAA;EKpQJ,gBH+oBkB;EG9oBlB,gBHgoB0B;AN1K9B;AIrXI;EKpGF;IL6QM,eAAA;EJgNN;AACF;;AS9dE;ELsQM,iCAAA;EKpQJ,gBH+oBkB;EG9oBlB,gBHgoB0B;AN/J9B;AIhYI;EKpGF;IL6QM,iBAAA;EJ2NN;AACF;;ASzeE;ELsQM,iCAAA;EKpQJ,gBH+oBkB;EG9oBlB,gBHgoB0B;ANpJ9B;AI3YI;EKpGF;IL6QM,eAAA;EJsON;AACF;;ASpfE;ELsQM,iCAAA;EKpQJ,gBH+oBkB;EG9oBlB,gBHgoB0B;ANzI9B;AItZI;EKpGF;IL6QM,iBAAA;EJiPN;AACF;;AS/fE;ELsQM,iCAAA;EKpQJ,gBH+oBkB;EG9oBlB,gBHgoB0B;AN9H9B;AIjaI;EKpGF;IL6QM,eAAA;EJ4PN;AACF;;AS1gBE;ELsQM,iCAAA;EKpQJ,gBH+oBkB;EG9oBlB,gBHgoB0B;ANnH9B;AI5aI;EKpGF;IL6QM,iBAAA;EJuQN;AACF;;AS/fA;ECpDE,gBAAA;AVujBF;AO1jBI;EAgCE,eAAA;AP6hBN;AOrjBI;EA+BI,gBAAA;APyhBR;;ASpgBA;ECzDE,gBAAA;AVikBF;AOpkBI;EAgCE,eAAA;APuiBN;AO/jBI;EA+BI,gBAAA;APmiBR;;AS3gBA;EACE,qBAAA;AT8gBF;AO9kBI;EAgCE,oBAAA;APijBN;AOzkBI;EA+BI,mBAAA;AP6iBR;;ASvgBA;ELsNM,kBALI;EK/MR,yBAAA;AT0gBF;;AStgBA;EACE,mBHoXO;EFrKH,kBALI;AJgUV;ASvgBE;EACE,gBAAA;ATygBJ;;ASrgBA;EACE,iBAAA;EACA,mBH0WO;EFrKH,kBALI;EK9LR,cHnFU;AN2lBZ;AStgBE;EACE,aAAA;ATwgBJ;;AWtmBA;ECIE,eAAA;EAGA,YAAA;AZomBF;;AWrmBA;EACE,gBLqtDkC;EKptDlC,+CAAA;EACA,4EAAA;EHGE,uBAAA;EIRF,eAAA;EAGA,YAAA;AZ6mBF;;AW/lBA;EAEE,qBAAA;AXimBF;;AW9lBA;EACE,qBAAA;EACA,cAAA;AXimBF;;AW9lBA;EP+PM,kBALI;EOxPR,+CAAA;AXimBF;;AanoBE;;;;;;;ECHA,sBAAA;EACA,iBAAA;EACA,WAAA;EACA,8CAAA;EACA,6CAAA;EACA,kBAAA;EACA,iBAAA;AdgpBF;;Ae7kBI;EFzDE;IACE,gBPkgBe;ENwIrB;AACF;AenlBI;EFzDE;IACE,gBPkgBe;EN6IrB;AACF;AexlBI;EFzDE;IACE,gBPkgBe;ENkJrB;AACF;Ae7lBI;EFzDE;IACE,iBPkgBe;ENuJrB;AACF;AelmBI;EFzDE;IACE,iBPkgBe;EN4JrB;AACF;AgB9qBE;ECAA,sBAAA;EACA,iBAAA;EACA,aAAA;EACA,eAAA;EAEA,0CAAA;EACA,8CAAA;EACA,6CAAA;AjBgrBF;AgBprBI;ECaF,cAAA;EACA,WAAA;EACA,eAAA;EACA,8CAAA;EACA,6CAAA;EACA,+BAAA;AjB0qBF;;AiB3nBM;EACE,YAAA;AjB8nBR;;AiB3nBM;EApCJ,cAAA;EACA,WAAA;AjBmqBF;;AiBrpBE;EACE,cAAA;EACA,WAAA;AjBwpBJ;;AiB1pBE;EACE,cAAA;EACA,UAAA;AjB6pBJ;;AiB/pBE;EACE,cAAA;EACA,qBAAA;AjBkqBJ;;AiBpqBE;EACE,cAAA;EACA,UAAA;AjBuqBJ;;AiBzqBE;EACE,cAAA;EACA,UAAA;AjB4qBJ;;AiB9qBE;EACE,cAAA;EACA,qBAAA;AjBirBJ;;AiBlpBM;EAhDJ,cAAA;EACA,WAAA;AjBssBF;;AiBjpBU;EAhEN,cAAA;EACA,kBAAA;AjBqtBJ;;AiBtpBU;EAhEN,cAAA;EACA,mBAAA;AjB0tBJ;;AiB3pBU;EAhEN,cAAA;EACA,UAAA;AjB+tBJ;;AiBhqBU;EAhEN,cAAA;EACA,mBAAA;AjBouBJ;;AiBrqBU;EAhEN,cAAA;EACA,mBAAA;AjByuBJ;;AiB1qBU;EAhEN,cAAA;EACA,UAAA;AjB8uBJ;;AiB/qBU;EAhEN,cAAA;EACA,mBAAA;AjBmvBJ;;AiBprBU;EAhEN,cAAA;EACA,mBAAA;AjBwvBJ;;AiBzrBU;EAhEN,cAAA;EACA,UAAA;AjB6vBJ;;AiB9rBU;EAhEN,cAAA;EACA,mBAAA;AjBkwBJ;;AiBnsBU;EAhEN,cAAA;EACA,mBAAA;AjBuwBJ;;AiBxsBU;EAhEN,cAAA;EACA,WAAA;AjB4wBJ;;AO1yBI;EAgCE,wBAAA;AP8wBN;AOtyBI;EA+BI,yBAAA;AP0wBR;;AOjzBI;EAgCE,yBAAA;APqxBN;AO7yBI;EA+BI,0BAAA;APixBR;;AOxzBI;EAgCE,gBAAA;AP4xBN;AOpzBI;EA+BI,iBAAA;APwxBR;;AO/zBI;EAgCE,yBAAA;APmyBN;AO3zBI;EA+BI,0BAAA;AP+xBR;;AOt0BI;EAgCE,yBAAA;AP0yBN;AOl0BI;EA+BI,0BAAA;APsyBR;;AO70BI;EAgCE,gBAAA;APizBN;AOz0BI;EA+BI,iBAAA;AP6yBR;;AOp1BI;EAgCE,yBAAA;APwzBN;AOh1BI;EA+BI,0BAAA;APozBR;;AO31BI;EAgCE,yBAAA;AP+zBN;AOv1BI;EA+BI,0BAAA;AP2zBR;;AOl2BI;EAgCE,gBAAA;APs0BN;AO91BI;EA+BI,iBAAA;APk0BR;;AOz2BI;EAgCE,yBAAA;AP60BN;AOr2BI;EA+BI,0BAAA;APy0BR;;AOh3BI;EAgCE,yBAAA;APo1BN;AO52BI;EA+BI,0BAAA;APg1BR;;AiBvwBQ;;EAEE,iBAAA;AjB0wBV;;AiBvwBQ;;EAEE,iBAAA;AjB0wBV;;AiBjxBQ;;EAEE,uBAAA;AjBoxBV;;AiBjxBQ;;EAEE,uBAAA;AjBoxBV;;AiB3xBQ;;EAEE,sBAAA;AjB8xBV;;AiB3xBQ;;EAEE,sBAAA;AjB8xBV;;AiBryBQ;;EAEE,oBAAA;AjBwyBV;;AiBryBQ;;EAEE,oBAAA;AjBwyBV;;AiB/yBQ;;EAEE,sBAAA;AjBkzBV;;AiB/yBQ;;EAEE,sBAAA;AjBkzBV;;AiBzzBQ;;EAEE,oBAAA;AjB4zBV;;AiBzzBQ;;EAEE,oBAAA;AjB4zBV;;Aez2BI;EEHE;IACE,YAAA;EjBg3BN;EiB72BI;IApCJ,cAAA;IACA,WAAA;EjBo5BA;EiBt4BA;IACE,cAAA;IACA,WAAA;EjBw4BF;EiB14BA;IACE,cAAA;IACA,UAAA;EjB44BF;EiB94BA;IACE,cAAA;IACA,qBAAA;EjBg5BF;EiBl5BA;IACE,cAAA;IACA,UAAA;EjBo5BF;EiBt5BA;IACE,cAAA;IACA,UAAA;EjBw5BF;EiB15BA;IACE,cAAA;IACA,qBAAA;EjB45BF;EiB73BI;IAhDJ,cAAA;IACA,WAAA;EjBg7BA;EiB33BQ;IAhEN,cAAA;IACA,kBAAA;EjB87BF;EiB/3BQ;IAhEN,cAAA;IACA,mBAAA;EjBk8BF;EiBn4BQ;IAhEN,cAAA;IACA,UAAA;EjBs8BF;EiBv4BQ;IAhEN,cAAA;IACA,mBAAA;EjB08BF;EiB34BQ;IAhEN,cAAA;IACA,mBAAA;EjB88BF;EiB/4BQ;IAhEN,cAAA;IACA,UAAA;EjBk9BF;EiBn5BQ;IAhEN,cAAA;IACA,mBAAA;EjBs9BF;EiBv5BQ;IAhEN,cAAA;IACA,mBAAA;EjB09BF;EiB35BQ;IAhEN,cAAA;IACA,UAAA;EjB89BF;EiB/5BQ;IAhEN,cAAA;IACA,mBAAA;EjBk+BF;EiBn6BQ;IAhEN,cAAA;IACA,mBAAA;EjBs+BF;EiBv6BQ;IAhEN,cAAA;IACA,WAAA;EjB0+BF;EOxgCE;IAgCE,cAAA;EP2+BJ;EOngCE;IA+BI,eAAA;EPu+BN;EO9gCE;IAgCE,wBAAA;EPi/BJ;EOzgCE;IA+BI,yBAAA;EP6+BN;EOphCE;IAgCE,yBAAA;EPu/BJ;EO/gCE;IA+BI,0BAAA;EPm/BN;EO1hCE;IAgCE,gBAAA;EP6/BJ;EOrhCE;IA+BI,iBAAA;EPy/BN;EOhiCE;IAgCE,yBAAA;EPmgCJ;EO3hCE;IA+BI,0BAAA;EP+/BN;EOtiCE;IAgCE,yBAAA;EPygCJ;EOjiCE;IA+BI,0BAAA;EPqgCN;EO5iCE;IAgCE,gBAAA;EP+gCJ;EOviCE;IA+BI,iBAAA;EP2gCN;EOljCE;IAgCE,yBAAA;EPqhCJ;EO7iCE;IA+BI,0BAAA;EPihCN;EOxjCE;IAgCE,yBAAA;EP2hCJ;EOnjCE;IA+BI,0BAAA;EPuhCN;EO9jCE;IAgCE,gBAAA;EPiiCJ;EOzjCE;IA+BI,iBAAA;EP6hCN;EOpkCE;IAgCE,yBAAA;EPuiCJ;EO/jCE;IA+BI,0BAAA;EPmiCN;EO1kCE;IAgCE,yBAAA;EP6iCJ;EOrkCE;IA+BI,0BAAA;EPyiCN;EiBh+BM;;IAEE,iBAAA;EjBk+BR;EiB/9BM;;IAEE,iBAAA;EjBi+BR;EiBx+BM;;IAEE,uBAAA;EjB0+BR;EiBv+BM;;IAEE,uBAAA;EjBy+BR;EiBh/BM;;IAEE,sBAAA;EjBk/BR;EiB/+BM;;IAEE,sBAAA;EjBi/BR;EiBx/BM;;IAEE,oBAAA;EjB0/BR;EiBv/BM;;IAEE,oBAAA;EjBy/BR;EiBhgCM;;IAEE,sBAAA;EjBkgCR;EiB//BM;;IAEE,sBAAA;EjBigCR;EiBxgCM;;IAEE,oBAAA;EjB0gCR;EiBvgCM;;IAEE,oBAAA;EjBygCR;AACF;AevjCI;EEHE;IACE,YAAA;EjB6jCN;EiB1jCI;IApCJ,cAAA;IACA,WAAA;EjBimCA;EiBnlCA;IACE,cAAA;IACA,WAAA;EjBqlCF;EiBvlCA;IACE,cAAA;IACA,UAAA;EjBylCF;EiB3lCA;IACE,cAAA;IACA,qBAAA;EjB6lCF;EiB/lCA;IACE,cAAA;IACA,UAAA;EjBimCF;EiBnmCA;IACE,cAAA;IACA,UAAA;EjBqmCF;EiBvmCA;IACE,cAAA;IACA,qBAAA;EjBymCF;EiB1kCI;IAhDJ,cAAA;IACA,WAAA;EjB6nCA;EiBxkCQ;IAhEN,cAAA;IACA,kBAAA;EjB2oCF;EiB5kCQ;IAhEN,cAAA;IACA,mBAAA;EjB+oCF;EiBhlCQ;IAhEN,cAAA;IACA,UAAA;EjBmpCF;EiBplCQ;IAhEN,cAAA;IACA,mBAAA;EjBupCF;EiBxlCQ;IAhEN,cAAA;IACA,mBAAA;EjB2pCF;EiB5lCQ;IAhEN,cAAA;IACA,UAAA;EjB+pCF;EiBhmCQ;IAhEN,cAAA;IACA,mBAAA;EjBmqCF;EiBpmCQ;IAhEN,cAAA;IACA,mBAAA;EjBuqCF;EiBxmCQ;IAhEN,cAAA;IACA,UAAA;EjB2qCF;EiB5mCQ;IAhEN,cAAA;IACA,mBAAA;EjB+qCF;EiBhnCQ;IAhEN,cAAA;IACA,mBAAA;EjBmrCF;EiBpnCQ;IAhEN,cAAA;IACA,WAAA;EjBurCF;EOrtCE;IAgCE,cAAA;EPwrCJ;EOhtCE;IA+BI,eAAA;EPorCN;EO3tCE;IAgCE,wBAAA;EP8rCJ;EOttCE;IA+BI,yBAAA;EP0rCN;EOjuCE;IAgCE,yBAAA;EPosCJ;EO5tCE;IA+BI,0BAAA;EPgsCN;EOvuCE;IAgCE,gBAAA;EP0sCJ;EOluCE;IA+BI,iBAAA;EPssCN;EO7uCE;IAgCE,yBAAA;EPgtCJ;EOxuCE;IA+BI,0BAAA;EP4sCN;EOnvCE;IAgCE,yBAAA;EPstCJ;EO9uCE;IA+BI,0BAAA;EPktCN;EOzvCE;IAgCE,gBAAA;EP4tCJ;EOpvCE;IA+BI,iBAAA;EPwtCN;EO/vCE;IAgCE,yBAAA;EPkuCJ;EO1vCE;IA+BI,0BAAA;EP8tCN;EOrwCE;IAgCE,yBAAA;EPwuCJ;EOhwCE;IA+BI,0BAAA;EPouCN;EO3wCE;IAgCE,gBAAA;EP8uCJ;EOtwCE;IA+BI,iBAAA;EP0uCN;EOjxCE;IAgCE,yBAAA;EPovCJ;EO5wCE;IA+BI,0BAAA;EPgvCN;EOvxCE;IAgCE,yBAAA;EP0vCJ;EOlxCE;IA+BI,0BAAA;EPsvCN;EiB7qCM;;IAEE,iBAAA;EjB+qCR;EiB5qCM;;IAEE,iBAAA;EjB8qCR;EiBrrCM;;IAEE,uBAAA;EjBurCR;EiBprCM;;IAEE,uBAAA;EjBsrCR;EiB7rCM;;IAEE,sBAAA;EjB+rCR;EiB5rCM;;IAEE,sBAAA;EjB8rCR;EiBrsCM;;IAEE,oBAAA;EjBusCR;EiBpsCM;;IAEE,oBAAA;EjBssCR;EiB7sCM;;IAEE,sBAAA;EjB+sCR;EiB5sCM;;IAEE,sBAAA;EjB8sCR;EiBrtCM;;IAEE,oBAAA;EjButCR;EiBptCM;;IAEE,oBAAA;EjBstCR;AACF;AepwCI;EEHE;IACE,YAAA;EjB0wCN;EiBvwCI;IApCJ,cAAA;IACA,WAAA;EjB8yCA;EiBhyCA;IACE,cAAA;IACA,WAAA;EjBkyCF;EiBpyCA;IACE,cAAA;IACA,UAAA;EjBsyCF;EiBxyCA;IACE,cAAA;IACA,qBAAA;EjB0yCF;EiB5yCA;IACE,cAAA;IACA,UAAA;EjB8yCF;EiBhzCA;IACE,cAAA;IACA,UAAA;EjBkzCF;EiBpzCA;IACE,cAAA;IACA,qBAAA;EjBszCF;EiBvxCI;IAhDJ,cAAA;IACA,WAAA;EjB00CA;EiBrxCQ;IAhEN,cAAA;IACA,kBAAA;EjBw1CF;EiBzxCQ;IAhEN,cAAA;IACA,mBAAA;EjB41CF;EiB7xCQ;IAhEN,cAAA;IACA,UAAA;EjBg2CF;EiBjyCQ;IAhEN,cAAA;IACA,mBAAA;EjBo2CF;EiBryCQ;IAhEN,cAAA;IACA,mBAAA;EjBw2CF;EiBzyCQ;IAhEN,cAAA;IACA,UAAA;EjB42CF;EiB7yCQ;IAhEN,cAAA;IACA,mBAAA;EjBg3CF;EiBjzCQ;IAhEN,cAAA;IACA,mBAAA;EjBo3CF;EiBrzCQ;IAhEN,cAAA;IACA,UAAA;EjBw3CF;EiBzzCQ;IAhEN,cAAA;IACA,mBAAA;EjB43CF;EiB7zCQ;IAhEN,cAAA;IACA,mBAAA;EjBg4CF;EiBj0CQ;IAhEN,cAAA;IACA,WAAA;EjBo4CF;EOl6CE;IAgCE,cAAA;EPq4CJ;EO75CE;IA+BI,eAAA;EPi4CN;EOx6CE;IAgCE,wBAAA;EP24CJ;EOn6CE;IA+BI,yBAAA;EPu4CN;EO96CE;IAgCE,yBAAA;EPi5CJ;EOz6CE;IA+BI,0BAAA;EP64CN;EOp7CE;IAgCE,gBAAA;EPu5CJ;EO/6CE;IA+BI,iBAAA;EPm5CN;EO17CE;IAgCE,yBAAA;EP65CJ;EOr7CE;IA+BI,0BAAA;EPy5CN;EOh8CE;IAgCE,yBAAA;EPm6CJ;EO37CE;IA+BI,0BAAA;EP+5CN;EOt8CE;IAgCE,gBAAA;EPy6CJ;EOj8CE;IA+BI,iBAAA;EPq6CN;EO58CE;IAgCE,yBAAA;EP+6CJ;EOv8CE;IA+BI,0BAAA;EP26CN;EOl9CE;IAgCE,yBAAA;EPq7CJ;EO78CE;IA+BI,0BAAA;EPi7CN;EOx9CE;IAgCE,gBAAA;EP27CJ;EOn9CE;IA+BI,iBAAA;EPu7CN;EO99CE;IAgCE,yBAAA;EPi8CJ;EOz9CE;IA+BI,0BAAA;EP67CN;EOp+CE;IAgCE,yBAAA;EPu8CJ;EO/9CE;IA+BI,0BAAA;EPm8CN;EiB13CM;;IAEE,iBAAA;EjB43CR;EiBz3CM;;IAEE,iBAAA;EjB23CR;EiBl4CM;;IAEE,uBAAA;EjBo4CR;EiBj4CM;;IAEE,uBAAA;EjBm4CR;EiB14CM;;IAEE,sBAAA;EjB44CR;EiBz4CM;;IAEE,sBAAA;EjB24CR;EiBl5CM;;IAEE,oBAAA;EjBo5CR;EiBj5CM;;IAEE,oBAAA;EjBm5CR;EiB15CM;;IAEE,sBAAA;EjB45CR;EiBz5CM;;IAEE,sBAAA;EjB25CR;EiBl6CM;;IAEE,oBAAA;EjBo6CR;EiBj6CM;;IAEE,oBAAA;EjBm6CR;AACF;Aej9CI;EEHE;IACE,YAAA;EjBu9CN;EiBp9CI;IApCJ,cAAA;IACA,WAAA;EjB2/CA;EiB7+CA;IACE,cAAA;IACA,WAAA;EjB++CF;EiBj/CA;IACE,cAAA;IACA,UAAA;EjBm/CF;EiBr/CA;IACE,cAAA;IACA,qBAAA;EjBu/CF;EiBz/CA;IACE,cAAA;IACA,UAAA;EjB2/CF;EiB7/CA;IACE,cAAA;IACA,UAAA;EjB+/CF;EiBjgDA;IACE,cAAA;IACA,qBAAA;EjBmgDF;EiBp+CI;IAhDJ,cAAA;IACA,WAAA;EjBuhDA;EiBl+CQ;IAhEN,cAAA;IACA,kBAAA;EjBqiDF;EiBt+CQ;IAhEN,cAAA;IACA,mBAAA;EjByiDF;EiB1+CQ;IAhEN,cAAA;IACA,UAAA;EjB6iDF;EiB9+CQ;IAhEN,cAAA;IACA,mBAAA;EjBijDF;EiBl/CQ;IAhEN,cAAA;IACA,mBAAA;EjBqjDF;EiBt/CQ;IAhEN,cAAA;IACA,UAAA;EjByjDF;EiB1/CQ;IAhEN,cAAA;IACA,mBAAA;EjB6jDF;EiB9/CQ;IAhEN,cAAA;IACA,mBAAA;EjBikDF;EiBlgDQ;IAhEN,cAAA;IACA,UAAA;EjBqkDF;EiBtgDQ;IAhEN,cAAA;IACA,mBAAA;EjBykDF;EiB1gDQ;IAhEN,cAAA;IACA,mBAAA;EjB6kDF;EiB9gDQ;IAhEN,cAAA;IACA,WAAA;EjBilDF;EO/mDE;IAgCE,cAAA;EPklDJ;EO1mDE;IA+BI,eAAA;EP8kDN;EOrnDE;IAgCE,wBAAA;EPwlDJ;EOhnDE;IA+BI,yBAAA;EPolDN;EO3nDE;IAgCE,yBAAA;EP8lDJ;EOtnDE;IA+BI,0BAAA;EP0lDN;EOjoDE;IAgCE,gBAAA;EPomDJ;EO5nDE;IA+BI,iBAAA;EPgmDN;EOvoDE;IAgCE,yBAAA;EP0mDJ;EOloDE;IA+BI,0BAAA;EPsmDN;EO7oDE;IAgCE,yBAAA;EPgnDJ;EOxoDE;IA+BI,0BAAA;EP4mDN;EOnpDE;IAgCE,gBAAA;EPsnDJ;EO9oDE;IA+BI,iBAAA;EPknDN;EOzpDE;IAgCE,yBAAA;EP4nDJ;EOppDE;IA+BI,0BAAA;EPwnDN;EO/pDE;IAgCE,yBAAA;EPkoDJ;EO1pDE;IA+BI,0BAAA;EP8nDN;EOrqDE;IAgCE,gBAAA;EPwoDJ;EOhqDE;IA+BI,iBAAA;EPooDN;EO3qDE;IAgCE,yBAAA;EP8oDJ;EOtqDE;IA+BI,0BAAA;EP0oDN;EOjrDE;IAgCE,yBAAA;EPopDJ;EO5qDE;IA+BI,0BAAA;EPgpDN;EiBvkDM;;IAEE,iBAAA;EjBykDR;EiBtkDM;;IAEE,iBAAA;EjBwkDR;EiB/kDM;;IAEE,uBAAA;EjBilDR;EiB9kDM;;IAEE,uBAAA;EjBglDR;EiBvlDM;;IAEE,sBAAA;EjBylDR;EiBtlDM;;IAEE,sBAAA;EjBwlDR;EiB/lDM;;IAEE,oBAAA;EjBimDR;EiB9lDM;;IAEE,oBAAA;EjBgmDR;EiBvmDM;;IAEE,sBAAA;EjBymDR;EiBtmDM;;IAEE,sBAAA;EjBwmDR;EiB/mDM;;IAEE,oBAAA;EjBinDR;EiB9mDM;;IAEE,oBAAA;EjBgnDR;AACF;Ae9pDI;EEHE;IACE,YAAA;EjBoqDN;EiBjqDI;IApCJ,cAAA;IACA,WAAA;EjBwsDA;EiB1rDA;IACE,cAAA;IACA,WAAA;EjB4rDF;EiB9rDA;IACE,cAAA;IACA,UAAA;EjBgsDF;EiBlsDA;IACE,cAAA;IACA,qBAAA;EjBosDF;EiBtsDA;IACE,cAAA;IACA,UAAA;EjBwsDF;EiB1sDA;IACE,cAAA;IACA,UAAA;EjB4sDF;EiB9sDA;IACE,cAAA;IACA,qBAAA;EjBgtDF;EiBjrDI;IAhDJ,cAAA;IACA,WAAA;EjBouDA;EiB/qDQ;IAhEN,cAAA;IACA,kBAAA;EjBkvDF;EiBnrDQ;IAhEN,cAAA;IACA,mBAAA;EjBsvDF;EiBvrDQ;IAhEN,cAAA;IACA,UAAA;EjB0vDF;EiB3rDQ;IAhEN,cAAA;IACA,mBAAA;EjB8vDF;EiB/rDQ;IAhEN,cAAA;IACA,mBAAA;EjBkwDF;EiBnsDQ;IAhEN,cAAA;IACA,UAAA;EjBswDF;EiBvsDQ;IAhEN,cAAA;IACA,mBAAA;EjB0wDF;EiB3sDQ;IAhEN,cAAA;IACA,mBAAA;EjB8wDF;EiB/sDQ;IAhEN,cAAA;IACA,UAAA;EjBkxDF;EiBntDQ;IAhEN,cAAA;IACA,mBAAA;EjBsxDF;EiBvtDQ;IAhEN,cAAA;IACA,mBAAA;EjB0xDF;EiB3tDQ;IAhEN,cAAA;IACA,WAAA;EjB8xDF;EO5zDE;IAgCE,cAAA;EP+xDJ;EOvzDE;IA+BI,eAAA;EP2xDN;EOl0DE;IAgCE,wBAAA;EPqyDJ;EO7zDE;IA+BI,yBAAA;EPiyDN;EOx0DE;IAgCE,yBAAA;EP2yDJ;EOn0DE;IA+BI,0BAAA;EPuyDN;EO90DE;IAgCE,gBAAA;EPizDJ;EOz0DE;IA+BI,iBAAA;EP6yDN;EOp1DE;IAgCE,yBAAA;EPuzDJ;EO/0DE;IA+BI,0BAAA;EPmzDN;EO11DE;IAgCE,yBAAA;EP6zDJ;EOr1DE;IA+BI,0BAAA;EPyzDN;EOh2DE;IAgCE,gBAAA;EPm0DJ;EO31DE;IA+BI,iBAAA;EP+zDN;EOt2DE;IAgCE,yBAAA;EPy0DJ;EOj2DE;IA+BI,0BAAA;EPq0DN;EO52DE;IAgCE,yBAAA;EP+0DJ;EOv2DE;IA+BI,0BAAA;EP20DN;EOl3DE;IAgCE,gBAAA;EPq1DJ;EO72DE;IA+BI,iBAAA;EPi1DN;EOx3DE;IAgCE,yBAAA;EP21DJ;EOn3DE;IA+BI,0BAAA;EPu1DN;EO93DE;IAgCE,yBAAA;EPi2DJ;EOz3DE;IA+BI,0BAAA;EP61DN;EiBpxDM;;IAEE,iBAAA;EjBsxDR;EiBnxDM;;IAEE,iBAAA;EjBqxDR;EiB5xDM;;IAEE,uBAAA;EjB8xDR;EiB3xDM;;IAEE,uBAAA;EjB6xDR;EiBpyDM;;IAEE,sBAAA;EjBsyDR;EiBnyDM;;IAEE,sBAAA;EjBqyDR;EiB5yDM;;IAEE,oBAAA;EjB8yDR;EiB3yDM;;IAEE,oBAAA;EjB6yDR;EiBpzDM;;IAEE,sBAAA;EjBszDR;EiBnzDM;;IAEE,sBAAA;EjBqzDR;EiB5zDM;;IAEE,oBAAA;EjB8zDR;EiB3zDM;;IAEE,oBAAA;EjB6zDR;AACF;AkBn7DA;EACE,wCAAA;EACA,2BAAA;EACA,iDAAA;EACA,kCAAA;EACA,gDAAA;EACA,4CAAA;EACA,+CAAA;EACA,0CAAA;EACA,8CAAA;EACA,2CAAA;EAEA,WAAA;EACA,mBZybO;EYxbP,6BAAA;EACA,mBZuuB4B;EYtuB5B,2CAAA;AlBo7DF;AkB76DE;EACE,sBAAA;EACA,qCAAA;EACA,wBZshB0B;EYrhB1B,yDAAA;AlB+6DJ;AkB56DE;EACE,uBAAA;AlB86DJ;AkB36DE;EACE,sBAAA;AlB66DJ;;AkBz6DA;EACE,kCAAA;AlB46DF;;AkBr6DA;EACE,iBAAA;AlBw6DF;;AkB95DE;EACE,wBAAA;AlBi6DJ;;AkBl5DE;EACE,mBAAA;AlBq5DJ;AkBl5DI;EACE,mBAAA;AlBo5DN;;AkB74DE;EACE,sBAAA;AlBg5DJ;AkB74DE;EACE,mBAAA;AlB+4DJ;;AkBr4DE;EACE,kDAAA;EACA,qCAAA;AlBw4DJ;;AkBl4DE;EACE,kDAAA;EACA,qCAAA;AlBq4DJ;;AkB73DA;EACE,iDAAA;EACA,oCAAA;AlBg4DF;;AkBx3DE;EACE,gDAAA;EACA,mCAAA;AlB23DJ;;AmBhgEE;EAOE,yCAAA;EACA,uBAAA;EACA,oDAAA;EACA,mDAAA;EACA,iDAAA;EACA,iDAAA;EACA,gDAAA;EACA,kDAAA;EACA,+CAAA;EAEA,6BAAA;EACA,2CAAA;AnB4/DJ;;AmB9gEE;EAOE,yCAAA;EACA,uBAAA;EACA,oDAAA;EACA,mDAAA;EACA,iDAAA;EACA,iDAAA;EACA,gDAAA;EACA,kDAAA;EACA,+CAAA;EAEA,6BAAA;EACA,2CAAA;AnB0gEJ;;AmB5hEE;EAOE,yCAAA;EACA,uBAAA;EACA,oDAAA;EACA,mDAAA;EACA,iDAAA;EACA,iDAAA;EACA,gDAAA;EACA,kDAAA;EACA,+CAAA;EAEA,6BAAA;EACA,2CAAA;AnBwhEJ;;AmB1iEE;EAOE,yCAAA;EACA,uBAAA;EACA,oDAAA;EACA,mDAAA;EACA,iDAAA;EACA,iDAAA;EACA,gDAAA;EACA,kDAAA;EACA,+CAAA;EAEA,6BAAA;EACA,2CAAA;AnBsiEJ;;AmBxjEE;EAOE,yCAAA;EACA,uBAAA;EACA,oDAAA;EACA,mDAAA;EACA,iDAAA;EACA,iDAAA;EACA,gDAAA;EACA,kDAAA;EACA,+CAAA;EAEA,6BAAA;EACA,2CAAA;AnBojEJ;;AmBtkEE;EAOE,yCAAA;EACA,uBAAA;EACA,oDAAA;EACA,mDAAA;EACA,iDAAA;EACA,iDAAA;EACA,gDAAA;EACA,kDAAA;EACA,+CAAA;EAEA,6BAAA;EACA,2CAAA;AnBkkEJ;;AmBplEE;EAOE,yCAAA;EACA,uBAAA;EACA,oDAAA;EACA,mDAAA;EACA,iDAAA;EACA,iDAAA;EACA,gDAAA;EACA,kDAAA;EACA,+CAAA;EAEA,6BAAA;EACA,2CAAA;AnBglEJ;;AmBlmEE;EAOE,4CAAA;EACA,uBAAA;EACA,mDAAA;EACA,iDAAA;EACA,oDAAA;EACA,gDAAA;EACA,mDAAA;EACA,iDAAA;EACA,kDAAA;EAEA,6BAAA;EACA,2CAAA;AnB8lEJ;;AkBh9DI;EACE,gBAAA;EACA,iCAAA;AlBm9DN;;Ae9hEI;EGyEA;IACE,gBAAA;IACA,iCAAA;ElBy9DJ;AACF;AeriEI;EGyEA;IACE,gBAAA;IACA,iCAAA;ElB+9DJ;AACF;Ae3iEI;EGyEA;IACE,gBAAA;IACA,iCAAA;ElBq+DJ;AACF;AejjEI;EGyEA;IACE,gBAAA;IACA,iCAAA;ElB2+DJ;AACF;AevjEI;EGyEA;IACE,gBAAA;IACA,iCAAA;ElBi/DJ;AACF;AoBlpEA;EACE,qBdw5BsC;Ecp5BtC,oCAAA;ApBipEF;;AoB5oEA;EACE,iCAAA;EACA,oCAAA;EACA,gBAAA;EhBoRI,kBALI;EgB3QR,gBdqnB4B;EcpnB5B,oCAAA;ApB6oEF;;AoB1oEA;EACE,+BAAA;EACA,kCAAA;EhB0QI,kBALI;AJy4DV;;AoB1oEA;EACE,gCAAA;EACA,mCAAA;EhBoQI,mBALI;AJ+4DV;;AqB3qEA;EACE,mBfg5BsC;EFhnBlC,kBALI;EiBvRR,yDAAA;ArB4qEF;;AsBjrEA;EACE,cAAA;EACA,WAAA;EACA,yBAAA;ElB8RI,eALI;EkBtRR,gBhBwnB4B;EgBvnB5B,gBhB+nB4B;EgB9nB5B,qDAAA;EACA,2CAAA;EACA,4BAAA;EACA,wDAAA;EACA,wBAAA;EAAA,qBAAA;EAAA,gBAAA;EdGE,uBAAA;EeHE,wEDMJ;AtB+qEF;AuBjrEM;EDhBN;ICiBQ,gBAAA;EvBorEN;AACF;AsBlrEE;EACE,gBAAA;AtBorEJ;AsBlrEI;EACE,eAAA;AtBorEN;AsB/qEE;EACE,2DAAA;EACA,iDAAA;EACA,0DAAA;EACA,UAAA;EAKE,iDhB+wB0B;AN85ChC;AsBtqEE;EAEE,aAAA;AtBuqEJ;AsBnqEE;EACE,kDAAA;EAEA,UAAA;AtBoqEJ;AsBvqEE;EACE,kDAAA;EAEA,UAAA;AtBoqEJ;AsB5pEE;EAEE,yBhBzDQ;EgB0DR,qBhBxDQ;EgB0DR,UAAA;AtB4pEJ;AsBxpEE;EACE,yBAAA;EACA,0BAAA;EACA,2BhBkuB0B;EgBluB1B,0BhBkuB0B;EgBjuB1B,gEAAA;EE3EF,yDF4EuB;EACrB,oBAAA;EACA,qBAAA;EACA,mBAAA;EACA,eAAA;EACA,4BhB+d0B;EgB9d1B,gBAAA;ECtEE,6IDuEF;ECvEE,qIDuEF;AtB0pEJ;AsBtqEE;EACE,yBAAA;EACA,0BAAA;EACA,2BhBkuB0B;EgBluB1B,0BhBkuB0B;EgBjuB1B,gEAAA;EE3EF,yDF4EuB;EACrB,oBAAA;EACA,qBAAA;EACA,mBAAA;EACA,eAAA;EACA,4BhB+d0B;EgB9d1B,gBAAA;ECtEE,qIDuEF;AtB0pEJ;AuB7tEM;EDuDJ;ICtDM,wBAAA;IAAA,gBAAA;EvBguEN;EsB1qEA;ICtDM,gBAAA;EvBguEN;AACF;AsB5pEE;EACE,+DAAA;AtB8pEJ;AsB/pEE;EACE,+DAAA;AtB8pEJ;;AsBrpEA;EACE,cAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBhBiiB4B;EgBhiB5B,+DAAA;EACA,6BAAA;EACA,yBAAA;EACA,mBAAA;AtBwpEF;AsBtpEE;EACE,UAAA;AtBwpEJ;AsBrpEE;EAEE,gBAAA;EACA,eAAA;AtBspEJ;;AsB3oEA;EACE,sChBg1BsC;EgB/0BtC,uBAAA;ElBkKI,mBALI;EI7QN,sBAAA;ARgwEJ;AsB5oEE;EACE,uBAAA;EACA,wBAAA;EACA,0BhBkrB0B;EgBlrB1B,yBhBkrB0B;AN49C9B;AsBjpEE;EACE,uBAAA;EACA,wBAAA;EACA,0BhBkrB0B;EgBlrB1B,yBhBkrB0B;AN49C9B;;AsB1oEA;EACE,oChBo0BsC;EgBn0BtC,oBAAA;ElBqJI,kBALI;EI7QN,qBAAA;AR4wEJ;AsB3oEE;EACE,oBAAA;EACA,qBAAA;EACA,wBhByqB0B;EgBzqB1B,uBhByqB0B;ANo+C9B;AsBhpEE;EACE,oBAAA;EACA,qBAAA;EACA,wBhByqB0B;EgBzqB1B,uBhByqB0B;ANo+C9B;;AsBroEE;EACE,uChBizBoC;ANu1CxC;AsBroEE;EACE,sChB8yBoC;ANy1CxC;AsBpoEE;EACE,oChB2yBoC;AN21CxC;;AsBjoEA;EACE,WhByyBsC;EgBxyBtC,mChBkyBsC;EgBjyBtC,iBhB+nB4B;ANqgD9B;AsBloEE;EACE,eAAA;AtBooEJ;AsBjoEE;EACE,oBAAA;EdpKA,uBAAA;ARwyEJ;AsBhoEE;EdxKE,uBAAA;AR2yEJ;AsB/nEE;EAAoB,kChBmxBkB;AN+2CxC;AsBjoEE;EAAoB,gChBmxBkB;ANi3CxC;;AyB/zEA;EACE,cAAA;EACA,WAAA;EAEA,uCAAA;ErB4RI,eALI;EqBpRR,gBnBsnB4B;EmBrnB5B,gBnB6nB4B;EmB5nB5B,2DAAA;EACA,iDAAA;EACA,iPAAA;EACA,4BAAA;EAEA,0BnB+hCkC;EmB9hClC,8DAAA;EjBDE,uBAAA;EeHE,wEEOJ;EACA,wBAAA;EAAA,qBAAA;EAAA,gBAAA;AzB8zEF;AOp1EI;EA+DE,0CAAA;EAAA,yCAAA;APwxEN;AO/0EI;EA2DI,0CAAA;EAEA,wCAAA;APqxER;AuBx0EM;EEfN;IFgBQ,gBAAA;EvBi1EN;AACF;AyB70EE;E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B4gC8B;EqB3gC9B,crB4gC8B;EqB3gC9B,kBAAA;EACA,erB2gC8B;EqB1gC9B,yDAAA;EACA,yBAAA;EnBvDA,mBAAA;AR4sFJ;A2BhpFE;EACE,oBAAA;A3BkpFJ;A2BhpFI;EACE,kEAAA;A3BkpFN;A2B/oFI;EACE,kEAAA;A3BipFN;;A4BxuFA;EACE,kBAAA;A5B2uFF;A4BzuFE;;;EAGE,0BtBsmC8B;EsBrmC9B,iBtBsmC8B;ANqoDlC;A4BxuFE;EACE,kBAAA;EACA,MAAA;EAEA,WAAA;EACA,YAAA;EACA,qBAAA;EACA,gBAAA;EACA,iBAAA;EACA,uBAAA;EACA,mBAAA;EACA,oBAAA;EACA,6BAAA;EACA,qBAAA;ELPE,gEKQF;A5ByuFJ;AO/vFI;EAgCE,OAAA;APkuFN;AO1vFI;EA+BI,QAAA;AP8tFR;AuBnvFM;EKVJ;ILWM,gBAAA;EvBsvFN;AACF;A4BjvFE;;EAEE,qBAAA;A5BmvFJ;A4BjvFI;EACE,kBAAA;A5BovFN;A4BrvFI;;EACE,kBAAA;A5BovFN;A4BjvFI;EAEE,qBtB2kC4B;EsB1kC5B,wBtB2kC4B;ANyqDlC;A4BvvFI;;;EAEE,qBtB2kC4B;EsB1kC5B,wBtB2kC4B;ANyqDlC;A4BjvFI;;EACE,qBtBskC4B;EsBrkC5B,wBtBskC4B;AN8qDlC;A4BhvFE;EACE,qBtBgkC8B;EsB/jC9B,wBtBgkC8B;ANkrDlC;A4B3uFI;EACE,atByjC4B;EsBxjC5B,8DtByjC4B;ANurDlC;A4BlvFI;;;;EACE,atByjC4B;EsBxjC5B,8DtByjC4B;ANurDlC;A4B3uFI;EACE,atBkjC4B;EsBjjC5B,8DtBkjC4B;AN2rDlC;A4BxuFI;EACE,mBAAA;A5B0uFN;;A6B7yFA;EACE,kBAAA;EACA,aAAA;EACA,eAAA;EACA,oBAAA;EACA,WAAA;A7BgzFF;A6B9yFE;;;EAGE,kBAAA;EACA,cAAA;EACA,SAAA;EACA,YAAA;A7BgzFJ;A6B5yFE;;;EAGE,UAAA;A7B8yFJ;A6BxyFE;EACE,kBAAA;EACA,UAAA;A7B0yFJ;A6BxyFI;EACE,UAAA;A7B0yFN;;A6B/xFA;EACE,aAAA;EACA,mBAAA;EACA,yBAAA;EzBoPI,eALI;EyB7OR,gBvB+kB4B;EuB9kB5B,gBvBslB4B;EuBrlB5B,iEAAA;EACA,kBAAA;EACA,mBAAA;EACA,0DAAA;EACA,oEAAA;ErBtCE,uBAAA;ARy0FJ;;A6BzxFA;;;;EAIE,oBAAA;EzB8NI,kBALI;EI7QN,qBAAA;ARk1FJ;;A6BzxFA;;;;EAIE,uBAAA;EzBqNI,mBALI;EI7QN,sBAAA;AR21FJ;;AO52FI;;EAgCE,mBAAA;APi1FN;AOz2FI;;EA+BI,kBAAA;AP80FR;;AOr3FI;;;;EAgCE,0BAAA;EAAA,6BAAA;AP41FN;AOp3FI;;;;EA+BI,yBAAA;EAAA,4BAAA;AP21FR;AOl4FI;;;;EAgCE,0BAAA;EAAA,6BAAA;APo3FN;AO54FI;;;;EA+BI,yBAAA;EAAA,4BAAA;APm3FR;AO15FI;EAgCE,iBAAA;EAAA,yBAAA;EAAA,4BAAA;APy4FN;AOj6FI;EA+BI,kBAAA;EAAA,0BAAA;EAAA,6BAAA;APq4FR;AO56FI;;EAgCE,yBAAA;EAAA,4BAAA;AP45FN;AOp7FI;;EA+BI,0BAAA;EAAA,6BAAA;APy5FR;;A8Bz6FE;EACE,aAAA;EACA,WAAA;EACA,mBxBy3BoC;EFhnBlC,kBALI;E0BjQN,cxBwmCqB;AN20DzB;;A8Bh7FE;EACE,kBAAA;EACA,SAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;EACA,kBAAA;E1B4PE,mBALI;E0BpPN,cAvBc;EAwBd,wCAvBiB;EtBHjB,uBAAA;AR68FJ;;A8B96FI;;;;EAEE,cAAA;A9Bm7FN;;A8Bj+FI;EAoDE,qBxB6kCmB;EwBzkCjB,2PAAA;EACA,4BAAA;EAEA,gEAAA;A9B66FR;AO5+FI;EAgCE,oCAAA;EA+BA,2DAAA;APg7FN;AOv+FI;EA+BI,mCAAA;EA4BA,0DAAA;AP+6FR;A8Bh7FM;EACE,qBxBkkCiB;EwBjkCjB,iDA/Ca;A9Bu+FrB;;AO5/FI;EAgCE,oCAAA;EA+BA,kFAAA;APi8FN;AOx/FI;EA+BI,mCAAA;EA4BA,iFAAA;APg8FR;;A8B//FI;EAiFE,qBxBgjCmB;ANw4DzB;A8Br7FQ;EAGE,4dAAA;EAEA,2EAAA;A9Bo7FV;AOjhGI;EAgCE,uBAAA;EA+BA,+DAAA;APq9FN;AO5gGI;EA+BI,sBAAA;EA8BA,6DAAA;APk9FR;A8Bt7FM;EACE,qBxBmiCiB;EwBliCjB,iDA9Ea;A9B4gGrB;;A8B7hGI;EAuGI,yCAAA;A9B07FR;;A8BjiGI;EA8GE,qBxBmhCmB;ANo6DzB;A8Br7FM;EACE,yBxBghCiB;ANu6DzB;A8Bp7FM;EACE,iDApGa;A9B0hGrB;A8Bn7FM;EACE,cxBwgCiB;AN66DzB;;AOljGI;EAgCE,kBAAA;APshGN;AO9iGI;EA+BI,mBAAA;APkhGR;;A8BrjGI;;;;;EAyIM,UAAA;A9Bo7FV;;A8B1iGE;EACE,aAAA;EACA,WAAA;EACA,mBxBy3BoC;EFhnBlC,kBALI;E0BjQN,cxBwmCqB;ANo8DzB;;A8BziGE;EACE,kBAAA;EACA,SAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;EACA,kBAAA;E1B4PE,mBALI;E0BpPN,cAvBc;EAwBd,wCAvBiB;EtBHjB,uBAAA;ARskGJ;;A8BviGI;;;;EAEE,cAAA;A9B4iGN;;A8B1lGI;EAoDE,qBxB6kCmB;EwBzkCjB,4UAAA;EACA,4BAAA;EAEA,gEAAA;A9BsiGR;AOrmGI;EAgCE,oCAAA;EA+BA,2DAAA;APyiGN;AOhmGI;EA+BI,mCAAA;EA4BA,0DAAA;APwiGR;A8BziGM;EACE,qBxBkkCiB;EwBjkCjB,iDA/Ca;A9BgmGrB;;AOrnGI;EAgCE,oCAAA;EA+BA,kFAAA;AP0jGN;AOjnGI;EA+BI,mCAAA;EA4BA,iFAAA;APyjGR;;A8BxnGI;EAiFE,qBxBgjCmB;ANigEzB;A8B9iGQ;EAGE,6iBAAA;EAEA,2EAAA;A9B6iGV;AO1oGI;EAgCE,uBAAA;EA+BA,+DAAA;AP8kGN;AOroGI;EA+BI,sBAAA;EA8BA,6DAAA;AP2kGR;A8B/iGM;EACE,qBxBmiCiB;EwBliCjB,iDA9Ea;A9BqoGrB;;A8BtpGI;EAuGI,yCAAA;A9BmjGR;;A8B1pGI;EA8GE,qBxBmhCmB;AN6hEzB;A8B9iGM;EACE,yBxBghCiB;ANgiEzB;A8B7iGM;EACE,iDApGa;A9BmpGrB;A8B5iGM;EACE,cxBwgCiB;ANsiEzB;;AO3qGI;EAgCE,kBAAA;AP+oGN;AOvqGI;EA+BI,mBAAA;AP2oGR;;A8B9qGI;;;;;EA2IM,UAAA;A9B2iGV;;A+BxrGA;EAEE,4BAAA;EACA,6BAAA;EACA,uBAAA;E3B6RI,yBALI;E2BtRR,0BAAA;EACA,0BAAA;EACA,uCAAA;EACA,yBAAA;EACA,2BAAA;EACA,mCAAA;EACA,iCAAA;EACA,yCAAA;EACA,8FAAA;EACA,gCAAA;EACA,mFAAA;EAGA,qBAAA;EACA,0DAAA;EACA,uCAAA;E3B4QI,mCALI;E2BrQR,uCAAA;EACA,uCAAA;EACA,2BAAA;EACA,kBAAA;EACA,qBAAA;EAEA,sBAAA;EACA,eAAA;EACA,yBAAA;EAAA,sBAAA;EAAA,iBAAA;EACA,qEAAA;EvBjBE,2CAAA;EgBfF,mCOkCqB;ERtBjB,qIQwBJ;A/BsrGF;AuB1sGM;EQhBN;IRiBQ,gBAAA;EvB6sGN;AACF;A+BzrGE;EACE,iCAAA;EAEA,yCAAA;EACA,+CAAA;A/B0rGJ;A+BvrGE;EAEE,2BAAA;EACA,mCAAA;EACA,yCAAA;A/BwrGJ;A+BrrGE;EACE,iCAAA;EPrDF,yCOsDuB;EACrB,+CAAA;EACA,UAAA;EAKE,2CAAA;A/BmrGN;A+B/qGE;EACE,+CAAA;EACA,UAAA;EAKE,2CAAA;A/B6qGN;A+BzqGE;EAKE,kCAAA;EACA,0CAAA;EAGA,gDAAA;A/BqqGJ;A+BlqGI;EAKI,2CAAA;A/BgqGR;A+B3pGE;EAGE,oCAAA;EACA,oBAAA;EACA,4CAAA;EAEA,kDAAA;EACA,wCAAA;A/B0pGJ;;A+BhpGA;EACE,0CAAA;EACA,4CAAA;EACA,yCAAA;A/BmpGF;;A+B9oGE;EC3GA,0CAAA;EACA,qBAAA;EACA,+BAAA;EACA,gDAAA;EACA,2BAAA;EACA,qCAAA;EACA,uCAAA;EACA,iDAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,mDAAA;EACA,8BAAA;EACA,wCAAA;AhC6vGF;;A+B/pGE;EC3GA,wBAAA;EACA,qBAAA;EACA,+BAAA;EACA,6CAAA;EACA,2BAAA;EACA,qCAAA;EACA,yCAAA;EACA,8CAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,8BAAA;EACA,wCAAA;AhC8wGF;;A+BhrGE;EC3GA,wBAAA;EACA,qBAAA;EACA,+BAAA;EACA,6CAAA;EACA,2BAAA;EACA,qCAAA;EACA,uCAAA;EACA,8CAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,8BAAA;EACA,wCAAA;AhC+xGF;;A+BjsGE;EC3GA,wBAAA;EACA,qBAAA;EACA,+BAAA;EACA,8BAAA;EACA,2BAAA;EACA,qCAAA;EACA,uCAAA;EACA,+BAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,8BAAA;EACA,wCAAA;AhCgzGF;;A+BltGE;EC3GA,uCAAA;EACA,qBAAA;EACA,+BAAA;EACA,8BAAA;EACA,2BAAA;EACA,qCAAA;EACA,wCAAA;EACA,+BAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,gDAAA;EACA,8BAAA;EACA,wCAAA;AhCi0GF;;A+BnuGE;EC3GA,wBAAA;EACA,kBAAA;EACA,4BAAA;EACA,8BAAA;EACA,2BAAA;EACA,qCAAA;EACA,wCAAA;EACA,+BAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,2BAAA;EACA,qCAAA;AhCk1GF;;A+BpvGE;EC3GA,uCAAA;EACA,qBAAA;EACA,+BAAA;EACA,6CAAA;EACA,2BAAA;EACA,qCAAA;EACA,yCAAA;EACA,8CAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,gDAAA;EACA,8BAAA;EACA,wCAAA;AhCm2GF;;A+BrwGE;EC3GA,0CAAA;EACA,qBAAA;EACA,+BAAA;EACA,2BAAA;EACA,2BAAA;EACA,qCAAA;EACA,yCAAA;EACA,4BAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,mDAAA;EACA,8BAAA;EACA,wCAAA;AhCo3GF;;A+BhxGE;ECpFA,wBAAA;EACA,+BAAA;EACA,gDAAA;EACA,2BAAA;EACA,qCAAA;EACA,uCAAA;EACA,iDAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,kCAAA;EACA,oBAAA;AhCw2GF;;A+BhyGE;ECpFA,wBAAA;EACA,+BAAA;EACA,6CAAA;EACA,2BAAA;EACA,qCAAA;EACA,yCAAA;EACA,8CAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,kCAAA;EACA,oBAAA;AhCw3GF;;A+BhzGE;ECpFA,wBAAA;EACA,+BAAA;EACA,6CAAA;EACA,2BAAA;EACA,qCAAA;EACA,uCAAA;EACA,8CAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,kCAAA;EACA,oBAAA;AhCw4GF;;A+Bh0GE;ECpFA,wBAAA;EACA,+BAAA;EACA,8BAAA;EACA,2BAAA;EACA,qCAAA;EACA,uCAAA;EACA,+BAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,kCAAA;EACA,oBAAA;AhCw5GF;;A+Bh1GE;ECpFA,wBAAA;EACA,+BAAA;EACA,8BAAA;EACA,2BAAA;EACA,qCAAA;EACA,wCAAA;EACA,+BAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,kCAAA;EACA,oBAAA;AhCw6GF;;A+Bh2GE;ECpFA,qBAAA;EACA,4BAAA;EACA,8BAAA;EACA,2BAAA;EACA,qCAAA;EACA,wCAAA;EACA,+BAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,8BAAA;EACA,kCAAA;EACA,oBAAA;AhCw7GF;;A+Bh3GE;ECpFA,wBAAA;EACA,+BAAA;EACA,6CAAA;EACA,2BAAA;EACA,qCAAA;EACA,yCAAA;EACA,8CAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,kCAAA;EACA,oBAAA;AhCw8GF;;A+Bh4GE;ECpFA,wBAAA;EACA,+BAAA;EACA,2BAAA;EACA,2BAAA;EACA,qCAAA;EACA,uCAAA;EACA,4BAAA;EACA,4BAAA;EACA,sCAAA;EACA,8DAAA;EACA,iCAAA;EACA,kCAAA;EACA,oBAAA;AhCw9GF;;A+B14GE;EC9DA,wBAAA;EACA,2BAAA;EACA,qCAAA;EACA,gDAAA;EACA,4BAAA;EACA,sCAAA;EACA,iDAAA;EACA,iCAAA;EACA,wCAAA;AhC48GF;;A+Bt5GE;EC9DA,wBAAA;EACA,2BAAA;EACA,qCAAA;EACA,6CAAA;EACA,4BAAA;EACA,sCAAA;EACA,8CAAA;EACA,iCAAA;EACA,0CAAA;AhCw9GF;;A+Bl6GE;EC9DA,wBAAA;EACA,2BAAA;EACA,qCAAA;EACA,6CAAA;EACA,4BAAA;EACA,sCAAA;EACA,8CAAA;EACA,iCAAA;EACA,wCAAA;AhCo+GF;;A+B96GE;EC9DA,wBAAA;EACA,2BAAA;EACA,qCAAA;EACA,8BAAA;EACA,4BAAA;EACA,sCAAA;EACA,+BAAA;EACA,iCAAA;EACA,wCAAA;AhCg/GF;;A+B17GE;EC9DA,wBAAA;EACA,2BAAA;EACA,qCAAA;EACA,8BAAA;EACA,4BAAA;EACA,sCAAA;EACA,+BAAA;EACA,iCAAA;EACA,yCAAA;AhC4/GF;;A+Bt8GE;EC9DA,qBAAA;EACA,2BAAA;EACA,qCAAA;EACA,8BAAA;EACA,4BAAA;EACA,sCAAA;EACA,+BAAA;EACA,8BAAA;EACA,yCAAA;AhCwgHF;;A+Bl9GE;EC9DA,wBAAA;EACA,2BAAA;EACA,qCAAA;EACA,6CAAA;EACA,4BAAA;EACA,sCAAA;EACA,8CAAA;EACA,iCAAA;EACA,0CAAA;AhCohHF;;A+B99GE;EC9DA,wBAAA;EACA,2BAAA;EACA,qCAAA;EACA,2BAAA;EACA,4BAAA;EACA,sCAAA;EACA,4BAAA;EACA,iCAAA;EACA,wCAAA;AhCgiHF;;A+B99GA;EACE,0BAAA;EACA,sCAAA;EACA,yBAAA;EACA,mCAAA;EACA,kDAAA;EACA,yCAAA;EACA,0CAAA;EACA,iCAAA;EACA,4CAAA;EACA,0BAAA;EACA,uCAAA;EAEA,0BzByUwC;ANupG1C;A+Bt9GE;EACE,2BAAA;A/Bw9GJ;;A+B78GA;EC9FE,2BAAA;EACA,yBAAA;E5BuMI,4BALI;E4BhMR,+BAAA;AhC+iHF;;A+Bh9GA;EClGE,4BAAA;EACA,2BAAA;E5BuMI,6BALI;E4BhMR,gCAAA;AhCsjHF;;AiCtpHA;EVgBM,gCUfJ;AjCypHF;AuBtoHM;EUpBN;IVqBQ,gBAAA;EvByoHN;AACF;AiC5pHE;EACE,UAAA;AjC8pHJ;;AiCxpHE;EACE,aAAA;AjC2pHJ;;AiCvpHA;EACE,SAAA;EACA,gBAAA;EVDI,6BUEJ;AjC0pHF;AuBxpHM;EULN;IVMQ,gBAAA;EvB2pHN;AACF;AiC7pHE;EACE,QAAA;EACA,YAAA;EVNE,4BUOF;AjC+pHJ;AuBlqHM;EUAJ;IVCM,gBAAA;EvBqqHN;AACF;;AkC1rHA;;;;;;EAME,kBAAA;AlC6rHF;;AkC1rHA;EACE,mBAAA;AlC6rHF;AmC1qHI;EACE,qBAAA;EAEA,uB7BsjBwB;E6BrjBxB,WAAA;EAhCJ,uBAAA;EACA,qCAAA;EACA,gBAAA;EACA,oCAAA;AnC4sHF;AO/sHI;EAgCE,oBAAA;APkrHN;AO1sHI;EA+BI,qBAAA;AP8qHR;AOrtHI;EAgCE,cAAA;APwrHN;AOhtHI;EA+BI,eAAA;APorHR;;AkC3sHA;EAEE,2BAAA;EACA,+BAAA;EACA,2BAAA;EACA,gCAAA;EACA,+BAAA;E9B6QI,8BALI;E8BtQR,4CAAA;EACA,uBAAA;EACA,gEAAA;EACA,sCAAA;EACA,gCAAA;EACA,wDAAA;EACA,8DAAA;EACA,uCAAA;EACA,6DAAA;EACA,kCAAA;EACA,wCAAA;EACA,qCAAA;EACA,2DAAA;EACA,sCAAA;EACA,2CAAA;EACA,mCAAA;EACA,sCAAA;EACA,oCAAA;EACA,qCAAA;EACA,uCAAA;EAGA,kBAAA;EACA,mCAAA;EACA,aAAA;EACA,wCAAA;EACA,oEAAA;EACA,SAAA;E9BgPI,wCALI;E8BzOR,gCAAA;EACA,gBAAA;EACA,gBAAA;EACA,wCAAA;EACA,4BAAA;EACA,+EAAA;E1BzCE,gDAAA;ARqvHJ;AkCxsHE;EACE,SAAA;EAEA,sCAAA;AlCysHJ;AO1wHI;EAgCE,OAAA;AP6uHN;AOrwHI;EA+BI,QAAA;APyuHR;;AkCvrHI;EACE,qBAAA;AlC0rHN;AkCxrHM;EACE,WAAA;EACA,OAAA;AlC0rHR;;AkCtrHI;EACE,mBAAA;AlCyrHN;AkCvrHM;EACE,QAAA;EACA,UAAA;AlCyrHR;;AettHI;EmBeA;IACE,qBAAA;ElC2sHJ;EkCzsHI;IACE,WAAA;IACA,OAAA;ElC2sHN;EkCvsHE;IACE,mBAAA;ElCysHJ;EkCvsHI;IACE,QAAA;IACA,UAAA;ElCysHN;AACF;AevuHI;EmBeA;IACE,qBAAA;ElC2tHJ;EkCztHI;IACE,WAAA;IACA,OAAA;ElC2tHN;EkCvtHE;IACE,mBAAA;ElCytHJ;EkCvtHI;IACE,QAAA;IACA,UAAA;ElCytHN;AACF;AevvHI;EmBeA;IACE,qBAAA;ElC2uHJ;EkCzuHI;IACE,WAAA;IACA,OAAA;ElC2uHN;EkCvuHE;IACE,mBAAA;ElCyuHJ;EkCvuHI;IACE,QAAA;IACA,UAAA;ElCyuHN;AACF;AevwHI;EmBeA;IACE,qBAAA;ElC2vHJ;EkCzvHI;IACE,WAAA;IACA,OAAA;ElC2vHN;EkCvvHE;IACE,mBAAA;ElCyvHJ;EkCvvHI;IACE,QAAA;IACA,UAAA;ElCyvHN;AACF;AevxHI;EmBeA;IACE,qBAAA;ElC2wHJ;EkCzwHI;IACE,WAAA;IACA,OAAA;ElC2wHN;EkCvwHE;IACE,mBAAA;ElCywHJ;EkCvwHI;IACE,QAAA;IACA,UAAA;ElCywHN;AACF;AkChwHE;EACE,SAAA;EACA,YAAA;EACA,aAAA;EACA,yCAAA;AlCkwHJ;AmC31HI;EACE,qBAAA;EAEA,uB7BsjBwB;E6BrjBxB,WAAA;EAzBJ,aAAA;EACA,qCAAA;EACA,0BAAA;EACA,oCAAA;AnCs3HF;AOh4HI;EAgCE,oBAAA;APm2HN;AO33HI;EA+BI,qBAAA;AP+1HR;AOt4HI;EAgCE,cAAA;APy2HN;AOj4HI;EA+BI,eAAA;APq2HR;;AkC9wHE;EACE,MAAA;EAGA,aAAA;AlC+wHJ;AOj5HI;EAgCE,WAAA;EAAA,UAAA;EAAA,uCAAA;APo3HN;AO54HI;EA+BI,UAAA;EAAA,WAAA;EAAA,wCAAA;APg3HR;AmC33HI;EACE,qBAAA;EAEA,uB7BsjBwB;E6BrjBxB,WAAA;EAlBJ,mCAAA;EACA,eAAA;EACA,sCAAA;EACA,wBAAA;EDwHI,iBAAA;AlCmyHN;AO56HI;EAgCE,oBAAA;AP+4HN;AOv6HI;EA+BI,qBAAA;AP24HR;AOl7HI;EAgCE,cAAA;APq5HN;AO76HI;EA+BI,eAAA;APi5HR;;AkCzyHE;EACE,MAAA;EAIA,aAAA;AlC4yHJ;AOh8HI;EAgCE,WAAA;EAAA,UAAA;EAAA,wCAAA;APm6HN;AO37HI;EA+BI,UAAA;EAAA,WAAA;EAAA,uCAAA;AP+5HR;AmC16HI;EACE,qBAAA;EAEA,uB7BsjBwB;E6BrjBxB,WAAA;EAYE,aAAA;AnC26HR;AOv9HI;EAgCE,oBAAA;AP07HN;AOl9HI;EA+BI,qBAAA;APs7HR;AmC96HM;EACE,qBAAA;EAEA,uB7BmiBsB;E6BliBtB,WAAA;EA9BN,mCAAA;EACA,yBAAA;EACA,sCAAA;EDoII,iBAAA;AlC60HN;AOx+HI;EAgCE,qBAAA;AP28HN;AOn+HI;EA+BI,oBAAA;APu8HR;AO9+HI;EAgCE,cAAA;APi9HN;AOz+HI;EA+BI,eAAA;AP68HR;;AkCl1HA;EACE,SAAA;EACA,8CAAA;EACA,gBAAA;EACA,oDAAA;EACA,UAAA;AlCw1HF;;AkCl1HA;EACE,cAAA;EACA,WAAA;EACA,8EAAA;EACA,WAAA;EACA,gB5B8c4B;E4B7c5B,qCAAA;EACA,mBAAA;EACA,qBAAA;EACA,mBAAA;EACA,6BAAA;EACA,SAAA;AlCq1HF;AkCn1HE;EAEE,2CAAA;EV1LF,mDU4LuB;AlCm1HzB;AkCh1HE;EAEE,4CAAA;EACA,qBAAA;EVlMF,oDUmMuB;AlCi1HzB;AkC90HE;EAEE,8CAAA;EACA,oBAAA;EACA,6BAAA;AlC+0HJ;;AkCz0HA;EACE,cAAA;AlC40HF;;AkCx0HA;EACE,cAAA;EACA,kFAAA;EACA,gBAAA;E9ByEI,mBALI;E8BlER,uCAAA;EACA,mBAAA;AlC20HF;;AkCv0HA;EACE,cAAA;EACA,8EAAA;EACA,qCAAA;AlC00HF;;AkCt0HA;EAEE,6BAAA;EACA,0BAAA;EACA,gEAAA;EACA,2BAAA;EACA,kCAAA;EACA,0DAAA;EACA,8DAAA;EACA,uDAAA;EACA,2DAAA;EACA,sCAAA;EACA,2CAAA;EACA,oCAAA;AlCw0HF;;AoC9jIA;;EAEE,kBAAA;EACA,oBAAA;EACA,sBAAA;ApCikIF;AoC/jIE;;EACE,kBAAA;EACA,cAAA;ApCkkIJ;AoC7jIE;;;;;;;;;;;;EAME,UAAA;ApCqkIJ;;AoChkIA;EACE,aAAA;EACA,eAAA;EACA,2BAAA;ApCmkIF;AoCjkIE;EACE,WAAA;ApCmkIJ;;AoC/jIA;E5BhBI,uBAAA;ARmlIJ;AOpmII;;EAgCE,iBAAA;APwkIN;AOhmII;;EA+BI,kBAAA;APqkIR;AO5mII;;;EAgCE,0BAAA;EAAA,6BAAA;APilIN;AOzmII;;;EA+BI,yBAAA;EAAA,4BAAA;AP+kIR;AOtnII;;;EAgCE,yBAAA;EAAA,4BAAA;APqmIN;AO7nII;;;EA+BI,0BAAA;EAAA,6BAAA;APmmIR;;AoClkIA;EACE,wBAAA;EACA,uBAAA;ApC+kIF;AOzpII;EAgCE,cAAA;AP4nIN;AOppII;EA+BI,eAAA;APwnIR;AO/pII;EAgCE,eAAA;APkoIN;AO1pII;EA+BI,cAAA;AP8nIR;;AoC9kIA;EACE,uBAAA;EACA,sBAAA;ApCilIF;;AoC9kIA;EACE,sBAAA;EACA,qBAAA;ApCilIF;;AoC7jIA;EACE,sBAAA;EACA,uBAAA;EACA,uBAAA;ApCgkIF;AoC9jIE;;EAEE,WAAA;ApCgkIJ;AoC7jIE;;EAEE,gBAAA;ApC+jIJ;AoC3jIE;;E5B1FE,6BAAA;EACA,4BAAA;ARypIJ;AoC3jIE;;E5B7GE,yBAAA;EACA,0BAAA;AR4qIJ;;AqCpsIA;EAEE,8BAAA;EACA,gCAAA;EAEA,4BAAA;EACA,2CAAA;EACA,uDAAA;EACA,sCAAA;EAGA,aAAA;EACA,eAAA;EAEA,gBAAA;EACA,gBAAA;ArCksIF;AOptII;EAgCE,eAAA;APurIN;AO/sII;EA+BI,gBAAA;APmrIR;;AqCrsIA;EACE,cAAA;EACA,oEAAA;EjC4QI,wCALI;EiCrQR,4CAAA;EACA,gCAAA;EACA,qBAAA;EdbI,uGccJ;ArCwsIF;AuBltIM;EcGN;IdFQ,gBAAA;EvBqtIN;AACF;AqC3sIE;EAEE,sCAAA;ArC4sIJ;AqCvsIE;EACE,yCAAA;EACA,oBAAA;EACA,eAAA;ArCysIJ;;AqCjsIA;EAEE,gCAAA;EACA,oCAAA;EACA,sCAAA;EACA,+DAAA;EACA,yCAAA;EACA,mCAAA;EACA,6DAAA;EAGA,sFAAA;ArCisIF;AqC/rIE;EACE,0DAAA;EACA,gBAAA;EACA,0DAAA;E7BtCA,yDAAA;EACA,0DAAA;ARwuIJ;AqChsII;EAGE,kBAAA;EACA,yDAAA;ArCgsIN;AqC7rII;EAEE,yCAAA;EACA,6BAAA;EACA,yBAAA;ArC8rIN;AqC1rIE;;EAEE,4CAAA;EACA,oDAAA;EACA,0DAAA;ArC4rIJ;AqCzrIE;EAEE,uDAAA;E7BjEA,yBAAA;EACA,0BAAA;AR4vIJ;;AqCjrIA;EAEE,uCAAA;EACA,4DAAA;EACA,uCAAA;ArCmrIF;AqChrIE;EACE,gBAAA;EACA,SAAA;E7B9FA,iDAAA;ARixIJ;AqChrII;EACE,yCAAA;EACA,6BAAA;EACA,yBAAA;ArCkrIN;AqC9qIE;;EAEE,6CAAA;EbzHF,qDa0HuB;ArCgrIzB;;AqCtqIE;;EAEE,cAAA;EACA,kBAAA;ArCyqIJ;;AqCpqIE;;EAEE,aAAA;EACA,YAAA;EACA,kBAAA;ArCuqIJ;;AqCjqIE;;EACE,WAAA;ArCqqIJ;;AqC3pIE;EACE,aAAA;ArC8pIJ;AqC5pIE;EACE,cAAA;ArC8pIJ;;AsCl0IA;EAEE,yBAAA;EACA,8BAAA;EACA,2CAAA;EACA,gDAAA;EACA,mDAAA;EACA,iDAAA;EACA,uCAAA;EACA,mCAAA;EACA,qCAAA;EACA,gDAAA;EACA,sDAAA;EACA,uCAAA;EACA,uCAAA;EACA,uCAAA;EACA,uCAAA;EACA,6QAAA;EACA,sDAAA;EACA,4CAAA;EACA,yCAAA;EACA,6DAAA;EAGA,kBAAA;EACA,aAAA;EACA,eAAA;EACA,mBAAA;EACA,8BAAA;EACA,gEAAA;AtCk0IF;AsC5zIE;;;;;;;;;;;;;EACE,aAAA;EACA,kBAAA;EACA,mBAAA;EACA,8BAAA;AtC00IJ;AsCtzIA;EACE,8CAAA;EACA,iDAAA;ElCmOI,4CALI;EkC3NR,oCAAA;EACA,qBAAA;EACA,mBAAA;AtCuzIF;AO53II;EAgCE,gDAAA;AP+1IN;AOv3II;EA+BI,+CAAA;AP21IR;AsC3zIE;EAEE,0CAAA;AtC4zIJ;;AsClzIA;EAEE,2BAAA;EACA,gCAAA;EACA,6CAAA;EACA,yDAAA;EACA,+DAAA;EAGA,aAAA;EACA,sBAAA;EAEA,gBAAA;EACA,gBAAA;AtCizIF;AOj5II;EAgCE,eAAA;APo3IN;AO54II;EA+BI,gBAAA;APg3IR;AsCrzIE;;EAEE,qCAAA;AtCuzIJ;AsCpzIE;EACE,gBAAA;AtCszIJ;;AsC9yIA;EACE,mBhCsjCkC;EgCrjClC,sBhCqjCkC;EgCpjClC,8BAAA;AtCizIF;AsC/yIE;;;EAGE,qCAAA;AtCizIJ;;AsCpyIA;EACE,gBAAA;EACA,YAAA;EAGA,mBAAA;AtCqyIF;;AsCjyIA;EACE,gFAAA;ElCoJI,8CALI;EkC7IR,cAAA;EACA,8BAAA;EACA,6BAAA;EACA,4EAAA;E9BnIE,sDAAA;EeHE,gDewIJ;AtCoyIF;AuBx6IM;Ee4HN;If3HQ,gBAAA;EvB26IN;AACF;AsCvyIE;EACE,qBAAA;AtCyyIJ;AsCtyIE;EACE,qBAAA;EACA,UAAA;EACA,uDAAA;AtCwyIJ;;AsClyIA;EACE,qBAAA;EACA,YAAA;EACA,aAAA;EACA,sBAAA;EACA,mDAAA;EACA,4BAAA;EACA,2BAAA;EACA,qBAAA;AtCqyIF;;AsClyIA;EACE,0CAAA;EACA,gBAAA;AtCqyIF;;Ae74II;EuBoHA;IAEI,iBAAA;IACA,2BAAA;EtC4xIN;EsC1xIM;IACE,mBAAA;EtC4xIR;EsC1xIQ;IACE,kBAAA;EtC4xIV;EsCzxIQ;IACE,mDAAA;IACA,kDAAA;EtC2xIV;EsCvxIM;IACE,iBAAA;EtCyxIR;EsCtxIM;IACE,wBAAA;IACA,gBAAA;EtCwxIR;EsCrxIM;IACE,aAAA;EtCuxIR;EsCpxIM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;IfzNJ,gBe2NI;EtCoxIR;EsCjxIQ;IACE,aAAA;EtCmxIV;EsChxIQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;EtCkxIV;AACF;Ae77II;EuBoHA;IAEI,iBAAA;IACA,2BAAA;EtC20IN;EsCz0IM;IACE,mBAAA;EtC20IR;EsCz0IQ;IACE,kBAAA;EtC20IV;EsCx0IQ;IACE,mDAAA;IACA,kDAAA;EtC00IV;EsCt0IM;IACE,iBAAA;EtCw0IR;EsCr0IM;IACE,wBAAA;IACA,gBAAA;EtCu0IR;EsCp0IM;IACE,aAAA;EtCs0IR;EsCn0IM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;IfzNJ,gBe2NI;EtCm0IR;EsCh0IQ;IACE,aAAA;EtCk0IV;EsC/zIQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;EtCi0IV;AACF;Ae5+II;EuBoHA;IAEI,iBAAA;IACA,2BAAA;EtC03IN;EsCx3IM;IACE,mBAAA;EtC03IR;EsCx3IQ;IACE,kBAAA;EtC03IV;EsCv3IQ;IACE,mDAAA;IACA,kDAAA;EtCy3IV;EsCr3IM;IACE,iBAAA;EtCu3IR;EsCp3IM;IACE,wBAAA;IACA,gBAAA;EtCs3IR;EsCn3IM;IACE,aAAA;EtCq3IR;EsCl3IM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;IfzNJ,gBe2NI;EtCk3IR;EsC/2IQ;IACE,aAAA;EtCi3IV;EsC92IQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;EtCg3IV;AACF;Ae3hJI;EuBoHA;IAEI,iBAAA;IACA,2BAAA;EtCy6IN;EsCv6IM;IACE,mBAAA;EtCy6IR;EsCv6IQ;IACE,kBAAA;EtCy6IV;EsCt6IQ;IACE,mDAAA;IACA,kDAAA;EtCw6IV;EsCp6IM;IACE,iBAAA;EtCs6IR;EsCn6IM;IACE,wBAAA;IACA,gBAAA;EtCq6IR;EsCl6IM;IACE,aAAA;EtCo6IR;EsCj6IM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;IfzNJ,gBe2NI;EtCi6IR;EsC95IQ;IACE,aAAA;EtCg6IV;EsC75IQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;EtC+5IV;AACF;Ae1kJI;EuBoHA;IAEI,iBAAA;IACA,2BAAA;EtCw9IN;EsCt9IM;IACE,mBAAA;EtCw9IR;EsCt9IQ;IACE,kBAAA;EtCw9IV;EsCr9IQ;IACE,mDAAA;IACA,kDAAA;EtCu9IV;EsCn9IM;IACE,iBAAA;EtCq9IR;EsCl9IM;IACE,wBAAA;IACA,gBAAA;EtCo9IR;EsCj9IM;IACE,aAAA;EtCm9IR;EsCh9IM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;IfzNJ,gBe2NI;EtCg9IR;EsC78IQ;IACE,aAAA;EtC+8IV;EsC58IQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;EtC88IV;AACF;AsCrgJI;EAEI,iBAAA;EACA,2BAAA;AtCsgJR;AsCpgJQ;EACE,mBAAA;AtCsgJV;AsCpgJU;EACE,kBAAA;AtCsgJZ;AsCngJU;EACE,mDAAA;EACA,kDAAA;AtCqgJZ;AsCjgJQ;EACE,iBAAA;AtCmgJV;AsChgJQ;EACE,wBAAA;EACA,gBAAA;AtCkgJV;AsC//IQ;EACE,aAAA;AtCigJV;AsC9/IQ;EAEE,gBAAA;EACA,aAAA;EACA,YAAA;EACA,sBAAA;EACA,uBAAA;EACA,8BAAA;EACA,wCAAA;EACA,oBAAA;EACA,0BAAA;EfzNJ,gBe2NI;AtC8/IV;AsC3/IU;EACE,aAAA;AtC6/IZ;AsC1/IU;EACE,aAAA;EACA,YAAA;EACA,UAAA;EACA,mBAAA;AtC4/IZ;;AsC3+IA;EAEE,4CAAA;EACA,mDAAA;EACA,sDAAA;EACA,oDAAA;EACA,mDAAA;EACA,yDAAA;EACA,2DAAA;EACA,8QAAA;AtC6+IF;;AuCzvJA;EAEE,yBAAA;EACA,yBAAA;EACA,iCAAA;EACA,4BAAA;EACA,4DAAA;EACA,kCAAA;EACA,uBAAA;EACA,oDAAA;EACA,gCAAA;EACA,8BAAA;EACA,uCAAA;EACA,2BAAA;EACA,mBAAA;EACA,uBAAA;EACA,mBAAA;EACA,oCAAA;EACA,gCAAA;EAGA,kBAAA;EACA,aAAA;EACA,sBAAA;EACA,YAAA;EACA,8BAAA;EACA,qBAAA;EACA,oCAAA;EACA,2BAAA;EACA,uEAAA;E/BdE,4CAAA;ARwwJJ;AuCtvJE;EACE,eAAA;EACA,cAAA;AvCwvJJ;AuCrvJE;EACE,mBAAA;EACA,sBAAA;AvCuvJJ;AuCrvJI;EACE,mBAAA;E/BnBF,2DAAA;EACA,4DAAA;AR2wJJ;AuCrvJI;EACE,sBAAA;E/BVF,+DAAA;EACA,8DAAA;ARkwJJ;AuClvJE;;EAEE,aAAA;AvCovJJ;;AuChvJA;EAGE,cAAA;EACA,0DAAA;EACA,4BAAA;AvCivJF;;AuC9uJA;EACE,6CAAA;AvCivJF;;AuC9uJA;EACE,uDAAA;EACA,gBAAA;AvCivJF;;AuC9uJA;EACE,gBAAA;AvCivJF;;AOl0JI;EAgCE,qCAAA;APsyJN;AO9zJI;EA+BI,sCAAA;APkyJR;;AuCvuJA;EACE,oEAAA;EACA,gBAAA;EACA,gCAAA;EACA,wCAAA;EACA,8EAAA;AvC0uJF;AuCxuJE;E/BxFE,0FAAA;ARm0JJ;;AuCtuJA;EACE,oEAAA;EACA,gCAAA;EACA,wCAAA;EACA,2EAAA;AvCyuJF;AuCvuJE;E/BnGE,0FAAA;AR60JJ;;AuChuJA;EACE,wDAAA;EACA,uDAAA;EACA,uDAAA;EACA,gBAAA;AvCmuJF;AuCjuJE;EACE,oCAAA;EACA,uCAAA;AvCmuJJ;;AuC/tJA;EACE,wDAAA;EACA,uDAAA;AvCkuJF;;AuC9tJA;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,4CAAA;E/BrIE,kDAAA;ARu2JJ;;AuC9tJA;;;EAGE,WAAA;AvCiuJF;;AuC9tJA;;E/BtII,2DAAA;EACA,4DAAA;ARy2JJ;;AuC/tJA;;E/B7HI,+DAAA;EACA,8DAAA;ARi2JJ;;AuCxtJE;EACE,2CAAA;AvC2tJJ;Aep0JI;EwBqGJ;IAQI,aAAA;IACA,mBAAA;EvC2tJF;EuCxtJE;IAEE,YAAA;IACA,gBAAA;EvCytJJ;EOv5JE;IAgCE,cAAA;IAAA,cAAA;EP03JJ;EOl5JE;IA+BI,eAAA;IAAA,eAAA;EPs3JN;EO75JE;IAgCE,0BAAA;IAAA,6BAAA;EPs4JJ;EO95JE;IA+BI,yBAAA;IAAA,4BAAA;EPk4JN;EuC/tJQ;;IAGE,0BAAA;EvCsuJV;EuCpuJQ;;IAGE,6BAAA;EvCquJV;EOv7JE;IAgCE,yBAAA;IAAA,4BAAA;EP05JJ;EOl7JE;IA+BI,0BAAA;IAAA,6BAAA;EPs5JN;EuCpuJQ;;IAGE,yBAAA;EvC2uJV;EuCzuJQ;;IAGE,4BAAA;EvC0uJV;AACF;;AwC18JA;EAEE,6CAAA;EACA,wBAAA;EACA,+KAAA;EACA,qDAAA;EACA,iCAAA;EACA,uCAAA;EACA,yDAAA;EACA,sCAAA;EACA,mCAAA;EACA,iDAAA;EACA,iDAAA;EACA,+CAAA;EACA,0TAAA;EACA,uCAAA;EACA,mDAAA;EACA,+DAAA;EACA,gTAAA;EACA,+CAAA;EACA,2EAAA;EACA,uCAAA;EACA,oCAAA;EACA,qCAAA;EACA,kCAAA;AxC48JF;;AwCx8JA;EACE,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,WAAA;EACA,8EAAA;EpCgQI,eALI;EoCzPR,qCAAA;EACA,gBAAA;EACA,6CAAA;EACA,SAAA;EhCvBE,gBAAA;EgCyBF,qBAAA;EjB5BI,2CiB6BJ;AxC28JF;AuBp+JM;EiBYN;IjBXQ,gBAAA;EvBu+JN;AACF;AwC98JE;EACE,wCAAA;EACA,gDAAA;EACA,oGAAA;AxCg9JJ;AwC98JI;EACE,sDAAA;EACA,kDAAA;AxCg9JN;AwC38JE;EACE,cAAA;EACA,0CAAA;EACA,2CAAA;EACA,iBAAA;EACA,WAAA;EACA,+CAAA;EACA,4BAAA;EACA,oDAAA;EjBnDE,oDiBoDF;AxC68JJ;AuB7/JM;EiBuCJ;IjBtCM,gBAAA;EvBggKN;AACF;AwC/8JE;EACE,UAAA;AxCi9JJ;AwC98JE;EACE,UAAA;EACA,yDAAA;EACA,UAAA;EACA,qDAAA;AxCg9JJ;;AwC58JA;EACE,gBAAA;AxC+8JF;;AwC58JA;EACE,iCAAA;EACA,yCAAA;EACA,iFAAA;AxC+8JF;AwC78JE;EhChEE,0DAAA;EACA,2DAAA;ARghKJ;AwC98JI;EhCnEA,gEAAA;EACA,iEAAA;ARohKJ;AwC78JE;EACE,aAAA;AxC+8JJ;AwC38JE;EhC/DE,8DAAA;EACA,6DAAA;AR6gKJ;AwC38JM;EhCnEF,oEAAA;EACA,mEAAA;ARihKJ;AwC18JI;EhCxEA,8DAAA;EACA,6DAAA;ARqhKJ;;AwCx8JA;EACE,gFAAA;AxC28JF;;AwCl8JE;EACE,eAAA;AxCq8JJ;AwCl8JE;EACE,eAAA;EACA,cAAA;EhCrHA,gBAAA;AR0jKJ;AwCl8JI;EAAgB,aAAA;AxCq8JpB;AwCp8JI;EAAe,gBAAA;AxCu8JnB;AwCp8JM;EhC5HF,gBAAA;ARmkKJ;;AyCtlKA;EAEE,6BAAA;EACA,6BAAA;EACA,oCAAA;EAEA,0BAAA;EACA,gCAAA;EACA,uCAAA;EACA,uCAAA;EACA,2CAAA;EAGA,aAAA;EACA,eAAA;EACA,wEAAA;EACA,kDAAA;ErCqRI,0CALI;EqC9QR,gBAAA;EACA,0CAAA;EjCAE,kDAAA;ARslKJ;;AOvmKI;EAgCE,kDAAA;AP2kKN;AOnmKI;EA+BI,mDAAA;APukKR;AyCplKI;EAGE,0CAAA;AzColKN;AOjnKI;EAgCE,WAAA;EAAA,mDAAA;EAAA,2CAAA;APolKN;AO5mKI;EA+BI,YAAA;EAAA,kDAAA;EAHA,mDAAA;APmlKR;AyChlKE;EACE,8CAAA;AzC8lKJ;;A0CxoKA;EAEE,mCAAA;EACA,oCAAA;EtCkSI,gCALI;EsC3RR,6CAAA;EACA,yBAAA;EACA,kCAAA;EACA,sCAAA;EACA,wCAAA;EACA,yDAAA;EACA,kCAAA;EACA,4CAAA;EACA,yDAAA;EACA,kCAAA;EACA,wEAAA;EACA,wDAAA;EACA,mCAAA;EACA,6CAAA;EACA,wCAAA;EACA,kCAAA;EACA,+CAAA;EAGA,aAAA;EhCnBA,gBAAA;AV4pKF;AO/pKI;EAgCE,eAAA;APkoKN;AO1pKI;EA+BI,gBAAA;AP8nKR;;A0C3oKA;EACE,kBAAA;EACA,cAAA;EACA,wEAAA;EtCsQI,0CALI;EsC/PR,kCAAA;EACA,qBAAA;EACA,0CAAA;EACA,mFAAA;EnBpBI,qImBqBJ;A1C8oKF;AuB/pKM;EmBQN;InBPQ,gBAAA;EvBkqKN;AACF;A0CjpKE;EACE,UAAA;EACA,wCAAA;EAEA,gDAAA;EACA,sDAAA;A1CkpKJ;A0C/oKE;EACE,UAAA;EACA,wCAAA;EACA,gDAAA;EACA,UpCuwCgC;EoCtwChC,kDAAA;A1CipKJ;A0C9oKE;EAEE,UAAA;EACA,yCAAA;ElBtDF,iDkBuDuB;EACrB,uDAAA;A1C+oKJ;A0C5oKE;EAEE,2CAAA;EACA,oBAAA;EACA,mDAAA;EACA,yDAAA;A1C6oKJ;;AO/sKI;EAgCE,iBAAA;APmrKN;AO3sKI;EA+BI,kBAAA;AP+qKR;AOttKI;EAgCE,2DAAA;EAAA,8DAAA;APyrKN;AOjtKI;EA+BI,4DAAA;EAAA,+DAAA;APqrKR;AO5tKI;EAgCE,4DAAA;EAAA,+DAAA;APqsKN;AO7tKI;EA+BI,2DAAA;EAAA,8DAAA;APisKR;;A0CpoKA;EClGE,kCAAA;EACA,mCAAA;EvCgSI,mCALI;EuCzRR,sCAAA;A3CgvKF;;A0C7oKA;ECtGE,kCAAA;EACA,mCAAA;EvCgSI,oCALI;EuCzRR,uCAAA;A3CuvKF;;A4CzvKA;EAEE,6BAAA;EACA,6BAAA;ExC6RI,6BALI;EwCtRR,4BAAA;EACA,4CAAA;EACA,mCAAA;EAGA,qBAAA;EACA,8DAAA;ExCqRI,qCALI;EwC9QR,yCAAA;EACA,cAAA;EACA,6BAAA;EACA,kBAAA;EACA,mBAAA;EACA,wBAAA;EACA,gDAAA;A5CyvKF;A4CrvKE;EACE,aAAA;A5CuvKJ;;A4ClvKA;EACE,kBAAA;EACA,SAAA;A5CqvKF;;A4C9uKA;EACE,oBAAA;ExCyPI,iBALI;AJ8/JV;;A6C1xKA;EAEE,2BAAA;EACA,2BAAA;EACA,2BAAA;EACA,+BAAA;EACA,0BAAA;EACA,qCAAA;EACA,2DAAA;EACA,mCAAA;EAGA,kBAAA;EACA,8DAAA;EACA,6CAAA;EACA,6BAAA;EACA,qCAAA;EACA,+BAAA;ErCFE,6CAAA;AR6xKJ;;A6CtxKA;EAEE,cAAA;A7CwxKF;;A6CpxKA;EACE,gBvComB4B;EuCnmB5B,kCAAA;A7CuxKF;;AOvzKI;EAgCE,mBAAA;AP2xKN;AOnzKI;EA+BI,kBAAA;APuxKR;A6ClxKE;EACE,kBAAA;EACA,MAAA;EAEA,UAAA;EACA,qBAAA;A7CmxKJ;AOp0KI;EAgCE,QAAA;APuyKN;AO/zKI;EA+BI,OAAA;APmyKR;;A6CzwKE;ECjEA,0BAAA;EACA,uBAAA;EACA,iCAAA;A9C80KF;A8Cx0KE;EACE,cAAA;A9C00KJ;;A6ClxKE;ECjEA,0BAAA;EACA,uBAAA;EACA,iCAAA;A9Cu1KF;A8Cj1KE;EACE,cAAA;A9Cm1KJ;;A6C3xKE;ECjEA,0BAAA;EACA,uBAAA;EACA,iCAAA;A9Cg2KF;A8C11KE;EACE,cAAA;A9C41KJ;;A6CpyKE;ECjEA,0BAAA;EACA,uBAAA;EACA,iCAAA;A9Cy2KF;A8Cn2KE;EACE,cAAA;A9Cq2KJ;;A6C7yKE;ECjEA,2CAAA;EACA,uBAAA;EACA,iCAAA;A9Ck3KF;A8C52KE;EACE,+BAAA;A9C82KJ;;A6CtzKE;ECjEA,0BAAA;EACA,uBAAA;EACA,iCAAA;A9C23KF;A8Cr3KE;EACE,cAAA;A9Cu3KJ;;A6C/zKE;ECjEA,4CAAA;EACA,uBAAA;EACA,iCAAA;A9Co4KF;A8C93KE;EACE,gCAAA;A9Cg4KJ;;A6Cx0KE;ECjEA,0BAAA;EACA,uBAAA;EACA,iCAAA;A9C64KF;A8Cv4KE;EACE,cAAA;A9Cy4KJ;;A+Ch5KE;EACE;IAAK,2BzCsmD2B;EN8yHlC;AACF;A+Ch5KA;EAEE,2BAAA;E3CyRI,iCALI;E2ClRR,0BAAA;EACA,sCAAA;EACA,gEAAA;EACA,mDAAA;EACA,8BAAA;EACA,8CAAA;EAGA,aAAA;EACA,kCAAA;EACA,gBAAA;E3C6QI,wCALI;E2CtQR,wCAAA;EvCPE,gDAAA;ARu5KJ;;A+C34KA;EACE,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,gBAAA;EACA,oCAAA;EACA,kBAAA;EACA,mBAAA;EACA,4CAAA;ExBvBI,8CwBwBJ;A/C84KF;AuBl6KM;EwBWN;IxBVQ,gBAAA;EvBq6KN;AACF;;A+Ch5KA;EvBCE,qMAAA;EuBCA,sEAAA;A/Cm5KF;;A+C/4KE;EACE,kDAAA;A/Ck5KJ;A+C/4KM;EAJJ;IAKM,eAAA;E/Ck5KN;AACF;;A+C74KA;EACE,WAAA;A/Cg5KF;;A+C54KA;EACE,0CAAA;A/C+4KF;A+C94KE;EACE,sBzC5DQ;AN48KZ;;A+C54KA;EACE,aAAA;EACA,mBAAA;EACA,mBzC+XO;ANghKT;;A+C54KA;EACE,eAAA;EACA,kBAAA;A/C+4KF;;A+C54KA;EACE,aAAA;EACA,gBAAA;EACA,mBAAA;EACA,sBzC+hDqC;ANg3HvC;;A+C54KA;EACE,YAAA;EACA,kBAAA;A/C+4KF;A+C74KE;EACE,kBAAA;A/C+4KJ;;A+C34KA;EACE,gBAAA;A/C84KF;;AgD9+KA;EAEE,6BAAA;EACA,yBAAA;EACA,oDAAA;EACA,kCAAA;EACA,wCAAA;EACA,qCAAA;EACA,uCAAA;EACA,sCAAA;EACA,4CAAA;EACA,yCAAA;EACA,4DAAA;EACA,0CAAA;EACA,wCAAA;EACA,kCAAA;EACA,wDAAA;EACA,mCAAA;EACA,6CAAA;EAGA,aAAA;EACA,sBAAA;EAIA,gBAAA;ExCXE,kDAAA;ARu/KJ;AOxgLI;EAgCE,eAAA;AP2+KN;AOngLI;EA+BI,gBAAA;APu+KR;;AgD9+KA;EACE,qBAAA;EACA,sBAAA;AhDi/KF;AgD/+KE;EAEE,oCAAA;EACA,0BAAA;AhDg/KJ;;AgDv+KA;EACE,WAAA;EACA,yCAAA;EACA,mBAAA;AhD0+KF;AgDv+KE;EAEE,UAAA;EACA,+CAAA;EACA,qBAAA;EACA,uDAAA;AhDw+KJ;AgDr+KE;EACE,gDAAA;EACA,wDAAA;AhDu+KJ;;AgD/9KA;EACE,kBAAA;EACA,cAAA;EACA,kFAAA;EACA,kCAAA;EACA,qBAAA;EACA,0CAAA;EACA,mFAAA;AhDk+KF;AgDh+KE;ExCvDE,+BAAA;EACA,gCAAA;AR0hLJ;AgDh+KE;ExC7CE,mCAAA;EACA,kCAAA;ARghLJ;AgDh+KE;EAEE,2CAAA;EACA,oBAAA;EACA,mDAAA;AhDi+KJ;AgD79KE;EACE,UAAA;EACA,yCAAA;EACA,iDAAA;EACA,uDAAA;AhD+9KJ;AgD39KE;EACE,mBAAA;AhD69KJ;AgD39KI;EACE,yDAAA;EACA,oDAAA;AhD69KN;;AgDh9KI;EACE,mBAAA;AhDm9KN;AO/kLI;EAgCE,8DAAA;EAAA,0BAAA;APkjLN;AO1kLI;EA+BI,+DAAA;EAAA,yBAAA;AP8iLR;AOrlLI;EAgCE,4DAAA;EAAA,4BAAA;AP8jLN;AOtlLI;EA+BI,2DAAA;EAAA,6BAAA;AP0jLR;AgDx9KQ;EACE,aAAA;AhDg+KV;AgD79KQ;EACE,oDAAA;AhD+9KV;AO7mLI;EAgCE,oBAAA;APglLN;AOxmLI;EA+BI,qBAAA;AP4kLR;AOnnLI;EAgCE,0DAAA;EAAA,qDAAA;APslLN;AO9mLI;EA+BI,2DAAA;EAAA,sDAAA;APklLR;;Ae/iLI;EiCiDA;IACE,mBAAA;EhDwgLJ;EOpoLE;IAgCE,8DAAA;IAAA,0BAAA;EPumLJ;EO/nLE;IA+BI,+DAAA;IAAA,yBAAA;EPmmLN;EO1oLE;IAgCE,4DAAA;IAAA,4BAAA;EPmnLJ;EO3oLE;IA+BI,2DAAA;IAAA,6BAAA;EP+mLN;EgD7gLM;IACE,aAAA;EhDqhLR;EgDlhLM;IACE,oDAAA;EhDohLR;EOlqLE;IAgCE,oBAAA;EPqoLJ;EO7pLE;IA+BI,qBAAA;EPioLN;EOxqLE;IAgCE,0DAAA;IAAA,qDAAA;EP2oLJ;EOnqLE;IA+BI,2DAAA;IAAA,sDAAA;EPuoLN;AAOF;Ae3mLI;EiCiDA;IACE,mBAAA;EhD6jLJ;EOzrLE;IAgCE,8DAAA;IAAA,0BAAA;EP4pLJ;EOprLE;IA+BI,+DAAA;IAAA,yBAAA;EPwpLN;EO/rLE;IAgCE,4DAAA;IAAA,4BAAA;EPwqLJ;EOhsLE;IA+BI,2DAAA;IAAA,6BAAA;EPoqLN;EgDlkLM;IACE,aAAA;EhD0kLR;EgDvkLM;IACE,oDAAA;EhDykLR;EOvtLE;IAgCE,oBAAA;EP0rLJ;EOltLE;IA+BI,qBAAA;EPsrLN;EO7tLE;IAgCE,0DAAA;IAAA,qDAAA;EPgsLJ;EOxtLE;IA+BI,2DAAA;IAAA,sDAAA;EP4rLN;AAOF;AehqLI;EiCiDA;IACE,mBAAA;EhDknLJ;EO9uLE;IAgCE,8DAAA;IAAA,0BAAA;EPitLJ;EOzuLE;IA+BI,+DAAA;IAAA,yBAAA;EP6sLN;EOpvLE;IAgCE,4DAAA;IAAA,4BAAA;EP6tLJ;EOrvLE;IA+BI,2DAAA;IAAA,6BAAA;EPytLN;EgDvnLM;IACE,aAAA;EhD+nLR;EgD5nLM;IACE,oDAAA;EhD8nLR;EO5wLE;IAgCE,oBAAA;EP+uLJ;EOvwLE;IA+BI,qBAAA;EP2uLN;EOlxLE;IAgCE,0DAAA;IAAA,qDAAA;EPqvLJ;EO7wLE;IA+BI,2DAAA;IAAA,sDAAA;EPivLN;AAOF;AertLI;EiCiDA;IACE,mBAAA;EhDuqLJ;EOnyLE;IAgCE,8DAAA;IAAA,0BAAA;EPswLJ;EO9xLE;IA+BI,+DAAA;IAAA,yBAAA;EPkwLN;EOzyLE;IAgCE,4DAAA;IAAA,4BAAA;EPkxLJ;EO1yLE;IA+BI,2DAAA;IAAA,6BAAA;EP8wLN;EgD5qLM;IACE,aAAA;EhDorLR;EgDjrLM;IACE,oDAAA;EhDmrLR;EOj0LE;IAgCE,oBAAA;EPoyLJ;EO5zLE;IA+BI,qBAAA;EPgyLN;EOv0LE;IAgCE,0DAAA;IAAA,qDAAA;EP0yLJ;EOl0LE;IA+BI,2DAAA;IAAA,sDAAA;EPsyLN;AAOF;Ae1wLI;EiCiDA;IACE,mBAAA;EhD4tLJ;EOx1LE;IAgCE,8DAAA;IAAA,0BAAA;EP2zLJ;EOn1LE;IA+BI,+DAAA;IAAA,yBAAA;EPuzLN;EO91LE;IAgCE,4DAAA;IAAA,4BAAA;EPu0LJ;EO/1LE;IA+BI,2DAAA;IAAA,6BAAA;EPm0LN;EgDjuLM;IACE,aAAA;EhDyuLR;EgDtuLM;IACE,oDAAA;EhDwuLR;EOt3LE;IAgCE,oBAAA;EPy1LJ;EOj3LE;IA+BI,qBAAA;EPq1LN;EO53LE;IAgCE,0DAAA;IAAA,qDAAA;EP+1LJ;EOv3LE;IA+BI,2DAAA;IAAA,sDAAA;EP21LN;AAOF;AgDxuLA;ExChJI,gBAAA;AR23LJ;AgDxuLE;EACE,oDAAA;AhD0uLJ;AgDxuLI;EACE,sBAAA;AhD0uLN;;AgD7tLE;EChLA,mFAAA;EACA,4BAAA;EACA,kCAAA;EACA,gGAAA;EACA,0CAAA;EACA,8FAAA;EACA,wGAAA;AjDi5LF;;AgDvuLE;EChLA,qFAAA;EACA,4BAAA;EACA,kCAAA;EACA,kGAAA;EACA,0CAAA;EACA,gGAAA;EACA,0GAAA;AjD25LF;;AgDjvLE;EChLA,mFAAA;EACA,4BAAA;EACA,kCAAA;EACA,gGAAA;EACA,0CAAA;EACA,8FAAA;EACA,wGAAA;AjDq6LF;;AgD3vLE;EChLA,kFAAA;EACA,4BAAA;EACA,kCAAA;EACA,+FAAA;EACA,0CAAA;EACA,6FAAA;EACA,uGAAA;AjD+6LF;;AgDrwLE;EChLA,mFAAA;EACA,4BAAA;EACA,kCAAA;EACA,gGAAA;EACA,0CAAA;EACA,8FAAA;EACA,wGAAA;AjDy7LF;;AgD/wLE;EChLA,gFAAA;EACA,4BAAA;EACA,kCAAA;EACA,6FAAA;EACA,0CAAA;EACA,2FAAA;EACA,qGAAA;AjDm8LF;;AgDzxLE;EChLA,iFAAA;EACA,4BAAA;EACA,kCAAA;EACA,8FAAA;EACA,0CAAA;EACA,4FAAA;EACA,sGAAA;AjD68LF;;AgDnyLE;EChLA,gFAAA;EACA,4BAAA;EACA,kCAAA;EACA,6FAAA;EACA,0CAAA;EACA,2FAAA;EACA,qGAAA;AjDu9LF;;AkD/9LA;EACE,uBAAA;EACA,U5C05D2B;E4Cz5D3B,W5Cy5D2B;E4Cx5D3B,sBAAA;EACA,yDAAA;EACA,gaAAA;EACA,SAAA;E1COE,uBAAA;E0CLF,Y5C05D2B;ANwkI7B;AkD/9LE;EACE,yDAAA;EACA,qBAAA;EACA,a5Cq5DyB;AN4kI7B;AkD99LE;EACE,UAAA;EACA,iD5CgyB4B;E4C/xB5B,U5Cg5DyB;ANglI7B;AkD79LE;EAEE,oBAAA;EACA,yBAAA;EAAA,sBAAA;EAAA,iBAAA;EACA,a5C04DyB;ANolI7B;;AkD19LA;EACE,kD5Cs4D2B;ANulI7B;;AmDngMA;EAEE,wBAAA;EACA,8BAAA;EACA,6BAAA;EACA,2BAAA;EACA,4BAAA;E/C+RI,+BALI;E+CxRR,wBAAA;EACA,yCAAA;EACA,6BAAA;EACA,6DAAA;EACA,mCAAA;EACA,0DAAA;EACA,iCAAA;EACA,gDAAA;EACA,qDAAA;EAGA,iCAAA;EACA,eAAA;E/CiRI,qCALI;E+C1QR,6BAAA;EACA,oBAAA;EACA,qCAAA;EACA,4BAAA;EACA,yEAAA;EACA,uCAAA;E3CRE,6CAAA;AR4gMJ;AmDjgME;EACE,UAAA;AnDmgMJ;AmDhgME;EACE,aAAA;AnDkgMJ;;AmD9/LA;EACE,wBAAA;EAEA,kBAAA;EACA,gCAAA;EACA,0BAAA;EAAA,uBAAA;EAAA,kBAAA;EACA,eAAA;EACA,oBAAA;AnDggMF;AmD9/LE;EACE,uCAAA;AnDggMJ;;AmD5/LA;EACE,aAAA;EACA,mBAAA;EACA,8DAAA;EACA,oCAAA;EACA,4CAAA;EACA,4BAAA;EACA,uFAAA;E3ChCE,4FAAA;EACA,6FAAA;ARgiMJ;AO3jMI;EAgCE,qDAAA;EAAA,uCAAA;AP8hMN;AOtjMI;EA+BI,oDAAA;EAAA,wCAAA;AP0hMR;;AmD9/LA;EACE,mCAAA;EACA,qBAAA;AnDugMF;;AoDrkMA;EAEE,wBAAA;EACA,wBAAA;EACA,yBAAA;EACA,0BAAA;EACA,wBAAA;EACA,oBAAA;EACA,6DAAA;EACA,6BAAA;EACA,iCAAA;EACA,gEAAA;EACA,mDAAA;EACA,kCAAA;EACA,kCAAA;EACA,qCAAA;EACA,wDAAA;EACA,oCAAA;EACA,kCAAA;EACA,8BAAA;EACA,uBAAA;EACA,wDAAA;EACA,oCAAA;EAGA,eAAA;EACA,MAAA;EAEA,gCAAA;EACA,aAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAA;EAGA,UAAA;ApDkkMF;AO7mMI;EAgCE,OAAA;APglMN;AOxmMI;EA+BI,QAAA;AP4kMR;;AoDjkMA;EACE,kBAAA;EACA,WAAA;EACA,+BAAA;EAEA,oBAAA;ApDmkMF;AoDhkME;E7B5CI,mC6B6CF;EACA,8B9C09CgC;ANwmJpC;AuB5mMM;E6BwCJ;I7BvCM,gBAAA;EvB+mMN;AACF;AoDrkME;EACE,e9Cw9CgC;AN+mJpC;AoDnkME;EACE,sB9Cq9CgC;ANgnJpC;;AoDjkMA;EACE,gDAAA;ApDokMF;AoDlkME;EACE,gBAAA;EACA,gBAAA;ApDokMJ;AoDjkME;EACE,gBAAA;ApDmkMJ;;AoD/jMA;EACE,aAAA;EACA,mBAAA;EACA,oDAAA;ApDkkMF;;AoD9jMA;EACE,kBAAA;EACA,aAAA;EACA,sBAAA;EACA,WAAA;EAEA,6BAAA;EACA,oBAAA;EACA,qCAAA;EACA,4BAAA;EACA,yEAAA;E5CrFE,6CAAA;E4CyFF,UAAA;ApD8jMF;;AoD1jMA;EAEE,2BAAA;EACA,0BAAA;EACA,2BAAA;EClHA,eAAA;EACA,MAAA;EACA,OAAA;EACA,mCDkH0B;ECjH1B,YAAA;EACA,aAAA;EACA,wCD+G4D;ApDgkM9D;AqD5qME;EAAS,UAAA;ArD+qMX;AqD9qME;EAAS,oCD2GiF;ApDskM5F;;AoDjkMA;EACE,aAAA;EACA,cAAA;EACA,mBAAA;EACA,8BAAA;EACA,wCAAA;EACA,8FAAA;E5CtGE,4DAAA;EACA,6DAAA;AR2qMJ;AoDnkME;EACE,oGAAA;ApDqkMJ;AOzsMI;EA+DE,yJAAA;AP6oMN;AOpsMI;EA2DI,yJAAA;AP4oMR;;AoDrkMA;EACE,gBAAA;EACA,+CAAA;ApDwkMF;;AoDnkMA;EACE,kBAAA;EAGA,cAAA;EACA,iCAAA;ApDokMF;;AoDhkMA;EACE,aAAA;EACA,cAAA;EACA,eAAA;EACA,mBAAA;EACA,yBAAA;EACA,2EAAA;EACA,4CAAA;EACA,2FAAA;E5C1HE,gEAAA;EACA,+DAAA;AR8rMJ;AoD/jME;EACE,+CAAA;ApDikMJ;;AehqMI;EqCqGF;IACE,2BAAA;IACA,0DAAA;EpD+jMF;EoD3jMA;IACE,iCAAA;IACA,kBAAA;IACA,iBAAA;EpD6jMF;EoD1jMA;IACE,wBAAA;EpD4jMF;AACF;Ae/qMI;EqCuHF;;IAEE,wBAAA;EpD2jMF;AACF;AerrMI;EqC8HF;IACE,yBAAA;EpD0jMF;AACF;AoDjjMI;EACE,YAAA;EACA,eAAA;EACA,YAAA;EACA,SAAA;ApDmjMN;AoDjjMM;EACE,YAAA;EACA,SAAA;E5C1MJ,gBAAA;AR8vMJ;AoDhjMM;;E5C9MF,gBAAA;ARkwMJ;AoD/iMM;EACE,gBAAA;ApDijMR;;Ae/rMI;EqC4HA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpDukMJ;EoDrkMI;IACE,YAAA;IACA,SAAA;I5C1MJ,gBAAA;ERkxMF;EoDpkMI;;I5C9MF,gBAAA;ERsxMF;EoDnkMI;IACE,gBAAA;EpDqkMN;AACF;AeptMI;EqC4HA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpD2lMJ;EoDzlMI;IACE,YAAA;IACA,SAAA;I5C1MJ,gBAAA;ERsyMF;EoDxlMI;;I5C9MF,gBAAA;ER0yMF;EoDvlMI;IACE,gBAAA;EpDylMN;AACF;AexuMI;EqC4HA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpD+mMJ;EoD7mMI;IACE,YAAA;IACA,SAAA;I5C1MJ,gBAAA;ER0zMF;EoD5mMI;;I5C9MF,gBAAA;ER8zMF;EoD3mMI;IACE,gBAAA;EpD6mMN;AACF;Ae5vMI;EqC4HA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpDmoMJ;EoDjoMI;IACE,YAAA;IACA,SAAA;I5C1MJ,gBAAA;ER80MF;EoDhoMI;;I5C9MF,gBAAA;ERk1MF;EoD/nMI;IACE,gBAAA;EpDioMN;AACF;AehxMI;EqC4HA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpDupMJ;EoDrpMI;IACE,YAAA;IACA,SAAA;I5C1MJ,gBAAA;ERk2MF;EoDppMI;;I5C9MF,gBAAA;ERs2MF;EoDnpMI;IACE,gBAAA;EpDqpMN;AACF;AsD53MA;EAEE,0BAAA;EACA,8BAAA;EACA,+BAAA;EACA,gCAAA;EACA,sBAAA;ElD8RI,iCALI;EkDvRR,8CAAA;EACA,yBAAA;EACA,qCAAA;EACA,0BAAA;EACA,iCAAA;EACA,kCAAA;EAGA,kCAAA;EACA,cAAA;EACA,wCAAA;EACA,iCAAA;ECnBA,uCjDqnB4B;EiDnnB5B,kBAAA;EACA,gBjD8nB4B;EiD7nB5B,gBjDqoB4B;EiDpoB5B,gBAAA;EACA,iBAAA;EACA,qBAAA;EACA,iBAAA;EACA,oBAAA;EACA,sBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;EACA,gBAAA;EnDsRI,uCALI;EkDrQR,qBAAA;EACA,UAAA;AtDo4MF;AsDl4ME;EAAS,mCAAA;AtDq4MX;AsDn4ME;EACE,cAAA;EACA,qCAAA;EACA,uCAAA;AtDq4MJ;AsDn4MI;EACE,kBAAA;EACA,WAAA;EACA,yBAAA;EACA,mBAAA;AtDq4MN;;AsDh4MA;EACE,SAAA;AtDm4MF;AsDj4ME;EACE,SAAA;EACA,0FAAA;EACA,uCAAA;AtDm4MJ;;AsD/3MA,qBAAA;AACA;EACE,OAAA;EACA,sCAAA;EACA,sCAAA;AtDk4MF;AsDh4ME;EACE,WAAA;EACA,qIAAA;EACA,yCAAA;AtDk4MJ;;AsD93MA,mBAAA;AAEA;EACE,MAAA;AtDg4MF;AsD93ME;EACE,YAAA;EACA,0FAAA;EACA,0CAAA;AtDg4MJ;;AsD53MA,qBAAA;AACA;EACE,QAAA;EACA,sCAAA;EACA,sCAAA;AtD+3MF;AsD73ME;EACE,UAAA;EACA,qIAAA;EACA,wCAAA;AtD+3MJ;;AsD33MA,mBAAA;AAkBA;EACE,uCAAA;EACA,kEAAA;EACA,+BAAA;EACA,kBAAA;EACA,uCAAA;EACA,kDAAA;AtD62MF;;AwDn+MA;EAEE,0BAAA;EACA,8BAAA;EpDkSI,iCALI;EoD3RR,sBAAA;EACA,+BAAA;EACA,+DAAA;EACA,mCAAA;EACA,qDAAA;EACA,4DAAA;EACA,oCAAA;EACA,sCAAA;EpDyRI,oCALI;EoDlRR,iCAAA;EACA,gCAAA;EACA,kCAAA;EACA,kCAAA;EACA,gDAAA;EACA,+BAAA;EACA,kCAAA;EACA,2DAAA;EAGA,kCAAA;EACA,cAAA;EACA,uCAAA;EDzBA,uCjDqnB4B;EiDnnB5B,kBAAA;EACA,gBjD8nB4B;EiD7nB5B,gBjDqoB4B;EiDpoB5B,gBAAA;EACA,iBAAA;EACA,qBAAA;EACA,iBAAA;EACA,oBAAA;EACA,sBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;EACA,gBAAA;EnDsRI,uCALI;EoDhQR,qBAAA;EACA,uCAAA;EACA,4BAAA;EACA,6EAAA;EhDhBE,+CAAA;AR8/MJ;AwD1+ME;EACE,cAAA;EACA,qCAAA;EACA,uCAAA;AxD4+MJ;AwD1+MI;EAEE,kBAAA;EACA,cAAA;EACA,WAAA;EACA,yBAAA;EACA,mBAAA;EACA,eAAA;AxD2+MN;;AwDr+ME;EACE,sFAAA;AxDw+MJ;AwDt+MI;EAEE,0FAAA;AxDu+MN;AwDp+MI;EACE,SAAA;EACA,iDAAA;AxDs+MN;AwDn+MI;EACE,uCAAA;EACA,uCAAA;AxDq+MN;;AwDh+MA,qBAAA;AAEE;EACE,oFAAA;EACA,sCAAA;EACA,sCAAA;AxDk+MJ;AwDh+MI;EAEE,qIAAA;AxDi+MN;AwD99MI;EACE,OAAA;EACA,mDAAA;AxDg+MN;AwD79MI;EACE,qCAAA;EACA,yCAAA;AxD+9MN;;AwD19MA,mBAAA;AAGE;EACE,mFAAA;AxD29MJ;AwDz9MI;EAEE,0FAAA;AxD09MN;AwDv9MI;EACE,MAAA;EACA,oDAAA;AxDy9MN;AwDt9MI;EACE,oCAAA;EACA,0CAAA;AxDw9MN;AwDn9ME;EACE,kBAAA;EACA,MAAA;EACA,SAAA;EACA,cAAA;EACA,qCAAA;EACA,wDAAA;EACA,WAAA;EACA,iFAAA;AxDq9MJ;;AwDj9MA,qBAAA;AAEE;EACE,qFAAA;EACA,sCAAA;EACA,sCAAA;AxDm9MJ;AwDj9MI;EAEE,qIAAA;AxDk9MN;AwD/8MI;EACE,QAAA;EACA,kDAAA;AxDi9MN;AwD98MI;EACE,sCAAA;EACA,wCAAA;AxDg9MN;;AwD38MA,mBAAA;AAkBA;EACE,gFAAA;EACA,gBAAA;EpDiHI,8CALI;EoD1GR,sCAAA;EACA,8CAAA;EACA,oFAAA;EhD5JE,8DAAA;EACA,+DAAA;AR0lNJ;AwD57ME;EACE,aAAA;AxD87MJ;;AwD17MA;EACE,4EAAA;EACA,oCAAA;AxD67MF;;AyDlnNA;EACE,kBAAA;AzDqnNF;;AyDlnNA;EACE,mBAAA;AzDqnNF;;AyDlnNA;EACE,kBAAA;EACA,WAAA;EACA,gBAAA;AzDqnNF;A0D3oNE;EACE,cAAA;EACA,WAAA;EACA,WAAA;A1D6oNJ;;AyDtnNA;EACE,kBAAA;EACA,aAAA;EACA,WAAA;EACA,WAAA;EACA,mBAAA;EACA,mCAAA;EAAA,2BAAA;ElClBI,sCkCmBJ;AzDynNF;AuBxoNM;EkCQN;IlCPQ,gBAAA;EvB2oNN;AACF;;AyD3nNA;;;EAGE,cAAA;AzD8nNF;;AyD3nNA;;EAEE,2BAAA;AzD8nNF;;AyD3nNA;;EAEE,4BAAA;AzD8nNF;;AyDrnNE;EACE,UAAA;EACA,4BAAA;EACA,eAAA;AzDwnNJ;AyDrnNE;;;EAGE,UAAA;EACA,UAAA;AzDunNJ;AyDpnNE;;EAEE,UAAA;EACA,UAAA;ElC5DE,2BkC6DF;AzDsnNJ;AuB/qNM;EkCqDJ;;IlCpDM,gBAAA;EvBmrNN;AACF;;AyDnnNA;;EAEE,kBAAA;EACA,MAAA;EACA,SAAA;EACA,UAAA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,UnDsqDmC;EmDrqDnC,UAAA;EACA,mEAAA;EACA,kBAAA;EACA,gBAAA;EACA,SAAA;EACA,YnDiqDmC;EiBvvD/B,8BkCuFJ;AzDqnNF;AuBxsNM;EkCkEN;;IlCjEQ,gBAAA;EvB4sNN;AACF;AyDxnNE;;;EAEE,mEAAA;EACA,qBAAA;EACA,UAAA;EACA,YnDypDiC;ANk+JrC;;AyDxnNA;EACE,OAAA;AzD2nNF;;AyDxnNA;EACE,QAAA;AzD2nNF;;AyDtnNA;;EAEE,qBAAA;EACA,WnD0pDmC;EmDzpDnC,YnDypDmC;EmDxpDnC,4BAAA;EACA,wBAAA;EACA,0BAAA;AzDynNF;;AyDtnNA;;;;;;;GAAA;AAQA;EACE,gSAAA;AzDynNF;;AyDvnNA;EACE,iSAAA;AzD0nNF;;AyDlnNA;EACE,kBAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,UAAA;EACA,aAAA;EACA,uBAAA;EACA,UAAA;EAEA,iBnDkmDmC;EmDjmDnC,mBAAA;EACA,gBnDgmDmC;EmD/lDnC,gBAAA;AzDonNF;AyDlnNE;EACE,uBAAA;EACA,cAAA;EACA,WnD+lDiC;EmD9lDjC,WnD+lDiC;EmD9lDjC,UAAA;EACA,iBnD+lDiC;EmD9lDjC,gBnD8lDiC;EmD7lDjC,mBAAA;EACA,eAAA;EACA,+DAAA;EACA,4BAAA;EACA,SAAA;EAEA,kCAAA;EACA,qCAAA;EACA,YnDslDiC;EiB/vD/B,6BkC0KF;AzDmnNJ;AuBzxNM;EkCqJJ;IlCpJM,gBAAA;EvB4xNN;AACF;AyDrnNE;EACE,UnDmlDiC;ANoiKrC;;AyD9mNA;EACE,kBAAA;EACA,UAAA;EACA,enD6kDmC;EmD5kDnC,SAAA;EACA,oBnD0kDmC;EmDzkDnC,uBnDykDmC;EmDxkDnC,mEAAA;EACA,kBAAA;AzDinNF;;AyD5mNA;EACE,2CAAA;EACA,oDAAA;AzD+mNF;AyD9mNE;;EAEE,gCnD4kDiC;ANoiKrC;AyD7mNE;EACE,yBnD1MQ;ANyzNZ;AyD5mNE;EACE,6BnD3LuB;ANyyN3B;;A2D30NA;;EAEE,qBAAA;EACA,+BAAA;EACA,iCAAA;EACA,iDAAA;EAEA,kBAAA;EACA,+FAAA;A3D60NF;;A2Dz0NA;EACE;IAAK,0CAAA;E3D60NL;AACF;A2D10NA;EAEE,yBAAA;EACA,0BAAA;EACA,sCAAA;EACA,kCAAA;EACA,oCAAA;EACA,4CAAA;EAGA,0DAAA;EACA,+BAAA;A3Dy0NF;;A2Dt0NA;EAEE,yBAAA;EACA,0BAAA;EACA,iCAAA;A3Dw0NF;;A2D/zNA;EACE;IACE,mBAAA;E3Dk0NF;E2Dh0NA;IACE,UAAA;IACA,eAAA;E3Dk0NF;AACF;A2D9zNA;EAEE,yBAAA;EACA,0BAAA;EACA,sCAAA;EACA,oCAAA;EACA,0CAAA;EAGA,8BAAA;EACA,UAAA;A3D6zNF;;A2D1zNA;EACE,yBAAA;EACA,0BAAA;A3D6zNF;;A2DzzNE;EACE;;IAEE,mCAAA;E3D4zNJ;AACF;A4D54NA;EAEE,4BAAA;EACA,4BAAA;EACA,4BAAA;EACA,+BAAA;EACA,+BAAA;EACA,4BAAA;EACA,wBAAA;EACA,iCAAA;EACA,iEAAA;EACA,oEAAA;A5D64NF;;Aej0NI;E6C3DF;IAEI,eAAA;IACA,SAAA;IACA,oCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,iCAAA;IACA,kBAAA;IACA,yCAAA;IACA,4BAAA;IACA,UAAA;IrC1BA,sCqC4BA;E5D83NJ;AACF;AuBv5NM;EqCUJ;IrCTM,gBAAA;EvB05NN;AACF;Aev1NI;E6C3CE;IACE,MAAA;IAEA,iCAAA;E5Do4NN;EOn7NE;IAgCE,OAAA;IAAA,uFAAA;IA+BA,4BAAA;EPu3NJ;EO96NE;IA+BI,QAAA;IAAA,sFAAA;IA4BA,2BAAA;EPs3NN;AAaF;Ae/2NI;E6CnCE;IACE,MAAA;IAEA,iCAAA;IAEA,2BAAA;E5Dm5NN;EO58NE;IAgCE,QAAA;IAAA,sFAAA;EP+6NJ;EOv8NE;IA+BI,OAAA;IAAA,uFAAA;EP26NN;AAOF;Ael4NI;E6C3BE;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,wFAAA;IACA,4BAAA;E5Dg6NN;AACF;Ae74NI;E6CjBE;IACE,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,qFAAA;IACA,2BAAA;E5Di6NN;AACF;Aev5NI;E6CRE;IAEE,0BAAA;E5Di6NN;AACF;Ae55NI;E6CHE;IAGE,mBAAA;E5Dg6NN;AACF;Ae96NI;E6C9CF;IAiEM,4BAAA;IACA,+BAAA;IACA,wCAAA;E5D+5NN;E4D75NM;IACE,aAAA;E5D+5NR;E4D55NM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5D65NR;AACF;;Ael7NI;E6C3DF;IAEI,eAAA;IACA,SAAA;IACA,oCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,iCAAA;IACA,kBAAA;IACA,yCAAA;IACA,4BAAA;IACA,UAAA;IrC1BA,sCqC4BA;E5D++NJ;AACF;AuBxgOM;EqCUJ;IrCTM,gBAAA;EvB2gON;AACF;Aex8NI;E6C3CE;IACE,MAAA;IAEA,iCAAA;E5Dq/NN;EOpiOE;IAgCE,OAAA;IAAA,uFAAA;IA+BA,4BAAA;EPw+NJ;EO/hOE;IA+BI,QAAA;IAAA,sFAAA;IA4BA,2BAAA;EPu+NN;AAaF;Aeh+NI;E6CnCE;IACE,MAAA;IAEA,iCAAA;IAEA,2BAAA;E5DogON;EO7jOE;IAgCE,QAAA;IAAA,sFAAA;EPgiOJ;EOxjOE;IA+BI,OAAA;IAAA,uFAAA;EP4hON;AAOF;Aen/NI;E6C3BE;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,wFAAA;IACA,4BAAA;E5DihON;AACF;Ae9/NI;E6CjBE;IACE,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,qFAAA;IACA,2BAAA;E5DkhON;AACF;AexgOI;E6CRE;IAEE,0BAAA;E5DkhON;AACF;Ae7gOI;E6CHE;IAGE,mBAAA;E5DihON;AACF;Ae/hOI;E6C9CF;IAiEM,4BAAA;IACA,+BAAA;IACA,wCAAA;E5DghON;E4D9gOM;IACE,aAAA;E5DghOR;E4D7gOM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5D8gOR;AACF;;AeniOI;E6C3DF;IAEI,eAAA;IACA,SAAA;IACA,oCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,iCAAA;IACA,kBAAA;IACA,yCAAA;IACA,4BAAA;IACA,UAAA;IrC1BA,sCqC4BA;E5DgmOJ;AACF;AuBznOM;EqCUJ;IrCTM,gBAAA;EvB4nON;AACF;AezjOI;E6C3CE;IACE,MAAA;IAEA,iCAAA;E5DsmON;EOrpOE;IAgCE,OAAA;IAAA,uFAAA;IA+BA,4BAAA;EPylOJ;EOhpOE;IA+BI,QAAA;IAAA,sFAAA;IA4BA,2BAAA;EPwlON;AAaF;AejlOI;E6CnCE;IACE,MAAA;IAEA,iCAAA;IAEA,2BAAA;E5DqnON;EO9qOE;IAgCE,QAAA;IAAA,sFAAA;EPipOJ;EOzqOE;IA+BI,OAAA;IAAA,uFAAA;EP6oON;AAOF;AepmOI;E6C3BE;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,wFAAA;IACA,4BAAA;E5DkoON;AACF;Ae/mOI;E6CjBE;IACE,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,qFAAA;IACA,2BAAA;E5DmoON;AACF;AeznOI;E6CRE;IAEE,0BAAA;E5DmoON;AACF;Ae9nOI;E6CHE;IAGE,mBAAA;E5DkoON;AACF;AehpOI;E6C9CF;IAiEM,4BAAA;IACA,+BAAA;IACA,wCAAA;E5DioON;E4D/nOM;IACE,aAAA;E5DioOR;E4D9nOM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5D+nOR;AACF;;AeppOI;E6C3DF;IAEI,eAAA;IACA,SAAA;IACA,oCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,iCAAA;IACA,kBAAA;IACA,yCAAA;IACA,4BAAA;IACA,UAAA;IrC1BA,sCqC4BA;E5DitOJ;AACF;AuB1uOM;EqCUJ;IrCTM,gBAAA;EvB6uON;AACF;Ae1qOI;E6C3CE;IACE,MAAA;IAEA,iCAAA;E5DutON;EOtwOE;IAgCE,OAAA;IAAA,uFAAA;IA+BA,4BAAA;EP0sOJ;EOjwOE;IA+BI,QAAA;IAAA,sFAAA;IA4BA,2BAAA;EPysON;AAaF;AelsOI;E6CnCE;IACE,MAAA;IAEA,iCAAA;IAEA,2BAAA;E5DsuON;EO/xOE;IAgCE,QAAA;IAAA,sFAAA;EPkwOJ;EO1xOE;IA+BI,OAAA;IAAA,uFAAA;EP8vON;AAOF;AertOI;E6C3BE;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,wFAAA;IACA,4BAAA;E5DmvON;AACF;AehuOI;E6CjBE;IACE,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,qFAAA;IACA,2BAAA;E5DovON;AACF;Ae1uOI;E6CRE;IAEE,0BAAA;E5DovON;AACF;Ae/uOI;E6CHE;IAGE,mBAAA;E5DmvON;AACF;AejwOI;E6C9CF;IAiEM,4BAAA;IACA,+BAAA;IACA,wCAAA;E5DkvON;E4DhvOM;IACE,aAAA;E5DkvOR;E4D/uOM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5DgvOR;AACF;;AerwOI;E6C3DF;IAEI,eAAA;IACA,SAAA;IACA,oCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,iCAAA;IACA,kBAAA;IACA,yCAAA;IACA,4BAAA;IACA,UAAA;IrC1BA,sCqC4BA;E5Dk0OJ;AACF;AuB31OM;EqCUJ;IrCTM,gBAAA;EvB81ON;AACF;Ae3xOI;E6C3CE;IACE,MAAA;IAEA,iCAAA;E5Dw0ON;EOv3OE;IAgCE,OAAA;IAAA,uFAAA;IA+BA,4BAAA;EP2zOJ;EOl3OE;IA+BI,QAAA;IAAA,sFAAA;IA4BA,2BAAA;EP0zON;AAaF;AenzOI;E6CnCE;IACE,MAAA;IAEA,iCAAA;IAEA,2BAAA;E5Du1ON;EOh5OE;IAgCE,QAAA;IAAA,sFAAA;EPm3OJ;EO34OE;IA+BI,OAAA;IAAA,uFAAA;EP+2ON;AAOF;Aet0OI;E6C3BE;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,wFAAA;IACA,4BAAA;E5Do2ON;AACF;Aej1OI;E6CjBE;IACE,QAAA;IACA,OAAA;IACA,mCAAA;IACA,gBAAA;IACA,qFAAA;IACA,2BAAA;E5Dq2ON;AACF;Ae31OI;E6CRE;IAEE,0BAAA;E5Dq2ON;AACF;Aeh2OI;E6CHE;IAGE,mBAAA;E5Do2ON;AACF;Ael3OI;E6C9CF;IAiEM,4BAAA;IACA,+BAAA;IACA,wCAAA;E5Dm2ON;E4Dj2OM;IACE,aAAA;E5Dm2OR;E4Dh2OM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5Di2OR;AACF;;A4Dj7OE;EAEI,eAAA;EACA,SAAA;EACA,oCAAA;EACA,aAAA;EACA,sBAAA;EACA,eAAA;EACA,iCAAA;EACA,kBAAA;EACA,yCAAA;EACA,4BAAA;EACA,UAAA;ErC1BA,sCqC4BA;A5Dk7ON;AuB18OM;EqCUJ;IrCTM,gBAAA;EvB68ON;AACF;A4Dr7OM;EACE,MAAA;EAEA,iCAAA;A5Ds7OR;AOr+OI;EAgCE,OAAA;EAAA,uFAAA;EA+BA,4BAAA;APy6ON;AOh+OI;EA+BI,QAAA;EAAA,sFAAA;EA4BA,2BAAA;APw6OR;A4Dv7OM;EACE,MAAA;EAEA,iCAAA;EAEA,2BAAA;A5Dm8OR;AO5/OI;EAgCE,QAAA;EAAA,sFAAA;AP+9ON;AOv/OI;EA+BI,OAAA;EAAA,uFAAA;AP29OR;A4Dt8OM;EACE,MAAA;EACA,QAAA;EACA,OAAA;EACA,mCAAA;EACA,gBAAA;EACA,wFAAA;EACA,4BAAA;A5D88OR;A4D38OM;EACE,QAAA;EACA,OAAA;EACA,mCAAA;EACA,gBAAA;EACA,qFAAA;EACA,2BAAA;A5D68OR;A4D18OM;EAEE,0BAAA;A5D28OR;A4Dx8OM;EAGE,mBAAA;A5Dw8OR;;A4D76OA;EPlHE,eAAA;EACA,MAAA;EACA,OAAA;EACA,a/CwpCkC;E+CvpClC,YAAA;EACA,aAAA;EACA,2DO6GsD;A5Ds7OxD;AqDhiPE;EAAS,UAAA;ArDmiPX;AqDliPE;EAAS,Y/C2/CyB;AN0iMpC;;A4Dz7OA;EACE,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,sEAAA;A5D47OF;A4D17OE;EACE,8FAAA;EACA,uDAAA;EAEA,0DAAA;A5D27OJ;AO3jPI;EAgCE,yDAAA;AP8hPN;AOtjPI;EA+BI,wDAAA;AP0hPR;;A4D77OA;EACE,gBAAA;EACA,gBtDkgB4B;AN87N9B;;A4D77OA;EACE,YAAA;EACA,sEAAA;EACA,gBAAA;A5Dg8OF;;A6D9kPA;EACE,qBAAA;EACA,eAAA;EACA,sBAAA;EACA,YAAA;EACA,8BAAA;EACA,YvD40CkC;ANqwMpC;A6D/kPE;EACE,qBAAA;EACA,WAAA;A7DilPJ;;A6D5kPA;EACE,iBAAA;A7D+kPF;;A6D5kPA;EACE,iBAAA;A7D+kPF;;A6D5kPA;EACE,iBAAA;A7D+kPF;;A6D1kPE;EACE,mDAAA;A7D6kPJ;;A6DzkPA;EACE;IACE,YvD+yCgC;EN6xMlC;AACF;A6DzkPA;EACE,6FAAA;EAAA,qFAAA;EACA,4BAAA;EAAA,oBAAA;EACA,8CAAA;A7D2kPF;;A6DxkPA;EACE;IACE,+BAAA;IAAA,uBAAA;E7D2kPF;AACF;A8D5nPA;EACE,kBAAA;EACA,oBAAA;EACA,mBAAA;EACA,uBAAA;EACA,sBAAA;EtDcE,mBAAA;EeHE,wBuCTJ;ECNA,WzDgiDc;EyD/hDd,YzD+hDc;EyD9hDd,iBAAA;A/DqoPF;AuBpnPM;EuCpBN;IvCqBQ,gBAAA;EvBunPN;AACF;A+DxoPE;EACE,sBAAA;EACA,uBAAA;A/D0oPJ;;A8DtoPA;EACE,WAAA;EACA,YAAA;EtDME,mBAAA;ARooPJ;;A8DtoPA;EACE,kBAAA;EAEA,SAAA;EACA,cAAA;EACA,sBAAA;EtDHE,mBAAA;AR4oPJ;AO7pPI;EAgCE,QAAA;APgoPN;AOxpPI;EA+BI,OAAA;AP4nPR;;A8D1oPE;EC1BA,azDkiDc;EyDjiDd,czDiiDc;EyDhiDd,iBAAA;A/DwqPF;A+DtqPE;EACE,aAAA;EACA,cAAA;A/DwqPJ;;A8DppPE;EC1BA,azDkiDc;EyDjiDd,czDiiDc;EyDhiDd,eAAA;A/DkrPF;A+DhrPE;EACE,sBAAA;EACA,uBAAA;A/DkrPJ;;A8D9pPE;EC1BA,WzDkiDc;EyDjiDd,YzDiiDc;EyDhiDd,iBAAA;A/D4rPF;A+D1rPE;EACE,aAAA;EACA,cAAA;A/D4rPJ;;A8DxqPE;EC1BA,WzDkiDc;EyDjiDd,YzDiiDc;EyDhiDd,iBAAA;A/DssPF;A+DpsPE;EACE,sBAAA;EACA,uBAAA;A/DssPJ;;A8D7qPA;EACE,aAAA;A9DgrPF;AO/sPI;EAgCE,qBAAA;APkrPN;AO1sPI;EA+BI,oBAAA;AP8qPR;AOrtPI;EAgCE,eAAA;APwrPN;AOhtPI;EA+BI,cAAA;APorPR;AO3tPI;EAgCE,qBAAA;AP8rPN;AOttPI;EA+BI,oBAAA;AP0rPR;AOjuPI;EAgCE,mBAAA;APosPN;AO5tPI;EA+BI,kBAAA;APgsPR;AOvuPI;EAgCE,qBAAA;AP0sPN;AOluPI;EA+BI,oBAAA;APssPR;AO7uPI;EAgCE,qBAAA;APgtPN;AOxuPI;EA+BI,oBAAA;AP4sPR;;AgErvPA;EAEE,6BAAA;EACA,6BAAA;EACA,yBAAA;EACA,4BAAA;EACA,+BAAA;EACA,mCAAA;EACA,oCAAA;EACA,qCAAA;EAGA,kEAAA;EACA,+DAAA;EACA,6EAAA;ExDKE,+CAAA;ARivPJ;AOlwPI;EAgCE,uDAAA;EAAA,uDAAA;APquPN;AO7vPI;EA+BI,yDAAA;EAAA,yDAAA;APiuPR;;AgEnvPE;EACE,wCAAA;AhE4vPJ;;AgE7vPE;EACE,wCAAA;AhEgwPJ;;AgEjwPE;EACE,wCAAA;AhEowPJ;;AgErwPE;EACE,wCAAA;AhEwwPJ;;AgEzwPE;EACE,wCAAA;AhE4wPJ;;AgE7wPE;EACE,qCAAA;AhEgxPJ;;AgEjxPE;EACE,wCAAA;AhEoxPJ;;AgErxPE;EACE,wCAAA;AhEwxPJ;;AiEhzPA;EAEE,6BAAA;EACA,4BAAA;EACA,8BAAA;EACA,0CAAA;EACA,wBAAA;EACA,kCAAA;EACA,6DAAA;EAGA,aAAA;EACA,eAAA;EACA,mBAAA;EACA,8BAAA;EACA,wCAAA;EACA,gEAAA;EACA,8BAAA;EACA,gCAAA;EACA,oCAAA;AjEgzPF;;AiE7yPA;EACE,eAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,a3DgoCkC;ANgrNpC;;AiE7yPA;EACE,wBAAA;EAAA,gBAAA;EACA,SAAA;EACA,a3D0nCkC;ANsrNpC;;AkEj1PA;EAEE,6BAAA;EACA,8BAAA;EACA,8BAAA;EACA,qBAAA;EACA,2CAAA;EACA,kCAAA;EACA,6DAAA;EACA,gDAAA;EACA,mDAAA;EACA,iDAAA;EACA,uCAAA;EACA,iCAAA;EACA,uCAAA;EACA,uCAAA;EACA,uCAAA;EACA,oCAAA;EACA,mDAAA;EACA,4CAAA;EACA,wDAAA;EACA,6RAAA;EACA,kSAAA;EACA,uCAAA;EACA,uCAAA;EACA,0CAAA;EACA,6EAAA;EACA,gCAAA;EAGA,kBAAA;EACA,aAAA;EACA,eAAA;EACA,mBAAA;EACA,8BAAA;EACA,wCAAA;EACA,gEAAA;EACA,gCAAA;EACA,uCAAA;AlEi1PF;AkE50PE;;;;;;;;;;;;;EACE,aAAA;EACA,kBAAA;EACA,mBAAA;EACA,8BAAA;AlE01PJ;AkE50PE;;;;;;;EAEE,gFAAA;AlEm1PJ;AkEh1PE;;;;;;;EAEE,mFAAA;AlEu1PJ;AkEp1PE;EACE,wBAAA;EAAA,gBAAA;EACA,MAAA;EACA,aAAA;AlEs1PJ;;AkEl1PA;EACE,wDAAA;EACA,SAAA;EACA,0EAAA;EACA,4CAAA;AlEq1PF;;AkE90PA;EACE,8CAAA;EACA,iDAAA;E9D0MI,kBALI;E8DlMR,oCAAA;EACA,qBAAA;EACA,mBAAA;AlEg1PF;AO96PI;EAgCE,kBAAA;APi5PN;AOz6PI;EA+BI,iBAAA;AP64PR;AkEp1PE;EAEE,0CAAA;AlEq1PJ;;AkE50PA;EACE,aAAA;EACA,mBAAA;EAEA,gBAAA;EACA,gBAAA;AlE80PF;AO97PI;EAgCE,eAAA;APi6PN;AOz7PI;EA+BI,gBAAA;AP65PR;AkEl1PE;EACE,kFAAA;EACA,8BAAA;AlEo1PJ;AkEl1PI;EAEE,oCAAA;AlEm1PN;AkEh1PI;EACE,uCAAA;AlEk1PN;AkE90PE;;EAEE,qCAAA;AlEg1PJ;AkE70PE;EACE,kBAAA;AlE+0PJ;;AkEt0PA;EACE,iDAAA;EACA,oDAAA;EACA,8BAAA;AlEy0PF;AkEv0PE;EACE,qCAAA;AlEy0PJ;AkEv0PI;EAEE,qCAAA;AlEw0PN;;AkEn0PA;EACE,gFAAA;E9DoII,kBALI;E8D7HR,sCAAA;EACA,8CAAA;EACA,SAAA;E1DlJE,sDAAA;ARy9PJ;AkEp0PE;EACE,4CAAA;EACA,qBAAA;AlEs0PJ;AkEn0PE;EACE,UAAA;AlEq0PJ;AkEj0PE;EACE,eAAA;AlEm0PJ;;AkE/zPA;EACE,cAAA;EACA,iBAAA;EACA,mDAAA;EACA,4BAAA;EACA,kCAAA;EACA,0BAAA;AlEk0PF;AkEh0PE;EACE,yDAAA;AlEk0PJ;;AmElgQA;EACE,qBAAA;EACA,cAAA;EACA,kBAAA;EACA,yBAAA;EACA,kBAAA;AnEqgQF;AmEpgQE;ECJA,W9DuuBgB;E8DtuBhB,Y9DsuBgB;E8DruBhB,e9DquBgB;ANsyOlB;AmEtgQI;ECPF,W9D2uBgB;E8D1uBhB,Y9D0uBgB;E8DzuBhB,e9DyuBgB;ANuyOlB;AmEvgQI;ECXF,a9D0uBgB;E8DzuBhB,c9DyuBgB;E8DxuBhB,iB9DwuBgB;AN6yOlB;AmExgQI;ECfF,c9DyuBgB;E8DxuBhB,e9DwuBgB;E8DvuBhB,kB9DuuBgB;ANmzOlB;AmEzgQI;ECnBF,e9DwuBgB;E8DvuBhB,gB9DuuBgB;E8DtuBhB,mB9DsuBgB;ANyzOlB;AmEzgQM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;AnE6gQ3B;AmE9gQM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;AnEkhQ3B;AmEnhQM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;AnEuhQ3B;AmExhQM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;AnE4hQ3B;AmE7hQM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;AnEiiQ3B;AmEliQM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;AnEsiQ3B;AmEviQM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;AnE2iQ3B;;AqEtkQA;EAEE,0BAAA;EACA,yBAAA;EACA,0BAAA;EACA,0BAAA;EACA,8CAAA;EACA,6BAAA;EACA,uCAAA;EACA,oDAAA;EACA,gCAAA;EACA,2CAAA;EACA,iCAAA;EACA,4CAAA;EACA,oCAAA;EACA,uCAAA;EACA,4CAAA;EACA,iCAAA;EACA,oCAAA;EACA,uCAAA;EACA,6CAAA;EACA,kCAAA;EACA,ocAAA;EACA,2CAAA;EACA,4CAAA;EACA,kDAAA;EACA,8dAAA;EAEA,gCAAA;EAEA,uCAAA;EACA,0CAAA;EACA,wCAAA;EACA,uDAAA;EACA,sCAAA;EACA,2CAAA;EACA,sDAAA;EACA,sCAAA;EACA,gDAAA;EACA,+EAAA;EACA,uCAAA;EACA,8DAAA;EACA,2DAAA;EACA,mEAAA;EACA,gEAAA;EACA,oEAAA;EACA,6DAAA;EACA,0DAAA;EACA,kEAAA;EACA,kCAAA;EACA,sCAAA;EACA,yCAAA;EACA,2DAAA;EACA,8CAAA;EACA,0CAAA;EACA,0CAAA;EACA,qUAAA;EACA,4UAAA;EACA,mEAAA;EAGA,kBAAA;EACA,aAAA;EAEA,kCAAA;EACA,sBAAA;EAEA,SAAA;EACA,+BAAA;EACA,kEAAA;EACA,+BAAA;EACA,iCAAA;EAEA,gBAAA;E9CzDI,yH8C0DJ;ArEikQF;AOzoQI;EAgCE,mFAAA;AP4mQN;AOpoQI;EA+BI,kFAAA;APwmQR;AuB7nQM;E8CpBN;I9CqBQ,gBAAA;EvBgoQN;AACF;AOppQI;EAgCE,cAAA;APunQN;AO/oQI;EA+BI,eAAA;APmnQR;AqE9kQI;EACE,iCAAA;ArEglQN;AqE5kQE;EACE,SAAA;ArE8kQJ;AOhqQI;EAgCE,eAAA;APmoQN;AO3pQI;EA+BI,cAAA;AP+nQR;AqEllQI;EACE,+BAAA;ArEolQN;AqEhlQE;EACE,iCAAA;ArEklQJ;AqE9kQI;EACE,0BAAA;ArEglQN;AermQI;EsDwBM;IACE,iCAAA;ErEglQV;EqE5kQQ;IACE,+BAAA;ErE8kQV;AACF;AqEzlQI;EACE,0BAAA;ArE2lQN;AehnQI;EsDwBM;IACE,iCAAA;ErE2lQV;EqEvlQQ;IACE,+BAAA;ErEylQV;AACF;AqEpmQI;EACE,0BAAA;ArEsmQN;Ae3nQI;EsDwBM;IACE,iCAAA;ErEsmQV;EqElmQQ;IACE,+BAAA;ErEomQV;AACF;AenoQI;ER1EA;IAgCE,gDAAA;EPirQJ;EOzsQE;IA+BI,iDAAA;EP6qQN;EqEjmQM;IACE,6BAAA;ErEmmQR;EOvtQE;IAgCE,iDAAA;EP0rQJ;EOltQE;IA+BI,gDAAA;EPsrQN;EqEpmQM;IACE,2BAAA;ErEsmQR;AACF;AevpQI;EsDsDF;IAEI,eAAA;IACA,MAAA;IACA,SAAA;IACA,a/DohC8B;EN+kOlC;EOxuQE;IAgCE,OAAA;EP2sQJ;EOnuQE;IA+BI,QAAA;EPusQN;EO9uQE;IAgCE,QAAA;EPitQJ;EOzuQE;IA+BI,OAAA;EP6sQN;AACF;Ae3qQI;EsDuEF;IAEI,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,aAAA;ErEsmQJ;AACF;AqEnmQE;EACE,eAAA;EACA,MAAA;EACA,SAAA;EACA,aAAA;ArEqmQJ;AOlwQI;EAgCE,OAAA;APquQN;AO7vQI;EA+BI,QAAA;APiuQR;AqEvmQM;EACE,6BAAA;ArEymQR;AO3wQI;EAgCE,QAAA;AP8uQN;AOtwQI;EA+BI,OAAA;AP0uQR;AqEzmQM;EACE,2BAAA;ArE2mQR;Ae7rQI;EsDzFJ;IAkLI,qBAAA;IACA,eAAA;IACA,MAAA;IACA,SAAA;IACA,aAAA;ErEwmQF;EO5xQE;IAgCE,OAAA;EP+vQJ;EOvxQE;IA+BI,QAAA;EP2vQN;EqE1mQI;IACE,wCAAA;ErE4mQN;EOryQE;IAgCE,gDAAA;EPwwQJ;EOhyQE;IA+BI,iDAAA;EPowQN;EO3yQE;IAgCE,QAAA;EP8wQJ;EOtyQE;IA+BI,OAAA;EP0wQN;EqE/mQI;IACE,sCAAA;ErEinQN;EOpzQE;IAgCE,iDAAA;EPuxQJ;EO/yQE;IA+BI,gDAAA;EPmxQN;AACF;;AqE9mQA;EACE,kBAAA;EACA,MAAA;EAEA,+BAAA;EACA,wCAAA;EACA,+BAAA;EACA,uBAAA;EACA,SAAA;ArEgnQF;AOr0QI;EAgCE,QAAA;APwyQN;AOh0QI;EA+BI,OAAA;APoyQR;AqEpnQE;EACE,qBAAA;ArEsnQJ;AqEnnQE;EACE,UAAA;ArEqnQJ;;AqEjnQA;EACE,aAAA;EACA,yCAAA;EACA,mBAAA;EACA,uBAAA;EACA,qCAAA;EACA,uCAAA;ArEonQF;AqElnQE;EACE,aAAA;ArEonQJ;;AqEhnQA;EACE,0CAAA;EACA,gFAAA;EACA,kBAAA;EACA,wCAAA;E9CnOI,uC8CoOJ;ArEmnQF;AuBn1QM;E8C2NN;I9C1NQ,gBAAA;EvBs1QN;AACF;AqEtnQE;EACE,aAAA;EACA,mBAAA;EACA,4CAAA;ArEwnQJ;;AqEpnQA;EACE,0CAAA;EACA,gFAAA;EACA,wCAAA;E9ChPI,uC8CiPJ;ArEunQF;AuBp2QM;E8CyON;I9CxOQ,gBAAA;EvBu2QN;AACF;;AqEznQA;EACE,aAAA;EACA,2CAAA;EACA,yBAAA;EACA,cAAA;EACA,UAAA;EACA,eAAA;EACA,+CAAA;EACA,SAAA;ArE4nQF;Ae/yQI;EsD2KJ;IAWI,aAAA;ErE6nQF;AACF;AqE3nQE;EACE,cAAA;EACA,iDAAA;EACA,mDAAA;EACA,WAAA;EACA,sDAAA;EACA,4BAAA;EACA,2BAAA;EACA,yEAAA;E9C1QE,2B8C2QF;ArE6nQJ;AuBp4QM;E8C8PJ;I9C7PM,gBAAA;EvBu4QN;AACF;AOn5QI;E8DmRE,0BAAA;ArEmoQN;AqE/nQE;EACE,UAAA;ArEioQJ;AqE9nQE;EACE,qDAAA;ArEgoQJ;AqE/nQI;EACE,4DAAA;ArEioQN;AqE7nQE;EACE,2BAAA;ArE+nQJ;AqE9nQI;EACE,0BAAA;ArEgoQN;;AqEznQA;EAEE,2BAAA;EACA,0BAAA;EACA,2BAAA;ArE2nQF;Ae51QI;EsD6NJ;IhBpTE,eAAA;IACA,MAAA;IACA,OAAA;IACA,mCgByT4B;IhBxT5B,YAAA;IACA,aAAA;IACA,wCgBsT8D;ErEioQ9D;EqDp7QA;IAAS,UAAA;ErDu7QT;EqDt7QA;IAAS,oCgBkTmF;ErEuoQ5F;AACF;;AsEp8QA;EACE,kBAAA;EACA,aAAA;EACA,OAAA;EACA,sBAAA;EACA,UAAA;EACA,gBAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;AtEu8QF;AsEr8QE;EACE,sFAAA;EACA,mDAAA;EACA,cAAA;EACA,gBAAA;EACA,yCAAA;EACA,yBAAA;E/CHE,sC+CIF;AtEu8QJ;AuBv8QM;E+CPJ;I/CQM,gBAAA;EvB08QN;AACF;AsEz8QE;EACE,aAAA;EACA,OAAA;EACA,mBAAA;EACA,oFAAA;EACA,wCAAA;EACA,qBAAA;EACA,mBAAA;EACA,0CAAA;EACA,0CAAA;E9DbA,wDAAA;EeHE,mD+CkBF;AtE28QJ;AuBz9QM;E+CGJ;I/CFM,gBAAA;EvB49QN;AACF;AsE98QI;EACE,+CAAA;EACA,iDAAA;AtEg9QN;AsE98QM;EACE,oDAAA;AtEg9QR;AsE58QI;EACE,iDAAA;EACA,oBAAA;EACA,mBAAA;EACA,uBAAA;AtE88QN;AsE58QM;EACE,sDAAA;AtE88QR;AsE38QM;EACE,iDAAA;AtE68QR;AsE38QQ;EACE,sDAAA;AtE68QV;AsE18QQ;EACE,8DAAA;AtE48QV;AsEv8QI;EACE;IACE,8CAAA;IACA,qBAAA;IACA,gDAAA;EtEy8QN;EsEv8QM;IACE,mDAAA;EtEy8QR;EsEt8QM;IACE,8DAAA;EtEw8QR;AACF;AsEn8QE;EACE,2CAAA;EACA,0CAAA;EACA,gDAAA;EACA,6CAAA;EACA,kBAAA;EACA,oBAAA;EACA,kBAAA;E/C5EE,mB+C6EF;AtEq8QJ;AuB9gRM;E+CiEJ;I/ChEM,gBAAA;EvBihRN;AACF;AOriRI;EAgCE,6DAAA;APwgRN;AOhiRI;EA+BI,8DAAA;APogRR;AsEz8QE;EACE,gBAAA;AtE28QJ;AsEx8QE;EACE,kBAAA;E/CzFE,wC+C0FF;AtE08QJ;AuBhiRM;E+CoFJ;I/CnFM,gBAAA;EvBmiRN;AACF;AsE78QI;EACE,kGAAA;EACA,gBAAA;E/C9FA,6B+C+FA;AtE+8QN;AuB1iRM;E+CwFF;I/CvFI,gBAAA;EvB6iRN;AACF;AsEj9QI;EACE,aAAA;AtEm9QN;AsEh9QI;EACE,2CAAA;AtEk9QN;AsEh9QM;EACE,qDAAA;AtEk9QR;AsE/8QM;EACE,yBAAA;AtEi9QR;AsE98QM;EACE,eAAA;AtEg9QR;AsE38QE;EACE,eAAA;AtE68QJ;AsE38QI;EACE,cAAA;EACA,YAAA;EACA,YAAA;EAEA,WAAA;EACA,wDAAA;EACA,4BAAA;EACA,2BAAA;E/ClIA,2B+CmIA;AtE48QN;AO7lRI;EAgCE,iBAAA;APgkRN;AOxlRI;EA+BI,kBAAA;AP4jRR;AuBjlRM;E+CsHF;I/CrHI,gBAAA;EvBolRN;AACF;AsEn9QE;EACE,UAAA;EACA,gBAAA;AtEq9QJ;AO5mRI;EAgCE,+CAAA;AP+kRN;AOvmRI;EA+BI,gDAAA;AP2kRR;AOlnRI;EAgCE,yDAAA;APqlRN;AO7mRI;EA+BI,0DAAA;APilRR;AsEp9QI;;EACE,8DAAA;EACA,iEAAA;AtEu9QN;;AenjRI;EwD5EJ;IAEI,aAAA;IACA,yCAAA;IACA,sCAAA;IACA,iDAAA;IACA,iBAAA;EvEkoRF;EuEhoRE;IACE,aAAA;IACA,sCAAA;EvEkoRJ;EuE/nRE;IACE,aAAA;EvEioRJ;EuE9nRE;IACE,cAAA;EvEgoRJ;EuE7nRE;;;;;;;;;;;;;IAQE,oBAAA;IACA,UAAA;IACA,SAAA;IACA,kBAAA;IACA,UAAA;EvEooRJ;EuEjoRE;IACE,eAAA;IACA,SAAA;EvEmoRJ;EOvqRE;IAgCE,0BAAA;EP0oRJ;EOlqRE;IA4BI,uBAAA;EPyoRN;EuEloRE;IACE,uBAAA;EvEooRJ;AACF;;AuE9nRE;EACE,gCAAA;AvEioRJ;AuE/nRE;EACE,8BAAA;AvEioRJ;;AuE7nRA;EACE,eAAA;EACA,aAAA;AvEgoRF;AuE9nRE;EACE,gCAAA;AvEgoRJ;AuE9nRE;EACE,8BAAA;AvEgoRJ;AOnsRI;EAgCE,0BAAA;APsqRN;AO9rRI;EA4BI,uBAAA;APqqRR;AuExnRI;EACE,uBAAA;AvE0nRN;;AO5sRI;EAgCE,uDAAA;APgrRN;AOxsRI;EA+BI,wDAAA;AP4qRR;AOntRI;EAgCE,wDAAA;APsrRN;AO9sRI;EA+BI,uDAAA;APkrRR;;AeloRI;ERvFA;IAgCE,uDAAA;EP8rRJ;EOttRE;IA+BI,wDAAA;EP0rRN;EOjuRE;IAgCE,wDAAA;EPosRJ;EO5tRE;IA+BI,uDAAA;EPgsRN;AACF;AejpRI;ERvFA;IAgCE,uDAAA;EP4sRJ;EOpuRE;IA+BI,wDAAA;EPwsRN;EO/uRE;IAgCE,wDAAA;EPktRJ;EO1uRE;IA+BI,uDAAA;EP8sRN;AACF;Ae/pRI;ERvFA;IAgCE,uDAAA;EP0tRJ;EOlvRE;IA+BI,wDAAA;EPstRN;EO7vRE;IAgCE,wDAAA;EPguRJ;EOxvRE;IA+BI,uDAAA;EP4tRN;AACF;Ae7qRI;ERvFA;IAgCE,uDAAA;EPwuRJ;EOhwRE;IA+BI,wDAAA;EPouRN;EO3wRE;IAgCE,wDAAA;EP8uRJ;EOtwRE;IA+BI,uDAAA;EP0uRN;AACF;Ae3rRI;ERvFA;IAgCE,uDAAA;EPsvRJ;EO9wRE;IA+BI,wDAAA;EPkvRN;EOzxRE;IAgCE,wDAAA;EP4vRJ;EOpxRE;IA+BI,uDAAA;EPwvRN;AACF;AwElyRA;EACE,kBAAA;EACA,aAAA;EACA,eAAA;EACA,mBAAA;EACA,8BAAA;EACA,gBlEusD+B;EkEtsD/B,oBAAA;EACA,yCAAA;EACA,sGAAA;AxEoyRF;;AwEjyRA;EACE,wBAAA;EAAA,gBAAA;EACA,MAAA;EACA,aAAA;AxEoyRF;;AwE7xRA;EACE,aAAA;EACA,mBAAA;EAEA,gBAAA;EACA,gBAAA;AxE+xRF;AOxzRI;EAgCE,eAAA;AP2xRN;AOnzRI;EA+BI,gBAAA;APuxRR;AwEnyRE;EACE,qBlEqrD4B;EkEprD5B,oBlEorD4B;EkEnrD5B,0DAAA;AxEqyRJ;AwEnyRI;EAEE,+DAAA;AxEoyRN;AwEjyRI;EACE,kEAAA;AxEmyRN;AwE/xRE;;EAEE,gEAAA;AxEiyRJ;AwE9xRE;EACE,kBAAA;AxEgyRJ;;AwExxRA;EACE,mBlE8mCkC;EkE7mClC,sBlE6mCkC;EkE5mClC,0DAAA;AxE2xRF;AwEzxRE;EACE,gEAAA;AxE2xRJ;AwEzxRI;EAEE,gEAAA;AxE0xRN;;A0D51RE;EACE,cAAA;EACA,WAAA;EACA,WAAA;A1D+1RJ;;AyE/1RE;EACE,2CAAA;EACA,wEAAA;AzEk2RJ;;AyEp2RE;EACE,yBAAA;EACA,0EAAA;AzEu2RJ;;AyEz2RE;EACE,yBAAA;EACA,wEAAA;AzE42RJ;;AyE92RE;EACE,yBAAA;EACA,yEAAA;AzEi3RJ;;AyEn3RE;EACE,wCAAA;EACA,yEAAA;AzEs3RJ;;AyEx3RE;EACE,yBAAA;EACA,wEAAA;AzE23RJ;;AyE73RE;EACE,wCAAA;EACA,0EAAA;AzEg4RJ;;AyEl4RE;EACE,2CAAA;EACA,wEAAA;AzEq4RJ;;A0E34RE;EACE,yBAAA;A1E84RJ;A0E34RM;EAEE,yBAAA;A1E44RR;;A0El5RE;EACE,yBAAA;A1Eq5RJ;A0El5RM;EAEE,yBAAA;A1Em5RR;;A0Ez5RE;EACE,yBAAA;A1E45RJ;A0Ez5RM;EAEE,yBAAA;A1E05RR;;A0Eh6RE;EACE,sBAAA;A1Em6RJ;A0Eh6RM;EAEE,yBAAA;A1Ei6RR;;A0Ev6RE;EACE,yBAAA;A1E06RJ;A0Ev6RM;EAEE,yBAAA;A1Ew6RR;;A0E96RE;EACE,yBAAA;A1Ei7RJ;A0E96RM;EAEE,yBAAA;A1E+6RR;;A0Er7RE;EACE,yBAAA;A1Ew7RJ;A0Er7RM;EAEE,yBAAA;A1Es7RR;;A0E57RE;EACE,yBAAA;A1E+7RJ;A0E57RM;EAEE,yBAAA;A1E67RR;;A2El8RA;EACE,kBAAA;EACA,WAAA;A3Eq8RF;A2En8RE;EACE,cAAA;EACA,oCAAA;EACA,WAAA;A3Eq8RJ;A2El8RE;EACE,kBAAA;EACA,MAAA;EAEA,WAAA;EACA,YAAA;A3Em8RJ;AOl9RI;EAgCE,OAAA;APq7RN;AO78RI;EA+BI,QAAA;APi7RR;;A2Ep8RE;EACE,wBAAA;A3Eu8RJ;;A2Ex8RE;EACE,uBAAA;A3E28RJ;;A2E58RE;EACE,0BAAA;A3E+8RJ;;A2Eh9RE;EACE,kCAAA;A3Em9RJ;;A4Ex+RA;EACE,eAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,atEopCkC;ANu1PpC;;A4Ex+RA;EACE,eAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,atE4oCkC;AN+1PpC;;A4En+RI;EACE,wBAAA;EAAA,gBAAA;EACA,MAAA;EACA,atEgoC8B;ANs2PpC;;A4En+RI;EACE,wBAAA;EAAA,gBAAA;EACA,SAAA;EACA,atE0nC8B;AN42PpC;;Ae17RI;E6DrDA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,atEgoC8B;ENm3PlC;E4Eh/RE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,atE0nC8B;ENw3PlC;AACF;Aev8RI;E6DrDA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,atEgoC8B;EN+3PlC;E4E5/RE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,atE0nC8B;ENo4PlC;AACF;Aen9RI;E6DrDA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,atEgoC8B;EN24PlC;E4ExgSE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,atE0nC8B;ENg5PlC;AACF;Ae/9RI;E6DrDA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,atEgoC8B;ENu5PlC;E4EphSE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,atE0nC8B;EN45PlC;AACF;Ae3+RI;E6DrDA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,atEgoC8B;ENm6PlC;E4EhiSE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,atE0nC8B;ENw6PlC;AACF;A6ElkSA;EACE,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,mBAAA;A7EokSF;;A6EjkSA;EACE,aAAA;EACA,cAAA;EACA,sBAAA;EACA,mBAAA;A7EokSF;;A8E5kSA;;ECIE,6BAAA;EACA,qBAAA;EACA,sBAAA;EACA,qBAAA;EACA,uBAAA;EACA,2BAAA;EACA,iCAAA;EACA,8BAAA;EACA,oBAAA;A/E6kSF;;AgFxlSE;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,U1EyesC;E0ExetC,WAAA;AhF2lSJ;;AiFnmSA;ECAE,gBAAA;EACA,uBAAA;EACA,mBAAA;AlFumSF;;AmF7mSA;EACE,qBAAA;EACA,mBAAA;EACA,UAAA;EACA,eAAA;EACA,UAAA;EACA,8BAAA;EACA,a7EmtB4B;AN65Q9B;;AoFljSQ;EAUM,mCAAA;ApF4iSd;;AoFtjSQ;EAUM,8BAAA;ApFgjSd;;AoF1jSQ;EAUM,iCAAA;ApFojSd;;AoF9jSQ;EAUM,iCAAA;ApFwjSd;;AoFlkSQ;EAUM,sCAAA;ApF4jSd;;AoFtkSQ;EAUM,mCAAA;ApFgkSd;;AO7oSI;EAgCE,sBAAA;APinSN;AOzoSI;EA+BI,uBAAA;AP6mSR;;AOppSI;EAgCE,uBAAA;APwnSN;AOhpSI;EA+BI,sBAAA;APonSR;;AO3pSI;EAgCE,sBAAA;AP+nSN;AOvpSI;EA+BI,sBAAA;AP2nSR;;AoF/lSQ;EAUM,qBAAA;ApFylSd;;AoFnmSQ;EAUM,wBAAA;ApF6lSd;;AoFvmSQ;EAUM,uBAAA;ApFimSd;;AoF3mSQ;EAUM,wBAAA;ApFqmSd;;AoF/mSQ;EAUM,qBAAA;ApFymSd;;AoFnnSQ;EAUM,yBAAA;ApF6mSd;;AoFvnSQ;EAUM,2BAAA;ApFinSd;;AoF3nSQ;EAUM,4BAAA;ApFqnSd;;AoF/nSQ;EAUM,2BAAA;ApFynSd;;AoFnoSQ;EAUM,0BAAA;ApF6nSd;;AoFvoSQ;EAUM,gCAAA;ApFioSd;;AoF3oSQ;EAUM,yBAAA;ApFqoSd;;AoF/oSQ;EAUM,wBAAA;ApFyoSd;;AoFnpSQ;EAUM,yBAAA;ApF6oSd;;AoFvpSQ;EAUM,6BAAA;ApFipSd;;AoF3pSQ;EAUM,8BAAA;ApFqpSd;;AoF/pSQ;EAUM,wBAAA;ApFypSd;;AoFnqSQ;EAUM,+BAAA;ApF6pSd;;AoFvqSQ;EAUM,wBAAA;ApFiqSd;;AoF3qSQ;EAUM,yDAAA;ApFqqSd;;AoF/qSQ;EAUM,+DAAA;ApFyqSd;;AoFnrSQ;EAUM,wDAAA;ApF6qSd;;AoFvrSQ;EAUM,2BAAA;ApFirSd;;AoF3rSQ;EAUM,2BAAA;ApFqrSd;;AoF/rSQ;EAUM,6BAAA;ApFyrSd;;AoFnsSQ;EAUM,6BAAA;ApF6rSd;;AoFvsSQ;EAUM,0BAAA;ApFisSd;;AoF3sSQ;EAUM,mCAAA;EAAA,2BAAA;ApFqsSd;;AoF/sSQ;EAUM,iBAAA;ApFysSd;;AoFntSQ;EAUM,mBAAA;ApF6sSd;;AoFvtSQ;EAUM,oBAAA;ApFitSd;;AoF3tSQ;EAUM,oBAAA;ApFqtSd;;AoF/tSQ;EAUM,sBAAA;ApFytSd;;AoFnuSQ;EAUM,uBAAA;ApF6tSd;;AoFvuSQ;EAUM,kBAAA;ApFiuSd;;AoF3uSQ;EAUM,oBAAA;ApFquSd;;AoF/uSQ;EAUM,qBAAA;ApFyuSd;;AoFnvSQ;EAUM,mBAAA;ApF6uSd;;AoFvvSQ;EAUM,qBAAA;ApFivSd;;AoF3vSQ;EAUM,sBAAA;ApFqvSd;;AoF/vSQ;EAUM,2CAAA;ApFyvSd;;AoFnwSQ;EAUM,sCAAA;ApF6vSd;;AoFvwSQ;EAUM,sCAAA;ApFiwSd;;AoF3wSQ;EAUM,0FAAA;ApFqwSd;;AoF/wSQ;EAUM,oBAAA;ApFywSd;;AoFnxSQ;EAUM,8FAAA;ApF6wSd;;AoFvxSQ;EAUM,wBAAA;ApFixSd;;AO91SI;EAgCE,gGAAA;APk0SN;AO11SI;EA+BI,+FAAA;AP8zSR;;AOr2SI;EAgCE,0BAAA;APy0SN;AOj2SI;EA+BI,yBAAA;APq0SR;;AoFzySQ;EAUM,iGAAA;ApFmySd;;AoF7ySQ;EAUM,2BAAA;ApFuySd;;AOp3SI;EAgCE,+FAAA;APw1SN;AOh3SI;EA+BI,gGAAA;APo1SR;;AO33SI;EAgCE,yBAAA;AP+1SN;AOv3SI;EA+BI,0BAAA;AP21SR;;AoF/zSQ;EAIQ,uBAAA;EAMF,gFAAA;ApF0zSd;;AoFp0SQ;EAIQ,uBAAA;EAMF,kFAAA;ApF+zSd;;AoFz0SQ;EAIQ,uBAAA;EAMF,gFAAA;ApFo0Sd;;AoF90SQ;EAIQ,uBAAA;EAMF,6EAAA;ApFy0Sd;;AoFn1SQ;EAIQ,uBAAA;EAMF,gFAAA;ApF80Sd;;AoFx1SQ;EAIQ,uBAAA;EAMF,+EAAA;ApFm1Sd;;AoF71SQ;EAIQ,uBAAA;EAMF,8EAAA;ApFw1Sd;;AoFl2SQ;EAIQ,uBAAA;EAMF,6EAAA;ApF61Sd;;AoFv2SQ;EAIQ,uBAAA;EAMF,8EAAA;ApFk2Sd;;AoF52SQ;EAUM,oCAAA;ApFs2Sd;;AoFh3SQ;EAUM,oCAAA;ApF02Sd;;AoFp3SQ;EAUM,oCAAA;ApF82Sd;;AoFx3SQ;EAUM,iCAAA;ApFk3Sd;;AoF53SQ;EAUM,oCAAA;ApFs3Sd;;AoFh4SQ;EAUM,oCAAA;ApF03Sd;;AoFp4SQ;EAUM,oCAAA;ApF83Sd;;AoFx4SQ;EAUM,oCAAA;ApFk4Sd;;AoF54SQ;EAUM,iCAAA;ApFs4Sd;;AOn9SI;EAgCE,sCAAA;APu7SN;AO/8SI;EA+BI,qCAAA;APm7SR;;AO19SI;EAgCE,sCAAA;AP87SN;AOt9SI;EA+BI,qCAAA;AP07SR;;AOj+SI;EAgCE,sCAAA;APq8SN;AO79SI;EA+BI,qCAAA;APi8SR;;AOx+SI;EAgCE,mCAAA;AP48SN;AOp+SI;EA+BI,kCAAA;APw8SR;;AO/+SI;EAgCE,sCAAA;APm9SN;AO3+SI;EA+BI,qCAAA;AP+8SR;;AOt/SI;EAgCE,sCAAA;AP09SN;AOl/SI;EA+BI,qCAAA;APs9SR;;AO7/SI;EAgCE,sCAAA;APi+SN;AOz/SI;EA+BI,qCAAA;AP69SR;;AOpgTI;EAgCE,sCAAA;APw+SN;AOhgTI;EA+BI,qCAAA;APo+SR;;AO3gTI;EAgCE,mCAAA;AP++SN;AOvgTI;EA+BI,kCAAA;AP2+SR;;AoF/8SQ;EAUM,uCAAA;ApFy8Sd;;AoFn9SQ;EAUM,uCAAA;ApF68Sd;;AoFv9SQ;EAUM,uCAAA;ApFi9Sd;;AoF39SQ;EAUM,oCAAA;ApFq9Sd;;AoF/9SQ;EAUM,uCAAA;ApFy9Sd;;AoFn+SQ;EAUM,uCAAA;ApF69Sd;;AoFv+SQ;EAUM,uCAAA;ApFi+Sd;;AoF3+SQ;EAUM,uCAAA;ApFq+Sd;;AoF/+SQ;EAUM,oCAAA;ApFy+Sd;;AOtjTI;EAgCE,qCAAA;AP0hTN;AOljTI;EA+BI,sCAAA;APshTR;;AO7jTI;EAgCE,qCAAA;APiiTN;AOzjTI;EA+BI,sCAAA;AP6hTR;;AOpkTI;EAgCE,qCAAA;APwiTN;AOhkTI;EA+BI,sCAAA;APoiTR;;AO3kTI;EAgCE,kCAAA;AP+iTN;AOvkTI;EA+BI,mCAAA;AP2iTR;;AOllTI;EAgCE,qCAAA;APsjTN;AO9kTI;EA+BI,sCAAA;APkjTR;;AOzlTI;EAgCE,qCAAA;AP6jTN;AOrlTI;EA+BI,sCAAA;APyjTR;;AOhmTI;EAgCE,qCAAA;APokTN;AO5lTI;EA+BI,sCAAA;APgkTR;;AOvmTI;EAgCE,qCAAA;AP2kTN;AOnmTI;EA+BI,sCAAA;APukTR;;AO9mTI;EAgCE,kCAAA;APklTN;AO1mTI;EA+BI,mCAAA;AP8kTR;;AoF5jTQ;EACE,uBAAA;ApF+jTV;;AoFhkTQ;EACE,uBAAA;ApFmkTV;;AoFpkTQ;EACE,uBAAA;ApFukTV;;AoFxkTQ;EACE,uBAAA;ApF2kTV;;AoF5kTQ;EACE,uBAAA;ApF+kTV;;AoFtkTQ;EAUM,gCAAA;ApFgkTd;;AoF1kTQ;EAUM,gCAAA;ApFokTd;;AoF9kTQ;EAUM,gCAAA;ApFwkTd;;AoFllTQ;EAUM,gCAAA;ApF4kTd;;AoFtlTQ;EAUM,gCAAA;ApFglTd;;AO7pTI;EAgCE,kCAAA;APioTN;AOzpTI;EA+BI,iCAAA;AP6nTR;;AOpqTI;EAgCE,kCAAA;APwoTN;AOhqTI;EA+BI,iCAAA;APooTR;;AO3qTI;EAgCE,kCAAA;AP+oTN;AOvqTI;EA+BI,iCAAA;AP2oTR;;AOlrTI;EAgCE,kCAAA;APspTN;AO9qTI;EA+BI,iCAAA;APkpTR;;AOzrTI;EAgCE,kCAAA;AP6pTN;AOrrTI;EA+BI,iCAAA;APypTR;;AoF7nTQ;EAUM,mCAAA;ApFunTd;;AoFjoTQ;EAUM,mCAAA;ApF2nTd;;AoFroTQ;EAUM,mCAAA;ApF+nTd;;AoFzoTQ;EAUM,mCAAA;ApFmoTd;;AoF7oTQ;EAUM,mCAAA;ApFuoTd;;AOptTI;EAgCE,iCAAA;APwrTN;AOhtTI;EA+BI,kCAAA;APorTR;;AO3tTI;EAgCE,iCAAA;AP+rTN;AOvtTI;EA+BI,kCAAA;AP2rTR;;AOluTI;EAgCE,iCAAA;APssTN;AO9tTI;EA+BI,kCAAA;APksTR;;AOzuTI;EAgCE,iCAAA;AP6sTN;AOruTI;EA+BI,kCAAA;APysTR;;AOhvTI;EAgCE,iCAAA;APotTN;AO5uTI;EA+BI,kCAAA;APgtTR;;AoF9rTQ;EACE,yBAAA;ApFisTV;;AoFlsTQ;EACE,0BAAA;ApFqsTV;;AoFtsTQ;EACE,yBAAA;ApFysTV;;AoF1sTQ;EACE,0BAAA;ApF6sTV;;AoF9sTQ;EACE,uBAAA;ApFitTV;;AoFxsTQ;EAUM,qBAAA;ApFksTd;;AoF5sTQ;EAUM,qBAAA;ApFssTd;;AoFhtTQ;EAUM,qBAAA;ApF0sTd;;AoFptTQ;EAUM,sBAAA;ApF8sTd;;AoFxtTQ;EAUM,sBAAA;ApFktTd;;AoF5tTQ;EAUM,0BAAA;ApFstTd;;AoFhuTQ;EAUM,uBAAA;ApF0tTd;;AoFpuTQ;EAUM,2BAAA;ApF8tTd;;AoFxuTQ;EAUM,sBAAA;ApFkuTd;;AoF5uTQ;EAUM,sBAAA;ApFsuTd;;AoFhvTQ;EAUM,sBAAA;ApF0uTd;;AoFpvTQ;EAUM,uBAAA;ApF8uTd;;AoFxvTQ;EAUM,uBAAA;ApFkvTd;;AoF5vTQ;EAUM,2BAAA;ApFsvTd;;AoFhwTQ;EAUM,wBAAA;ApF0vTd;;AoFpwTQ;EAUM,4BAAA;ApF8vTd;;AoFxwTQ;EAUM,yBAAA;ApFkwTd;;AoF5wTQ;EAUM,8BAAA;ApFswTd;;AoFhxTQ;EAUM,iCAAA;ApF0wTd;;AoFpxTQ;EAUM,sCAAA;ApF8wTd;;AoFxxTQ;EAUM,yCAAA;ApFkxTd;;AoF5xTQ;EAUM,uBAAA;ApFsxTd;;AoFhyTQ;EAUM,uBAAA;ApF0xTd;;AoFpyTQ;EAUM,yBAAA;ApF8xTd;;AoFxyTQ;EAUM,yBAAA;ApFkyTd;;AoF5yTQ;EAUM,0BAAA;ApFsyTd;;AoFhzTQ;EAUM,4BAAA;ApF0yTd;;AoFpzTQ;EAUM,kCAAA;ApF8yTd;;AoFxzTQ;EAUM,sCAAA;ApFkzTd;;AoF5zTQ;EAUM,oCAAA;ApFszTd;;AoFh0TQ;EAUM,kCAAA;ApF0zTd;;AoFp0TQ;EAUM,yCAAA;ApF8zTd;;AoFx0TQ;EAUM,wCAAA;ApFk0Td;;AoF50TQ;EAUM,wCAAA;ApFs0Td;;AoFh1TQ;EAUM,kCAAA;ApF00Td;;AoFp1TQ;EAUM,gCAAA;ApF80Td;;AoFx1TQ;EAUM,8BAAA;ApFk1Td;;AoF51TQ;EAUM,gCAAA;ApFs1Td;;AoFh2TQ;EAUM,+BAAA;ApF01Td;;AoFp2TQ;EAUM,oCAAA;ApF81Td;;AoFx2TQ;EAUM,kCAAA;ApFk2Td;;AoF52TQ;EAUM,gCAAA;ApFs2Td;;AoFh3TQ;EAUM,uCAAA;ApF02Td;;AoFp3TQ;EAUM,sCAAA;ApF82Td;;AoFx3TQ;EAUM,iCAAA;ApFk3Td;;AoF53TQ;EAUM,2BAAA;ApFs3Td;;AoFh4TQ;EAUM,iCAAA;ApF03Td;;AoFp4TQ;EAUM,+BAAA;ApF83Td;;AoFx4TQ;EAUM,6BAAA;ApFk4Td;;AoF54TQ;EAUM,+BAAA;ApFs4Td;;AoFh5TQ;EAUM,8BAAA;ApF04Td;;AoFp5TQ;EAUM,oBAAA;ApF84Td;;AoFx5TQ;EAUM,mBAAA;ApFk5Td;;AoF55TQ;EAUM,mBAAA;ApFs5Td;;AoFh6TQ;EAUM,mBAAA;ApF05Td;;AoFp6TQ;EAUM,mBAAA;ApF85Td;;AoFx6TQ;EAUM,mBAAA;ApFk6Td;;AoF56TQ;EAUM,mBAAA;ApFs6Td;;AoFh7TQ;EAUM,mBAAA;ApF06Td;;AoFp7TQ;EAUM,oBAAA;ApF86Td;;AoFx7TQ;EAUM,0BA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M,oBAAA;EpF24WZ;EoFr5WM;IAUM,sBAAA;EpF84WZ;EoFx5WM;IAUM,oBAAA;EpFi5WZ;EO99WE;IAgCE,2BAAA;EPi8WJ;EOz9WE;IA+BI,4BAAA;EP67WN;EOp+WE;IAgCE,4BAAA;EPu8WJ;EO/9WE;IA+BI,2BAAA;EPm8WN;EO1+WE;IAgCE,6BAAA;EP68WJ;EOr+WE;IA+BI,6BAAA;EPy8WN;AACF;Aev6WI;ER1EA;IAgCE,sBAAA;EPq9WJ;EO7+WE;IA+BI,uBAAA;EPi9WN;EOx/WE;IAgCE,uBAAA;EP29WJ;EOn/WE;IA+BI,sBAAA;EPu9WN;EO9/WE;IAgCE,sBAAA;EPi+WJ;EOz/WE;IA+BI,sBAAA;EP69WN;EoFj8WM;IAUM,0BAAA;EpF07WZ;EoFp8WM;IAUM,gCAAA;EpF67WZ;EoFv8WM;IAUM,yBAAA;EpFg8WZ;EoF18WM;IAUM,wBAAA;EpFm8WZ;EoF78WM;IAUM,yBAAA;EpFs8WZ;EoFh9WM;IAUM,6BAAA;EpFy8WZ;EoFn9WM;IAUM,8BAAA;EpF48WZ;EoFt9WM;IAUM,wBAAA;EpF+8WZ;EoFz9WM;IAUM,+BAAA;EpFk9WZ;EoF59WM;IAUM,wBAAA;EpFq9WZ;EoF/9WM;IAUM,yBAAA;EpFw9WZ;EoFl+WM;IAUM,8BAAA;EpF29WZ;EoFr+WM;IAUM,iCAAA;EpF89WZ;EoFx+WM;IAUM,sCAAA;EpFi+WZ;EoF3+WM;IAUM,yCAAA;EpFo+WZ;EoF9+WM;IAUM,uBAAA;EpFu+WZ;EoFj/WM;IAUM,uBAAA;EpF0+WZ;EoFp/WM;IAUM,yBAAA;EpF6+WZ;EoFv/WM;IAUM,yBAAA;EpFg/WZ;EoF1/WM;IAUM,0BAAA;EpFm/WZ;EoF7/WM;IAUM,4BAAA;EpFs/WZ;EoFhgXM;IAUM,kCAAA;EpFy/WZ;EoFngXM;IAUM,sCAAA;EpF4/WZ;EoFtgXM;IAUM,oCAAA;EpF+/WZ;EoFzgXM;IAUM,kCAAA;EpFkgXZ;EoF5gXM;IAUM,yCAAA;EpFqgXZ;EoF/gXM;IAUM,wCAAA;EpFwgXZ;EoFlhXM;IAUM,wCAAA;EpF2gXZ;EoFrhXM;IAUM,kCAAA;EpF8gXZ;EoFxhXM;IAUM,gCAAA;EpFih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z6XM;IAUM,iCAAA;EpFk6XZ;EoF56XM;IAUM,+BAAA;EpFq6XZ;EoF/6XM;IAUM,iCAAA;EpFw6XZ;EoFl7XM;IAUM,+BAAA;EpF26XZ;EOx/XE;IAgCE,0BAAA;EP29XJ;EOn/XE;IA+BI,2BAAA;EPu9XN;EO9/XE;IAgCE,gCAAA;EPi+XJ;EOz/XE;IA+BI,iCAAA;EP69XN;EOpgYE;IAgCE,+BAAA;EPu+XJ;EO//XE;IA+BI,gCAAA;EPm+XN;EO1gYE;IAgCE,6BAAA;EP6+XJ;EOrgYE;IA+BI,8BAAA;EPy+XN;EOhhYE;IAgCE,+BAAA;EPm/XJ;EO3gYE;IA+BI,gCAAA;EP++XN;EOthYE;IAgCE,6BAAA;EPy/XJ;EOjhYE;IA+BI,8BAAA;EPq/XN;EoFz9XM;IAUM,iBAAA;EpFk9XZ;EoF59XM;IAUM,uBAAA;EpFq9XZ;EoF/9XM;IAUM,sBAAA;EpFw9XZ;EoFl+XM;IAUM,oBAAA;EpF29XZ;EoFr+XM;IAUM,sBAAA;EpF89XZ;EoFx+XM;IAUM,oBAAA;EpFi+XZ;EO9iYE;IAgCE,2BAAA;EPihYJ;EOziYE;IA+BI,4BAAA;EP6gYN;EOpjYE;IAgCE,4BAAA;EPuhYJ;EO/iYE;IA+BI,2BAAA;EPmhYN;EO1jYE;IAgCE,6BAAA;EP6hYJ;EOrjYE;IA+BI,6BAAA;EPyhYN;AACF;Aev/XI;ER1EA;IAgCE,sBAAA;EPqiYJ;EO7jYE;IA+BI,uBAAA;EPiiYN;EOxkYE;IAgCE,uBAAA;EP2iYJ;EOnkYE;IA+BI,sBAAA;EPuiYN;EO9kYE;IAgCE,sBAAA;EPijYJ;EOzkYE;IA+BI,sBAAA;EP6iYN;EoFjhYM;IAUM,0BAAA;EpF0gYZ;EoFphYM;IAUM,gCAAA;EpF6gYZ;EoFvhYM;IAUM,yBAAA;EpFghYZ;EoF1hYM;IAUM,wBAAA;EpFmhYZ;EoF7hYM;IAUM,yBAAA;EpFshYZ;EoFhiYM;IAUM,6BAAA;EpFyhYZ;EoFniYM;IAUM,8BAAA;EpF4hYZ;EoFtiYM;IAUM,wBAAA;EpF+hYZ;EoFziYM;IAUM,+BAAA;EpFkiYZ;EoF5iYM;IAUM,wBAAA;EpFqiYZ;EoF/iYM;IAUM,yBAAA;EpFwiYZ;EoFljYM;IAUM,8BAAA;EpF2iYZ;EoFrjYM;IAUM,iCAAA;EpF8iYZ;EoFxjYM;IAUM,sCAAA;EpFijYZ;EoF3jYM;IAUM,yCAAA;EpFojYZ;EoF9jYM;IAUM,uBAAA;EpFujYZ;EoFjkYM;IAUM,uBAAA;EpF0jYZ;EoFpkYM;IAUM,yBAAA;EpF6jYZ;EoFvkYM;IAUM,yBAAA;EpFgkYZ;EoF1kYM;IAUM,0BAAA;EpFmkYZ;EoF7kYM;IAUM,4BAAA;EpFskYZ;EoFhlYM;IAUM,kCAAA;EpFykYZ;EoFnlYM;IAUM,sCAAA;EpF4kYZ;EoFtlYM;IAUM,oCAAA;EpF+kYZ;EoFzlYM;IAUM,kCAAA;EpFklYZ;EoF5lYM;IAUM,yCAAA;EpFqlYZ;EoF/lYM;IAUM,wCAAA;EpFwlYZ;EoFlmYM;IAUM,wCAAA;EpF2lYZ;EoFrmYM;IAUM,kCAAA;EpF8lYZ;EoFxmYM;IAUM,gCAAA;EpFimYZ;EoF3mYM;IAUM,8BAAA;EpFomYZ;EoF9mYM;IAUM,gCAAA;EpFumYZ;EoFjnYM;IAUM,+BAAA;EpF0mYZ;EoFpnYM;IAUM,oCAAA;EpF6mYZ;EoFvnYM;IAUM,kCAAA;EpFgnYZ;EoF1nYM;IAUM,gCAAA;EpFmnYZ;EoF7nYM;IAUM,uCAAA;EpFsnYZ;EoFhoYM;IAUM,sCAAA;EpFynYZ;EoFnoYM;IAUM,iCAAA;EpF4nYZ;EoFtoYM;IAUM,2BAAA;EpF+nYZ;EoFzoYM;IAUM,iCAAA;EpFkoYZ;EoF5oYM;IAUM,+BAAA;EpFqoYZ;EoF/oYM;IAUM,6BAAA;EpFwoYZ;EoFlpYM;IAUM,+BAAA;EpF2oYZ;EoFrpYM;IAUM,8BAAA;EpF8oYZ;EoFxpYM;IAUM,oBAAA;EpFipYZ;EoF3pYM;IAUM,mBAAA;EpFopYZ;EoF9pYM;IAUM,mBAAA;EpFupYZ;EoFjqYM;IAUM,mBAAA;EpF0pYZ;EoFpqYM;IAUM,mBAAA;EpF6pYZ;EoFvqYM;IAUM,mBAAA;EpFgqYZ;EoF1qYM;IAUM,mBAAA;EpFmqYZ;EoF7qYM;IAUM,mBAAA;EpFsqYZ;EoFhrYM;IAUM,oBAAA;EpFyqYZ;EoFnrYM;IAUM,0BAAA;EpF4qYZ;EoFtrYM;IAUM,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s7YZ;EoFh8YM;IAUM,+BAAA;EpFy7YZ;EoFn8YM;IAUM,8BAAA;EpF47YZ;EoFt8YM;IAUM,4BAAA;EpF+7YZ;EoFz8YM;IAUM,8BAAA;EpFk8YZ;EoF58YM;IAUM,4BAAA;EpFq8YZ;EOlhZE;IAgCE,2BAAA;EPq/YJ;EO7gZE;IA+BI,0BAAA;EPi/YN;EOxhZE;IAgCE,iCAAA;EP2/YJ;EOnhZE;IA+BI,gCAAA;EPu/YN;EO9hZE;IAgCE,gCAAA;EPigZJ;EOzhZE;IA+BI,+BAAA;EP6/YN;EOpiZE;IAgCE,8BAAA;EPugZJ;EO/hZE;IA+BI,6BAAA;EPmgZN;EO1iZE;IAgCE,gCAAA;EP6gZJ;EOriZE;IA+BI,+BAAA;EPygZN;EOhjZE;IAgCE,8BAAA;EPmhZJ;EO3iZE;IA+BI,6BAAA;EP+gZN;EoFn/YM;IAUM,4BAAA;EpF4+YZ;EoFt/YM;IAUM,kCAAA;EpF++YZ;EoFz/YM;IAUM,iCAAA;EpFk/YZ;EoF5/YM;IAUM,+BAAA;EpFq/YZ;EoF//YM;IAUM,iCAAA;EpFw/YZ;EoFlgZM;IAUM,+BAAA;EpF2/YZ;EOxkZE;IAgCE,0BAAA;EP2iZJ;EOnkZE;IA+BI,2BAAA;EPuiZN;EO9kZE;IAgCE,gCAAA;EPijZJ;EOzkZE;IA+BI,iCAAA;EP6iZN;EOplZE;IAgCE,+BAAA;EPujZJ;EO/kZE;IA+BI,gCAAA;EPmjZN;EO1lZE;IAgCE,6BAAA;EP6jZJ;EOrlZE;IA+BI,8BAAA;EPyjZN;EOhmZE;IAgCE,+BAAA;EPmkZJ;EO3lZE;IA+BI,gCAAA;EP+jZN;EOtmZE;IAgCE,6BAAA;EPykZJ;EOjmZE;IA+BI,8BAAA;EPqkZN;EoFziZM;IAUM,iBAAA;EpFkiZZ;EoF5iZM;IAUM,uBAAA;EpFqiZZ;EoF/iZM;IAUM,sBAAA;EpFwiZZ;EoFljZM;IAUM,oBAAA;EpF2iZZ;EoFrjZM;IAUM,sBAAA;EpF8iZZ;EoFxjZM;IAUM,oBAAA;EpFijZZ;EO9nZE;IAgCE,2BAAA;EPimZJ;EOznZE;IA+BI,4BAAA;EP6lZN;EOpoZE;IAgCE,4BAAA;EPumZJ;EO/nZE;IA+BI,2BAAA;EPmmZN;EO1oZE;IAgCE,6BAAA;EP6mZJ;EOroZE;IA+BI,6BAAA;EPymZN;AACF;AevkZI;ER1EA;IAgCE,sBAAA;EPqnZJ;EO7oZE;IA+BI,uBAAA;EPinZN;EOxpZE;IAgCE,uBAAA;EP2nZJ;EOnpZE;IA+BI,sBAAA;EPunZN;EO9pZE;IAgCE,sBAAA;EPioZJ;EOzpZE;IA+BI,sBAAA;EP6nZN;EoFjmZM;IAUM,0BAAA;EpF0lZZ;EoFpmZM;IAUM,gCAAA;EpF6lZZ;EoFvmZM;IAUM,yBAAA;EpFgmZZ;EoF1mZM;IAUM,wBAAA;EpFmmZZ;EoF7mZM;IAUM,yBAAA;EpFsmZZ;EoFhnZM;IAUM,6BAAA;EpFymZZ;EoFnnZM;IAUM,8BAAA;EpF4mZZ;EoFtnZM;IAUM,wBAAA;EpF+mZZ;EoFznZM;IAUM,+BAAA;EpFknZZ;EoF5nZM;IAUM,wBAAA;EpFqnZZ;EoF/nZM;IAUM,yBAAA;EpFwnZZ;EoFloZM;IAUM,8BAAA;EpF2nZZ;EoFroZM;IAUM,iCAAA;EpF8nZZ;EoFxoZM;IAUM,sCAAA;EpFioZZ;EoF3oZM;IAUM,yCAAA;EpFooZZ;EoF9oZM;IAUM,uBAAA;EpFuoZZ;EoFjpZM;IAUM,uBAAA;EpF0oZZ;EoFppZM;IAUM,yBAAA;EpF6oZZ;EoFvpZM;IAUM,yBAAA;EpFgpZZ;EoF1pZM;IAUM,0BAAA;EpFmpZZ;EoF7pZM;IAUM,4BAAA;EpFspZZ;EoFhqZM;IAUM,kCAAA;EpFypZZ;EoFnqZM;IAUM,sCAAA;EpF4pZZ;EoFtqZM;IAUM,oCAAA;EpF+pZZ;EoFzqZM;IAUM,kCAAA;EpFkqZZ;EoF5qZM;IAUM,yCAAA;EpFqqZZ;EoF/qZM;IAUM,wCAAA;EpFwqZZ;EoFlrZM;IAUM,wCAAA;EpF2qZZ;EoFrrZM;IAUM,kCAAA;EpF8qZZ;EoFxrZM;IAUM,gCAAA;EpFirZZ;EoF3rZM;IAUM,8BAAA;EpForZZ;EoF9rZM;IAUM,gCAAA;EpFurZZ;EoFjsZM;IAUM,+BAAA;EpF0rZZ;EoFpsZM;IAUM,oCAAA;EpF6rZZ;EoFvsZM;IAUM,kCAAA;EpFgsZZ;EoF1sZM;IAUM,gCAAA;EpFmsZZ;EoF7sZM;IAUM,uCAAA;EpFssZZ;EoFhtZM;IAUM,sCAAA;EpFysZZ;EoFntZM;IAUM,iCAAA;EpF4sZZ;EoFttZM;IAUM,2BAAA;EpF+sZZ;EoFztZM;IAUM,iCAAA;EpFktZZ;EoF5tZM;IAUM,+BAAA;EpFqtZZ;EoF/tZM;IAUM,6BAAA;EpFwtZZ;EoFluZM;IAUM,+BAAA;EpF2tZZ;EoFruZM;IAUM,8BAAA;EpF8tZZ;EoFxuZM;IAUM,oBAAA;EpFiuZZ;EoF3uZM;IAUM,mBAAA;EpFouZZ;EoF9uZM;IAUM,mBAAA;EpFuuZZ;EoFjvZM;IAUM,mBAAA;EpF0uZZ;EoFpvZM;IAUM,mBAAA;EpF6uZZ;EoFvvZM;IAUM,mBAAA;EpFgvZZ;EoF1vZM;IAUM,mBAAA;EpFmvZZ;EoF7vZM;IAUM,mBAAA;EpFsvZZ;EoFhwZM;IAUM,oBAAA;EpFyvZZ;EoFnwZM;IAUM,0BAAA;EpF4vZZ;EoFtwZM;IAUM,yBAAA;EpF+vZZ;EoFzwZM;IAUM,uBAAA;EpFkwZZ;EoF5wZM;IAUM,yBAAA;EpFqwZZ;EoF/wZM;IAUM,uBAAA;EpFwwZZ;EoFlxZM;IAUM,uBAAA;EpF2wZZ;EoFrxZM;IAUM,0BAAA;IAAA,yBAAA;EpF+wZZ;EoFzxZM;IAUM,gCAAA;IAAA,+BAAA;EpFmxZZ;EoF7xZM;IAUM,+BAAA;IAAA,8BAAA;EpFuxZZ;EoFjyZM;IAUM,6BAAA;IAAA,4BAAA;EpF2xZZ;EoFryZM;IAUM,+BAAA;IAAA,8BAAA;EpF+xZZ;EoFzyZM;IAUM,6BAAA;IAAA,4BAAA;EpFmyZZ;EoF7yZM;IAUM,6BAAA;IAAA,4BAAA;EpFuyZZ;EoFjzZM;IAUM,wBAAA;IAAA,2BAAA;EpF2yZZ;EoFrzZM;IAUM,8BAAA;IAAA,iCAAA;EpF+yZZ;EoFzzZM;IAUM,6BAAA;IAAA,gCAAA;EpFmzZZ;EoF7zZM;IAUM,2BAAA;IAAA,8BAAA;EpFuzZZ;EoFj0ZM;IAUM,6BAAA;IAAA,gCAAA;EpF2zZZ;EoFr0ZM;IAUM,2BAAA;IAAA,8BAAA;EpF+zZZ;EoFz0ZM;IAUM,2BAAA;IAAA,8BAAA;EpFm0ZZ;EoF70ZM;IAUM,wBAAA;EpFs0ZZ;EoFh1ZM;IAUM,8BAAA;EpFy0ZZ;EoFn1ZM;IAUM,6BAAA;EpF40ZZ;EoFt1ZM;IAUM,2BAAA;EpF+0ZZ;EoFz1ZM;IAUM,6BAAA;EpFk1ZZ;EoF51ZM;IAUM,2BAAA;EpFq1ZZ;EoF/1ZM;IAUM,2BAAA;EpFw1ZZ;EOr6ZE;IAgCE,0BAAA;EPw4ZJ;EOh6ZE;IA+BI,yBAAA;EPo4ZN;EO36ZE;IAgCE,gCAAA;EP84ZJ;EOt6ZE;IA+BI,+BAAA;EP04ZN;EOj7ZE;IAgCE,+BAAA;EPo5ZJ;EO56ZE;IA+BI,8BAAA;EPg5ZN;EOv7ZE;IAgCE,6BAAA;EP05ZJ;EOl7ZE;IA+BI,4BAAA;EPs5ZN;EO77ZE;IAgCE,+BAAA;EPg6ZJ;EOx7ZE;IA+BI,8BAAA;EP45ZN;EOn8ZE;IAgCE,6BAAA;EPs6ZJ;EO97ZE;IA+BI,4BAAA;EPk6ZN;EOz8ZE;IAgCE,6BAAA;EP46ZJ;EOp8ZE;IA+BI,4BAAA;EPw6ZN;EoF54ZM;IAUM,2BAAA;EpFq4ZZ;EoF/4ZM;IAUM,iCAAA;EpFw4ZZ;EoFl5ZM;IAUM,gCAAA;EpF24ZZ;EoFr5ZM;IAUM,8BAAA;EpF84ZZ;EoFx5ZM;IAUM,gCAAA;EpFi5ZZ;EoF35ZM;IAUM,8BAAA;EpFo5ZZ;EoF95ZM;IAUM,8BAAA;EpFu5ZZ;EOp+ZE;IAgCE,yBAAA;EPu8ZJ;EO/9ZE;IA+BI,0BAAA;EPm8ZN;EO1+ZE;IAgCE,+BAAA;EP68ZJ;EOr+ZE;IA+BI,gCAAA;EPy8ZN;EOh/ZE;IAgCE,8BAAA;EPm9ZJ;EO3+ZE;IA+BI,+BAAA;EP+8ZN;EOt/ZE;IAgCE,4BAAA;EPy9ZJ;EOj/ZE;IA+BI,6BAAA;EPq9ZN;EO5/ZE;IAgCE,8BAAA;EP+9ZJ;EOv/ZE;IA+BI,+BAAA;EP29ZN;EOlgaE;IAgCE,4BAAA;EPq+ZJ;EO7/ZE;IA+BI,6BAAA;EPi+ZN;EOxgaE;IAgCE,4BAAA;EP2+ZJ;EOngaE;IA+BI,6BAAA;EPu+ZN;EoF38ZM;IAUM,qBAAA;EpFo8ZZ;EoF98ZM;IAUM,2BAAA;EpFu8ZZ;EoFj9ZM;IAUM,0BAAA;EpF08ZZ;EoFp9ZM;IAUM,wBAAA;EpF68ZZ;EoFv9ZM;IAUM,0BAAA;EpFg9ZZ;EoF19ZM;IAUM,wBAAA;EpFm9ZZ;EoF79ZM;IAUM,2BAAA;IAAA,0BAAA;EpFu9ZZ;EoFj+ZM;IAUM,iCAAA;IAAA,gCAAA;EpF29ZZ;EoFr+ZM;IAUM,gCAAA;IAAA,+BAAA;EpF+9ZZ;EoFz+ZM;IAUM,8BAAA;IAAA,6BAAA;EpFm+ZZ;EoF7+ZM;IAUM,gCAAA;IAAA,+BAAA;EpFu+ZZ;EoFj/ZM;IAUM,8BAAA;IAAA,6BAAA;EpF2+ZZ;EoFr/ZM;IAUM,yBAAA;IAAA,4BAAA;EpF++ZZ;EoFz/ZM;IAUM,+BAAA;IAAA,kCAAA;EpFm/ZZ;EoF7/ZM;IAUM,8BAAA;IAAA,iCAAA;EpFu/ZZ;EoFjgaM;IAUM,4BAAA;IAAA,+BAAA;EpF2/ZZ;EoFrgaM;IAUM,8BAAA;IAAA,iCAAA;EpF+/ZZ;EoFzgaM;IAUM,4BAAA;IAAA,+BAAA;EpFmgaZ;EoF7gaM;IAUM,yBAAA;EpFsgaZ;EoFhhaM;IAUM,+BAAA;EpFygaZ;EoFnhaM;IAUM,8BAAA;EpF4gaZ;EoFthaM;IAUM,4BAAA;EpF+gaZ;EoFzhaM;IAUM,8BAAA;EpFkhaZ;EoF5haM;IAUM,4BAAA;EpFqhaZ;EOlmaE;IAgCE,2BAAA;EPqkaJ;EO7laE;IA+BI,0BAAA;EPikaN;EOxmaE;IAgCE,iCAAA;EP2kaJ;EOnmaE;IA+BI,gCAAA;EPukaN;EO9maE;IAgCE,gCAAA;EPilaJ;EOzmaE;IA+BI,+BAAA;EP6kaN;EOpnaE;IAgCE,8BAAA;EPulaJ;EO/maE;IA+BI,6BAAA;EPmlaN;EO1naE;IAgCE,gCAAA;EP6laJ;EOrnaE;IA+BI,+BAAA;EPylaN;EOhoaE;IAgCE,8BAAA;EPmmaJ;EO3naE;IA+BI,6BAAA;EP+laN;EoFnkaM;IAUM,4BAAA;EpF4jaZ;EoFtkaM;IAUM,kCAAA;EpF+jaZ;EoFzkaM;IAUM,iCAAA;EpFkkaZ;EoF5kaM;IAUM,+BAAA;EpFqkaZ;EoF/kaM;IAUM,iCAAA;EpFwkaZ;EoFllaM;IAUM,+BAAA;EpF2kaZ;EOxpaE;IAgCE,0BAAA;EP2naJ;EOnpaE;IA+BI,2BAAA;EPunaN;EO9paE;IAgCE,gCAAA;EPioaJ;EOzpaE;IA+BI,iCAAA;EP6naN;EOpqaE;IAgCE,+BAAA;EPuoaJ;EO/paE;IA+BI,gCAAA;EPmoaN;EO1qaE;IAgCE,6BAAA;EP6oaJ;EOrqaE;IA+BI,8BAAA;EPyoaN;EOhraE;IAgCE,+BAAA;EPmpaJ;EO3qaE;IA+BI,gCAAA;EP+oaN;EOtraE;IAgCE,6BAAA;EPypaJ;EOjraE;IA+BI,8BAAA;EPqpaN;EoFznaM;IAUM,iBAAA;EpFknaZ;EoF5naM;IAUM,uBAAA;EpFqnaZ;EoF/naM;IAUM,sBAAA;EpFwnaZ;EoFloaM;IAUM,oBAAA;EpF2naZ;EoFroaM;IAUM,sBAAA;EpF8naZ;EoFxoaM;IAUM,oBAAA;EpFioaZ;EO9saE;IAgCE,2BAAA;EPiraJ;EOzsaE;IA+BI,4BAAA;EP6qaN;EOptaE;IAgCE,4BAAA;EPuraJ;EO/saE;IA+BI,2BAAA;EPmraN;EO1taE;IAgCE,6BAAA;EP6raJ;EOrtaE;IA+BI,6BAAA;EPyraN;AACF;AevpaI;ER1EA;IAgCE,sBAAA;EPqsaJ;EO7taE;IA+BI,uBAAA;EPisaN;EOxuaE;IAgCE,uBAAA;EP2saJ;EOnuaE;IA+BI,sBAAA;EPusaN;EO9uaE;IAgCE,sBAAA;EPitaJ;EOzuaE;IA+BI,sBAAA;EP6saN;EoFjraM;IAUM,0BAAA;EpF0qaZ;EoFpraM;IAUM,gCAAA;EpF6qaZ;EoFvraM;IAUM,yBAAA;EpFgraZ;EoF1raM;IAUM,wBAAA;EpFmraZ;EoF7raM;IAUM,yBAAA;EpFsraZ;EoFhsaM;IAUM,6BAAA;EpFyraZ;EoFnsaM;IAUM,8BAAA;EpF4raZ;EoFtsaM;IAUM,wBAAA;EpF+raZ;EoFzsaM;IAUM,+BAAA;EpFksaZ;EoF5saM;IAUM,wBAAA;EpFqsaZ;EoF/saM;IAUM,yBAAA;EpFwsaZ;EoFltaM;IAUM,8BAAA;EpF2saZ;EoFrtaM;IAUM,iCAAA;EpF8saZ;EoFxtaM;IAUM,sCAAA;EpFitaZ;EoF3taM;IAUM,yCAAA;EpFotaZ;EoF9taM;IAUM,uBAAA;EpFutaZ;EoFjuaM;IAUM,uBAAA;EpF0taZ;EoFpuaM;IAUM,yBAAA;Ep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AA;EPipbN;EOxrbE;IAgCE,iCAAA;EP2pbJ;EOnrbE;IA+BI,gCAAA;EPupbN;EO9rbE;IAgCE,gCAAA;EPiqbJ;EOzrbE;IA+BI,+BAAA;EP6pbN;EOpsbE;IAgCE,8BAAA;EPuqbJ;EO/rbE;IA+BI,6BAAA;EPmqbN;EO1sbE;IAgCE,gCAAA;EP6qbJ;EOrsbE;IA+BI,+BAAA;EPyqbN;EOhtbE;IAgCE,8BAAA;EPmrbJ;EO3sbE;IA+BI,6BAAA;EP+qbN;EoFnpbM;IAUM,4BAAA;EpF4obZ;EoFtpbM;IAUM,kCAAA;EpF+obZ;EoFzpbM;IAUM,iCAAA;EpFkpbZ;EoF5pbM;IAUM,+BAAA;EpFqpbZ;EoF/pbM;IAUM,iCAAA;EpFwpbZ;EoFlqbM;IAUM,+BAAA;EpF2pbZ;EOxubE;IAgCE,0BAAA;EP2sbJ;EOnubE;IA+BI,2BAAA;EPusbN;EO9ubE;IAgCE,gCAAA;EPitbJ;EOzubE;IA+BI,iCAAA;EP6sbN;EOpvbE;IAgCE,+BAAA;EPutbJ;EO/ubE;IA+BI,gCAAA;EPmtbN;EO1vbE;IAgCE,6BAAA;EP6tbJ;EOrvbE;IA+BI,8BAAA;EPytbN;EOhwbE;IAgCE,+BAAA;EPmubJ;EO3vbE;IA+BI,gCAAA;EP+tbN;EOtwbE;IAgCE,6BAAA;EPyubJ;EOjwbE;IA+BI,8BAAA;EPqubN;EoFzsbM;IAUM,iBAAA;EpFksbZ;EoF5sbM;IAUM,uBAAA;EpFqsbZ;EoF/sbM;IAUM,sBAAA;EpFwsbZ;EoFltbM;IAUM,oBAAA;EpF2sbZ;EoFrtbM;IAUM,sBAAA;EpF8sbZ;EoFxtbM;IAUM,oBAAA;EpFitbZ;EO9xbE;IAgCE,2BAAA;EPiwbJ;EOzxbE;IA+BI,4BAAA;EP6vbN;EOpybE;IAgCE,4BAAA;EPuwbJ;EO/xbE;IA+BI,2BAAA;EPmwbN;EO1ybE;IAgCE,6BAAA;EP6wbJ;EOrybE;IA+BI,6BAAA;EPywbN;AACF;AqFhybA;EDkDQ;IAUM,4BAAA;EpFwubZ;EoFlvbM;IAUM,0BAAA;EpF2ubZ;EoFrvbM;IAUM,6BAAA;EpF8ubZ;EoFxvbM;IAUM,4BAAA;EpFivbZ;AACF;AqF3xbA;ED+BQ;IAUM,0BAAA;EpFsvbZ;EoFhwbM;IAUM,gCAAA;EpFyvbZ;EoFnwbM;IAUM,yBAAA;EpF4vbZ;EoFtwbM;IAUM,wBAAA;EpF+vbZ;EoFzwbM;IAUM,yBAAA;EpFkwbZ;EoF5wbM;IAUM,6BAAA;EpFqwbZ;EoF/wbM;IAUM,8BAAA;EpFwwbZ;EoFlxbM;IAUM,wBAAA;EpF2wbZ;EoFrxbM;IAUM,+BAAA;EpF8wbZ;EoFxxbM;IAUM,wBAAA;EpFixbZ;AACF;AsFj2bA;EACE,WAAA;EAEA,iBAAA;E/DaI,yB+DZJ;AtFk2bF;AOp2bI;EAgCE,gDAAA;APu0bN;AO/1bI;EA+BI,iDAAA;APm0bR;AuBx1bM;E+DpBN;I/DqBQ,gBAAA;EvB21bN;AACF;;AuFj3bA,4FAAA;AAME;EACE,kBAAA;AvF+2bJ;AuF52bE;EACE,oCAAA;AvF82bJ;AuF52ba;EACP,qDAAA;AvF82bN;;AuF12bE;EACE,kBAAA;AvF62bJ;AuFx2bI;EACE,gBAAA;AvF02bN;AuFt2bM;EACE,kBAAA;AvFw2bR;AuFp2bI;;;;EAIE,gBAAA;AvFs2bN;AuFn2bI;EACE,gBAAA;EACA,cAAA;AvFq2bN;AuFl2bI;EACE,gBAAA;AvFo2bN;AuFh2bI;;EAEE,mBAAA;AvFk2bN;AuF91bI;;EAEE,wBAAA;AvFg2bN;AuF91bI;EACE,kBAAA;AvFg2bN;AuF51bI;EACE,gBAAA;AvF81bN;AuF31bI;EACE,eAAA;AvF61bN;AuFz1bI;;EAEE,gBAAA;EACA,wBAAA;AvF21bN;AuFx1bI;EACE,gBAAA;EACA,wBAAA;AvF01bN;Aej2bI;EwEWE;;IAEE,4BAAA;EvFy1bN;EuFv1bI;IACE,4BAAA;EvFy1bN;AACF;AuFr1bI;EACE,kBAAA;EACA,qBAAA;AvFu1bN","file":"style.css","sourcesContent":["@charset \"UTF-8\";\n/* stylelint-disable-line scss/dollar-variable-default */\n/* stylelint-disable-line scss/dollar-variable-default */\n/*!\n * CoreUI - HTML, CSS, and JavaScript UI Components Library\n * @version v4.2.6\n * @link https://coreui.io/\n * Copyright (c) 2022 creativeLabs Łukasz Holeczek\n * License MIT (https://coreui.io/license/)\n */\n:root {\n --cui-blue: #0d6efd;\n --cui-indigo: #6610f2;\n --cui-purple: #6f42c1;\n --cui-pink: #d63384;\n --cui-red: #dc3545;\n --cui-orange: #fd7e14;\n --cui-yellow: #ffc107;\n --cui-green: #198754;\n --cui-teal: #20c997;\n --cui-cyan: #0dcaf0;\n --cui-black: #000015;\n --cui-white: #fff;\n --cui-gray: #8a93a2;\n --cui-gray-dark: #636f83;\n --cui-gray-100: #ebedef;\n --cui-gray-200: #d8dbe0;\n --cui-gray-300: #c4c9d0;\n --cui-gray-400: #b1b7c1;\n --cui-gray-500: #9da5b1;\n --cui-gray-600: #8a93a2;\n --cui-gray-700: #768192;\n --cui-gray-800: #636f83;\n --cui-gray-900: #4f5d73;\n --cui-primary: #321fdb;\n --cui-secondary: #9da5b1;\n --cui-success: #2eb85c;\n --cui-info: #39f;\n --cui-warning: #f9b115;\n --cui-danger: #e55353;\n --cui-light: #ebedef;\n --cui-dark: #4f5d73;\n --cui-primary-rgb: 50, 31, 219;\n --cui-secondary-rgb: 157, 165, 177;\n --cui-success-rgb: 46, 184, 92;\n --cui-info-rgb: 51, 153, 255;\n --cui-warning-rgb: 249, 177, 21;\n --cui-danger-rgb: 229, 83, 83;\n --cui-light-rgb: 235, 237, 239;\n --cui-dark-rgb: 79, 93, 115;\n --cui-white-rgb: 255, 255, 255;\n --cui-black-rgb: 0, 0, 21;\n --cui-body-color-rgb: 44, 56, 74;\n --cui-body-bg-rgb: 255, 255, 255;\n --cui-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\";\n --cui-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --cui-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --cui-body-font-family: var(--cui-font-sans-serif);\n --cui-body-font-size: 1rem;\n --cui-body-font-weight: 400;\n --cui-body-line-height: 1.5;\n --cui-body-color: rgba(44, 56, 74, 0.95);\n --cui-body-bg: #fff;\n --cui-border-width: 1px;\n --cui-border-style: solid;\n --cui-border-color: #d8dbe0;\n --cui-border-color-translucent: rgba(0, 0, 21, 0.175);\n --cui-border-radius: 0.375rem;\n --cui-border-radius-sm: 0.25rem;\n --cui-border-radius-lg: 0.5rem;\n --cui-border-radius-xl: 1rem;\n --cui-border-radius-2xl: 2rem;\n --cui-border-radius-pill: 50rem;\n --cui-heading-color: unset;\n --cui-link-color: #321fdb;\n --cui-link-hover-color: #2819af;\n --cui-code-color: #d63384;\n --cui-highlight-bg: #fff3cd;\n --cui-breakpoint-xs: 0;\n --cui-breakpoint-sm: 576px;\n --cui-breakpoint-md: 768px;\n --cui-breakpoint-lg: 992px;\n --cui-breakpoint-xl: 1200px;\n --cui-breakpoint-xxl: 1400px;\n --cui-mobile-breakpoint: md;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--cui-body-font-family);\n font-size: var(--cui-body-font-size);\n font-weight: var(--cui-body-font-weight);\n line-height: var(--cui-body-line-height);\n color: var(--cui-body-color);\n text-align: var(--cui-body-text-align);\n background-color: var(--cui-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 21, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n border: 0;\n border-top: 1px solid;\n opacity: 0.25;\n}\n\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--cui-heading-color);\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n}\nhtml:not([dir=rtl]) dd {\n margin-left: 0;\n}\n*[dir=rtl] dd {\n margin-right: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.1875em;\n background-color: var(--cui-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: var(--cui-link-color);\n text-decoration: underline;\n}\na:hover {\n color: var(--cui-link-hover-color);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--cui-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n color: var(--cui-pre-color, unset);\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--cui-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875rem 0.375rem;\n font-size: 0.875em;\n color: var(--cui-kbd-color, var(--cui-body-bg));\n background-color: var(--cui-kbd-bg, var(--cui-body-color));\n border-radius: 0.25rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--cui-table-caption-color, rgba(44, 56, 74, 0.38));\n text-align: left;\n}\n\nth {\n font-weight: 600;\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\nhtml:not([dir=rtl]) legend {\n float: left;\n}\n*[dir=rtl] legend {\n float: right;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n*[dir=rtl] [type=tel],\n*[dir=rtl] [type=url],\n*[dir=rtl] [type=email],\n*[dir=rtl] [type=number] {\n direction: ltr;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n list-style: none;\n}\nhtml:not([dir=rtl]) .list-unstyled {\n padding-left: 0;\n}\n*[dir=rtl] .list-unstyled {\n padding-right: 0;\n}\n\n.list-inline {\n list-style: none;\n}\nhtml:not([dir=rtl]) .list-inline {\n padding-left: 0;\n}\n*[dir=rtl] .list-inline {\n padding-right: 0;\n}\n\n.list-inline-item {\n display: inline-block;\n}\nhtml:not([dir=rtl]) .list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n*[dir=rtl] .list-inline-item:not(:last-child) {\n margin-left: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #8a93a2;\n}\n.blockquote-footer::before {\n content: \"— \";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: var(--cui-thumbnail-bg, #fff);\n border: 1px solid var(--cui-thumbnail-border-color, var(--cui-border-color));\n border-radius: 0.375rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: var(--cui-figure-caption-color, #8a93a2);\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --cui-gutter-x: 1.5rem;\n --cui-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--cui-gutter-x) * 0.5);\n padding-left: calc(var(--cui-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --cui-gutter-x: 1.5rem;\n --cui-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--cui-gutter-y));\n margin-right: calc(-0.5 * var(--cui-gutter-x));\n margin-left: calc(-0.5 * var(--cui-gutter-x));\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--cui-gutter-x) * 0.5);\n padding-left: calc(var(--cui-gutter-x) * 0.5);\n margin-top: var(--cui-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\nhtml:not([dir=rtl]) .offset-1 {\n margin-left: 8.33333333%;\n}\n*[dir=rtl] .offset-1 {\n margin-right: 8.33333333%;\n}\n\nhtml:not([dir=rtl]) .offset-2 {\n margin-left: 16.66666667%;\n}\n*[dir=rtl] .offset-2 {\n margin-right: 16.66666667%;\n}\n\nhtml:not([dir=rtl]) .offset-3 {\n margin-left: 25%;\n}\n*[dir=rtl] .offset-3 {\n margin-right: 25%;\n}\n\nhtml:not([dir=rtl]) .offset-4 {\n margin-left: 33.33333333%;\n}\n*[dir=rtl] .offset-4 {\n margin-right: 33.33333333%;\n}\n\nhtml:not([dir=rtl]) .offset-5 {\n margin-left: 41.66666667%;\n}\n*[dir=rtl] .offset-5 {\n margin-right: 41.66666667%;\n}\n\nhtml:not([dir=rtl]) .offset-6 {\n margin-left: 50%;\n}\n*[dir=rtl] .offset-6 {\n margin-right: 50%;\n}\n\nhtml:not([dir=rtl]) .offset-7 {\n margin-left: 58.33333333%;\n}\n*[dir=rtl] .offset-7 {\n margin-right: 58.33333333%;\n}\n\nhtml:not([dir=rtl]) .offset-8 {\n margin-left: 66.66666667%;\n}\n*[dir=rtl] .offset-8 {\n margin-right: 66.66666667%;\n}\n\nhtml:not([dir=rtl]) .offset-9 {\n margin-left: 75%;\n}\n*[dir=rtl] .offset-9 {\n margin-right: 75%;\n}\n\nhtml:not([dir=rtl]) .offset-10 {\n margin-left: 83.33333333%;\n}\n*[dir=rtl] .offset-10 {\n margin-right: 83.33333333%;\n}\n\nhtml:not([dir=rtl]) .offset-11 {\n margin-left: 91.66666667%;\n}\n*[dir=rtl] .offset-11 {\n margin-right: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --cui-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --cui-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --cui-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --cui-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --cui-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --cui-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --cui-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --cui-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --cui-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --cui-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --cui-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --cui-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n html:not([dir=rtl]) .offset-sm-0 {\n margin-left: 0;\n }\n *[dir=rtl] .offset-sm-0 {\n margin-right: 0;\n }\n html:not([dir=rtl]) .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n *[dir=rtl] .offset-sm-1 {\n margin-right: 8.33333333%;\n }\n html:not([dir=rtl]) .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n *[dir=rtl] .offset-sm-2 {\n margin-right: 16.66666667%;\n }\n html:not([dir=rtl]) .offset-sm-3 {\n margin-left: 25%;\n }\n *[dir=rtl] .offset-sm-3 {\n margin-right: 25%;\n }\n html:not([dir=rtl]) .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n *[dir=rtl] .offset-sm-4 {\n margin-right: 33.33333333%;\n }\n html:not([dir=rtl]) .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n *[dir=rtl] .offset-sm-5 {\n margin-right: 41.66666667%;\n }\n html:not([dir=rtl]) .offset-sm-6 {\n margin-left: 50%;\n }\n *[dir=rtl] .offset-sm-6 {\n margin-right: 50%;\n }\n html:not([dir=rtl]) .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n *[dir=rtl] .offset-sm-7 {\n margin-right: 58.33333333%;\n }\n html:not([dir=rtl]) .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n *[dir=rtl] .offset-sm-8 {\n margin-right: 66.66666667%;\n }\n html:not([dir=rtl]) .offset-sm-9 {\n margin-left: 75%;\n }\n *[dir=rtl] .offset-sm-9 {\n margin-right: 75%;\n }\n html:not([dir=rtl]) .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n *[dir=rtl] .offset-sm-10 {\n margin-right: 83.33333333%;\n }\n html:not([dir=rtl]) .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n *[dir=rtl] .offset-sm-11 {\n margin-right: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --cui-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --cui-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --cui-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --cui-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --cui-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --cui-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n html:not([dir=rtl]) .offset-md-0 {\n margin-left: 0;\n }\n *[dir=rtl] .offset-md-0 {\n margin-right: 0;\n }\n html:not([dir=rtl]) .offset-md-1 {\n margin-left: 8.33333333%;\n }\n *[dir=rtl] .offset-md-1 {\n margin-right: 8.33333333%;\n }\n html:not([dir=rtl]) .offset-md-2 {\n margin-left: 16.66666667%;\n }\n *[dir=rtl] .offset-md-2 {\n margin-right: 16.66666667%;\n }\n html:not([dir=rtl]) .offset-md-3 {\n margin-left: 25%;\n }\n *[dir=rtl] .offset-md-3 {\n margin-right: 25%;\n }\n html:not([dir=rtl]) .offset-md-4 {\n margin-left: 33.33333333%;\n }\n *[dir=rtl] .offset-md-4 {\n margin-right: 33.33333333%;\n }\n html:not([dir=rtl]) .offset-md-5 {\n margin-left: 41.66666667%;\n }\n *[dir=rtl] .offset-md-5 {\n margin-right: 41.66666667%;\n }\n html:not([dir=rtl]) .offset-md-6 {\n margin-left: 50%;\n }\n *[dir=rtl] .offset-md-6 {\n margin-right: 50%;\n }\n html:not([dir=rtl]) .offset-md-7 {\n margin-left: 58.33333333%;\n }\n *[dir=rtl] .offset-md-7 {\n margin-right: 58.33333333%;\n }\n html:not([dir=rtl]) .offset-md-8 {\n margin-left: 66.66666667%;\n }\n *[dir=rtl] .offset-md-8 {\n margin-right: 66.66666667%;\n }\n html:not([dir=rtl]) .offset-md-9 {\n margin-left: 75%;\n }\n *[dir=rtl] .offset-md-9 {\n margin-right: 75%;\n }\n html:not([dir=rtl]) .offset-md-10 {\n margin-left: 83.33333333%;\n }\n *[dir=rtl] .offset-md-10 {\n margin-right: 83.33333333%;\n }\n html:not([dir=rtl]) .offset-md-11 {\n margin-left: 91.66666667%;\n }\n *[dir=rtl] .offset-md-11 {\n margin-right: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --cui-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --cui-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --cui-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --cui-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --cui-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --cui-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n html:not([dir=rtl]) .offset-lg-0 {\n margin-left: 0;\n }\n *[dir=rtl] .offset-lg-0 {\n margin-right: 0;\n }\n html:not([dir=rtl]) .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n *[dir=rtl] .offset-lg-1 {\n margin-right: 8.33333333%;\n }\n html:not([dir=rtl]) .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n *[dir=rtl] .offset-lg-2 {\n margin-right: 16.66666667%;\n }\n html:not([dir=rtl]) .offset-lg-3 {\n margin-left: 25%;\n }\n *[dir=rtl] .offset-lg-3 {\n margin-right: 25%;\n }\n html:not([dir=rtl]) .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n *[dir=rtl] .offset-lg-4 {\n margin-right: 33.33333333%;\n }\n html:not([dir=rtl]) .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n *[dir=rtl] .offset-lg-5 {\n margin-right: 41.66666667%;\n }\n html:not([dir=rtl]) .offset-lg-6 {\n margin-left: 50%;\n }\n *[dir=rtl] .offset-lg-6 {\n margin-right: 50%;\n }\n html:not([dir=rtl]) .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n *[dir=rtl] .offset-lg-7 {\n margin-right: 58.33333333%;\n }\n html:not([dir=rtl]) .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n *[dir=rtl] .offset-lg-8 {\n margin-right: 66.66666667%;\n }\n html:not([dir=rtl]) .offset-lg-9 {\n margin-left: 75%;\n }\n *[dir=rtl] .offset-lg-9 {\n margin-right: 75%;\n }\n html:not([dir=rtl]) .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n *[dir=rtl] .offset-lg-10 {\n margin-right: 83.33333333%;\n }\n html:not([dir=rtl]) .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n *[dir=rtl] .offset-lg-11 {\n margin-right: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --cui-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --cui-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --cui-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --cui-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --cui-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --cui-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n html:not([dir=rtl]) .offset-xl-0 {\n margin-left: 0;\n }\n *[dir=rtl] .offset-xl-0 {\n margin-right: 0;\n }\n html:not([dir=rtl]) .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n *[dir=rtl] .offset-xl-1 {\n margin-right: 8.33333333%;\n }\n html:not([dir=rtl]) .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n *[dir=rtl] .offset-xl-2 {\n margin-right: 16.66666667%;\n }\n html:not([dir=rtl]) .offset-xl-3 {\n margin-left: 25%;\n }\n *[dir=rtl] .offset-xl-3 {\n margin-right: 25%;\n }\n html:not([dir=rtl]) .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n *[dir=rtl] .offset-xl-4 {\n margin-right: 33.33333333%;\n }\n html:not([dir=rtl]) .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n *[dir=rtl] .offset-xl-5 {\n margin-right: 41.66666667%;\n }\n html:not([dir=rtl]) .offset-xl-6 {\n margin-left: 50%;\n }\n *[dir=rtl] .offset-xl-6 {\n margin-right: 50%;\n }\n html:not([dir=rtl]) .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n *[dir=rtl] .offset-xl-7 {\n margin-right: 58.33333333%;\n }\n html:not([dir=rtl]) .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n *[dir=rtl] .offset-xl-8 {\n margin-right: 66.66666667%;\n }\n html:not([dir=rtl]) .offset-xl-9 {\n margin-left: 75%;\n }\n *[dir=rtl] .offset-xl-9 {\n margin-right: 75%;\n }\n html:not([dir=rtl]) .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n *[dir=rtl] .offset-xl-10 {\n margin-right: 83.33333333%;\n }\n html:not([dir=rtl]) .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n *[dir=rtl] .offset-xl-11 {\n margin-right: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --cui-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --cui-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --cui-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --cui-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --cui-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --cui-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n html:not([dir=rtl]) .offset-xxl-0 {\n margin-left: 0;\n }\n *[dir=rtl] .offset-xxl-0 {\n margin-right: 0;\n }\n html:not([dir=rtl]) .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n *[dir=rtl] .offset-xxl-1 {\n margin-right: 8.33333333%;\n }\n html:not([dir=rtl]) .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n *[dir=rtl] .offset-xxl-2 {\n margin-right: 16.66666667%;\n }\n html:not([dir=rtl]) .offset-xxl-3 {\n margin-left: 25%;\n }\n *[dir=rtl] .offset-xxl-3 {\n margin-right: 25%;\n }\n html:not([dir=rtl]) .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n *[dir=rtl] .offset-xxl-4 {\n margin-right: 33.33333333%;\n }\n html:not([dir=rtl]) .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n *[dir=rtl] .offset-xxl-5 {\n margin-right: 41.66666667%;\n }\n html:not([dir=rtl]) .offset-xxl-6 {\n margin-left: 50%;\n }\n *[dir=rtl] .offset-xxl-6 {\n margin-right: 50%;\n }\n html:not([dir=rtl]) .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n *[dir=rtl] .offset-xxl-7 {\n margin-right: 58.33333333%;\n }\n html:not([dir=rtl]) .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n *[dir=rtl] .offset-xxl-8 {\n margin-right: 66.66666667%;\n }\n html:not([dir=rtl]) .offset-xxl-9 {\n margin-left: 75%;\n }\n *[dir=rtl] .offset-xxl-9 {\n margin-right: 75%;\n }\n html:not([dir=rtl]) .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n *[dir=rtl] .offset-xxl-10 {\n margin-right: 83.33333333%;\n }\n html:not([dir=rtl]) .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n *[dir=rtl] .offset-xxl-11 {\n margin-right: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --cui-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --cui-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --cui-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --cui-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --cui-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --cui-gutter-y: 3rem;\n }\n}\n.table {\n --cui-table-color: var(--cui-body-color);\n --cui-table-bg: transparent;\n --cui-table-border-color: var(--cui-border-color);\n --cui-table-accent-bg: transparent;\n --cui-table-striped-color: var(--cui-body-color);\n --cui-table-striped-bg: rgba(0, 0, 21, 0.05);\n --cui-table-active-color: var(--cui-body-color);\n --cui-table-active-bg: rgba(0, 0, 21, 0.1);\n --cui-table-hover-color: var(--cui-body-color);\n --cui-table-hover-bg: rgba(0, 0, 21, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: var(--cui-table-color);\n vertical-align: top;\n border-color: var(--cui-table-border-color);\n}\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--cui-table-bg);\n border-bottom-width: 1px;\n box-shadow: inset 0 0 0 9999px var(--cui-table-accent-bg);\n}\n.table > tbody {\n vertical-align: inherit;\n}\n.table > thead {\n vertical-align: bottom;\n}\n\n.table-group-divider {\n border-top: 2px solid currentcolor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: 1px 0;\n}\n.table-bordered > :not(caption) > * > * {\n border-width: 0 1px;\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n.table-borderless > :not(:first-child) {\n border-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) > * {\n --cui-table-accent-bg: var(--cui-table-striped-bg);\n color: var(--cui-table-striped-color);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --cui-table-accent-bg: var(--cui-table-striped-bg);\n color: var(--cui-table-striped-color);\n}\n\n.table-active {\n --cui-table-accent-bg: var(--cui-table-active-bg);\n color: var(--cui-table-active-color);\n}\n\n.table-hover > tbody > tr:hover > * {\n --cui-table-accent-bg: var(--cui-table-hover-bg);\n color: var(--cui-table-hover-color);\n}\n\n.table-primary {\n --cui-table-color: rgba(44, 56, 74, 0.95);\n --cui-table-bg: #d6d2f8;\n --cui-table-border-color: rgba(198, 196, 232, 0.995);\n --cui-table-striped-bg: rgba(206, 203, 240, 0.9975);\n --cui-table-striped-color: rgba(44, 56, 74, 0.95);\n --cui-table-active-bg: rgba(198, 196, 232, 0.995);\n --cui-table-active-color: rgba(44, 56, 74, 0.95);\n --cui-table-hover-bg: rgba(202, 199, 236, 0.99625);\n --cui-table-hover-color: rgba(44, 56, 74, 0.95);\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-secondary {\n --cui-table-color: rgba(44, 56, 74, 0.95);\n --cui-table-bg: #ebedef;\n --cui-table-border-color: rgba(218, 220, 224, 0.995);\n --cui-table-striped-bg: rgba(226, 229, 232, 0.9975);\n --cui-table-striped-color: rgba(44, 56, 74, 0.95);\n --cui-table-active-bg: rgba(218, 220, 224, 0.995);\n --cui-table-active-color: rgba(44, 56, 74, 0.95);\n --cui-table-hover-bg: rgba(222, 225, 228, 0.99625);\n --cui-table-hover-color: rgba(44, 56, 74, 0.95);\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-success {\n --cui-table-color: rgba(44, 56, 74, 0.95);\n --cui-table-bg: #d5f1de;\n --cui-table-border-color: rgba(198, 224, 208, 0.995);\n --cui-table-striped-bg: rgba(205, 233, 215, 0.9975);\n --cui-table-striped-color: rgba(44, 56, 74, 0.95);\n --cui-table-active-bg: rgba(198, 224, 208, 0.995);\n --cui-table-active-color: rgba(44, 56, 74, 0.95);\n --cui-table-hover-bg: rgba(201, 228, 212, 0.99625);\n --cui-table-hover-color: rgba(44, 56, 74, 0.95);\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-info {\n --cui-table-color: rgba(44, 56, 74, 0.95);\n --cui-table-bg: #d6ebff;\n --cui-table-border-color: rgba(198, 219, 238, 0.995);\n --cui-table-striped-bg: rgba(206, 227, 247, 0.9975);\n --cui-table-striped-color: rgba(44, 56, 74, 0.95);\n --cui-table-active-bg: rgba(198, 219, 238, 0.995);\n --cui-table-active-color: rgba(44, 56, 74, 0.95);\n --cui-table-hover-bg: rgba(202, 223, 243, 0.99625);\n --cui-table-hover-color: rgba(44, 56, 74, 0.95);\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-warning {\n --cui-table-color: rgba(44, 56, 74, 0.95);\n --cui-table-bg: #feefd0;\n --cui-table-border-color: rgba(235, 222, 196, 0.995);\n --cui-table-striped-bg: rgba(244, 231, 202, 0.9975);\n --cui-table-striped-color: rgba(44, 56, 74, 0.95);\n --cui-table-active-bg: rgba(235, 222, 196, 0.995);\n --cui-table-active-color: rgba(44, 56, 74, 0.95);\n --cui-table-hover-bg: rgba(240, 226, 199, 0.99625);\n --cui-table-hover-color: rgba(44, 56, 74, 0.95);\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-danger {\n --cui-table-color: rgba(44, 56, 74, 0.95);\n --cui-table-bg: #fadddd;\n --cui-table-border-color: rgba(231, 206, 208, 0.995);\n --cui-table-striped-bg: rgba(241, 214, 214, 0.9975);\n --cui-table-striped-color: rgba(44, 56, 74, 0.95);\n --cui-table-active-bg: rgba(231, 206, 208, 0.995);\n --cui-table-active-color: rgba(44, 56, 74, 0.95);\n --cui-table-hover-bg: rgba(236, 210, 211, 0.99625);\n --cui-table-hover-color: rgba(44, 56, 74, 0.95);\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-light {\n --cui-table-color: rgba(44, 56, 74, 0.95);\n --cui-table-bg: #ebedef;\n --cui-table-border-color: rgba(218, 220, 224, 0.995);\n --cui-table-striped-bg: rgba(226, 229, 232, 0.9975);\n --cui-table-striped-color: rgba(44, 56, 74, 0.95);\n --cui-table-active-bg: rgba(218, 220, 224, 0.995);\n --cui-table-active-color: rgba(44, 56, 74, 0.95);\n --cui-table-hover-bg: rgba(222, 225, 228, 0.99625);\n --cui-table-hover-color: rgba(44, 56, 74, 0.95);\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-dark {\n --cui-table-color: rgba(255, 255, 255, 0.87);\n --cui-table-bg: #4f5d73;\n --cui-table-border-color: rgba(93, 106, 126, 0.987);\n --cui-table-striped-bg: rgba(86, 99, 120, 0.9935);\n --cui-table-striped-color: rgba(255, 255, 255, 0.87);\n --cui-table-active-bg: rgba(93, 106, 126, 0.987);\n --cui-table-active-color: rgba(255, 255, 255, 0.87);\n --cui-table-hover-bg: rgba(89, 103, 123, 0.99025);\n --cui-table-hover-color: rgba(255, 255, 255, 0.87);\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5rem;\n color: var(--cui-form-label-color, );\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n color: var(--cui-form-label-color, );\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--cui-form-text-color, rgba(44, 56, 74, 0.38));\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--cui-input-color, rgba(44, 56, 74, 0.95));\n background-color: var(--cui-input-bg, #fff);\n background-clip: padding-box;\n border: 1px solid var(--cui-input-border-color, #b1b7c1);\n appearance: none;\n border-radius: 0.375rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type=file] {\n overflow: hidden;\n}\n.form-control[type=file]:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: var(--cui-input-focus-color, rgba(44, 56, 74, 0.95));\n background-color: var(--cui-input-focus-bg, #fff);\n border-color: var(--cui-input-focus-border-color, #998fed);\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25);\n}\n.form-control::-webkit-date-and-time-value {\n height: 1.5em;\n}\n.form-control::placeholder {\n color: var(--cui-input-placeholder-color, #8a93a2);\n opacity: 1;\n}\n.form-control:disabled {\n background-color: #d8dbe0;\n border-color: #b1b7c1;\n opacity: 1;\n}\n.form-control::file-selector-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n margin-inline-end: 0.75rem;\n color: var(--cui-form-file-button-color, rgba(44, 56, 74, 0.95));\n background-color: var(--cui-form-file-button-bg, #d8dbe0);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: 1px;\n border-radius: 0;\n 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;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--cui-form-file-button-hover-bg, #cdd0d5);\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: var(--cui-input-plaintext-color, rgba(44, 56, 74, 0.95));\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n.form-control-plaintext:focus {\n outline: 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.25rem;\n}\n.form-control-sm::file-selector-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n margin-inline-end: 0.5rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.5rem;\n}\n.form-control-lg::file-selector-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n margin-inline-end: 1rem;\n}\n\ntextarea.form-control {\n min-height: calc(1.5em + 0.75rem + 2px);\n}\ntextarea.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\ntextarea.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.form-control-color {\n width: 3rem;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: 0.375rem;\n}\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.375rem;\n}\n.form-control-color.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n}\n.form-control-color.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.form-select {\n display: block;\n width: 100%;\n -moz-padding-start: calc(0.75rem - 3px);\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--cui-form-select-color, rgba(44, 56, 74, 0.95));\n background-color: var(--cui-form-select-bg, #fff);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23636f83' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-size: 16px 12px;\n border: 1px solid var(--cui-form-select-border-color, #b1b7c1);\n border-radius: 0.375rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\nhtml:not([dir=rtl]) .form-select {\n padding: 0.375rem 2.25rem 0.375rem 0.75rem;\n}\n*[dir=rtl] .form-select {\n padding: 0.375rem 0.75rem 0.375rem 2.25rem;\n}\nhtml:not([dir=rtl]) .form-select {\n background-position: right 0.75rem center;\n}\n*[dir=rtl] .form-select {\n background-position: left 0.75rem center;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-select {\n transition: none;\n }\n}\n.form-select:focus {\n border-color: var(--cui-form-select-focus-border-color, #998fed);\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25);\n}\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n background-image: none;\n}\nhtml:not([dir=rtl]) .form-select[multiple], html:not([dir=rtl]) .form-select[size]:not([size=\"1\"]) {\n padding-right: 0.75rem;\n}\n*[dir=rtl] .form-select[multiple], *[dir=rtl] .form-select[size]:not([size=\"1\"]) {\n padding-left: 0.75rem;\n}\n.form-select:disabled {\n color: var(--cui-form-select-disabled-color, );\n background-color: var(--cui-form-select-disabled-bg, #d8dbe0);\n border-color: var(--cui-form-select-disabled-border-color, #b1b7c1);\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 var(--cui-form-select-color, rgba(44, 56, 74, 0.95));\n}\n\n.form-select-sm {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n border-radius: 0.25rem;\n}\nhtml:not([dir=rtl]) .form-select-sm {\n padding-left: 0.5rem;\n}\n*[dir=rtl] .form-select-sm {\n padding-right: 0.5rem;\n}\n\n.form-select-lg {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n font-size: 1.25rem;\n border-radius: 0.5rem;\n}\nhtml:not([dir=rtl]) .form-select-lg {\n padding-left: 1rem;\n}\n*[dir=rtl] .form-select-lg {\n padding-right: 1rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n margin-bottom: 0.125rem;\n}\nhtml:not([dir=rtl]) .form-check {\n padding-left: 1.5em;\n}\n*[dir=rtl] .form-check {\n padding-right: 1.5em;\n}\nhtml:not([dir=rtl]) .form-check .form-check-input {\n float: left;\n}\n*[dir=rtl] .form-check .form-check-input {\n float: right;\n}\nhtml:not([dir=rtl]) .form-check .form-check-input {\n margin-left: -1.5em;\n}\n*[dir=rtl] .form-check .form-check-input {\n margin-right: -1.5em;\n}\n\n.form-check-reverse {\n padding-right: 1.5em;\n padding-left: 0;\n text-align: right;\n}\n.form-check-reverse .form-check-input {\n float: right;\n margin-right: -1.5em;\n margin-left: 0;\n}\n\n.form-check-input {\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: var(--cui-form-check-input-bg, #fff);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: 1px solid rgba(0, 0, 21, 0.25);\n appearance: none;\n print-color-adjust: exact;\n}\n.form-check-input[type=checkbox] {\n border-radius: 0.25em;\n}\n.form-check-input[type=radio] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: #998fed;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25);\n}\n.form-check-input:checked {\n background-color: var(--cui-form-check-input-checked-bg-color, #321fdb);\n border-color: var(--cui-form-check-input-checked-border-color, #321fdb);\n}\n.form-check-input:checked[type=checkbox] {\n background-image: var(--cui-form-check-input-checked-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='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\"));\n}\n.form-check-input:checked[type=radio] {\n background-image: var(--cui-form-check-radio-checked-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='rgba%28255, 255, 255, 0.87%29'/%3e%3c/svg%3e\"));\n}\n.form-check-input[type=checkbox]:indeterminate {\n background-color: #321fdb;\n border-color: #321fdb;\n background-image: var(--cui-form-check-input-indeterminate-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='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\"));\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n cursor: default;\n opacity: 0.5;\n}\n\n.form-check-label {\n color: var(--cui-form-check-label-color, unset);\n}\n\nhtml:not([dir=rtl]) .form-switch {\n padding-left: 2.5em;\n}\n*[dir=rtl] .form-switch {\n padding-right: 2.5em;\n}\n.form-switch .form-check-input {\n width: 2em;\n background-image: var(--cui-form-switch-bg-image, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 21, 0.25%29'/%3e%3c/svg%3e\"));\n background-position: left center;\n border-radius: 2em;\n transition: background-position 0.15s ease-in-out;\n}\nhtml:not([dir=rtl]) .form-switch .form-check-input {\n margin-left: -2.5em;\n}\n*[dir=rtl] .form-switch .form-check-input {\n margin-right: -2.5em;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-switch .form-check-input {\n transition: none;\n }\n}\n.form-switch .form-check-input:focus {\n background-image: var(--cui-form-switch-focus-bg-image, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23998fed'/%3e%3c/svg%3e\"));\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: var(--cui-form-switch-checked-bg-image, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.87%29'/%3e%3c/svg%3e\"));\n}\n.form-switch.form-check-reverse {\n padding-right: 2.5em;\n padding-left: 0;\n}\n.form-switch.form-check-reverse .form-check-input {\n margin-right: -2.5em;\n margin-left: 0;\n}\n\n.form-switch-lg {\n min-height: 1.25em;\n}\nhtml:not([dir=rtl]) .form-switch-lg {\n padding-left: 2.25em;\n}\n*[dir=rtl] .form-switch-lg {\n padding-right: 2.25em;\n}\n.form-switch-lg .form-check-input {\n width: 1.75em;\n height: 1.25em;\n}\nhtml:not([dir=rtl]) .form-switch-lg .form-check-input {\n margin-left: -2.25em;\n}\n*[dir=rtl] .form-switch-lg .form-check-input {\n margin-right: -2.25em;\n}\n.form-switch-lg .form-check-label {\n padding-top: calc((1.25em - 1rem) / 2);\n}\n\n.form-switch-xl {\n min-height: 1.5em;\n}\nhtml:not([dir=rtl]) .form-switch-xl {\n padding-left: 2.5em;\n}\n*[dir=rtl] .form-switch-xl {\n padding-right: 2.5em;\n}\n.form-switch-xl .form-check-input {\n width: 2em;\n height: 1.5em;\n}\nhtml:not([dir=rtl]) .form-switch-xl .form-check-input {\n margin-left: -2.5em;\n}\n*[dir=rtl] .form-switch-xl .form-check-input {\n margin-right: -2.5em;\n}\n.form-switch-xl .form-check-label {\n padding-top: calc((1.5em - 1rem) / 2);\n}\n\n.form-check-inline {\n display: inline-block;\n}\nhtml:not([dir=rtl]) .form-check-inline {\n margin-right: 1rem;\n}\n*[dir=rtl] .form-check-inline {\n margin-left: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n.form-check-primary {\n --cui-form-check-input-checked-bg-color: #321fdb;\n --cui-form-check-input-checked-border-color: #321fdb;\n --cui-form-check-input-indeterminate-bg-color: #321fdb;\n --cui-form-check-input-indeterminate-border-color: #321fdb;\n}\n\n.form-check-secondary {\n --cui-form-check-input-checked-bg-color: #9da5b1;\n --cui-form-check-input-checked-border-color: #9da5b1;\n --cui-form-check-input-indeterminate-bg-color: #9da5b1;\n --cui-form-check-input-indeterminate-border-color: #9da5b1;\n}\n\n.form-check-success {\n --cui-form-check-input-checked-bg-color: #2eb85c;\n --cui-form-check-input-checked-border-color: #2eb85c;\n --cui-form-check-input-indeterminate-bg-color: #2eb85c;\n --cui-form-check-input-indeterminate-border-color: #2eb85c;\n}\n\n.form-check-info {\n --cui-form-check-input-checked-bg-color: #39f;\n --cui-form-check-input-checked-border-color: #39f;\n --cui-form-check-input-indeterminate-bg-color: #39f;\n --cui-form-check-input-indeterminate-border-color: #39f;\n}\n\n.form-check-warning {\n --cui-form-check-input-checked-bg-color: #f9b115;\n --cui-form-check-input-checked-border-color: #f9b115;\n --cui-form-check-input-indeterminate-bg-color: #f9b115;\n --cui-form-check-input-indeterminate-border-color: #f9b115;\n}\n\n.form-check-danger {\n --cui-form-check-input-checked-bg-color: #e55353;\n --cui-form-check-input-checked-border-color: #e55353;\n --cui-form-check-input-indeterminate-bg-color: #e55353;\n --cui-form-check-input-indeterminate-border-color: #e55353;\n}\n\n.form-check-light {\n --cui-form-check-input-checked-bg-color: #ebedef;\n --cui-form-check-input-checked-border-color: #ebedef;\n --cui-form-check-input-indeterminate-bg-color: #ebedef;\n --cui-form-check-input-indeterminate-border-color: #ebedef;\n}\n\n.form-check-dark {\n --cui-form-check-input-checked-bg-color: #4f5d73;\n --cui-form-check-input-checked-border-color: #4f5d73;\n --cui-form-check-input-indeterminate-bg-color: #4f5d73;\n --cui-form-check-input-indeterminate-border-color: #4f5d73;\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n.form-range:focus {\n outline: 0;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(50, 31, 219, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(50, 31, 219, 0.25);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: var(--cui-form-range-thumb-bg, #321fdb);\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: var(--cui-form-range-thumb-active-bg, #c2bcf4);\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--cui-form-range-track-bg, #c4c9d0);\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: var(--cui-form-range-thumb-bg, #321fdb);\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n.form-range::-moz-range-thumb:active {\n background-color: var(--cui-form-range-thumb-active-bg, #c2bcf4);\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--cui-form-range-track-bg, #c4c9d0);\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: var(--cui-form-range-thumb-disabled-bg, #9da5b1);\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: var(--cui-form-range-thumb-disabled-bg, #9da5b1);\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext,\n.form-floating > .form-select {\n height: calc(3.5rem + 2px);\n line-height: 1.25;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n padding: 1rem 0.75rem;\n overflow: hidden;\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: 1px solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\nhtml:not([dir=rtl]) .form-floating > label {\n left: 0;\n}\n*[dir=rtl] .form-floating > label {\n right: 0;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext {\n padding: 1rem 0.75rem;\n}\n.form-floating > .form-control::placeholder,\n.form-floating > .form-control-plaintext::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n.form-floating > .form-control-plaintext:focus,\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:-webkit-autofill,\n.form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-control-plaintext ~ label,\n.form-floating > .form-select ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control-plaintext ~ label {\n border-width: 1px 0;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-floating {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-floating:focus-within {\n z-index: 5;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 5;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--cui-input-group-addon-color, rgba(44, 56, 74, 0.95));\n text-align: center;\n white-space: nowrap;\n background-color: var(--cui-input-group-addon-bg, #d8dbe0);\n border: 1px solid var(--cui-input-group-addon-border-color, #b1b7c1);\n border-radius: 0.375rem;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.5rem;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.25rem;\n}\n\nhtml:not([dir=rtl]) .input-group-lg > .form-select,\nhtml:not([dir=rtl]) .input-group-sm > .form-select {\n padding-right: 3rem;\n}\n*[dir=rtl] .input-group-lg > .form-select,\n*[dir=rtl] .input-group-sm > .form-select {\n padding-left: 3rem;\n}\n\nhtml:not([dir=rtl]) .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\nhtml:not([dir=rtl]) .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\nhtml:not([dir=rtl]) .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\nhtml:not([dir=rtl]) .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-top-right-radius: 0;\n}\n*[dir=rtl] .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n*[dir=rtl] .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n*[dir=rtl] .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n*[dir=rtl] .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-top-left-radius: 0;\n}\nhtml:not([dir=rtl]) .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\nhtml:not([dir=rtl]) .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\nhtml:not([dir=rtl]) .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\nhtml:not([dir=rtl]) .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-bottom-right-radius: 0;\n}\n*[dir=rtl] .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n*[dir=rtl] .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n*[dir=rtl] .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n*[dir=rtl] .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-bottom-left-radius: 0;\n}\nhtml:not([dir=rtl]) .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\nhtml:not([dir=rtl]) .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\nhtml:not([dir=rtl]) .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\nhtml:not([dir=rtl]) .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-top-right-radius: 0;\n}\n*[dir=rtl] .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n*[dir=rtl] .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n*[dir=rtl] .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n*[dir=rtl] .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-top-left-radius: 0;\n}\nhtml:not([dir=rtl]) .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\nhtml:not([dir=rtl]) .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\nhtml:not([dir=rtl]) .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\nhtml:not([dir=rtl]) .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-bottom-right-radius: 0;\n}\n*[dir=rtl] .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n*[dir=rtl] .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n*[dir=rtl] .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n*[dir=rtl] .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-bottom-left-radius: 0;\n}\nhtml:not([dir=rtl]) .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: -1px;\n}\n*[dir=rtl] .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-right: -1px;\n}\nhtml:not([dir=rtl]) .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n border-top-left-radius: 0;\n}\n*[dir=rtl] .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n border-top-right-radius: 0;\n}\nhtml:not([dir=rtl]) .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n border-bottom-left-radius: 0;\n}\n*[dir=rtl] .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n border-bottom-right-radius: 0;\n}\nhtml:not([dir=rtl]) .input-group > .form-floating:not(:first-child) > .form-control,\nhtml:not([dir=rtl]) .input-group > .form-floating:not(:first-child) > .form-select {\n border-top-left-radius: 0;\n}\n*[dir=rtl] .input-group > .form-floating:not(:first-child) > .form-control,\n*[dir=rtl] .input-group > .form-floating:not(:first-child) > .form-select {\n border-top-right-radius: 0;\n}\nhtml:not([dir=rtl]) .input-group > .form-floating:not(:first-child) > .form-control,\nhtml:not([dir=rtl]) .input-group > .form-floating:not(:first-child) > .form-select {\n border-bottom-left-radius: 0;\n}\n*[dir=rtl] .input-group > .form-floating:not(:first-child) > .form-control,\n*[dir=rtl] .input-group > .form-floating:not(:first-child) > .form-select {\n border-bottom-right-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #2eb85c;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #000015;\n background-color: rgba(46, 184, 92, 0.9);\n border-radius: 0.375rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #2eb85c;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232eb85c' 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\");\n background-repeat: no-repeat;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\nhtml:not([dir=rtl]) .was-validated .form-control:valid, html:not([dir=rtl]) .form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n}\n*[dir=rtl] .was-validated .form-control:valid, *[dir=rtl] .form-control.is-valid {\n padding-left: calc(1.5em + 0.75rem);\n}\nhtml:not([dir=rtl]) .was-validated .form-control:valid, html:not([dir=rtl]) .form-control.is-valid {\n background-position: right calc(0.375em + 0.1875rem) center;\n}\n*[dir=rtl] .was-validated .form-control:valid, *[dir=rtl] .form-control.is-valid {\n background-position: left calc(0.375em + 0.1875rem) center;\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #2eb85c;\n box-shadow: 0 0 0 0.25rem rgba(46, 184, 92, 0.25);\n}\n\nhtml:not([dir=rtl]) .was-validated textarea.form-control:valid, html:not([dir=rtl]) textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n}\n*[dir=rtl] .was-validated textarea.form-control:valid, *[dir=rtl] textarea.form-control.is-valid {\n padding-left: calc(1.5em + 0.75rem);\n}\nhtml:not([dir=rtl]) .was-validated textarea.form-control:valid, html:not([dir=rtl]) textarea.form-control.is-valid {\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n*[dir=rtl] .was-validated textarea.form-control:valid, *[dir=rtl] textarea.form-control.is-valid {\n background-position: top calc(0.375em + 0.1875rem) left calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #2eb85c;\n}\n.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size=\"1\"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size=\"1\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23636f83' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232eb85c' 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\");\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\nhtml:not([dir=rtl]) .was-validated .form-select:valid:not([multiple]):not([size]), html:not([dir=rtl]) .was-validated .form-select:valid:not([multiple])[size=\"1\"], html:not([dir=rtl]) .form-select.is-valid:not([multiple]):not([size]), html:not([dir=rtl]) .form-select.is-valid:not([multiple])[size=\"1\"] {\n padding-right: 4.125rem;\n}\n*[dir=rtl] .was-validated .form-select:valid:not([multiple]):not([size]), *[dir=rtl] .was-validated .form-select:valid:not([multiple])[size=\"1\"], *[dir=rtl] .form-select.is-valid:not([multiple]):not([size]), *[dir=rtl] .form-select.is-valid:not([multiple])[size=\"1\"] {\n padding-left: 4.125rem;\n}\nhtml:not([dir=rtl]) .was-validated .form-select:valid:not([multiple]):not([size]), html:not([dir=rtl]) .was-validated .form-select:valid:not([multiple])[size=\"1\"], html:not([dir=rtl]) .form-select.is-valid:not([multiple]):not([size]), html:not([dir=rtl]) .form-select.is-valid:not([multiple])[size=\"1\"] {\n background-position: right 0.75rem center, center right 2.25rem;\n}\n*[dir=rtl] .was-validated .form-select:valid:not([multiple]):not([size]), *[dir=rtl] .was-validated .form-select:valid:not([multiple])[size=\"1\"], *[dir=rtl] .form-select.is-valid:not([multiple]):not([size]), *[dir=rtl] .form-select.is-valid:not([multiple])[size=\"1\"] {\n background-position: left 0.75rem center, center left 2.25rem;\n}\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #2eb85c;\n box-shadow: 0 0 0 0.25rem rgba(46, 184, 92, 0.25);\n}\n\n.was-validated .form-control-color:valid, .form-control-color.is-valid {\n width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #2eb85c;\n}\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #2eb85c;\n}\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(46, 184, 92, 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #2eb85c;\n}\n\nhtml:not([dir=rtl]) .form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n*[dir=rtl] .form-check-inline .form-check-input ~ .valid-feedback {\n margin-right: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n.was-validated .input-group > .form-select:not(:focus):valid,\n.input-group > .form-select:not(:focus).is-valid,\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\n.input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #e55353;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #000015;\n background-color: rgba(229, 83, 83, 0.9);\n border-radius: 0.375rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #e55353;\n 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='%23e55353'%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='%23e55353' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\nhtml:not([dir=rtl]) .was-validated .form-control:invalid, html:not([dir=rtl]) .form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n}\n*[dir=rtl] .was-validated .form-control:invalid, *[dir=rtl] .form-control.is-invalid {\n padding-left: calc(1.5em + 0.75rem);\n}\nhtml:not([dir=rtl]) .was-validated .form-control:invalid, html:not([dir=rtl]) .form-control.is-invalid {\n background-position: right calc(0.375em + 0.1875rem) center;\n}\n*[dir=rtl] .was-validated .form-control:invalid, *[dir=rtl] .form-control.is-invalid {\n background-position: left calc(0.375em + 0.1875rem) center;\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #e55353;\n box-shadow: 0 0 0 0.25rem rgba(229, 83, 83, 0.25);\n}\n\nhtml:not([dir=rtl]) .was-validated textarea.form-control:invalid, html:not([dir=rtl]) textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n}\n*[dir=rtl] .was-validated textarea.form-control:invalid, *[dir=rtl] textarea.form-control.is-invalid {\n padding-left: calc(1.5em + 0.75rem);\n}\nhtml:not([dir=rtl]) .was-validated textarea.form-control:invalid, html:not([dir=rtl]) textarea.form-control.is-invalid {\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n*[dir=rtl] .was-validated textarea.form-control:invalid, *[dir=rtl] textarea.form-control.is-invalid {\n background-position: top calc(0.375em + 0.1875rem) left calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #e55353;\n}\n.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size=\"1\"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size=\"1\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23636f83' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e55353'%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='%23e55353' stroke='none'/%3e%3c/svg%3e\");\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\nhtml:not([dir=rtl]) .was-validated .form-select:invalid:not([multiple]):not([size]), html:not([dir=rtl]) .was-validated .form-select:invalid:not([multiple])[size=\"1\"], html:not([dir=rtl]) .form-select.is-invalid:not([multiple]):not([size]), html:not([dir=rtl]) .form-select.is-invalid:not([multiple])[size=\"1\"] {\n padding-right: 4.125rem;\n}\n*[dir=rtl] .was-validated .form-select:invalid:not([multiple]):not([size]), *[dir=rtl] .was-validated .form-select:invalid:not([multiple])[size=\"1\"], *[dir=rtl] .form-select.is-invalid:not([multiple]):not([size]), *[dir=rtl] .form-select.is-invalid:not([multiple])[size=\"1\"] {\n padding-left: 4.125rem;\n}\nhtml:not([dir=rtl]) .was-validated .form-select:invalid:not([multiple]):not([size]), html:not([dir=rtl]) .was-validated .form-select:invalid:not([multiple])[size=\"1\"], html:not([dir=rtl]) .form-select.is-invalid:not([multiple]):not([size]), html:not([dir=rtl]) .form-select.is-invalid:not([multiple])[size=\"1\"] {\n background-position: right 0.75rem center, center right 2.25rem;\n}\n*[dir=rtl] .was-validated .form-select:invalid:not([multiple]):not([size]), *[dir=rtl] .was-validated .form-select:invalid:not([multiple])[size=\"1\"], *[dir=rtl] .form-select.is-invalid:not([multiple]):not([size]), *[dir=rtl] .form-select.is-invalid:not([multiple])[size=\"1\"] {\n background-position: left 0.75rem center, center left 2.25rem;\n}\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #e55353;\n box-shadow: 0 0 0 0.25rem rgba(229, 83, 83, 0.25);\n}\n\n.was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #e55353;\n}\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e55353;\n}\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(229, 83, 83, 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #e55353;\n}\n\nhtml:not([dir=rtl]) .form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n*[dir=rtl] .form-check-inline .form-check-input ~ .invalid-feedback {\n margin-right: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n.was-validated .input-group > .form-select:not(:focus):invalid,\n.input-group > .form-select:not(:focus).is-invalid,\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\n.input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n}\n\n.btn {\n --cui-btn-padding-x: 0.75rem;\n --cui-btn-padding-y: 0.375rem;\n --cui-btn-font-family: ;\n --cui-btn-font-size: 1rem;\n --cui-btn-font-weight: 400;\n --cui-btn-line-height: 1.5;\n --cui-btn-color: rgba(44, 56, 74, 0.95);\n --cui-btn-bg: transparent;\n --cui-btn-border-width: 1px;\n --cui-btn-border-color: transparent;\n --cui-btn-border-radius: 0.375rem;\n --cui-btn-hover-border-color: transparent;\n --cui-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 21, 0.075);\n --cui-btn-disabled-opacity: 0.65;\n --cui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--cui-btn-focus-shadow-rgb), .5);\n display: inline-block;\n padding: var(--cui-btn-padding-y) var(--cui-btn-padding-x);\n font-family: var(--cui-btn-font-family);\n font-size: var(--cui-btn-font-size);\n font-weight: var(--cui-btn-font-weight);\n line-height: var(--cui-btn-line-height);\n color: var(--cui-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border: var(--cui-btn-border-width) solid var(--cui-btn-border-color);\n border-radius: var(--cui-btn-border-radius);\n background-color: var(--cui-btn-bg);\n 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;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: var(--cui-btn-hover-color);\n background-color: var(--cui-btn-hover-bg);\n border-color: var(--cui-btn-hover-border-color);\n}\n.btn-check + .btn:hover {\n color: var(--cui-btn-color);\n background-color: var(--cui-btn-bg);\n border-color: var(--cui-btn-border-color);\n}\n.btn:focus-visible {\n color: var(--cui-btn-hover-color);\n background-color: var(--cui-btn-hover-bg);\n border-color: var(--cui-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--cui-btn-focus-box-shadow);\n}\n.btn-check:focus-visible + .btn {\n border-color: var(--cui-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--cui-btn-focus-box-shadow);\n}\n.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {\n color: var(--cui-btn-active-color);\n background-color: var(--cui-btn-active-bg);\n border-color: var(--cui-btn-active-border-color);\n}\n.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {\n box-shadow: var(--cui-btn-focus-box-shadow);\n}\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\n color: var(--cui-btn-disabled-color);\n pointer-events: none;\n background-color: var(--cui-btn-disabled-bg);\n border-color: var(--cui-btn-disabled-border-color);\n opacity: var(--cui-btn-disabled-opacity);\n}\n\n.btn-transparent {\n --cui-btn-active-border-color: transparent;\n --cui-btn-disabled-border-color: transparent;\n --cui-btn-hover-border-color: transparent;\n}\n\n.btn-primary {\n --cui-btn-color: rgba(255, 255, 255, 0.87);\n --cui-btn-bg: #321fdb;\n --cui-btn-border-color: #321fdb;\n --cui-btn-hover-color: rgba(255, 255, 255, 0.87);\n --cui-btn-hover-bg: #5141e0;\n --cui-btn-hover-border-color: #4735df;\n --cui-btn-focus-shadow-rgb: 75, 58, 223;\n --cui-btn-active-color: rgba(255, 255, 255, 0.87);\n --cui-btn-active-bg: #5b4ce2;\n --cui-btn-active-border-color: #4735df;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: rgba(255, 255, 255, 0.87);\n --cui-btn-disabled-bg: #321fdb;\n --cui-btn-disabled-border-color: #321fdb;\n}\n\n.btn-secondary {\n --cui-btn-color: #000015;\n --cui-btn-bg: #9da5b1;\n --cui-btn-border-color: #9da5b1;\n --cui-btn-hover-color: rgba(44, 56, 74, 0.95);\n --cui-btn-hover-bg: #acb3bd;\n --cui-btn-hover-border-color: #a7aeb9;\n --cui-btn-focus-shadow-rgb: 133, 140, 154;\n --cui-btn-active-color: rgba(44, 56, 74, 0.95);\n --cui-btn-active-bg: #b1b7c1;\n --cui-btn-active-border-color: #a7aeb9;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #000015;\n --cui-btn-disabled-bg: #9da5b1;\n --cui-btn-disabled-border-color: #9da5b1;\n}\n\n.btn-success {\n --cui-btn-color: #000015;\n --cui-btn-bg: #2eb85c;\n --cui-btn-border-color: #2eb85c;\n --cui-btn-hover-color: rgba(44, 56, 74, 0.95);\n --cui-btn-hover-bg: #4dc374;\n --cui-btn-hover-border-color: #43bf6c;\n --cui-btn-focus-shadow-rgb: 39, 156, 81;\n --cui-btn-active-color: rgba(44, 56, 74, 0.95);\n --cui-btn-active-bg: #58c67d;\n --cui-btn-active-border-color: #43bf6c;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #000015;\n --cui-btn-disabled-bg: #2eb85c;\n --cui-btn-disabled-border-color: #2eb85c;\n}\n\n.btn-danger {\n --cui-btn-color: #000015;\n --cui-btn-bg: #e55353;\n --cui-btn-border-color: #e55353;\n --cui-btn-hover-color: #000015;\n --cui-btn-hover-bg: #e96d6d;\n --cui-btn-hover-border-color: #e86464;\n --cui-btn-focus-shadow-rgb: 195, 71, 74;\n --cui-btn-active-color: #000015;\n --cui-btn-active-bg: #ea7575;\n --cui-btn-active-border-color: #e86464;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #000015;\n --cui-btn-disabled-bg: #e55353;\n --cui-btn-disabled-border-color: #e55353;\n}\n\n.btn-warning {\n --cui-btn-color: rgba(44, 56, 74, 0.95);\n --cui-btn-bg: #f9b115;\n --cui-btn-border-color: #f9b115;\n --cui-btn-hover-color: #000015;\n --cui-btn-hover-bg: #d49612;\n --cui-btn-hover-border-color: #c78e11;\n --cui-btn-focus-shadow-rgb: 221, 160, 28;\n --cui-btn-active-color: #000015;\n --cui-btn-active-bg: #c78e11;\n --cui-btn-active-border-color: #bb8510;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: rgba(44, 56, 74, 0.95);\n --cui-btn-disabled-bg: #f9b115;\n --cui-btn-disabled-border-color: #f9b115;\n}\n\n.btn-info {\n --cui-btn-color: #000015;\n --cui-btn-bg: #39f;\n --cui-btn-border-color: #39f;\n --cui-btn-hover-color: #000015;\n --cui-btn-hover-bg: #52a8ff;\n --cui-btn-hover-border-color: #47a3ff;\n --cui-btn-focus-shadow-rgb: 43, 130, 220;\n --cui-btn-active-color: #000015;\n --cui-btn-active-bg: #5cadff;\n --cui-btn-active-border-color: #47a3ff;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #000015;\n --cui-btn-disabled-bg: #39f;\n --cui-btn-disabled-border-color: #39f;\n}\n\n.btn-light {\n --cui-btn-color: rgba(44, 56, 74, 0.95);\n --cui-btn-bg: #ebedef;\n --cui-btn-border-color: #ebedef;\n --cui-btn-hover-color: rgba(44, 56, 74, 0.95);\n --cui-btn-hover-bg: #c8c9cb;\n --cui-btn-hover-border-color: #bcbebf;\n --cui-btn-focus-shadow-rgb: 209, 212, 216;\n --cui-btn-active-color: rgba(44, 56, 74, 0.95);\n --cui-btn-active-bg: #bcbebf;\n --cui-btn-active-border-color: #b0b2b3;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: rgba(44, 56, 74, 0.95);\n --cui-btn-disabled-bg: #ebedef;\n --cui-btn-disabled-border-color: #ebedef;\n}\n\n.btn-dark {\n --cui-btn-color: rgba(255, 255, 255, 0.87);\n --cui-btn-bg: #4f5d73;\n --cui-btn-border-color: #4f5d73;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #697588;\n --cui-btn-hover-border-color: #616d81;\n --cui-btn-focus-shadow-rgb: 100, 112, 132;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #727d8f;\n --cui-btn-active-border-color: #616d81;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: rgba(255, 255, 255, 0.87);\n --cui-btn-disabled-bg: #4f5d73;\n --cui-btn-disabled-border-color: #4f5d73;\n}\n\n.btn-outline-primary {\n --cui-btn-color: #321fdb;\n --cui-btn-border-color: #321fdb;\n --cui-btn-hover-color: rgba(255, 255, 255, 0.87);\n --cui-btn-hover-bg: #5b4ce2;\n --cui-btn-hover-border-color: #4735df;\n --cui-btn-focus-shadow-rgb: 50, 31, 219;\n --cui-btn-active-color: rgba(255, 255, 255, 0.87);\n --cui-btn-active-bg: #5b4ce2;\n --cui-btn-active-border-color: #4735df;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #321fdb;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-secondary {\n --cui-btn-color: #9da5b1;\n --cui-btn-border-color: #9da5b1;\n --cui-btn-hover-color: rgba(44, 56, 74, 0.95);\n --cui-btn-hover-bg: #b1b7c1;\n --cui-btn-hover-border-color: #a7aeb9;\n --cui-btn-focus-shadow-rgb: 157, 165, 177;\n --cui-btn-active-color: rgba(44, 56, 74, 0.95);\n --cui-btn-active-bg: #b1b7c1;\n --cui-btn-active-border-color: #a7aeb9;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #9da5b1;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-success {\n --cui-btn-color: #2eb85c;\n --cui-btn-border-color: #2eb85c;\n --cui-btn-hover-color: rgba(44, 56, 74, 0.95);\n --cui-btn-hover-bg: #58c67d;\n --cui-btn-hover-border-color: #43bf6c;\n --cui-btn-focus-shadow-rgb: 46, 184, 92;\n --cui-btn-active-color: rgba(44, 56, 74, 0.95);\n --cui-btn-active-bg: #58c67d;\n --cui-btn-active-border-color: #43bf6c;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #2eb85c;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-danger {\n --cui-btn-color: #e55353;\n --cui-btn-border-color: #e55353;\n --cui-btn-hover-color: #000015;\n --cui-btn-hover-bg: #ea7575;\n --cui-btn-hover-border-color: #e86464;\n --cui-btn-focus-shadow-rgb: 229, 83, 83;\n --cui-btn-active-color: #000015;\n --cui-btn-active-bg: #ea7575;\n --cui-btn-active-border-color: #e86464;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #e55353;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-warning {\n --cui-btn-color: #f9b115;\n --cui-btn-border-color: #f9b115;\n --cui-btn-hover-color: #000015;\n --cui-btn-hover-bg: #c78e11;\n --cui-btn-hover-border-color: #bb8510;\n --cui-btn-focus-shadow-rgb: 249, 177, 21;\n --cui-btn-active-color: #000015;\n --cui-btn-active-bg: #c78e11;\n --cui-btn-active-border-color: #bb8510;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #f9b115;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-info {\n --cui-btn-color: #39f;\n --cui-btn-border-color: #39f;\n --cui-btn-hover-color: #000015;\n --cui-btn-hover-bg: #5cadff;\n --cui-btn-hover-border-color: #47a3ff;\n --cui-btn-focus-shadow-rgb: 51, 153, 255;\n --cui-btn-active-color: #000015;\n --cui-btn-active-bg: #5cadff;\n --cui-btn-active-border-color: #47a3ff;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #39f;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-light {\n --cui-btn-color: #ebedef;\n --cui-btn-border-color: #ebedef;\n --cui-btn-hover-color: rgba(44, 56, 74, 0.95);\n --cui-btn-hover-bg: #bcbebf;\n --cui-btn-hover-border-color: #b0b2b3;\n --cui-btn-focus-shadow-rgb: 235, 237, 239;\n --cui-btn-active-color: rgba(44, 56, 74, 0.95);\n --cui-btn-active-bg: #bcbebf;\n --cui-btn-active-border-color: #b0b2b3;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #ebedef;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-dark {\n --cui-btn-color: #4f5d73;\n --cui-btn-border-color: #4f5d73;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #727d8f;\n --cui-btn-hover-border-color: #616d81;\n --cui-btn-focus-shadow-rgb: 79, 93, 115;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #727d8f;\n --cui-btn-active-border-color: #616d81;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);\n --cui-btn-disabled-color: #4f5d73;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-ghost-primary {\n --cui-btn-color: #321fdb;\n --cui-btn-hover-bg: #5141e0;\n --cui-btn-hover-border-color: #4735df;\n --cui-btn-hover-color: rgba(255, 255, 255, 0.87);\n --cui-btn-active-bg: #5b4ce2;\n --cui-btn-active-border-color: #4735df;\n --cui-btn-active-color: rgba(255, 255, 255, 0.87);\n --cui-btn-disabled-color: #321fdb;\n --cui-btn-shadow: rgba(50, 31, 219, 0.5);\n}\n\n.btn-ghost-secondary {\n --cui-btn-color: #9da5b1;\n --cui-btn-hover-bg: #acb3bd;\n --cui-btn-hover-border-color: #a7aeb9;\n --cui-btn-hover-color: rgba(44, 56, 74, 0.95);\n --cui-btn-active-bg: #b1b7c1;\n --cui-btn-active-border-color: #a7aeb9;\n --cui-btn-active-color: rgba(44, 56, 74, 0.95);\n --cui-btn-disabled-color: #9da5b1;\n --cui-btn-shadow: rgba(157, 165, 177, 0.5);\n}\n\n.btn-ghost-success {\n --cui-btn-color: #2eb85c;\n --cui-btn-hover-bg: #4dc374;\n --cui-btn-hover-border-color: #43bf6c;\n --cui-btn-hover-color: rgba(44, 56, 74, 0.95);\n --cui-btn-active-bg: #58c67d;\n --cui-btn-active-border-color: #43bf6c;\n --cui-btn-active-color: rgba(44, 56, 74, 0.95);\n --cui-btn-disabled-color: #2eb85c;\n --cui-btn-shadow: rgba(46, 184, 92, 0.5);\n}\n\n.btn-ghost-danger {\n --cui-btn-color: #e55353;\n --cui-btn-hover-bg: #e96d6d;\n --cui-btn-hover-border-color: #e86464;\n --cui-btn-hover-color: #000015;\n --cui-btn-active-bg: #ea7575;\n --cui-btn-active-border-color: #e86464;\n --cui-btn-active-color: #000015;\n --cui-btn-disabled-color: #e55353;\n --cui-btn-shadow: rgba(229, 83, 83, 0.5);\n}\n\n.btn-ghost-warning {\n --cui-btn-color: #f9b115;\n --cui-btn-hover-bg: #d49612;\n --cui-btn-hover-border-color: #c78e11;\n --cui-btn-hover-color: #000015;\n --cui-btn-active-bg: #c78e11;\n --cui-btn-active-border-color: #bb8510;\n --cui-btn-active-color: #000015;\n --cui-btn-disabled-color: #f9b115;\n --cui-btn-shadow: rgba(249, 177, 21, 0.5);\n}\n\n.btn-ghost-info {\n --cui-btn-color: #39f;\n --cui-btn-hover-bg: #52a8ff;\n --cui-btn-hover-border-color: #47a3ff;\n --cui-btn-hover-color: #000015;\n --cui-btn-active-bg: #5cadff;\n --cui-btn-active-border-color: #47a3ff;\n --cui-btn-active-color: #000015;\n --cui-btn-disabled-color: #39f;\n --cui-btn-shadow: rgba(51, 153, 255, 0.5);\n}\n\n.btn-ghost-light {\n --cui-btn-color: #ebedef;\n --cui-btn-hover-bg: #c8c9cb;\n --cui-btn-hover-border-color: #bcbebf;\n --cui-btn-hover-color: rgba(44, 56, 74, 0.95);\n --cui-btn-active-bg: #bcbebf;\n --cui-btn-active-border-color: #b0b2b3;\n --cui-btn-active-color: rgba(44, 56, 74, 0.95);\n --cui-btn-disabled-color: #ebedef;\n --cui-btn-shadow: rgba(235, 237, 239, 0.5);\n}\n\n.btn-ghost-dark {\n --cui-btn-color: #4f5d73;\n --cui-btn-hover-bg: #697588;\n --cui-btn-hover-border-color: #616d81;\n --cui-btn-hover-color: #fff;\n --cui-btn-active-bg: #727d8f;\n --cui-btn-active-border-color: #616d81;\n --cui-btn-active-color: #fff;\n --cui-btn-disabled-color: #4f5d73;\n --cui-btn-shadow: rgba(79, 93, 115, 0.5);\n}\n\n.btn-link {\n --cui-btn-font-weight: 400;\n --cui-btn-color: var(--cui-link-color);\n --cui-btn-bg: transparent;\n --cui-btn-border-color: transparent;\n --cui-btn-hover-color: var(--cui-link-hover-color);\n --cui-btn-hover-border-color: transparent;\n --cui-btn-active-border-color: transparent;\n --cui-btn-disabled-color: #8a93a2;\n --cui-btn-disabled-border-color: transparent;\n --cui-btn-box-shadow: none;\n --cui-btn-focus-shadow-rgb: 75, 58, 223;\n text-decoration: underline;\n}\n.btn-link:focus-visible {\n color: var(--cui-btn-color);\n}\n\n.btn-lg, .btn-group-lg > .btn {\n --cui-btn-padding-y: 0.5rem;\n --cui-btn-padding-x: 1rem;\n --cui-btn-font-size: 1.25rem;\n --cui-btn-border-radius: 0.5rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n --cui-btn-padding-y: 0.25rem;\n --cui-btn-padding-x: 0.5rem;\n --cui-btn-font-size: 0.875rem;\n --cui-btn-border-radius: 0.25rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\nhtml:not([dir=rtl]) .dropdown-toggle::after {\n margin-left: 0.255em;\n}\n*[dir=rtl] .dropdown-toggle::after {\n margin-right: 0.255em;\n}\nhtml:not([dir=rtl]) .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n*[dir=rtl] .dropdown-toggle:empty::after {\n margin-right: 0;\n}\n\n.dropdown-menu {\n --cui-dropdown-zindex: 1000;\n --cui-dropdown-min-width: 10rem;\n --cui-dropdown-padding-x: 0;\n --cui-dropdown-padding-y: 0.5rem;\n --cui-dropdown-spacer: 0.125rem;\n --cui-dropdown-font-size: 1rem;\n --cui-dropdown-color: rgba(44, 56, 74, 0.95);\n --cui-dropdown-bg: #fff;\n --cui-dropdown-border-color: var(--cui-border-color-translucent);\n --cui-dropdown-border-radius: 0.375rem;\n --cui-dropdown-border-width: 1px;\n --cui-dropdown-inner-border-radius: calc(0.375rem - 1px);\n --cui-dropdown-divider-bg: var(--cui-border-color-translucent);\n --cui-dropdown-divider-margin-y: 0.5rem;\n --cui-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15);\n --cui-dropdown-link-color: #4f5d73;\n --cui-dropdown-link-hover-color: #475468;\n --cui-dropdown-link-hover-bg: #d8dbe0;\n --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87);\n --cui-dropdown-link-active-bg: #321fdb;\n --cui-dropdown-link-disabled-color: #9da5b1;\n --cui-dropdown-item-padding-x: 1rem;\n --cui-dropdown-item-padding-y: 0.25rem;\n --cui-dropdown-header-color: #8a93a2;\n --cui-dropdown-header-padding-x: 1rem;\n --cui-dropdown-header-padding-y: 0.5rem;\n position: absolute;\n z-index: var(--cui-dropdown-zindex);\n display: none;\n min-width: var(--cui-dropdown-min-width);\n padding: var(--cui-dropdown-padding-y) var(--cui-dropdown-padding-x);\n margin: 0;\n font-size: var(--cui-dropdown-font-size);\n color: var(--cui-dropdown-color);\n text-align: left;\n list-style: none;\n background-color: var(--cui-dropdown-bg);\n background-clip: padding-box;\n border: var(--cui-dropdown-border-width) solid var(--cui-dropdown-border-color);\n border-radius: var(--cui-dropdown-border-radius);\n}\n.dropdown-menu[data-coreui-popper] {\n top: 100%;\n margin-top: var(--cui-dropdown-spacer);\n}\nhtml:not([dir=rtl]) .dropdown-menu[data-coreui-popper] {\n left: 0;\n}\n*[dir=rtl] .dropdown-menu[data-coreui-popper] {\n right: 0;\n}\n\n.dropdown-menu-start {\n --cui-position: start;\n}\n.dropdown-menu-start[data-coreui-popper] {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-end {\n --cui-position: end;\n}\n.dropdown-menu-end[data-coreui-popper] {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-start {\n --cui-position: start;\n }\n .dropdown-menu-sm-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-end {\n --cui-position: end;\n }\n .dropdown-menu-sm-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-start {\n --cui-position: start;\n }\n .dropdown-menu-md-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-end {\n --cui-position: end;\n }\n .dropdown-menu-md-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-start {\n --cui-position: start;\n }\n .dropdown-menu-lg-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-end {\n --cui-position: end;\n }\n .dropdown-menu-lg-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-start {\n --cui-position: start;\n }\n .dropdown-menu-xl-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-end {\n --cui-position: end;\n }\n .dropdown-menu-xl-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-start {\n --cui-position: start;\n }\n .dropdown-menu-xxl-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-end {\n --cui-position: end;\n }\n .dropdown-menu-xxl-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu[data-coreui-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: var(--cui-dropdown-spacer);\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\nhtml:not([dir=rtl]) .dropup .dropdown-toggle::after {\n margin-left: 0.255em;\n}\n*[dir=rtl] .dropup .dropdown-toggle::after {\n margin-right: 0.255em;\n}\nhtml:not([dir=rtl]) .dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n*[dir=rtl] .dropup .dropdown-toggle:empty::after {\n margin-right: 0;\n}\n\n.dropend .dropdown-menu[data-coreui-popper] {\n top: 0;\n margin-top: 0;\n}\nhtml:not([dir=rtl]) .dropend .dropdown-menu[data-coreui-popper] {\n right: auto;\n}\n*[dir=rtl] .dropend .dropdown-menu[data-coreui-popper] {\n left: auto;\n}\nhtml:not([dir=rtl]) .dropend .dropdown-menu[data-coreui-popper] {\n left: 100%;\n}\n*[dir=rtl] .dropend .dropdown-menu[data-coreui-popper] {\n right: 100%;\n}\nhtml:not([dir=rtl]) .dropend .dropdown-menu[data-coreui-popper] {\n margin-left: var(--cui-dropdown-spacer);\n}\n*[dir=rtl] .dropend .dropdown-menu[data-coreui-popper] {\n margin-right: var(--cui-dropdown-spacer);\n}\n.dropend .dropdown-toggle::after {\n display: inline-block;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\nhtml:not([dir=rtl]) .dropend .dropdown-toggle::after {\n margin-left: 0.255em;\n}\n*[dir=rtl] .dropend .dropdown-toggle::after {\n margin-right: 0.255em;\n}\nhtml:not([dir=rtl]) .dropend .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n*[dir=rtl] .dropend .dropdown-toggle:empty::after {\n margin-right: 0;\n}\n.dropend .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-coreui-popper] {\n top: 0;\n margin-top: 0;\n}\nhtml:not([dir=rtl]) .dropstart .dropdown-menu[data-coreui-popper] {\n right: 100%;\n}\n*[dir=rtl] .dropstart .dropdown-menu[data-coreui-popper] {\n left: 100%;\n}\nhtml:not([dir=rtl]) .dropstart .dropdown-menu[data-coreui-popper] {\n left: auto;\n}\n*[dir=rtl] .dropstart .dropdown-menu[data-coreui-popper] {\n right: auto;\n}\nhtml:not([dir=rtl]) .dropstart .dropdown-menu[data-coreui-popper] {\n margin-right: var(--cui-dropdown-spacer);\n}\n*[dir=rtl] .dropstart .dropdown-menu[data-coreui-popper] {\n margin-left: var(--cui-dropdown-spacer);\n}\n.dropstart .dropdown-toggle::after {\n display: inline-block;\n vertical-align: 0.255em;\n content: \"\";\n}\nhtml:not([dir=rtl]) .dropstart .dropdown-toggle::after {\n margin-left: 0.255em;\n}\n*[dir=rtl] .dropstart .dropdown-toggle::after {\n margin-right: 0.255em;\n}\n.dropstart .dropdown-toggle::after {\n display: none;\n}\n.dropstart .dropdown-toggle::before {\n display: inline-block;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\nhtml:not([dir=rtl]) .dropstart .dropdown-toggle::before {\n margin-right: 0.255em;\n}\n*[dir=rtl] .dropstart .dropdown-toggle::before {\n margin-left: 0.255em;\n}\nhtml:not([dir=rtl]) .dropstart .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n*[dir=rtl] .dropstart .dropdown-toggle:empty::after {\n margin-right: 0;\n}\n.dropstart .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: var(--cui-dropdown-divider-margin-y) 0;\n overflow: hidden;\n border-top: 1px solid var(--cui-dropdown-divider-bg);\n opacity: 1;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: var(--cui-dropdown-item-padding-y) var(--cui-dropdown-item-padding-x);\n clear: both;\n font-weight: 400;\n color: var(--cui-dropdown-link-color);\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n.dropdown-item:hover, .dropdown-item:focus {\n color: var(--cui-dropdown-link-hover-color);\n background-color: var(--cui-dropdown-link-hover-bg);\n}\n.dropdown-item.active, .dropdown-item:active {\n color: var(--cui-dropdown-link-active-color);\n text-decoration: none;\n background-color: var(--cui-dropdown-link-active-bg);\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: var(--cui-dropdown-link-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: var(--cui-dropdown-header-padding-y) var(--cui-dropdown-header-padding-x);\n margin-bottom: 0;\n font-size: 0.875rem;\n color: var(--cui-dropdown-header-color);\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: var(--cui-dropdown-item-padding-y) var(--cui-dropdown-item-padding-x);\n color: var(--cui-dropdown-link-color);\n}\n\n.dropdown-menu-dark {\n --cui-dropdown-color: #c4c9d0;\n --cui-dropdown-bg: #636f83;\n --cui-dropdown-border-color: var(--cui-border-color-translucent);\n --cui-dropdown-box-shadow: ;\n --cui-dropdown-link-color: #c4c9d0;\n --cui-dropdown-link-hover-color: rgba(255, 255, 255, 0.87);\n --cui-dropdown-divider-bg: var(--cui-border-color-translucent);\n --cui-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87);\n --cui-dropdown-link-active-bg: #321fdb;\n --cui-dropdown-link-disabled-color: #9da5b1;\n --cui-dropdown-header-color: #9da5b1;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group {\n border-radius: 0.375rem;\n}\nhtml:not([dir=rtl]) .btn-group > :not(.btn-check:first-child) + .btn,\nhtml:not([dir=rtl]) .btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n*[dir=rtl] .btn-group > :not(.btn-check:first-child) + .btn,\n*[dir=rtl] .btn-group > .btn-group:not(:first-child) {\n margin-right: -1px;\n}\nhtml:not([dir=rtl]) .btn-group > .btn:not(:last-child):not(.dropdown-toggle),\nhtml:not([dir=rtl]) .btn-group > .btn.dropdown-toggle-split:first-child,\nhtml:not([dir=rtl]) .btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n}\n*[dir=rtl] .btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n*[dir=rtl] .btn-group > .btn.dropdown-toggle-split:first-child,\n*[dir=rtl] .btn-group > .btn-group:not(:last-child) > .btn {\n border-top-left-radius: 0;\n}\nhtml:not([dir=rtl]) .btn-group > .btn:not(:last-child):not(.dropdown-toggle),\nhtml:not([dir=rtl]) .btn-group > .btn.dropdown-toggle-split:first-child,\nhtml:not([dir=rtl]) .btn-group > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n}\n*[dir=rtl] .btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n*[dir=rtl] .btn-group > .btn.dropdown-toggle-split:first-child,\n*[dir=rtl] .btn-group > .btn-group:not(:last-child) > .btn {\n border-bottom-left-radius: 0;\n}\nhtml:not([dir=rtl]) .btn-group > .btn:nth-child(n+3),\nhtml:not([dir=rtl]) .btn-group > :not(.btn-check) + .btn,\nhtml:not([dir=rtl]) .btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n}\n*[dir=rtl] .btn-group > .btn:nth-child(n+3),\n*[dir=rtl] .btn-group > :not(.btn-check) + .btn,\n*[dir=rtl] .btn-group > .btn-group:not(:first-child) > .btn {\n border-top-right-radius: 0;\n}\nhtml:not([dir=rtl]) .btn-group > .btn:nth-child(n+3),\nhtml:not([dir=rtl]) .btn-group > :not(.btn-check) + .btn,\nhtml:not([dir=rtl]) .btn-group > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n}\n*[dir=rtl] .btn-group > .btn:nth-child(n+3),\n*[dir=rtl] .btn-group > :not(.btn-check) + .btn,\n*[dir=rtl] .btn-group > .btn-group:not(:first-child) > .btn {\n border-bottom-right-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\nhtml:not([dir=rtl]) .dropdown-toggle-split::after, html:not([dir=rtl]) .dropup .dropdown-toggle-split::after, html:not([dir=rtl]) .dropend .dropdown-toggle-split::after {\n margin-left: 0;\n}\n*[dir=rtl] .dropdown-toggle-split::after, *[dir=rtl] .dropup .dropdown-toggle-split::after, *[dir=rtl] .dropend .dropdown-toggle-split::after {\n margin-right: 0;\n}\nhtml:not([dir=rtl]) .dropstart .dropdown-toggle-split::before {\n margin-right: 0;\n}\n*[dir=rtl] .dropstart .dropdown-toggle-split::before {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn ~ .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n --cui-nav-link-padding-x: 1rem;\n --cui-nav-link-padding-y: 0.5rem;\n --cui-nav-link-font-weight: ;\n --cui-nav-link-color: var(--cui-link-color);\n --cui-nav-link-hover-color: var(--cui-link-hover-color);\n --cui-nav-link-disabled-color: #8a93a2;\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 0;\n list-style: none;\n}\nhtml:not([dir=rtl]) .nav {\n padding-left: 0;\n}\n*[dir=rtl] .nav {\n padding-right: 0;\n}\n\n.nav-link {\n display: block;\n padding: var(--cui-nav-link-padding-y) var(--cui-nav-link-padding-x);\n font-size: var(--cui-nav-link-font-size);\n font-weight: var(--cui-nav-link-font-weight);\n color: var(--cui-nav-link-color);\n text-decoration: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover, .nav-link:focus {\n color: var(--cui-nav-link-hover-color);\n}\n.nav-link.disabled {\n color: var(--cui-nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n --cui-nav-tabs-border-width: 1px;\n --cui-nav-tabs-border-color: #c4c9d0;\n --cui-nav-tabs-border-radius: 0.375rem;\n --cui-nav-tabs-link-hover-border-color: #d8dbe0 #d8dbe0 #c4c9d0;\n --cui-nav-tabs-link-active-color: #768192;\n --cui-nav-tabs-link-active-bg: #fff;\n --cui-nav-tabs-link-active-border-color: #c4c9d0 #c4c9d0 #fff;\n border-bottom: var(--cui-nav-tabs-border-width) solid var(--cui-nav-tabs-border-color);\n}\n.nav-tabs .nav-link {\n margin-bottom: calc(-1 * var(--cui-nav-tabs-border-width));\n background: none;\n border: var(--cui-nav-tabs-border-width) solid transparent;\n border-top-left-radius: var(--cui-nav-tabs-border-radius);\n border-top-right-radius: var(--cui-nav-tabs-border-radius);\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n isolation: isolate;\n border-color: var(--cui-nav-tabs-link-hover-border-color);\n}\n.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {\n color: var(--cui-nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: var(--cui-nav-tabs-link-active-color);\n background-color: var(--cui-nav-tabs-link-active-bg);\n border-color: var(--cui-nav-tabs-link-active-border-color);\n}\n.nav-tabs .dropdown-menu {\n margin-top: calc(-1 * var(--cui-nav-tabs-border-width));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills {\n --cui-nav-pills-border-radius: 0.375rem;\n --cui-nav-pills-link-active-color: rgba(255, 255, 255, 0.87);\n --cui-nav-pills-link-active-bg: #321fdb;\n}\n.nav-pills .nav-link {\n background: none;\n border: 0;\n border-radius: var(--cui-nav-pills-border-radius);\n}\n.nav-pills .nav-link:disabled {\n color: var(--cui-nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: var(--cui-nav-pills-link-active-color);\n background-color: var(--cui-nav-pills-link-active-bg);\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n width: 100%;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n --cui-navbar-padding-x: 0;\n --cui-navbar-padding-y: 0.5rem;\n --cui-navbar-color: rgba(44, 56, 74, 0.681);\n --cui-navbar-hover-color: rgba(44, 56, 74, 0.95);\n --cui-navbar-disabled-color: rgba(44, 56, 74, 0.38);\n --cui-navbar-active-color: rgba(44, 56, 74, 0.95);\n --cui-navbar-brand-padding-y: 0.3125rem;\n --cui-navbar-brand-margin-end: 1rem;\n --cui-navbar-brand-font-size: 1.25rem;\n --cui-navbar-brand-color: rgba(44, 56, 74, 0.95);\n --cui-navbar-brand-hover-color: rgba(44, 56, 74, 0.95);\n --cui-navbar-nav-link-padding-x: 0.5rem;\n --cui-navbar-toggler-padding-y: 0.25rem;\n --cui-navbar-toggler-padding-x: 0.75rem;\n --cui-navbar-toggler-font-size: 1.25rem;\n --cui-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%2844, 56, 74, 0.681%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n --cui-navbar-toggler-border-color: rgba(0, 0, 21, 0.1);\n --cui-navbar-toggler-border-radius: 0.375rem;\n --cui-navbar-toggler-focus-width: 0.25rem;\n --cui-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--cui-navbar-padding-y) var(--cui-navbar-padding-x);\n}\n.navbar .header > .container,\n.navbar .header > .container-fluid,\n.navbar .header > .container-sm,\n.navbar .header > .container-md,\n.navbar .header > .container-lg,\n.navbar .header > .container-xl,\n.navbar .header > .container-xxl, .navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: var(--cui-navbar-brand-padding-y);\n padding-bottom: var(--cui-navbar-brand-padding-y);\n font-size: var(--cui-navbar-brand-font-size);\n color: var(--cui-navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n}\nhtml:not([dir=rtl]) .navbar-brand {\n margin-right: var(--cui-navbar-brand-margin-end);\n}\n*[dir=rtl] .navbar-brand {\n margin-left: var(--cui-navbar-brand-margin-end);\n}\n.navbar-brand:hover, .navbar-brand:focus {\n color: var(--cui-navbar-brand-hover-color);\n}\n\n.navbar-nav {\n --cui-nav-link-padding-x: 0;\n --cui-nav-link-padding-y: 0.5rem;\n --cui-nav-link-color: var(--cui-navbar-color);\n --cui-nav-link-hover-color: var(--cui-navbar-hover-color);\n --cui-nav-link-disabled-color: var(--cui-navbar-disabled-color);\n display: flex;\n flex-direction: column;\n margin-bottom: 0;\n list-style: none;\n}\nhtml:not([dir=rtl]) .navbar-nav {\n padding-left: 0;\n}\n*[dir=rtl] .navbar-nav {\n padding-right: 0;\n}\n.navbar-nav .show > .nav-link,\n.navbar-nav .nav-link.active {\n color: var(--cui-navbar-active-color);\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--cui-navbar-color);\n}\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n color: var(--cui-navbar-active-color);\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: var(--cui-navbar-toggler-padding-y) var(--cui-navbar-toggler-padding-x);\n font-size: var(--cui-navbar-toggler-font-size);\n line-height: 1;\n color: var(--cui-navbar-color);\n background-color: transparent;\n border: var(--cui-border-width) solid var(--cui-navbar-toggler-border-color);\n border-radius: var(--cui-navbar-toggler-border-radius);\n transition: var(--cui-navbar-toggler-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 var(--cui-navbar-toggler-focus-width);\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-image: var(--cui-navbar-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--cui-scroll-height, 75vh);\n overflow-y: auto;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xxl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n}\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n.navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n}\n.navbar-expand .offcanvas .offcanvas-header {\n display: none;\n}\n.navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n}\n\n.navbar-dark {\n --cui-navbar-color: rgba(255, 255, 255, 0.6);\n --cui-navbar-hover-color: rgba(255, 255, 255, 0.87);\n --cui-navbar-disabled-color: rgba(255, 255, 255, 0.38);\n --cui-navbar-active-color: rgba(255, 255, 255, 0.87);\n --cui-navbar-brand-color: rgba(255, 255, 255, 0.87);\n --cui-navbar-brand-hover-color: rgba(255, 255, 255, 0.87);\n --cui-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n --cui-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.6%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.card {\n --cui-card-spacer-y: 1rem;\n --cui-card-spacer-x: 1rem;\n --cui-card-title-spacer-y: 0.5rem;\n --cui-card-border-width: 1px;\n --cui-card-border-color: var(--cui-border-color-translucent);\n --cui-card-border-radius: 0.375rem;\n --cui-card-box-shadow: ;\n --cui-card-inner-border-radius: calc(0.375rem - 1px);\n --cui-card-cap-padding-y: 0.5rem;\n --cui-card-cap-padding-x: 1rem;\n --cui-card-cap-bg: rgba(0, 0, 21, 0.03);\n --cui-card-cap-color: unset;\n --cui-card-height: ;\n --cui-card-color: unset;\n --cui-card-bg: #fff;\n --cui-card-img-overlay-padding: 1rem;\n --cui-card-group-margin: 0.75rem;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--cui-card-height);\n word-wrap: break-word;\n background-color: var(--cui-card-bg);\n background-clip: border-box;\n border: var(--cui-card-border-width) solid var(--cui-card-border-color);\n border-radius: var(--cui-card-border-radius);\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: var(--cui-card-inner-border-radius);\n border-top-right-radius: var(--cui-card-inner-border-radius);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: var(--cui-card-inner-border-radius);\n border-bottom-left-radius: var(--cui-card-inner-border-radius);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: var(--cui-card-spacer-y) var(--cui-card-spacer-x);\n color: var(--cui-card-color);\n}\n\n.card-title {\n margin-bottom: var(--cui-card-title-spacer-y);\n}\n\n.card-subtitle {\n margin-top: calc(-0.5 * var(--cui-card-title-spacer-y));\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\nhtml:not([dir=rtl]) .card-link + .card-link {\n margin-left: var(--cui-card-spacer-x);\n}\n*[dir=rtl] .card-link + .card-link {\n margin-right: var(--cui-card-spacer-x);\n}\n\n.card-header {\n padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x);\n margin-bottom: 0;\n color: var(--cui-card-cap-color);\n background-color: var(--cui-card-cap-bg);\n border-bottom: var(--cui-card-border-width) solid var(--cui-card-border-color);\n}\n.card-header:first-child {\n border-radius: var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius) 0 0;\n}\n\n.card-footer {\n padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x);\n color: var(--cui-card-cap-color);\n background-color: var(--cui-card-cap-bg);\n border-top: var(--cui-card-border-width) solid var(--cui-card-border-color);\n}\n.card-footer:last-child {\n border-radius: 0 0 var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius);\n}\n\n.card-header-tabs {\n margin-right: calc(-0.5 * var(--cui-card-cap-padding-x));\n margin-bottom: calc(-1 * var(--cui-card-cap-padding-y));\n margin-left: calc(-0.5 * var(--cui-card-cap-padding-x));\n border-bottom: 0;\n}\n.card-header-tabs .nav-link.active {\n background-color: var(--cui-card-bg);\n border-bottom-color: var(--cui-card-bg);\n}\n\n.card-header-pills {\n margin-right: calc(-0.5 * var(--cui-card-cap-padding-x));\n margin-left: calc(-0.5 * var(--cui-card-cap-padding-x));\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--cui-card-img-overlay-padding);\n border-radius: var(--cui-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: var(--cui-card-inner-border-radius);\n border-top-right-radius: var(--cui-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: var(--cui-card-inner-border-radius);\n border-bottom-left-radius: var(--cui-card-inner-border-radius);\n}\n\n.card-group > .card {\n margin-bottom: var(--cui-card-group-margin);\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n html:not([dir=rtl]) .card-group > .card + .card {\n margin-left: 0;\n }\n *[dir=rtl] .card-group > .card + .card {\n margin-right: 0;\n }\n html:not([dir=rtl]) .card-group > .card + .card {\n border-left: 0;\n }\n *[dir=rtl] .card-group > .card + .card {\n border-right: 0;\n }\n html:not([dir=rtl]) .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n }\n *[dir=rtl] .card-group > .card:not(:last-child) {\n border-top-left-radius: 0;\n }\n html:not([dir=rtl]) .card-group > .card:not(:last-child) {\n border-bottom-right-radius: 0;\n }\n *[dir=rtl] .card-group > .card:not(:last-child) {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n html:not([dir=rtl]) .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n }\n *[dir=rtl] .card-group > .card:not(:first-child) {\n border-top-right-radius: 0;\n }\n html:not([dir=rtl]) .card-group > .card:not(:first-child) {\n border-bottom-left-radius: 0;\n }\n *[dir=rtl] .card-group > .card:not(:first-child) {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n --cui-accordion-color: rgba(44, 56, 74, 0.95);\n --cui-accordion-bg: #fff;\n --cui-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;\n --cui-accordion-border-color: var(--cui-border-color);\n --cui-accordion-border-width: 1px;\n --cui-accordion-border-radius: 0.375rem;\n --cui-accordion-inner-border-radius: calc(0.375rem - 1px);\n --cui-accordion-btn-padding-x: 1.25rem;\n --cui-accordion-btn-padding-y: 1rem;\n --cui-accordion-btn-color: rgba(44, 56, 74, 0.95);\n --cui-accordion-btn-color: rgba(44, 56, 74, 0.95);\n --cui-accordion-btn-bg: var(--cui-accordion-bg);\n --cui-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%2844, 56, 74, 0.95%29'%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\");\n --cui-accordion-btn-icon-width: 1.25rem;\n --cui-accordion-btn-icon-transform: rotate(-180deg);\n --cui-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --cui-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232d1cc5'%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\");\n --cui-accordion-btn-focus-border-color: #998fed;\n --cui-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25);\n --cui-accordion-body-padding-x: 1.25rem;\n --cui-accordion-body-padding-y: 1rem;\n --cui-accordion-active-color: #2d1cc5;\n --cui-accordion-active-bg: #ebe9fb;\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--cui-accordion-btn-padding-y) var(--cui-accordion-btn-padding-x);\n font-size: 1rem;\n color: var(--cui-accordion-btn-color);\n text-align: left;\n background-color: var(--cui-accordion-btn-bg);\n border: 0;\n border-radius: 0;\n overflow-anchor: none;\n transition: var(--cui-accordion-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button {\n transition: none;\n }\n}\n.accordion-button:not(.collapsed) {\n color: var(--cui-accordion-active-color);\n background-color: var(--cui-accordion-active-bg);\n box-shadow: inset 0 calc(-1 * var(--cui-accordion-border-width)) 0 var(--cui-accordion-border-color);\n}\n.accordion-button:not(.collapsed)::after {\n background-image: var(--cui-accordion-btn-active-icon);\n transform: var(--cui-accordion-btn-icon-transform);\n}\n.accordion-button::after {\n flex-shrink: 0;\n width: var(--cui-accordion-btn-icon-width);\n height: var(--cui-accordion-btn-icon-width);\n margin-left: auto;\n content: \"\";\n background-image: var(--cui-accordion-btn-icon);\n background-repeat: no-repeat;\n background-size: var(--cui-accordion-btn-icon-width);\n transition: var(--cui-accordion-btn-icon-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button::after {\n transition: none;\n }\n}\n.accordion-button:hover {\n z-index: 2;\n}\n.accordion-button:focus {\n z-index: 3;\n border-color: var(--cui-accordion-btn-focus-border-color);\n outline: 0;\n box-shadow: var(--cui-accordion-btn-focus-box-shadow);\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n color: var(--cui-accordion-color);\n background-color: var(--cui-accordion-bg);\n border: var(--cui-accordion-border-width) solid var(--cui-accordion-border-color);\n}\n.accordion-item:first-of-type {\n border-top-left-radius: var(--cui-accordion-border-radius);\n border-top-right-radius: var(--cui-accordion-border-radius);\n}\n.accordion-item:first-of-type .accordion-button {\n border-top-left-radius: var(--cui-accordion-inner-border-radius);\n border-top-right-radius: var(--cui-accordion-inner-border-radius);\n}\n.accordion-item:not(:first-of-type) {\n border-top: 0;\n}\n.accordion-item:last-of-type {\n border-bottom-right-radius: var(--cui-accordion-border-radius);\n border-bottom-left-radius: var(--cui-accordion-border-radius);\n}\n.accordion-item:last-of-type .accordion-button.collapsed {\n border-bottom-right-radius: var(--cui-accordion-inner-border-radius);\n border-bottom-left-radius: var(--cui-accordion-inner-border-radius);\n}\n.accordion-item:last-of-type .accordion-collapse {\n border-bottom-right-radius: var(--cui-accordion-border-radius);\n border-bottom-left-radius: var(--cui-accordion-border-radius);\n}\n\n.accordion-body {\n padding: var(--cui-accordion-body-padding-y) var(--cui-accordion-body-padding-x);\n}\n\n.accordion-flush .accordion-collapse {\n border-width: 0;\n}\n.accordion-flush .accordion-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n.accordion-flush .accordion-item:first-child {\n border-top: 0;\n}\n.accordion-flush .accordion-item:last-child {\n border-bottom: 0;\n}\n.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {\n border-radius: 0;\n}\n\n.breadcrumb {\n --cui-breadcrumb-padding-x: 0;\n --cui-breadcrumb-padding-y: 0;\n --cui-breadcrumb-margin-bottom: 1rem;\n --cui-breadcrumb-bg: unset;\n --cui-breadcrumb-border-radius: ;\n --cui-breadcrumb-divider-color: #8a93a2;\n --cui-breadcrumb-item-padding-x: 0.5rem;\n --cui-breadcrumb-item-active-color: #8a93a2;\n display: flex;\n flex-wrap: wrap;\n padding: var(--cui-breadcrumb-padding-y) var(--cui-breadcrumb-padding-x);\n margin-bottom: var(--cui-breadcrumb-margin-bottom);\n font-size: var(--cui-breadcrumb-font-size);\n list-style: none;\n background-color: var(--cui-breadcrumb-bg);\n border-radius: var(--cui-breadcrumb-border-radius);\n}\n\nhtml:not([dir=rtl]) .breadcrumb-item + .breadcrumb-item {\n padding-left: var(--cui-breadcrumb-item-padding-x);\n}\n*[dir=rtl] .breadcrumb-item + .breadcrumb-item {\n padding-right: var(--cui-breadcrumb-item-padding-x);\n}\n.breadcrumb-item + .breadcrumb-item::before {\n color: var(--cui-breadcrumb-divider-color);\n}\nhtml:not([dir=rtl]) .breadcrumb-item + .breadcrumb-item::before {\n float: left;\n}\n*[dir=rtl] .breadcrumb-item + .breadcrumb-item::before {\n float: right;\n}\nhtml:not([dir=rtl]) .breadcrumb-item + .breadcrumb-item::before {\n padding-right: var(--cui-breadcrumb-item-padding-x);\n}\n*[dir=rtl] .breadcrumb-item + .breadcrumb-item::before {\n padding-left: var(--cui-breadcrumb-item-padding-x);\n}\nhtml:not([dir=rtl]) .breadcrumb-item + .breadcrumb-item::before {\n content: var(--cui-breadcrumb-divider, \"/\");\n}\n*[dir=rtl] .breadcrumb-item + .breadcrumb-item::before {\n content: var(--cui-breadcrumb-divider-flipped, \"/\");\n}\n.breadcrumb-item.active {\n color: var(--cui-breadcrumb-item-active-color);\n}\n\n.pagination {\n --cui-pagination-padding-x: 0.75rem;\n --cui-pagination-padding-y: 0.375rem;\n --cui-pagination-font-size: 1rem;\n --cui-pagination-color: var(--cui-link-color);\n --cui-pagination-bg: #fff;\n --cui-pagination-border-width: 1px;\n --cui-pagination-border-color: #c4c9d0;\n --cui-pagination-border-radius: 0.375rem;\n --cui-pagination-hover-color: var(--cui-link-hover-color);\n --cui-pagination-hover-bg: #d8dbe0;\n --cui-pagination-hover-border-color: #c4c9d0;\n --cui-pagination-focus-color: var(--cui-link-hover-color);\n --cui-pagination-focus-bg: #d8dbe0;\n --cui-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25);\n --cui-pagination-active-color: rgba(255, 255, 255, 0.87);\n --cui-pagination-active-bg: #321fdb;\n --cui-pagination-active-border-color: #321fdb;\n --cui-pagination-disabled-color: #8a93a2;\n --cui-pagination-disabled-bg: #fff;\n --cui-pagination-disabled-border-color: #c4c9d0;\n display: flex;\n list-style: none;\n}\nhtml:not([dir=rtl]) .pagination {\n padding-left: 0;\n}\n*[dir=rtl] .pagination {\n padding-right: 0;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: var(--cui-pagination-padding-y) var(--cui-pagination-padding-x);\n font-size: var(--cui-pagination-font-size);\n color: var(--cui-pagination-color);\n text-decoration: none;\n background-color: var(--cui-pagination-bg);\n border: var(--cui-pagination-border-width) solid var(--cui-pagination-border-color);\n 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;\n}\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n.page-link:hover {\n z-index: 2;\n color: var(--cui-pagination-hover-color);\n background-color: var(--cui-pagination-hover-bg);\n border-color: var(--cui-pagination-hover-border-color);\n}\n.page-link:focus {\n z-index: 3;\n color: var(--cui-pagination-focus-color);\n background-color: var(--cui-pagination-focus-bg);\n outline: 0;\n box-shadow: var(--cui-pagination-focus-box-shadow);\n}\n.page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--cui-pagination-active-color);\n background-color: var(--cui-pagination-active-bg);\n border-color: var(--cui-pagination-active-border-color);\n}\n.page-link.disabled, .disabled > .page-link {\n color: var(--cui-pagination-disabled-color);\n pointer-events: none;\n background-color: var(--cui-pagination-disabled-bg);\n border-color: var(--cui-pagination-disabled-border-color);\n}\n\nhtml:not([dir=rtl]) .page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n*[dir=rtl] .page-item:not(:first-child) .page-link {\n margin-right: -1px;\n}\nhtml:not([dir=rtl]) .page-item:first-child .page-link {\n border-top-left-radius: var(--cui-pagination-border-radius);\n}\n*[dir=rtl] .page-item:first-child .page-link {\n border-top-right-radius: var(--cui-pagination-border-radius);\n}\nhtml:not([dir=rtl]) .page-item:first-child .page-link {\n border-bottom-left-radius: var(--cui-pagination-border-radius);\n}\n*[dir=rtl] .page-item:first-child .page-link {\n border-bottom-right-radius: var(--cui-pagination-border-radius);\n}\nhtml:not([dir=rtl]) .page-item:last-child .page-link {\n border-top-right-radius: var(--cui-pagination-border-radius);\n}\n*[dir=rtl] .page-item:last-child .page-link {\n border-top-left-radius: var(--cui-pagination-border-radius);\n}\nhtml:not([dir=rtl]) .page-item:last-child .page-link {\n border-bottom-right-radius: var(--cui-pagination-border-radius);\n}\n*[dir=rtl] .page-item:last-child .page-link {\n border-bottom-left-radius: var(--cui-pagination-border-radius);\n}\n\n.pagination-lg {\n --cui-pagination-padding-x: 1.5rem;\n --cui-pagination-padding-y: 0.75rem;\n --cui-pagination-font-size: 1.25rem;\n --cui-pagination-border-radius: 0.5rem;\n}\n\n.pagination-sm {\n --cui-pagination-padding-x: 0.5rem;\n --cui-pagination-padding-y: 0.25rem;\n --cui-pagination-font-size: 0.875rem;\n --cui-pagination-border-radius: 0.25rem;\n}\n\n.badge {\n --cui-badge-padding-x: 0.65em;\n --cui-badge-padding-y: 0.35em;\n --cui-badge-font-size: 0.75em;\n --cui-badge-font-weight: 700;\n --cui-badge-color: rgba(255, 255, 255, 0.87);\n --cui-badge-border-radius: 0.375rem;\n display: inline-block;\n padding: var(--cui-badge-padding-y) var(--cui-badge-padding-x);\n font-size: var(--cui-badge-font-size);\n font-weight: var(--cui-badge-font-weight);\n line-height: 1;\n color: var(--cui-badge-color);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: var(--cui-badge-border-radius, 0);\n}\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-sm {\n padding: 0.3em 0.5em;\n font-size: 0.65em;\n}\n\n.alert {\n --cui-alert-bg: transparent;\n --cui-alert-padding-x: 1rem;\n --cui-alert-padding-y: 1rem;\n --cui-alert-margin-bottom: 1rem;\n --cui-alert-color: inherit;\n --cui-alert-border-color: transparent;\n --cui-alert-border: 1px solid var(--cui-alert-border-color);\n --cui-alert-border-radius: 0.375rem;\n position: relative;\n padding: var(--cui-alert-padding-y) var(--cui-alert-padding-x);\n margin-bottom: var(--cui-alert-margin-bottom);\n color: var(--cui-alert-color);\n background-color: var(--cui-alert-bg);\n border: var(--cui-alert-border);\n border-radius: var(--cui-alert-border-radius);\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n color: var(--cui-alert-link-color);\n}\n\nhtml:not([dir=rtl]) .alert-dismissible {\n padding-right: 3rem;\n}\n*[dir=rtl] .alert-dismissible {\n padding-left: 3rem;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n z-index: 2;\n padding: 1.25rem 1rem;\n}\nhtml:not([dir=rtl]) .alert-dismissible .btn-close {\n right: 0;\n}\n*[dir=rtl] .alert-dismissible .btn-close {\n left: 0;\n}\n\n.alert-primary {\n --cui-alert-color: #1e1383;\n --cui-alert-bg: #d6d2f8;\n --cui-alert-border-color: #c2bcf4;\n}\n.alert-primary .alert-link {\n color: #180f69;\n}\n\n.alert-secondary {\n --cui-alert-color: #5e636a;\n --cui-alert-bg: #ebedef;\n --cui-alert-border-color: #e2e4e8;\n}\n.alert-secondary .alert-link {\n color: #4b4f55;\n}\n\n.alert-success {\n --cui-alert-color: #1c6e37;\n --cui-alert-bg: #d5f1de;\n --cui-alert-border-color: #c0eace;\n}\n.alert-success .alert-link {\n color: #16582c;\n}\n\n.alert-info {\n --cui-alert-color: #1f5c99;\n --cui-alert-bg: #d6ebff;\n --cui-alert-border-color: #c2e0ff;\n}\n.alert-info .alert-link {\n color: #194a7a;\n}\n\n.alert-warning {\n --cui-alert-color: rgba(131, 107, 52, 0.97);\n --cui-alert-bg: #feefd0;\n --cui-alert-border-color: #fde8b9;\n}\n.alert-warning .alert-link {\n color: rgba(104, 85, 41, 0.976);\n}\n\n.alert-danger {\n --cui-alert-color: #893232;\n --cui-alert-bg: #fadddd;\n --cui-alert-border-color: #f7cbcb;\n}\n.alert-danger .alert-link {\n color: #6e2828;\n}\n\n.alert-light {\n --cui-alert-color: rgba(125, 133, 144, 0.97);\n --cui-alert-bg: #fbfbfc;\n --cui-alert-border-color: #f9fafa;\n}\n.alert-light .alert-link {\n color: rgba(99, 105, 114, 0.976);\n}\n\n.alert-dark {\n --cui-alert-color: #2f3845;\n --cui-alert-bg: #dcdfe3;\n --cui-alert-border-color: #caced5;\n}\n.alert-dark .alert-link {\n color: #262d37;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n.progress {\n --cui-progress-height: 1rem;\n --cui-progress-font-size: 0.75rem;\n --cui-progress-bg: #d8dbe0;\n --cui-progress-border-radius: 0.375rem;\n --cui-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 21, 0.075);\n --cui-progress-bar-color: rgba(255, 255, 255, 0.87);\n --cui-progress-bar-bg: #321fdb;\n --cui-progress-bar-transition: width 0.6s ease;\n display: flex;\n height: var(--cui-progress-height);\n overflow: hidden;\n font-size: var(--cui-progress-font-size);\n background-color: var(--cui-progress-bg);\n border-radius: var(--cui-progress-border-radius);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--cui-progress-bar-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--cui-progress-bar-bg);\n transition: var(--cui-progress-bar-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: var(--cui-progress-height) var(--cui-progress-height);\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.progress-thin {\n height: 4px;\n}\n\n.progress.progress-white {\n background-color: rgba(255, 255, 255, 0.2);\n}\n.progress.progress-white .progress-bar {\n background-color: #fff;\n}\n\n.progress-group {\n display: flex;\n flex-flow: row wrap;\n margin-bottom: 1rem;\n}\n\n.progress-group-prepend {\n flex: 0 0 100px;\n align-self: center;\n}\n\n.progress-group-header {\n display: flex;\n flex-basis: 100%;\n align-items: center;\n margin-bottom: 0.25rem;\n}\n\n.progress-group-bars {\n flex-grow: 1;\n align-self: center;\n}\n.progress-group-bars .progress:not(:last-child) {\n margin-bottom: 2px;\n}\n\n.progress-group-header + .progress-group-bars {\n flex-basis: 100%;\n}\n\n.list-group {\n --cui-list-group-color: unset;\n --cui-list-group-bg: #fff;\n --cui-list-group-border-color: rgba(0, 0, 21, 0.125);\n --cui-list-group-border-width: 1px;\n --cui-list-group-border-radius: 0.375rem;\n --cui-list-group-item-padding-x: 1rem;\n --cui-list-group-item-padding-y: 0.5rem;\n --cui-list-group-action-color: #768192;\n --cui-list-group-action-hover-color: #768192;\n --cui-list-group-action-hover-bg: #ebedef;\n --cui-list-group-action-active-color: rgba(44, 56, 74, 0.95);\n --cui-list-group-action-active-bg: #d8dbe0;\n --cui-list-group-disabled-color: #8a93a2;\n --cui-list-group-disabled-bg: #fff;\n --cui-list-group-active-color: rgba(255, 255, 255, 0.87);\n --cui-list-group-active-bg: #321fdb;\n --cui-list-group-active-border-color: #321fdb;\n display: flex;\n flex-direction: column;\n margin-bottom: 0;\n border-radius: var(--cui-list-group-border-radius);\n}\nhtml:not([dir=rtl]) .list-group {\n padding-left: 0;\n}\n*[dir=rtl] .list-group {\n padding-right: 0;\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n}\n.list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n}\n\n.list-group-item-action {\n width: 100%;\n color: var(--cui-list-group-action-color);\n text-align: inherit;\n}\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: var(--cui-list-group-action-hover-color);\n text-decoration: none;\n background-color: var(--cui-list-group-action-hover-bg);\n}\n.list-group-item-action:active {\n color: var(--cui-list-group-action-active-color);\n background-color: var(--cui-list-group-action-active-bg);\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: var(--cui-list-group-item-padding-y) var(--cui-list-group-item-padding-x);\n color: var(--cui-list-group-color);\n text-decoration: none;\n background-color: var(--cui-list-group-bg);\n border: var(--cui-list-group-border-width) solid var(--cui-list-group-border-color);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n color: var(--cui-list-group-disabled-color);\n pointer-events: none;\n background-color: var(--cui-list-group-disabled-bg);\n}\n.list-group-item.active {\n z-index: 2;\n color: var(--cui-list-group-active-color);\n background-color: var(--cui-list-group-active-bg);\n border-color: var(--cui-list-group-active-border-color);\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--cui-list-group-border-width));\n border-top-width: var(--cui-list-group-border-width);\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\nhtml:not([dir=rtl]) .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n}\n*[dir=rtl] .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-bottom-right-radius: var(--cui-list-group-border-radius);\n}\nhtml:not([dir=rtl]) .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-top-right-radius: 0;\n}\n*[dir=rtl] .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-top-left-radius: 0;\n}\nhtml:not([dir=rtl]) .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n}\n*[dir=rtl] .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-top-left-radius: var(--cui-list-group-border-radius);\n}\nhtml:not([dir=rtl]) .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-bottom-left-radius: 0;\n}\n*[dir=rtl] .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-bottom-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n}\nhtml:not([dir=rtl]) .list-group-horizontal > .list-group-item + .list-group-item {\n border-left-width: 0;\n}\n*[dir=rtl] .list-group-horizontal > .list-group-item + .list-group-item {\n border-right-width: 0;\n}\nhtml:not([dir=rtl]) .list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n}\n*[dir=rtl] .list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-right: calc(-1 * var(--cui-list-group-border-width));\n}\nhtml:not([dir=rtl]) .list-group-horizontal > .list-group-item + .list-group-item.active {\n border-left-width: var(--cui-list-group-border-width);\n}\n*[dir=rtl] .list-group-horizontal > .list-group-item + .list-group-item.active {\n border-right-width: var(--cui-list-group-border-width);\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-bottom-right-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-top-right-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-top-left-radius: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-top-left-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-bottom-left-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-bottom-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n }\n html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-left-width: 0;\n }\n *[dir=rtl] .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-right-width: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n }\n *[dir=rtl] .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-right: calc(-1 * var(--cui-list-group-border-width));\n }\n html:not([dir=rtl]) .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n border-left-width: var(--cui-list-group-border-width);\n }\n *[dir=rtl] .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n border-right-width: var(--cui-list-group-border-width);\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-bottom-right-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-top-right-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-top-left-radius: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-top-left-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-bottom-left-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-bottom-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n }\n html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-left-width: 0;\n }\n *[dir=rtl] .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-right-width: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n }\n *[dir=rtl] .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-right: calc(-1 * var(--cui-list-group-border-width));\n }\n html:not([dir=rtl]) .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n border-left-width: var(--cui-list-group-border-width);\n }\n *[dir=rtl] .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n border-right-width: var(--cui-list-group-border-width);\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-bottom-right-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-top-right-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-top-left-radius: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-top-left-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-bottom-left-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-bottom-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n }\n html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-left-width: 0;\n }\n *[dir=rtl] .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-right-width: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n }\n *[dir=rtl] .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-right: calc(-1 * var(--cui-list-group-border-width));\n }\n html:not([dir=rtl]) .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n border-left-width: var(--cui-list-group-border-width);\n }\n *[dir=rtl] .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n border-right-width: var(--cui-list-group-border-width);\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-bottom-right-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-top-right-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-top-left-radius: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-top-left-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-bottom-left-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-bottom-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n }\n html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-left-width: 0;\n }\n *[dir=rtl] .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-right-width: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n }\n *[dir=rtl] .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-right: calc(-1 * var(--cui-list-group-border-width));\n }\n html:not([dir=rtl]) .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n border-left-width: var(--cui-list-group-border-width);\n }\n *[dir=rtl] .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n border-right-width: var(--cui-list-group-border-width);\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-bottom-right-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-top-right-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-top-left-radius: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n }\n *[dir=rtl] .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-top-left-radius: var(--cui-list-group-border-radius);\n }\n html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-bottom-left-radius: 0;\n }\n *[dir=rtl] .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-bottom-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n }\n html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-left-width: 0;\n }\n *[dir=rtl] .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-right-width: 0;\n }\n html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n }\n *[dir=rtl] .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-right: calc(-1 * var(--cui-list-group-border-width));\n }\n html:not([dir=rtl]) .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n border-left-width: var(--cui-list-group-border-width);\n }\n *[dir=rtl] .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n border-right-width: var(--cui-list-group-border-width);\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 var(--cui-list-group-border-width);\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n --cui-list-group-color: contrast-ratio-correction(#1e1383, #d6d2f8, 40%, \"primary\");\n --cui-list-group-bg: #d6d2f8;\n --cui-list-group-hover-bg: #2d1cc5;\n --cui-list-group-action-hover-color: contrast-ratio-correction(#1e1383, #d6d2f8, 40%, \"primary\");\n --cui-list-group-action-active-color: #fff;\n --cui-list-group-action-active-bg: contrast-ratio-correction(#1e1383, #d6d2f8, 40%, \"primary\");\n --cui-list-group-action-active-border-color: contrast-ratio-correction(#1e1383, #d6d2f8, 40%, \"primary\");\n}\n\n.list-group-item-secondary {\n --cui-list-group-color: contrast-ratio-correction(#5e636a, #ebedef, 40%, \"secondary\");\n --cui-list-group-bg: #ebedef;\n --cui-list-group-hover-bg: #8d959f;\n --cui-list-group-action-hover-color: contrast-ratio-correction(#5e636a, #ebedef, 40%, \"secondary\");\n --cui-list-group-action-active-color: #fff;\n --cui-list-group-action-active-bg: contrast-ratio-correction(#5e636a, #ebedef, 40%, \"secondary\");\n --cui-list-group-action-active-border-color: contrast-ratio-correction(#5e636a, #ebedef, 40%, \"secondary\");\n}\n\n.list-group-item-success {\n --cui-list-group-color: contrast-ratio-correction(#1c6e37, #d5f1de, 40%, \"success\");\n --cui-list-group-bg: #d5f1de;\n --cui-list-group-hover-bg: #29a653;\n --cui-list-group-action-hover-color: contrast-ratio-correction(#1c6e37, #d5f1de, 40%, \"success\");\n --cui-list-group-action-active-color: #fff;\n --cui-list-group-action-active-bg: contrast-ratio-correction(#1c6e37, #d5f1de, 40%, \"success\");\n --cui-list-group-action-active-border-color: contrast-ratio-correction(#1c6e37, #d5f1de, 40%, \"success\");\n}\n\n.list-group-item-danger {\n --cui-list-group-color: contrast-ratio-correction(#893232, #fadddd, 40%, \"danger\");\n --cui-list-group-bg: #fadddd;\n --cui-list-group-hover-bg: #ce4b4b;\n --cui-list-group-action-hover-color: contrast-ratio-correction(#893232, #fadddd, 40%, \"danger\");\n --cui-list-group-action-active-color: #fff;\n --cui-list-group-action-active-bg: contrast-ratio-correction(#893232, #fadddd, 40%, \"danger\");\n --cui-list-group-action-active-border-color: contrast-ratio-correction(#893232, #fadddd, 40%, \"danger\");\n}\n\n.list-group-item-warning {\n --cui-list-group-color: contrast-ratio-correction(#956a0d, #feefd0, 40%, \"warning\");\n --cui-list-group-bg: #feefd0;\n --cui-list-group-hover-bg: #e09f13;\n --cui-list-group-action-hover-color: contrast-ratio-correction(#956a0d, #feefd0, 40%, \"warning\");\n --cui-list-group-action-active-color: #fff;\n --cui-list-group-action-active-bg: contrast-ratio-correction(#956a0d, #feefd0, 40%, \"warning\");\n --cui-list-group-action-active-border-color: contrast-ratio-correction(#956a0d, #feefd0, 40%, \"warning\");\n}\n\n.list-group-item-info {\n --cui-list-group-color: contrast-ratio-correction(#1f5c99, #d6ebff, 40%, \"info\");\n --cui-list-group-bg: #d6ebff;\n --cui-list-group-hover-bg: #2e8ae6;\n --cui-list-group-action-hover-color: contrast-ratio-correction(#1f5c99, #d6ebff, 40%, \"info\");\n --cui-list-group-action-active-color: #fff;\n --cui-list-group-action-active-bg: contrast-ratio-correction(#1f5c99, #d6ebff, 40%, \"info\");\n --cui-list-group-action-active-border-color: contrast-ratio-correction(#1f5c99, #d6ebff, 40%, \"info\");\n}\n\n.list-group-item-light {\n --cui-list-group-color: contrast-ratio-correction(#8d8e8f, #fbfbfc, 40%, \"light\");\n --cui-list-group-bg: #fbfbfc;\n --cui-list-group-hover-bg: #d4d5d7;\n --cui-list-group-action-hover-color: contrast-ratio-correction(#8d8e8f, #fbfbfc, 40%, \"light\");\n --cui-list-group-action-active-color: #fff;\n --cui-list-group-action-active-bg: contrast-ratio-correction(#8d8e8f, #fbfbfc, 40%, \"light\");\n --cui-list-group-action-active-border-color: contrast-ratio-correction(#8d8e8f, #fbfbfc, 40%, \"light\");\n}\n\n.list-group-item-dark {\n --cui-list-group-color: contrast-ratio-correction(#2f3845, #dcdfe3, 40%, \"dark\");\n --cui-list-group-bg: #dcdfe3;\n --cui-list-group-hover-bg: #475468;\n --cui-list-group-action-hover-color: contrast-ratio-correction(#2f3845, #dcdfe3, 40%, \"dark\");\n --cui-list-group-action-active-color: #fff;\n --cui-list-group-action-active-bg: contrast-ratio-correction(#2f3845, #dcdfe3, 40%, \"dark\");\n --cui-list-group-action-active-border-color: contrast-ratio-correction(#2f3845, #dcdfe3, 40%, \"dark\");\n}\n\n.btn-close {\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: var(--cui-btn-close-color, rgba(44, 56, 74, 0.95));\n background: transparent var(--cui-btn-close-bg, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%2844, 56, 74, 0.95%29'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\")) center/1em auto no-repeat;\n border: 0;\n border-radius: 0.375rem;\n opacity: 0.5;\n}\n.btn-close:hover {\n color: var(--cui-btn-close-color, rgba(44, 56, 74, 0.95));\n text-decoration: none;\n opacity: 0.75;\n}\n.btn-close:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(50, 31, 219, 0.25);\n opacity: 1;\n}\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: 0.25;\n}\n\n.btn-close-white {\n filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n --cui-toast-zindex: 1090;\n --cui-toast-padding-x: 0.75rem;\n --cui-toast-padding-y: 0.5rem;\n --cui-toast-spacing: 1.5rem;\n --cui-toast-max-width: 350px;\n --cui-toast-font-size: 0.875rem;\n --cui-toast-color: unset;\n --cui-toast-bg: rgba(255, 255, 255, 0.85);\n --cui-toast-border-width: 1px;\n --cui-toast-border-color: var(--cui-border-color-translucent);\n --cui-toast-border-radius: 0.375rem;\n --cui-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15);\n --cui-toast-header-color: #8a93a2;\n --cui-toast-header-bg: rgba(255, 255, 255, 0.85);\n --cui-toast-header-border-color: rgba(0, 0, 21, 0.05);\n width: var(--cui-toast-max-width);\n max-width: 100%;\n font-size: var(--cui-toast-font-size);\n color: var(--cui-toast-color);\n pointer-events: auto;\n background-color: var(--cui-toast-bg);\n background-clip: padding-box;\n border: var(--cui-toast-border-width) solid var(--cui-toast-border-color);\n box-shadow: var(--cui-toast-box-shadow);\n border-radius: var(--cui-toast-border-radius);\n}\n.toast.showing {\n opacity: 0;\n}\n.toast:not(.show) {\n display: none;\n}\n\n.toast-container {\n --cui-toast-zindex: 1090;\n position: absolute;\n z-index: var(--cui-toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n}\n.toast-container > :not(:last-child) {\n margin-bottom: var(--cui-toast-spacing);\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: var(--cui-toast-padding-y) var(--cui-toast-padding-x);\n color: var(--cui-toast-header-color);\n background-color: var(--cui-toast-header-bg);\n background-clip: padding-box;\n border-bottom: var(--cui-toast-border-width) solid var(--cui-toast-header-border-color);\n border-top-left-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width));\n border-top-right-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width));\n}\nhtml:not([dir=rtl]) .toast-header .btn-close {\n margin-right: calc(-0.5 * var(--cui-toast-padding-x));\n}\n*[dir=rtl] .toast-header .btn-close {\n margin-left: calc(-0.5 * var(--cui-toast-padding-x));\n}\nhtml:not([dir=rtl]) .toast-header .btn-close {\n margin-left: var(--cui-toast-padding-x);\n}\n*[dir=rtl] .toast-header .btn-close {\n margin-right: var(--cui-toast-padding-x);\n}\n\n.toast-body {\n padding: var(--cui-toast-padding-x);\n word-wrap: break-word;\n}\n\n.modal {\n --cui-modal-zindex: 1055;\n --cui-modal-width: 500px;\n --cui-modal-padding: 1rem;\n --cui-modal-margin: 0.5rem;\n --cui-modal-color: unset;\n --cui-modal-bg: #fff;\n --cui-modal-border-color: var(--cui-border-color-translucent);\n --cui-modal-border-width: 1px;\n --cui-modal-border-radius: 0.5rem;\n --cui-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 21, 0.075);\n --cui-modal-inner-border-radius: calc(0.5rem - 1px);\n --cui-modal-header-padding-x: 1rem;\n --cui-modal-header-padding-y: 1rem;\n --cui-modal-header-padding: 1rem 1rem;\n --cui-modal-header-border-color: var(--cui-border-color);\n --cui-modal-header-border-width: 1px;\n --cui-modal-title-line-height: 1.5;\n --cui-modal-footer-gap: 0.5rem;\n --cui-modal-footer-bg: ;\n --cui-modal-footer-border-color: var(--cui-border-color);\n --cui-modal-footer-border-width: 1px;\n position: fixed;\n top: 0;\n z-index: var(--cui-modal-zindex);\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n}\nhtml:not([dir=rtl]) .modal {\n left: 0;\n}\n*[dir=rtl] .modal {\n right: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: var(--cui-modal-margin);\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - var(--cui-modal-margin) * 2);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - var(--cui-modal-margin) * 2);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n color: var(--cui-modal-color);\n pointer-events: auto;\n background-color: var(--cui-modal-bg);\n background-clip: padding-box;\n border: var(--cui-modal-border-width) solid var(--cui-modal-border-color);\n border-radius: var(--cui-modal-border-radius);\n outline: 0;\n}\n\n.modal-backdrop {\n --cui-backdrop-zindex: 1050;\n --cui-backdrop-bg: #000015;\n --cui-backdrop-opacity: 0.5;\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--cui-backdrop-zindex);\n width: 100vw;\n height: 100vh;\n background-color: var(--cui-backdrop-bg);\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: var(--cui-backdrop-opacity);\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: var(--cui-modal-header-padding);\n border-bottom: var(--cui-modal-header-border-width) solid var(--cui-modal-header-border-color);\n border-top-left-radius: var(--cui-modal-inner-border-radius);\n border-top-right-radius: var(--cui-modal-inner-border-radius);\n}\n.modal-header .btn-close {\n padding: calc(var(--cui-modal-header-padding-y) * 0.5) calc(var(--cui-modal-header-padding-x) * 0.5);\n}\nhtml:not([dir=rtl]) .modal-header .btn-close {\n margin: calc(-0.5 * var(--cui-modal-header-padding-y)) calc(-0.5 * var(--cui-modal-header-padding-x)) calc(-0.5 * var(--cui-modal-header-padding-y)) auto;\n}\n*[dir=rtl] .modal-header .btn-close {\n margin: calc(-0.5 * var(--cui-modal-header-padding-y)) auto calc(-0.5 * var(--cui-modal-header-padding-y)) calc(-0.5 * var(--cui-modal-header-padding-x));\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: var(--cui-modal-title-line-height);\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--cui-modal-padding);\n}\n\n.modal-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: calc(var(--cui-modal-padding) - var(--cui-modal-footer-gap) * 0.5);\n background-color: var(--cui-modal-footer-bg);\n border-top: var(--cui-modal-footer-border-width) solid var(--cui-modal-footer-border-color);\n border-bottom-right-radius: var(--cui-modal-inner-border-radius);\n border-bottom-left-radius: var(--cui-modal-inner-border-radius);\n}\n.modal-footer > * {\n margin: calc(var(--cui-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n .modal {\n --cui-modal-margin: 1.75rem;\n --cui-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15);\n }\n .modal-dialog {\n max-width: var(--cui-modal-width);\n margin-right: auto;\n margin-left: auto;\n }\n .modal-sm {\n --cui-modal-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n --cui-modal-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n --cui-modal-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header,\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header,\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header,\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header,\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header,\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n}\n.tooltip {\n --cui-tooltip-zindex: 1080;\n --cui-tooltip-max-width: 200px;\n --cui-tooltip-padding-x: 0.5rem;\n --cui-tooltip-padding-y: 0.25rem;\n --cui-tooltip-margin: ;\n --cui-tooltip-font-size: 0.875rem;\n --cui-tooltip-color: rgba(255, 255, 255, 0.87);\n --cui-tooltip-bg: #000015;\n --cui-tooltip-border-radius: 0.375rem;\n --cui-tooltip-opacity: 0.9;\n --cui-tooltip-arrow-width: 0.8rem;\n --cui-tooltip-arrow-height: 0.4rem;\n z-index: var(--cui-tooltip-zindex);\n display: block;\n padding: var(--cui-tooltip-arrow-height);\n margin: var(--cui-tooltip-margin);\n font-family: var(--cui-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--cui-tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: var(--cui-tooltip-opacity);\n}\n.tooltip .tooltip-arrow {\n display: block;\n width: var(--cui-tooltip-arrow-width);\n height: var(--cui-tooltip-arrow-height);\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\n bottom: 0;\n}\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0;\n border-top-color: var(--cui-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\n left: 0;\n width: var(--cui-tooltip-arrow-height);\n height: var(--cui-tooltip-arrow-width);\n}\n.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0;\n border-right-color: var(--cui-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\n top: 0;\n}\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height);\n border-bottom-color: var(--cui-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\n right: 0;\n width: var(--cui-tooltip-arrow-height);\n height: var(--cui-tooltip-arrow-width);\n}\n.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height);\n border-left-color: var(--cui-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.tooltip-inner {\n max-width: var(--cui-tooltip-max-width);\n padding: var(--cui-tooltip-padding-y) var(--cui-tooltip-padding-x);\n color: var(--cui-tooltip-color);\n text-align: center;\n background-color: var(--cui-tooltip-bg);\n border-radius: var(--cui-tooltip-border-radius, 0);\n}\n\n.popover {\n --cui-popover-zindex: 1070;\n --cui-popover-max-width: 276px;\n --cui-popover-font-size: 0.875rem;\n --cui-popover-bg: #fff;\n --cui-popover-border-width: 1px;\n --cui-popover-border-color: var(--cui-border-color-translucent);\n --cui-popover-border-radius: 0.5rem;\n --cui-popover-inner-border-radius: calc(0.5rem - 1px);\n --cui-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15);\n --cui-popover-header-padding-x: 1rem;\n --cui-popover-header-padding-y: 0.5rem;\n --cui-popover-header-font-size: 1rem;\n --cui-popover-header-color: unset;\n --cui-popover-header-bg: #f0f0f0;\n --cui-popover-body-padding-x: 1rem;\n --cui-popover-body-padding-y: 1rem;\n --cui-popover-body-color: rgba(44, 56, 74, 0.95);\n --cui-popover-arrow-width: 1rem;\n --cui-popover-arrow-height: 0.5rem;\n --cui-popover-arrow-border: var(--cui-popover-border-color);\n z-index: var(--cui-popover-zindex);\n display: block;\n max-width: var(--cui-popover-max-width);\n font-family: var(--cui-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--cui-popover-font-size);\n word-wrap: break-word;\n background-color: var(--cui-popover-bg);\n background-clip: padding-box;\n border: var(--cui-popover-border-width) solid var(--cui-popover-border-color);\n border-radius: var(--cui-popover-border-radius);\n}\n.popover .popover-arrow {\n display: block;\n width: var(--cui-popover-arrow-width);\n height: var(--cui-popover-arrow-height);\n}\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n border-width: var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-top-color: var(--cui-popover-arrow-border);\n}\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n bottom: var(--cui-popover-border-width);\n border-top-color: var(--cui-popover-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));\n width: var(--cui-popover-arrow-height);\n height: var(--cui-popover-arrow-width);\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n border-width: calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\n left: 0;\n border-right-color: var(--cui-popover-arrow-border);\n}\n.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n left: var(--cui-popover-border-width);\n border-right-color: var(--cui-popover-bg);\n}\n\n/* rtl:end:ignore */\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n border-width: 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height);\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-bottom-color: var(--cui-popover-arrow-border);\n}\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n top: var(--cui-popover-border-width);\n border-bottom-color: var(--cui-popover-bg);\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--cui-popover-arrow-width);\n margin-left: calc(-0.5 * var(--cui-popover-arrow-width));\n content: \"\";\n border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-header-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));\n width: var(--cui-popover-arrow-height);\n height: var(--cui-popover-arrow-width);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n border-width: calc(var(--cui-popover-arrow-width) * 0.5) 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\n right: 0;\n border-left-color: var(--cui-popover-arrow-border);\n}\n.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n right: var(--cui-popover-border-width);\n border-left-color: var(--cui-popover-bg);\n}\n\n/* rtl:end:ignore */\n.popover-header {\n padding: var(--cui-popover-header-padding-y) var(--cui-popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--cui-popover-header-font-size);\n color: var(--cui-popover-header-color);\n background-color: var(--cui-popover-header-bg);\n border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-border-color);\n border-top-left-radius: var(--cui-popover-inner-border-radius);\n border-top-right-radius: var(--cui-popover-inner-border-radius);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: var(--cui-popover-body-padding-y) var(--cui-popover-body-padding-x);\n color: var(--cui-popover-body-color);\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-start,\n.carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n padding: 0;\n color: var(--cui-carousel-control-color, rgba(255, 255, 255, 0.87));\n text-align: center;\n background: none;\n border: 0;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: var(--cui-carousel-control-color, rgba(255, 255, 255, 0.87));\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n/* rtl:options: {\n \"autoRename\": true,\n \"stringMap\":[ {\n \"name\" : \"prev-next\",\n \"search\" : \"prev\",\n \"replace\" : \"next\"\n } ]\n} */\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%28255, 255, 255, 0.87%29'%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\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%28255, 255, 255, 0.87%29'%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\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-right: 15%;\n margin-bottom: 1rem;\n margin-left: 15%;\n list-style: none;\n}\n.carousel-indicators [data-coreui-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n padding: 0;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--cui-carousel-indicator-active-bg, #fff);\n background-clip: padding-box;\n border: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-coreui-target] {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: var(--cui-carousel-caption-color, rgba(255, 255, 255, 0.87));\n text-align: center;\n}\n\n.carousel-dark {\n --cui-carousel-indicator-active-bg: #000015;\n --cui-carousel-caption-color: rgba(44, 56, 74, 0.95);\n}\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.carousel-dark .carousel-indicators [data-coreui-target] {\n background-color: #000015;\n}\n.carousel-dark .carousel-caption {\n color: rgba(44, 56, 74, 0.95);\n}\n\n.spinner-grow,\n.spinner-border {\n display: inline-block;\n width: var(--cui-spinner-width);\n height: var(--cui-spinner-height);\n vertical-align: var(--cui-spinner-vertical-align);\n border-radius: 50%;\n animation: var(--cui-spinner-animation-speed) linear infinite var(--cui-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg) /* rtl:ignore */;\n }\n}\n.spinner-border {\n --cui-spinner-width: 2rem;\n --cui-spinner-height: 2rem;\n --cui-spinner-vertical-align: -0.125em;\n --cui-spinner-border-width: 0.25em;\n --cui-spinner-animation-speed: 0.75s;\n --cui-spinner-animation-name: spinner-border;\n border: var(--cui-spinner-border-width) solid currentcolor;\n border-right-color: transparent;\n}\n\n.spinner-border-sm {\n --cui-spinner-width: 1rem;\n --cui-spinner-height: 1rem;\n --cui-spinner-border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n --cui-spinner-width: 2rem;\n --cui-spinner-height: 2rem;\n --cui-spinner-vertical-align: -0.125em;\n --cui-spinner-animation-speed: 0.75s;\n --cui-spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n}\n\n.spinner-grow-sm {\n --cui-spinner-width: 1rem;\n --cui-spinner-height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --cui-spinner-animation-speed: 1.5s;\n }\n}\n.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n --cui-offcanvas-zindex: 1045;\n --cui-offcanvas-width: 400px;\n --cui-offcanvas-height: 30vh;\n --cui-offcanvas-padding-x: 1rem;\n --cui-offcanvas-padding-y: 1rem;\n --cui-offcanvas-color: unset;\n --cui-offcanvas-bg: #fff;\n --cui-offcanvas-border-width: 1px;\n --cui-offcanvas-border-color: var(--cui-border-color-translucent);\n --cui-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 21, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .offcanvas-sm {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: transform 0.3s ease-in-out;\n }\n}\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-sm {\n transition: none;\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-start {\n top: 0;\n width: var(--cui-offcanvas-width);\n }\n html:not([dir=rtl]) .offcanvas-sm.offcanvas-start {\n left: 0;\n }\n *[dir=rtl] .offcanvas-sm.offcanvas-start {\n right: 0;\n }\n html:not([dir=rtl]) .offcanvas-sm.offcanvas-start {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-sm.offcanvas-start {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n html:not([dir=rtl]) .offcanvas-sm.offcanvas-start {\n transform: translateX(-100%);\n }\n *[dir=rtl] .offcanvas-sm.offcanvas-start {\n transform: translateX(100%);\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-end {\n top: 0;\n width: var(--cui-offcanvas-width);\n transform: translateX(100%);\n }\n html:not([dir=rtl]) .offcanvas-sm.offcanvas-end {\n right: 0;\n }\n *[dir=rtl] .offcanvas-sm.offcanvas-end {\n left: 0;\n }\n html:not([dir=rtl]) .offcanvas-sm.offcanvas-end {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-sm.offcanvas-end {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n transform: none !important;\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n visibility: visible;\n }\n}\n@media (min-width: 576px) {\n .offcanvas-sm {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-sm .offcanvas-header {\n display: none;\n }\n .offcanvas-sm .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 767.98px) {\n .offcanvas-md {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: transform 0.3s ease-in-out;\n }\n}\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-md {\n transition: none;\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-start {\n top: 0;\n width: var(--cui-offcanvas-width);\n }\n html:not([dir=rtl]) .offcanvas-md.offcanvas-start {\n left: 0;\n }\n *[dir=rtl] .offcanvas-md.offcanvas-start {\n right: 0;\n }\n html:not([dir=rtl]) .offcanvas-md.offcanvas-start {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-md.offcanvas-start {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n html:not([dir=rtl]) .offcanvas-md.offcanvas-start {\n transform: translateX(-100%);\n }\n *[dir=rtl] .offcanvas-md.offcanvas-start {\n transform: translateX(100%);\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-end {\n top: 0;\n width: var(--cui-offcanvas-width);\n transform: translateX(100%);\n }\n html:not([dir=rtl]) .offcanvas-md.offcanvas-end {\n right: 0;\n }\n *[dir=rtl] .offcanvas-md.offcanvas-end {\n left: 0;\n }\n html:not([dir=rtl]) .offcanvas-md.offcanvas-end {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-md.offcanvas-end {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n transform: none !important;\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n visibility: visible;\n }\n}\n@media (min-width: 768px) {\n .offcanvas-md {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-md .offcanvas-header {\n display: none;\n }\n .offcanvas-md .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 991.98px) {\n .offcanvas-lg {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: transform 0.3s ease-in-out;\n }\n}\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-lg {\n transition: none;\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-start {\n top: 0;\n width: var(--cui-offcanvas-width);\n }\n html:not([dir=rtl]) .offcanvas-lg.offcanvas-start {\n left: 0;\n }\n *[dir=rtl] .offcanvas-lg.offcanvas-start {\n right: 0;\n }\n html:not([dir=rtl]) .offcanvas-lg.offcanvas-start {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-lg.offcanvas-start {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n html:not([dir=rtl]) .offcanvas-lg.offcanvas-start {\n transform: translateX(-100%);\n }\n *[dir=rtl] .offcanvas-lg.offcanvas-start {\n transform: translateX(100%);\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-end {\n top: 0;\n width: var(--cui-offcanvas-width);\n transform: translateX(100%);\n }\n html:not([dir=rtl]) .offcanvas-lg.offcanvas-end {\n right: 0;\n }\n *[dir=rtl] .offcanvas-lg.offcanvas-end {\n left: 0;\n }\n html:not([dir=rtl]) .offcanvas-lg.offcanvas-end {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-lg.offcanvas-end {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n transform: none !important;\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n visibility: visible;\n }\n}\n@media (min-width: 992px) {\n .offcanvas-lg {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-lg .offcanvas-header {\n display: none;\n }\n .offcanvas-lg .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1199.98px) {\n .offcanvas-xl {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: transform 0.3s ease-in-out;\n }\n}\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xl {\n transition: none;\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-start {\n top: 0;\n width: var(--cui-offcanvas-width);\n }\n html:not([dir=rtl]) .offcanvas-xl.offcanvas-start {\n left: 0;\n }\n *[dir=rtl] .offcanvas-xl.offcanvas-start {\n right: 0;\n }\n html:not([dir=rtl]) .offcanvas-xl.offcanvas-start {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-xl.offcanvas-start {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n html:not([dir=rtl]) .offcanvas-xl.offcanvas-start {\n transform: translateX(-100%);\n }\n *[dir=rtl] .offcanvas-xl.offcanvas-start {\n transform: translateX(100%);\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-end {\n top: 0;\n width: var(--cui-offcanvas-width);\n transform: translateX(100%);\n }\n html:not([dir=rtl]) .offcanvas-xl.offcanvas-end {\n right: 0;\n }\n *[dir=rtl] .offcanvas-xl.offcanvas-end {\n left: 0;\n }\n html:not([dir=rtl]) .offcanvas-xl.offcanvas-end {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-xl.offcanvas-end {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n transform: none !important;\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1200px) {\n .offcanvas-xl {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xl .offcanvas-header {\n display: none;\n }\n .offcanvas-xl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1399.98px) {\n .offcanvas-xxl {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: transform 0.3s ease-in-out;\n }\n}\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xxl {\n transition: none;\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-start {\n top: 0;\n width: var(--cui-offcanvas-width);\n }\n html:not([dir=rtl]) .offcanvas-xxl.offcanvas-start {\n left: 0;\n }\n *[dir=rtl] .offcanvas-xxl.offcanvas-start {\n right: 0;\n }\n html:not([dir=rtl]) .offcanvas-xxl.offcanvas-start {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-xxl.offcanvas-start {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n html:not([dir=rtl]) .offcanvas-xxl.offcanvas-start {\n transform: translateX(-100%);\n }\n *[dir=rtl] .offcanvas-xxl.offcanvas-start {\n transform: translateX(100%);\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-end {\n top: 0;\n width: var(--cui-offcanvas-width);\n transform: translateX(100%);\n }\n html:not([dir=rtl]) .offcanvas-xxl.offcanvas-end {\n right: 0;\n }\n *[dir=rtl] .offcanvas-xxl.offcanvas-end {\n left: 0;\n }\n html:not([dir=rtl]) .offcanvas-xxl.offcanvas-end {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n *[dir=rtl] .offcanvas-xxl.offcanvas-end {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {\n transform: none !important;\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1400px) {\n .offcanvas-xxl {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xxl .offcanvas-header {\n display: none;\n }\n .offcanvas-xxl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n.offcanvas {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: transform 0.3s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n}\n.offcanvas.offcanvas-start {\n top: 0;\n width: var(--cui-offcanvas-width);\n}\nhtml:not([dir=rtl]) .offcanvas.offcanvas-start {\n left: 0;\n}\n*[dir=rtl] .offcanvas.offcanvas-start {\n right: 0;\n}\nhtml:not([dir=rtl]) .offcanvas.offcanvas-start {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n}\n*[dir=rtl] .offcanvas.offcanvas-start {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n}\nhtml:not([dir=rtl]) .offcanvas.offcanvas-start {\n transform: translateX(-100%);\n}\n*[dir=rtl] .offcanvas.offcanvas-start {\n transform: translateX(100%);\n}\n.offcanvas.offcanvas-end {\n top: 0;\n width: var(--cui-offcanvas-width);\n transform: translateX(100%);\n}\nhtml:not([dir=rtl]) .offcanvas.offcanvas-end {\n right: 0;\n}\n*[dir=rtl] .offcanvas.offcanvas-end {\n left: 0;\n}\nhtml:not([dir=rtl]) .offcanvas.offcanvas-end {\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n}\n*[dir=rtl] .offcanvas.offcanvas-end {\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n}\n.offcanvas.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n}\n.offcanvas.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n}\n.offcanvas.showing, .offcanvas.show:not(.hiding) {\n transform: none !important;\n}\n.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n visibility: visible;\n}\n\n.offcanvas-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: var(--cui-offcanvas-backdrop-bg, #000015);\n}\n.offcanvas-backdrop.fade {\n opacity: 0;\n}\n.offcanvas-backdrop.show {\n opacity: 0.5;\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x);\n}\n.offcanvas-header .btn-close {\n padding: calc(var(--cui-offcanvas-padding-y) * 0.5) calc(var(--cui-offcanvas-padding-x) * 0.5);\n margin-top: calc(-0.5 * var(--cui-offcanvas-padding-y));\n margin-bottom: calc(-0.5 * var(--cui-offcanvas-padding-y));\n}\nhtml:not([dir=rtl]) .offcanvas-header .btn-close {\n margin-right: calc(-0.5 * var(--cui-offcanvas-padding-x));\n}\n*[dir=rtl] .offcanvas-header .btn-close {\n margin-left: calc(-0.5 * var(--cui-offcanvas-padding-x));\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x);\n overflow-y: auto;\n}\n\n.placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: 0.5;\n}\n.placeholder.btn::before {\n display: inline-block;\n content: \"\";\n}\n\n.placeholder-xs {\n min-height: 0.6em;\n}\n\n.placeholder-sm {\n min-height: 0.8em;\n}\n\n.placeholder-lg {\n min-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n}\n\n@keyframes placeholder-glow {\n 50% {\n opacity: 0.2;\n }\n}\n.placeholder-wave {\n mask-image: linear-gradient(130deg, #000015 55%, rgba(0, 0, 0, 0.8) 75%, #000015 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n}\n.avatar {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n border-radius: 50em;\n transition: margin 0.15s;\n width: 2rem;\n height: 2rem;\n font-size: 0.8rem;\n}\n@media (prefers-reduced-motion: reduce) {\n .avatar {\n transition: none;\n }\n}\n.avatar .avatar-status {\n width: 0.5333333333rem;\n height: 0.5333333333rem;\n}\n\n.avatar-img {\n width: 100%;\n height: auto;\n border-radius: 50em;\n}\n\n.avatar-status {\n position: absolute;\n bottom: 0;\n display: block;\n border: 1px solid #fff;\n border-radius: 50em;\n}\nhtml:not([dir=rtl]) .avatar-status {\n right: 0;\n}\n*[dir=rtl] .avatar-status {\n left: 0;\n}\n\n.avatar-sm {\n width: 1.5rem;\n height: 1.5rem;\n font-size: 0.6rem;\n}\n.avatar-sm .avatar-status {\n width: 0.4rem;\n height: 0.4rem;\n}\n\n.avatar-md {\n width: 2.5rem;\n height: 2.5rem;\n font-size: 1rem;\n}\n.avatar-md .avatar-status {\n width: 0.6666666667rem;\n height: 0.6666666667rem;\n}\n\n.avatar-lg {\n width: 3rem;\n height: 3rem;\n font-size: 1.2rem;\n}\n.avatar-lg .avatar-status {\n width: 0.8rem;\n height: 0.8rem;\n}\n\n.avatar-xl {\n width: 4rem;\n height: 4rem;\n font-size: 1.6rem;\n}\n.avatar-xl .avatar-status {\n width: 1.0666666667rem;\n height: 1.0666666667rem;\n}\n\n.avatars-stack {\n display: flex;\n}\nhtml:not([dir=rtl]) .avatars-stack .avatar {\n margin-right: -0.8rem;\n}\n*[dir=rtl] .avatars-stack .avatar {\n margin-left: -0.8rem;\n}\nhtml:not([dir=rtl]) .avatars-stack .avatar:hover {\n margin-right: 0;\n}\n*[dir=rtl] .avatars-stack .avatar:hover {\n margin-left: 0;\n}\nhtml:not([dir=rtl]) .avatars-stack .avatar-sm {\n margin-right: -0.6rem;\n}\n*[dir=rtl] .avatars-stack .avatar-sm {\n margin-left: -0.6rem;\n}\nhtml:not([dir=rtl]) .avatars-stack .avatar-md {\n margin-right: -1rem;\n}\n*[dir=rtl] .avatars-stack .avatar-md {\n margin-left: -1rem;\n}\nhtml:not([dir=rtl]) .avatars-stack .avatar-lg {\n margin-right: -1.2rem;\n}\n*[dir=rtl] .avatars-stack .avatar-lg {\n margin-left: -1.2rem;\n}\nhtml:not([dir=rtl]) .avatars-stack .avatar-xl {\n margin-right: -1.6rem;\n}\n*[dir=rtl] .avatars-stack .avatar-xl {\n margin-left: -1.6rem;\n}\n\n.callout {\n --cui-callout-padding-x: 1rem;\n --cui-callout-padding-y: 1rem;\n --cui-callout-margin-x: 0;\n --cui-callout-margin-y: 1rem;\n --cui-callout-border-width: 1px;\n --cui-callout-border-color: #d8dbe0;\n --cui-callout-border-left-width: 4px;\n --cui-callout-border-radius: 0.375rem;\n padding: var(--cui-callout-padding-y) var(--cui-callout-padding-x);\n margin: var(--cui-callout-margin-y) var(--cui-callout-margin-x);\n border: var(--cui-callout-border-width) solid var(--cui-callout-border-color);\n border-radius: var(--cui-callout-border-radius);\n}\nhtml:not([dir=rtl]) .callout {\n border-left-width: var(--cui-callout-border-left-width);\n}\n*[dir=rtl] .callout {\n border-right-width: var(--cui-callout-border-right-width);\n}\nhtml:not([dir=rtl]) .callout {\n border-left-color: var(--cui-callout-border-left-color);\n}\n*[dir=rtl] .callout {\n border-right-color: var(--cui-callout-border-right-color);\n}\n\n.callout-primary {\n --cui-callout-border-left-color: #321fdb;\n}\n\n.callout-secondary {\n --cui-callout-border-left-color: #9da5b1;\n}\n\n.callout-success {\n --cui-callout-border-left-color: #2eb85c;\n}\n\n.callout-danger {\n --cui-callout-border-left-color: #e55353;\n}\n\n.callout-warning {\n --cui-callout-border-left-color: #f9b115;\n}\n\n.callout-info {\n --cui-callout-border-left-color: #39f;\n}\n\n.callout-light {\n --cui-callout-border-left-color: #ebedef;\n}\n\n.callout-dark {\n --cui-callout-border-left-color: #4f5d73;\n}\n\n.footer {\n --cui-footer-min-height: 3rem;\n --cui-footer-padding-x: 1rem;\n --cui-footer-padding-y: 0.5rem;\n --cui-footer-color: rgba(44, 56, 74, 0.95);\n --cui-footer-bg: #ebedef;\n --cui-footer-border-color: #d8dbe0;\n --cui-footer-border: 1px solid var(--cui-footer-border-color);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n min-height: var(--cui-footer-min-height);\n padding: var(--cui-footer-padding-y) var(--cui-footer-padding-x);\n color: var(--cui-footer-color);\n background: var(--cui-footer-bg);\n border-top: var(--cui-footer-border);\n}\n\n.footer-fixed {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.footer-sticky {\n position: sticky;\n bottom: 0;\n z-index: 1030;\n}\n\n.header {\n --cui-header-min-height: 4rem;\n --cui-header-padding-x: 0.5rem;\n --cui-header-padding-y: 0.5rem;\n --cui-header-bg: #fff;\n --cui-header-color: rgba(44, 56, 74, 0.681);\n --cui-header-border-color: #d8dbe0;\n --cui-header-border: 1px solid var(--cui-header-border-color);\n --cui-header-hover-color: rgba(44, 56, 74, 0.95);\n --cui-header-disabled-color: rgba(44, 56, 74, 0.38);\n --cui-header-active-color: rgba(44, 56, 74, 0.95);\n --cui-header-brand-padding-y: 0.3125rem;\n --cui-header-brand-color: #4f5d73;\n --cui-header-brand-hover-color: #475468;\n --cui-header-toggler-padding-x: 0.75rem;\n --cui-header-toggler-padding-y: 0.25rem;\n --cui-header-toggler-bg: transparent;\n --cui-header-toggler-color: rgba(44, 56, 74, 0.681);\n --cui-header-toggler-border-radius: 0.375rem;\n --cui-header-toggler-hover-color: rgba(44, 56, 74, 0.95);\n --cui-header-toggler-icon-bg: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%2844, 56, 74, 0.681%29' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n --cui-header-toggler-hover-icon-bg: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%2844, 56, 74, 0.95%29' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n --cui-header-nav-link-padding-x: 0.5rem;\n --cui-header-nav-link-padding-y: 0.5rem;\n --cui-header-divider-border-color: #d8dbe0;\n --cui-header-divider-border: 1px solid var(--cui-header-divider-border-color);\n --cui-subheader-min-height: 3rem;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n min-height: var(--cui-header-min-height);\n padding: var(--cui-header-padding-y) var(--cui-header-padding-x);\n background: var(--cui-header-bg);\n border-bottom: var(--cui-header-border);\n}\n.header > .container,\n.header > .container-fluid,\n.header > .container-sm,\n.header > .container-md,\n.header > .container-lg,\n.header > .container-xl,\n.header > .container-xxl, .header .navbar > .container,\n.header .navbar > .container-fluid,\n.header .navbar > .container-sm,\n.header .navbar > .container-md,\n.header .navbar > .container-lg,\n.header .navbar > .container-xl,\n.header .navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.header .container:first-child,\n.header .container-fluid:first-child,\n.header .container-sm:first-child,\n.header .container-md:first-child,\n.header .container-lg:first-child,\n.header .container-xl:first-child,\n.header .container-xxl:first-child {\n min-height: calc(var(--cui-header-min-height) - 2 * var(--cui-header-padding-y));\n}\n.header .container:nth-child(n+2),\n.header .container-fluid:nth-child(n+2),\n.header .container-sm:nth-child(n+2),\n.header .container-md:nth-child(n+2),\n.header .container-lg:nth-child(n+2),\n.header .container-xl:nth-child(n+2),\n.header .container-xxl:nth-child(n+2) {\n min-height: calc(var(--cui-subheader-min-height) - 2 * var(--cui-header-padding-y));\n}\n.header.header-sticky {\n position: sticky;\n top: 0;\n z-index: 1029;\n}\n\n.header-divider {\n flex-basis: calc(100% + 2 * var(--cui-header-padding-x));\n height: 0;\n margin: var(--cui-header-padding-y) calc(var(--cui-header-padding-x) * -1);\n border-top: var(--cui-header-divider-border);\n}\n\n.header-brand {\n padding-top: var(--cui-header-brand-padding-y);\n padding-bottom: var(--cui-header-brand-padding-y);\n font-size: 1.25rem;\n color: var(--cui-header-brand-color);\n text-decoration: none;\n white-space: nowrap;\n}\nhtml:not([dir=rtl]) .header-brand {\n margin-right: 1rem;\n}\n*[dir=rtl] .header-brand {\n margin-left: 1rem;\n}\n.header-brand:hover, .header-brand:focus {\n color: var(--cui-header-brand-hover-color);\n}\n\n.header-nav {\n display: flex;\n flex-direction: row;\n margin-bottom: 0;\n list-style: none;\n}\nhtml:not([dir=rtl]) .header-nav {\n padding-left: 0;\n}\n*[dir=rtl] .header-nav {\n padding-right: 0;\n}\n.header-nav .nav-link {\n padding: var(--cui-header-nav-link-padding-y) var(--cui-header-nav-link-padding-x);\n color: var(--cui-header-color);\n}\n.header-nav .nav-link:hover, .header-nav .nav-link:focus {\n color: var(--cui-header-hover-color);\n}\n.header-nav .nav-link.disabled {\n color: var(--cui-header-disabled-color);\n}\n.header-nav .show > .nav-link,\n.header-nav .nav-link.active {\n color: var(--cui-header-active-color);\n}\n.header-nav .dropdown-menu {\n position: absolute;\n}\n\n.header-text {\n padding-top: var(--cui-header-nav-link-padding-y);\n padding-bottom: var(--cui-header-nav-link-padding-y);\n color: var(--cui-header-color);\n}\n.header-text a {\n color: var(--cui-header-active-color);\n}\n.header-text a:hover, .header-text a:focus {\n color: var(--cui-header-active-color);\n}\n\n.header-toggler {\n padding: var(--cui-header-toggler-padding-y) var(--cui-header-toggler-padding-x);\n font-size: 1.25rem;\n color: var(--cui-header-toggler-color);\n background-color: var(--cui-header-toggler-bg);\n border: 0;\n border-radius: var(--cui-header-toggler-border-radius);\n}\n.header-toggler:hover {\n color: var(--cui-header-toggler-hover-color);\n text-decoration: none;\n}\n.header-toggler:focus {\n outline: 0;\n}\n.header-toggler:not(:disabled) {\n cursor: pointer;\n}\n\n.header-toggler-icon {\n display: block;\n height: 1.5625rem;\n background-image: var(--cui-header-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 100% 100%;\n}\n.header-toggler-icon:hover {\n background-image: var(--cui-header-toggler-hover-icon-bg);\n}\n\n.icon {\n display: inline-block;\n color: inherit;\n text-align: center;\n vertical-align: -0.125rem;\n fill: currentcolor;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size) {\n width: 1rem;\n height: 1rem;\n font-size: 1rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl {\n width: 2rem;\n height: 2rem;\n font-size: 2rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl {\n width: 1.5rem;\n height: 1.5rem;\n font-size: 1.5rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg {\n width: 1.25rem;\n height: 1.25rem;\n font-size: 1.25rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm {\n width: 0.875rem;\n height: 0.875rem;\n font-size: 0.875rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl {\n width: 3rem;\n height: 3rem;\n font-size: 3rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl {\n width: 4rem;\n height: 4rem;\n font-size: 4rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl {\n width: 5rem;\n height: 5rem;\n font-size: 5rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl {\n width: 6rem;\n height: 6rem;\n font-size: 6rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl {\n width: 7rem;\n height: 7rem;\n font-size: 7rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl {\n width: 8rem;\n height: 8rem;\n font-size: 8rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl {\n width: 9rem;\n height: 9rem;\n font-size: 9rem;\n}\n\n.sidebar {\n --cui-sidebar-width: 16rem;\n --cui-sidebar-bg: #3c4b64;\n --cui-sidebar-padding-x: 0;\n --cui-sidebar-padding-y: 0;\n --cui-sidebar-color: rgba(255, 255, 255, 0.87);\n --cui-sidebar-border-width: 0;\n --cui-sidebar-border-color: transparent;\n --cui-sidebar-brand-color: rgba(255, 255, 255, 0.87);\n --cui-sidebar-brand-height: 4rem;\n --cui-sidebar-brand-bg: rgba(0, 0, 21, 0.2);\n --cui-sidebar-header-height: 4rem;\n --cui-sidebar-header-bg: rgba(0, 0, 21, 0.2);\n --cui-sidebar-header-padding-x: 1rem;\n --cui-sidebar-header-padding-y: 0.75rem;\n --cui-sidebar-footer-bg: rgba(0, 0, 21, 0.2);\n --cui-sidebar-footer-height: auto;\n --cui-sidebar-footer-padding-x: 1rem;\n --cui-sidebar-footer-padding-y: 0.75rem;\n --cui-sidebar-toggler-bg: rgba(0, 0, 21, 0.2);\n --cui-sidebar-toggler-height: 3rem;\n --cui-sidebar-toggler-indicator: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%238a93a2' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\");\n --cui-sidebar-toggler-indicator-width: 4rem;\n --cui-sidebar-toggler-indicator-height: 3rem;\n --cui-sidebar-toggler-hover-bg: rgba(0, 0, 0, 0.3);\n --cui-sidebar-toggler-indicator-hover: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='rgba%28255, 255, 255, 0.87%29' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\");\n --cui-sidebar-narrow-width: 4rem;\n --cui-sidebar-nav-title-padding-x: 1rem;\n --cui-sidebar-nav-title-padding-y: 0.75rem;\n --cui-sidebar-nav-title-margin-top: 1rem;\n --cui-sidebar-nav-title-color: rgba(255, 255, 255, 0.6);\n --cui-sidebar-nav-link-padding-x: 1rem;\n --cui-sidebar-nav-link-padding-y: 0.8445rem;\n --cui-sidebar-nav-link-color: rgba(255, 255, 255, 0.6);\n --cui-sidebar-nav-link-bg: transparent;\n --cui-sidebar-nav-link-border-color: transparent;\n --cui-sidebar-nav-link-border: 0 solid var(--cui-sidebar-nav-link-border-color);\n --cui-sidebar-nav-link-border-radius: 0;\n --cui-sidebar-nav-link-active-color: rgba(255, 255, 255, 0.87);\n --cui-sidebar-nav-link-active-bg: rgba(255, 255, 255, 0.05);\n --cui-sidebar-nav-link-active-icon-color: rgba(255, 255, 255, 0.87);\n --cui-sidebar-nav-link-disabled-color: rgba(255, 255, 255, 0.38);\n --cui-sidebar-nav-link-disabled-icon-color: rgba(255, 255, 255, 0.6);\n --cui-sidebar-nav-link-hover-color: rgba(255, 255, 255, 0.87);\n --cui-sidebar-nav-link-hover-bg: rgba(255, 255, 255, 0.05);\n --cui-sidebar-nav-link-hover-icon-color: rgba(255, 255, 255, 0.87);\n --cui-sidebar-nav-icon-width: 4rem;\n --cui-sidebar-nav-icon-height: 1.25rem;\n --cui-sidebar-nav-icon-font-size: 1.25rem;\n --cui-sidebar-nav-link-icon-color: rgba(255, 255, 255, 0.6);\n --cui-sidebar-nav-group-bg: rgba(0, 0, 0, 0.2);\n --cui-sidebar-nav-group-items-padding-y: 0;\n --cui-sidebar-nav-group-items-padding-x: 0;\n --cui-sidebar-nav-group-indicator: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%28255, 255, 255, 0.6%29'%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\");\n --cui-sidebar-nav-group-indicator-hover: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%28255, 255, 255, 0.87%29'%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\");\n --cui-sidebar-nav-group-toggle-show-color: rgba(255, 255, 255, 0.6);\n position: relative;\n display: flex;\n flex: 0 0 var(--cui-sidebar-width);\n flex-direction: column;\n order: -1;\n width: var(--cui-sidebar-width);\n padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);\n color: var(--cui-sidebar-color);\n background: var(--cui-sidebar-bg);\n box-shadow: none;\n transition: margin-left 0.15s, margin-right 0.15s, box-shadow 0.075s, transform 0.15s, width 0.15s, z-index 0s ease 0.15s;\n}\nhtml:not([dir=rtl]) .sidebar {\n border-right: var(--cui-sidebar-border-width) solid var(--cui-sidebar-border-color);\n}\n*[dir=rtl] .sidebar {\n border-left: var(--cui-sidebar-border-width) solid var(--cui-sidebar-border-color);\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar {\n transition: none;\n }\n}\nhtml:not([dir=rtl]) .sidebar:not(.sidebar-end) {\n margin-left: 0;\n}\n*[dir=rtl] .sidebar:not(.sidebar-end) {\n margin-right: 0;\n}\n.sidebar:not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 16rem;\n}\n.sidebar.sidebar-end {\n order: 99;\n}\nhtml:not([dir=rtl]) .sidebar.sidebar-end {\n margin-right: 0;\n}\n*[dir=rtl] .sidebar.sidebar-end {\n margin-left: 0;\n}\n.sidebar.sidebar-end ~ * {\n --cui-sidebar-occupy-end: 16rem;\n}\n.sidebar[class*=bg-] {\n border-color: rgba(0, 0, 21, 0.1);\n}\n.sidebar.sidebar-sm {\n --cui-sidebar-width: 12rem;\n}\n@media (min-width: 768px) {\n .sidebar.sidebar-sm:not(.sidebar-end):not(.hide) ~ * {\n --cui-sidebar-occupy-start: 12rem;\n }\n .sidebar.sidebar-sm.sidebar-end:not(.hide) ~ * {\n --cui-sidebar-occupy-end: 12rem;\n }\n}\n.sidebar.sidebar-lg {\n --cui-sidebar-width: 20rem;\n}\n@media (min-width: 768px) {\n .sidebar.sidebar-lg:not(.sidebar-end):not(.hide) ~ * {\n --cui-sidebar-occupy-start: 20rem;\n }\n .sidebar.sidebar-lg.sidebar-end:not(.hide) ~ * {\n --cui-sidebar-occupy-end: 20rem;\n }\n}\n.sidebar.sidebar-xl {\n --cui-sidebar-width: 24rem;\n}\n@media (min-width: 768px) {\n .sidebar.sidebar-xl:not(.sidebar-end):not(.hide) ~ * {\n --cui-sidebar-occupy-start: 24rem;\n }\n .sidebar.sidebar-xl.sidebar-end:not(.hide) ~ * {\n --cui-sidebar-occupy-end: 24rem;\n }\n}\n@media (min-width: 768px) {\n html:not([dir=rtl]) .sidebar.hide:not(.sidebar-end) {\n margin-left: calc(-1 * var(--cui-sidebar-width));\n }\n *[dir=rtl] .sidebar.hide:not(.sidebar-end) {\n margin-right: calc(-1 * var(--cui-sidebar-width));\n }\n .sidebar.hide:not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 0;\n }\n html:not([dir=rtl]) .sidebar.hide.sidebar-end {\n margin-right: calc(-1 * var(--cui-sidebar-width));\n }\n *[dir=rtl] .sidebar.hide.sidebar-end {\n margin-left: calc(-1 * var(--cui-sidebar-width));\n }\n .sidebar.hide.sidebar-end ~ * {\n --cui-sidebar-occupy-end: 0;\n }\n}\n@media (min-width: 768px) {\n .sidebar.sidebar-fixed {\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: 1030;\n }\n html:not([dir=rtl]) .sidebar.sidebar-fixed:not(.sidebar-end) {\n left: 0;\n }\n *[dir=rtl] .sidebar.sidebar-fixed:not(.sidebar-end) {\n right: 0;\n }\n html:not([dir=rtl]) .sidebar.sidebar-fixed.sidebar-end {\n right: 0;\n }\n *[dir=rtl] .sidebar.sidebar-fixed.sidebar-end {\n left: 0;\n }\n}\n@media (min-width: 768px) {\n .sidebar.sidebar-sticky {\n position: sticky;\n top: 0;\n height: 100vh;\n }\n}\n.sidebar.sidebar-overlaid {\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: 1032;\n}\nhtml:not([dir=rtl]) .sidebar.sidebar-overlaid:not(.sidebar-end) {\n left: 0;\n}\n*[dir=rtl] .sidebar.sidebar-overlaid:not(.sidebar-end) {\n right: 0;\n}\n.sidebar.sidebar-overlaid:not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 0;\n}\nhtml:not([dir=rtl]) .sidebar.sidebar-overlaid.sidebar-end {\n right: 0;\n}\n*[dir=rtl] .sidebar.sidebar-overlaid.sidebar-end {\n left: 0;\n}\n.sidebar.sidebar-overlaid.sidebar-end ~ * {\n --cui-sidebar-occupy-end: 0;\n}\n@media (max-width: 767.98px) {\n .sidebar {\n --cui-is-mobile: true;\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: 1031;\n }\n html:not([dir=rtl]) .sidebar:not(.sidebar-end) {\n left: 0;\n }\n *[dir=rtl] .sidebar:not(.sidebar-end) {\n right: 0;\n }\n .sidebar:not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 0 !important;\n }\n html:not([dir=rtl]) .sidebar:not(.sidebar-end):not(.show) {\n margin-left: calc(-1 * var(--cui-sidebar-width));\n }\n *[dir=rtl] .sidebar:not(.sidebar-end):not(.show) {\n margin-right: calc(-1 * var(--cui-sidebar-width));\n }\n html:not([dir=rtl]) .sidebar.sidebar-end {\n right: 0;\n }\n *[dir=rtl] .sidebar.sidebar-end {\n left: 0;\n }\n .sidebar.sidebar-end ~ * {\n --cui-sidebar-occupy-end: 0 !important;\n }\n html:not([dir=rtl]) .sidebar.sidebar-end:not(.show) {\n margin-right: calc(-1 * var(--cui-sidebar-width));\n }\n *[dir=rtl] .sidebar.sidebar-end:not(.show) {\n margin-left: calc(-1 * var(--cui-sidebar-width));\n }\n}\n\n.sidebar-close {\n position: absolute;\n top: 0;\n width: var(--cui-sidebar-width);\n height: var(--cui-sidebar-header-height);\n color: var(--cui-sidebar-color);\n background: transparent;\n border: 0;\n}\nhtml:not([dir=rtl]) .sidebar-close {\n right: 0;\n}\n*[dir=rtl] .sidebar-close {\n left: 0;\n}\n.sidebar-close:hover {\n text-decoration: none;\n}\n.sidebar-close:focus {\n outline: 0;\n}\n\n.sidebar-brand {\n display: flex;\n flex: 0 0 var(--cui-sidebar-brand-height);\n align-items: center;\n justify-content: center;\n color: var(--cui-sidebar-brand-color);\n background: var(--cui-sidebar-brand-bg);\n}\n.sidebar-brand .sidebar-brand-narrow {\n display: none;\n}\n\n.sidebar-header {\n flex: 0 0 var(--cui-sidebar-header-height);\n padding: var(--cui-sidebar-header-padding-y) var(--cui-sidebar-header-padding-x);\n text-align: center;\n background: var(--cui-sidebar-header-bg);\n transition: height 0.15s, padding 0.15s;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-header {\n transition: none;\n }\n}\n.sidebar-header .nav-link {\n display: flex;\n align-items: center;\n min-height: var(--cui-sidebar-header-height);\n}\n\n.sidebar-footer {\n flex: 0 0 var(--cui-sidebar-footer-height);\n padding: var(--cui-sidebar-footer-padding-y) var(--cui-sidebar-footer-padding-x);\n background: var(--cui-sidebar-footer-bg);\n transition: height 0.15s, padding 0.15s;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-footer {\n transition: none;\n }\n}\n\n.sidebar-toggler {\n display: flex;\n flex: 0 0 var(--cui-sidebar-toggler-height);\n justify-content: flex-end;\n width: inherit;\n padding: 0;\n cursor: pointer;\n background-color: var(--cui-sidebar-toggler-bg);\n border: 0;\n}\n@media (max-width: 767.98px) {\n .sidebar-toggler {\n display: none;\n }\n}\n.sidebar-toggler::before {\n display: block;\n width: var(--cui-sidebar-toggler-indicator-width);\n height: var(--cui-sidebar-toggler-indicator-height);\n content: \"\";\n background-image: var(--cui-sidebar-toggler-indicator);\n background-repeat: no-repeat;\n background-position: center;\n background-size: calc(var(--cui-sidebar-toggler-indicator-height) * 0.25);\n transition: transform 0.15s;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-toggler::before {\n transition: none;\n }\n}\n*[dir=rtl] .sidebar-toggler::before {\n transform: rotate(-180deg);\n}\n.sidebar-toggler:focus {\n outline: 0;\n}\n.sidebar-toggler:hover {\n background-color: var(--cui-sidebar-toggler-hover-bg);\n}\n.sidebar-toggler:hover::before {\n background-image: var(--cui-sidebar-toggler-indicator-hover);\n}\n.sidebar-end .sidebar-toggler {\n justify-content: flex-start;\n}\n.sidebar-end .sidebar-toggler::before {\n transform: rotate(-180deg);\n}\n\n.sidebar-backdrop {\n --cui-backdrop-zindex: 1030;\n --cui-backdrop-bg: #000015;\n --cui-backdrop-opacity: 0.5;\n}\n@media (max-width: 767.98px) {\n .sidebar-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--cui-backdrop-zindex);\n width: 100vw;\n height: 100vh;\n background-color: var(--cui-backdrop-bg);\n }\n .sidebar-backdrop.fade {\n opacity: 0;\n }\n .sidebar-backdrop.show {\n opacity: var(--cui-backdrop-opacity);\n }\n}\n\n.sidebar-nav {\n position: relative;\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 0;\n margin-bottom: 0;\n overflow-x: hidden;\n overflow-y: auto;\n list-style: none;\n}\n.sidebar-nav .nav-title {\n padding: var(--cui-sidebar-nav-title-padding-y) var(--cui-sidebar-nav-title-padding-x);\n margin-top: var(--cui-sidebar-nav-title-margin-top);\n font-size: 80%;\n font-weight: 700;\n color: var(--cui-sidebar-nav-title-color);\n text-transform: uppercase;\n transition: height 0.15s, margin 0.15s;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-title {\n transition: none;\n }\n}\n.sidebar-nav .nav-link {\n display: flex;\n flex: 1;\n align-items: center;\n padding: var(--cui-sidebar-nav-link-padding-y) var(--cui-sidebar-nav-link-padding-x);\n color: var(--cui-sidebar-nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: var(--cui-sidebar-nav-link-bg);\n border: var(--cui-sidebar-nav-link-border);\n border-radius: var(--cui-sidebar-nav-link-border-radius);\n transition: background 0.15s ease, color 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-link {\n transition: none;\n }\n}\n.sidebar-nav .nav-link.active {\n color: var(--cui-sidebar-nav-link-active-color);\n background: var(--cui-sidebar-nav-link-active-bg);\n}\n.sidebar-nav .nav-link.active .nav-icon {\n color: var(--cui-sidebar-nav-link-active-icon-color);\n}\n.sidebar-nav .nav-link.disabled {\n color: var(--cui-sidebar-nav-link-disabled-color);\n pointer-events: none;\n cursor: not-allowed;\n background: transparent;\n}\n.sidebar-nav .nav-link.disabled .nav-icon {\n color: var(--cui-sidebar-nav-link-disabled-icon-color);\n}\n.sidebar-nav .nav-link.disabled:hover {\n color: var(--cui-sidebar-nav-link-disabled-color);\n}\n.sidebar-nav .nav-link.disabled:hover .nav-icon {\n color: var(--cui-sidebar-nav-link-disabled-icon-color);\n}\n.sidebar-nav .nav-link.disabled:hover.nav-dropdown-toggle::after {\n background-image: var(--cui-sidebar-nav-group-indicator-hover);\n}\n@media (hover: hover), (-ms-high-contrast: none) {\n .sidebar-nav .nav-link:hover {\n color: var(--cui-sidebar-nav-link-hover-color);\n text-decoration: none;\n background: var(--cui-sidebar-nav-link-hover-bg);\n }\n .sidebar-nav .nav-link:hover .nav-icon {\n color: var(--cui-sidebar-nav-link-hover-icon-color);\n }\n .sidebar-nav .nav-link:hover.nav-group-toggle::after {\n background-image: var(--cui-sidebar-nav-group-indicator-hover);\n }\n}\n.sidebar-nav .nav-icon {\n flex: 0 0 var(--cui-sidebar-nav-icon-width);\n height: var(--cui-sidebar-nav-icon-height);\n font-size: var(--cui-sidebar-nav-icon-font-size);\n color: var(--cui-sidebar-nav-link-icon-color);\n text-align: center;\n pointer-events: none;\n fill: currentcolor;\n transition: inherit;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-icon {\n transition: none;\n }\n}\nhtml:not([dir=rtl]) .sidebar-nav .nav-icon:first-child {\n margin-left: calc(var(--cui-sidebar-nav-link-padding-x) * -1);\n}\n*[dir=rtl] .sidebar-nav .nav-icon:first-child {\n margin-right: calc(var(--cui-sidebar-nav-link-padding-x) * -1);\n}\n.sidebar-nav svg.nav-icon {\n overflow: hidden;\n}\n.sidebar-nav .nav-group {\n position: relative;\n transition: background 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-group {\n transition: none;\n }\n}\n.sidebar-nav .nav-group .nav-group-items {\n padding: var(--cui-sidebar-nav-group-items-padding-y) var(--cui-sidebar-nav-group-items-padding-x);\n overflow: hidden;\n transition: height 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-group .nav-group-items {\n transition: none;\n }\n}\n.sidebar-nav .nav-group:not(.show) .nav-group-items {\n display: none;\n}\n.sidebar-nav .nav-group.show {\n background: var(--cui-sidebar-nav-group-bg);\n}\n.sidebar-nav .nav-group.show .nav-group-toggle {\n color: var(--cui-sidebar-nav-group-toggle-show-color);\n}\n.sidebar-nav .nav-group.show > .nav-group-toggle::after {\n transform: rotate(180deg);\n}\n.sidebar-nav .nav-group.show + .show {\n margin-top: 1px;\n}\n.sidebar-nav .nav-group-toggle {\n cursor: pointer;\n}\n.sidebar-nav .nav-group-toggle::after {\n display: block;\n flex: 0 12px;\n height: 12px;\n content: \"\";\n background-image: var(--cui-sidebar-nav-group-indicator);\n background-repeat: no-repeat;\n background-position: center;\n transition: transform 0.15s;\n}\nhtml:not([dir=rtl]) .sidebar-nav .nav-group-toggle::after {\n margin-left: auto;\n}\n*[dir=rtl] .sidebar-nav .nav-group-toggle::after {\n margin-right: auto;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-group-toggle::after {\n transition: none;\n }\n}\n.sidebar-nav .nav-group-items {\n padding: 0;\n list-style: none;\n}\nhtml:not([dir=rtl]) .sidebar-nav .nav-group-items .nav-link {\n padding-left: var(--cui-sidebar-nav-icon-width);\n}\n*[dir=rtl] .sidebar-nav .nav-group-items .nav-link {\n padding-right: var(--cui-sidebar-nav-icon-width);\n}\nhtml:not([dir=rtl]) .sidebar-nav .nav-group-items .nav-link .nav-icon {\n margin-left: calc(var(--cui-sidebar-nav-icon-width) * -1);\n}\n*[dir=rtl] .sidebar-nav .nav-group-items .nav-link .nav-icon {\n margin-right: calc(var(--cui-sidebar-nav-icon-width) * -1);\n}\n.sidebar-nav.compact .nav-link,\n.sidebar-nav .compact .nav-link {\n padding-top: calc(var(--cui-sidebar-nav-link-padding-y) * 0.5);\n padding-bottom: calc(var(--cui-sidebar-nav-link-padding-y) * 0.5);\n}\n\n@media (min-width: 768px) {\n .sidebar-narrow-unfoldable:not(:hover), .sidebar-narrow {\n z-index: 1031;\n flex: 0 0 var(--cui-sidebar-narrow-width);\n width: var(--cui-sidebar-narrow-width);\n padding-bottom: var(--cui-sidebar-toggler-height);\n overflow: visible;\n }\n .sidebar-fixed.sidebar-narrow-unfoldable:not(:hover), .sidebar-fixed.sidebar-narrow {\n z-index: 1031;\n width: var(--cui-sidebar-narrow-width);\n }\n .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-full, .sidebar-narrow .sidebar-brand-full {\n display: none;\n }\n .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-narrow, .sidebar-narrow .sidebar-brand-narrow {\n display: block;\n }\n .sidebar-narrow-unfoldable:not(:hover) .d-narrow-none, .sidebar-narrow .d-narrow-none,\n .sidebar-narrow-unfoldable:not(:hover) .nav-label,\n .sidebar-narrow .nav-label,\n .sidebar-narrow-unfoldable:not(:hover) .nav-title,\n .sidebar-narrow .nav-title,\n .sidebar-narrow-unfoldable:not(:hover) .nav-group-items,\n .sidebar-narrow .nav-group-items,\n .sidebar-narrow-unfoldable:not(:hover) .sidebar-footer,\n .sidebar-narrow .sidebar-footer,\n .sidebar-narrow-unfoldable:not(:hover) .sidebar-form,\n .sidebar-narrow .sidebar-form,\n .sidebar-narrow-unfoldable:not(:hover) .sidebar-header,\n .sidebar-narrow .sidebar-header {\n height: 0 !important;\n padding: 0;\n margin: 0;\n visibility: hidden;\n opacity: 0;\n }\n .sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler, .sidebar-narrow .sidebar-toggler {\n position: fixed;\n bottom: 0;\n }\n html:not([dir=rtl]) .sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before, html:not([dir=rtl]) .sidebar-narrow .sidebar-toggler::before {\n transform: rotate(-180deg);\n }\n *[dir=rtl] .sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before, *[dir=rtl] .sidebar-narrow .sidebar-toggler::before {\n transform: rotate(0deg);\n }\n .sidebar-end.sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before, .sidebar-end.sidebar-narrow .sidebar-toggler::before {\n transform: rotate(0deg);\n }\n}\n\n.sidebar-narrow:not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 4rem;\n}\n.sidebar-narrow.sidebar-end ~ * {\n --cui-sidebar-occupy-end: 4rem;\n}\n\n.sidebar-narrow-unfoldable {\n position: fixed;\n z-index: 1031;\n}\n.sidebar-narrow-unfoldable:not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 4rem;\n}\n.sidebar-narrow-unfoldable.sidebar-end ~ * {\n --cui-sidebar-occupy-end: 4rem;\n}\nhtml:not([dir=rtl]) .sidebar-narrow-unfoldable:hover .sidebar-toggler::before {\n transform: rotate(-180deg);\n}\n*[dir=rtl] .sidebar-narrow-unfoldable:hover .sidebar-toggler::before {\n transform: rotate(0deg);\n}\n.sidebar-narrow-unfoldable:hover.sidebar-end .sidebar-toggler::before {\n transform: rotate(0deg);\n}\n\nhtml:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n}\n*[dir=rtl] .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n}\nhtml:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow-unfoldable.sidebar-end {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n}\n*[dir=rtl] .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding.sidebar-narrow-unfoldable.sidebar-end {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n}\n\n@media (max-width: 575.98px) {\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow-unfoldable.sidebar-end {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-sm.sidebar-narrow-unfoldable.sidebar-end {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n}\n@media (max-width: 767.98px) {\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow-unfoldable.sidebar-end {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-md.sidebar-narrow-unfoldable.sidebar-end {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n}\n@media (max-width: 991.98px) {\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow-unfoldable.sidebar-end {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-lg.sidebar-narrow-unfoldable.sidebar-end {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n}\n@media (max-width: 1199.98px) {\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow-unfoldable.sidebar-end {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xl.sidebar-narrow-unfoldable.sidebar-end {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n}\n@media (max-width: 1399.98px) {\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow:not(.sidebar-end), html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow:not(.sidebar-end), *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow-unfoldable:not(.sidebar-end) {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow.sidebar-end, html:not([dir=rtl]) .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow-unfoldable.sidebar-end {\n margin-right: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow.sidebar-end, *[dir=rtl] .sidebar:not(.show).sidebar-self-hiding-xxl.sidebar-narrow-unfoldable.sidebar-end {\n margin-left: calc(var(--cui-sidebar-narrow-width) * -1);\n }\n}\n.subheader {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n min-height: 3rem;\n padding: 0.5rem 1rem;\n background: var(--cui-subheader-bg, #fff);\n border-bottom: var(--cui-subheader-border-width, 1px) solid var(--cui-subheader-border-color, #d8dbe0);\n}\n\n.subheader-sticky {\n position: sticky;\n top: 0;\n z-index: 1029;\n}\n\n.subheader-nav {\n display: flex;\n flex-direction: row;\n margin-bottom: 0;\n list-style: none;\n}\nhtml:not([dir=rtl]) .subheader-nav {\n padding-left: 0;\n}\n*[dir=rtl] .subheader-nav {\n padding-right: 0;\n}\n.subheader-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: var(--cui-subheader-color, rgba(44, 56, 74, 0.681));\n}\n.subheader-nav .nav-link:hover, .subheader-nav .nav-link:focus {\n color: var(--cui-subheader-hover-color, rgba(44, 56, 74, 0.95));\n}\n.subheader-nav .nav-link.disabled {\n color: var(--cui-subheader-disabled-color, rgba(44, 56, 74, 0.38));\n}\n.subheader-nav .show > .nav-link,\n.subheader-nav .nav-link.active {\n color: var(--cui-subheader-active-color, rgba(44, 56, 74, 0.95));\n}\n.subheader-nav .dropdown-menu {\n position: absolute;\n}\n\n.subheader-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--cui-subheader-color, rgba(44, 56, 74, 0.681));\n}\n.subheader-text a {\n color: var(--cui-subheader-active-color, rgba(44, 56, 74, 0.95));\n}\n.subheader-text a:hover, .subheader-text a:focus {\n color: var(--cui-subheader-active-color, rgba(44, 56, 74, 0.95));\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.text-bg-primary {\n color: rgba(255, 255, 255, 0.87) !important;\n background-color: RGBA(50, 31, 219, var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-secondary {\n color: #000015 !important;\n background-color: RGBA(157, 165, 177, var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-success {\n color: #000015 !important;\n background-color: RGBA(46, 184, 92, var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-info {\n color: #000015 !important;\n background-color: RGBA(51, 153, 255, var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-warning {\n color: rgba(44, 56, 74, 0.95) !important;\n background-color: RGBA(249, 177, 21, var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-danger {\n color: #000015 !important;\n background-color: RGBA(229, 83, 83, var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-light {\n color: rgba(44, 56, 74, 0.95) !important;\n background-color: RGBA(235, 237, 239, var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-dark {\n color: rgba(255, 255, 255, 0.87) !important;\n background-color: RGBA(79, 93, 115, var(--cui-bg-opacity, 1)) !important;\n}\n\n.link-primary {\n color: #321fdb !important;\n}\n.link-primary:hover, .link-primary:focus {\n color: #5b4ce2 !important;\n}\n\n.link-secondary {\n color: #9da5b1 !important;\n}\n.link-secondary:hover, .link-secondary:focus {\n color: #b1b7c1 !important;\n}\n\n.link-success {\n color: #2eb85c !important;\n}\n.link-success:hover, .link-success:focus {\n color: #58c67d !important;\n}\n\n.link-info {\n color: #39f !important;\n}\n.link-info:hover, .link-info:focus {\n color: #5cadff !important;\n}\n\n.link-warning {\n color: #f9b115 !important;\n}\n.link-warning:hover, .link-warning:focus {\n color: #c78e11 !important;\n}\n\n.link-danger {\n color: #e55353 !important;\n}\n.link-danger:hover, .link-danger:focus {\n color: #ea7575 !important;\n}\n\n.link-light {\n color: #ebedef !important;\n}\n.link-light:hover, .link-light:focus {\n color: #bcbebf !important;\n}\n\n.link-dark {\n color: #4f5d73 !important;\n}\n.link-dark:hover, .link-dark:focus {\n color: #727d8f !important;\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--cui-aspect-ratio);\n content: \"\";\n}\n.ratio > * {\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n}\nhtml:not([dir=rtl]) .ratio > * {\n left: 0;\n}\n*[dir=rtl] .ratio > * {\n right: 0;\n}\n\n.ratio-1x1 {\n --cui-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --cui-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n --cui-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n --cui-aspect-ratio: 42.8571428571%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xxl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n.hstack {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n}\n\n.vstack {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-self: stretch;\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.vr {\n display: inline-block;\n align-self: stretch;\n width: 1px;\n min-height: 1em;\n padding: 0;\n background-color: currentcolor;\n opacity: 0.25;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\nhtml:not([dir=rtl]) .float-start {\n float: left !important;\n}\n*[dir=rtl] .float-start {\n float: right !important;\n}\n\nhtml:not([dir=rtl]) .float-end {\n float: right !important;\n}\n*[dir=rtl] .float-end {\n float: left !important;\n}\n\nhtml:not([dir=rtl]) .float-none {\n float: none !important;\n}\n*[dir=rtl] .float-none {\n float: none !important;\n}\n\n.opacity-0 {\n opacity: 0 !important;\n}\n\n.opacity-25 {\n opacity: 0.25 !important;\n}\n\n.opacity-50 {\n opacity: 0.5 !important;\n}\n\n.opacity-75 {\n opacity: 0.75 !important;\n}\n\n.opacity-100 {\n opacity: 1 !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 21, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 21, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 21, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.start-0 {\n left: 0 !important;\n}\n\n.start-50 {\n left: 50% !important;\n}\n\n.start-100 {\n left: 100% !important;\n}\n\n.end-0 {\n right: 0 !important;\n}\n\n.end-50 {\n right: 50% !important;\n}\n\n.end-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n transform: translateY(-50%) !important;\n}\n\n.border {\n border: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\nhtml:not([dir=rtl]) .border-end {\n border-right: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n*[dir=rtl] .border-end {\n border-left: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\nhtml:not([dir=rtl]) .border-end-0 {\n border-right: 0 !important;\n}\n*[dir=rtl] .border-end-0 {\n border-left: 0 !important;\n}\n\n.border-bottom {\n border-bottom: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\nhtml:not([dir=rtl]) .border-start {\n border-left: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n*[dir=rtl] .border-start {\n border-right: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\nhtml:not([dir=rtl]) .border-start-0 {\n border-left: 0 !important;\n}\n*[dir=rtl] .border-start-0 {\n border-right: 0 !important;\n}\n\n.border-primary {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-primary-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-secondary {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-secondary-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-success {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-success-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-info {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-info-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-warning {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-warning-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-danger {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-danger-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-light {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-light-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-dark {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-dark-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-white {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-white-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-top-primary {\n border-top-color: #321fdb !important;\n}\n\n.border-top-secondary {\n border-top-color: #9da5b1 !important;\n}\n\n.border-top-success {\n border-top-color: #2eb85c !important;\n}\n\n.border-top-info {\n border-top-color: #39f !important;\n}\n\n.border-top-warning {\n border-top-color: #f9b115 !important;\n}\n\n.border-top-danger {\n border-top-color: #e55353 !important;\n}\n\n.border-top-light {\n border-top-color: #ebedef !important;\n}\n\n.border-top-dark {\n border-top-color: #4f5d73 !important;\n}\n\n.border-top-white {\n border-top-color: #fff !important;\n}\n\nhtml:not([dir=rtl]) .border-end-primary {\n border-right-color: #321fdb !important;\n}\n*[dir=rtl] .border-end-primary {\n border-left-color: #321fdb !important;\n}\n\nhtml:not([dir=rtl]) .border-end-secondary {\n border-right-color: #9da5b1 !important;\n}\n*[dir=rtl] .border-end-secondary {\n border-left-color: #9da5b1 !important;\n}\n\nhtml:not([dir=rtl]) .border-end-success {\n border-right-color: #2eb85c !important;\n}\n*[dir=rtl] .border-end-success {\n border-left-color: #2eb85c !important;\n}\n\nhtml:not([dir=rtl]) .border-end-info {\n border-right-color: #39f !important;\n}\n*[dir=rtl] .border-end-info {\n border-left-color: #39f !important;\n}\n\nhtml:not([dir=rtl]) .border-end-warning {\n border-right-color: #f9b115 !important;\n}\n*[dir=rtl] .border-end-warning {\n border-left-color: #f9b115 !important;\n}\n\nhtml:not([dir=rtl]) .border-end-danger {\n border-right-color: #e55353 !important;\n}\n*[dir=rtl] .border-end-danger {\n border-left-color: #e55353 !important;\n}\n\nhtml:not([dir=rtl]) .border-end-light {\n border-right-color: #ebedef !important;\n}\n*[dir=rtl] .border-end-light {\n border-left-color: #ebedef !important;\n}\n\nhtml:not([dir=rtl]) .border-end-dark {\n border-right-color: #4f5d73 !important;\n}\n*[dir=rtl] .border-end-dark {\n border-left-color: #4f5d73 !important;\n}\n\nhtml:not([dir=rtl]) .border-end-white {\n border-right-color: #fff !important;\n}\n*[dir=rtl] .border-end-white {\n border-left-color: #fff !important;\n}\n\n.border-bottom-primary {\n border-bottom-color: #321fdb !important;\n}\n\n.border-bottom-secondary {\n border-bottom-color: #9da5b1 !important;\n}\n\n.border-bottom-success {\n border-bottom-color: #2eb85c !important;\n}\n\n.border-bottom-info {\n border-bottom-color: #39f !important;\n}\n\n.border-bottom-warning {\n border-bottom-color: #f9b115 !important;\n}\n\n.border-bottom-danger {\n border-bottom-color: #e55353 !important;\n}\n\n.border-bottom-light {\n border-bottom-color: #ebedef !important;\n}\n\n.border-bottom-dark {\n border-bottom-color: #4f5d73 !important;\n}\n\n.border-bottom-white {\n border-bottom-color: #fff !important;\n}\n\nhtml:not([dir=rtl]) .border-start-primary {\n border-left-color: #321fdb !important;\n}\n*[dir=rtl] .border-start-primary {\n border-right-color: #321fdb !important;\n}\n\nhtml:not([dir=rtl]) .border-start-secondary {\n border-left-color: #9da5b1 !important;\n}\n*[dir=rtl] .border-start-secondary {\n border-right-color: #9da5b1 !important;\n}\n\nhtml:not([dir=rtl]) .border-start-success {\n border-left-color: #2eb85c !important;\n}\n*[dir=rtl] .border-start-success {\n border-right-color: #2eb85c !important;\n}\n\nhtml:not([dir=rtl]) .border-start-info {\n border-left-color: #39f !important;\n}\n*[dir=rtl] .border-start-info {\n border-right-color: #39f !important;\n}\n\nhtml:not([dir=rtl]) .border-start-warning {\n border-left-color: #f9b115 !important;\n}\n*[dir=rtl] .border-start-warning {\n border-right-color: #f9b115 !important;\n}\n\nhtml:not([dir=rtl]) .border-start-danger {\n border-left-color: #e55353 !important;\n}\n*[dir=rtl] .border-start-danger {\n border-right-color: #e55353 !important;\n}\n\nhtml:not([dir=rtl]) .border-start-light {\n border-left-color: #ebedef !important;\n}\n*[dir=rtl] .border-start-light {\n border-right-color: #ebedef !important;\n}\n\nhtml:not([dir=rtl]) .border-start-dark {\n border-left-color: #4f5d73 !important;\n}\n*[dir=rtl] .border-start-dark {\n border-right-color: #4f5d73 !important;\n}\n\nhtml:not([dir=rtl]) .border-start-white {\n border-left-color: #fff !important;\n}\n*[dir=rtl] .border-start-white {\n border-right-color: #fff !important;\n}\n\n.border-1 {\n --cui-border-width: 1px;\n}\n\n.border-2 {\n --cui-border-width: 2px;\n}\n\n.border-3 {\n --cui-border-width: 3px;\n}\n\n.border-4 {\n --cui-border-width: 4px;\n}\n\n.border-5 {\n --cui-border-width: 5px;\n}\n\n.border-top-1 {\n border-top-width: 1px !important;\n}\n\n.border-top-2 {\n border-top-width: 2px !important;\n}\n\n.border-top-3 {\n border-top-width: 3px !important;\n}\n\n.border-top-4 {\n border-top-width: 4px !important;\n}\n\n.border-top-5 {\n border-top-width: 5px !important;\n}\n\nhtml:not([dir=rtl]) .border-end-1 {\n border-right-width: 1px !important;\n}\n*[dir=rtl] .border-end-1 {\n border-left-width: 1px !important;\n}\n\nhtml:not([dir=rtl]) .border-end-2 {\n border-right-width: 2px !important;\n}\n*[dir=rtl] .border-end-2 {\n border-left-width: 2px !important;\n}\n\nhtml:not([dir=rtl]) .border-end-3 {\n border-right-width: 3px !important;\n}\n*[dir=rtl] .border-end-3 {\n border-left-width: 3px !important;\n}\n\nhtml:not([dir=rtl]) .border-end-4 {\n border-right-width: 4px !important;\n}\n*[dir=rtl] .border-end-4 {\n border-left-width: 4px !important;\n}\n\nhtml:not([dir=rtl]) .border-end-5 {\n border-right-width: 5px !important;\n}\n*[dir=rtl] .border-end-5 {\n border-left-width: 5px !important;\n}\n\n.border-bottom-1 {\n border-bottom-width: 1px !important;\n}\n\n.border-bottom-2 {\n border-bottom-width: 2px !important;\n}\n\n.border-bottom-3 {\n border-bottom-width: 3px !important;\n}\n\n.border-bottom-4 {\n border-bottom-width: 4px !important;\n}\n\n.border-bottom-5 {\n border-bottom-width: 5px !important;\n}\n\nhtml:not([dir=rtl]) .border-start-1 {\n border-left-width: 1px !important;\n}\n*[dir=rtl] .border-start-1 {\n border-right-width: 1px !important;\n}\n\nhtml:not([dir=rtl]) .border-start-2 {\n border-left-width: 2px !important;\n}\n*[dir=rtl] .border-start-2 {\n border-right-width: 2px !important;\n}\n\nhtml:not([dir=rtl]) .border-start-3 {\n border-left-width: 3px !important;\n}\n*[dir=rtl] .border-start-3 {\n border-right-width: 3px !important;\n}\n\nhtml:not([dir=rtl]) .border-start-4 {\n border-left-width: 4px !important;\n}\n*[dir=rtl] .border-start-4 {\n border-right-width: 4px !important;\n}\n\nhtml:not([dir=rtl]) .border-start-5 {\n border-left-width: 5px !important;\n}\n*[dir=rtl] .border-start-5 {\n border-right-width: 5px !important;\n}\n\n.border-opacity-10 {\n --cui-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n --cui-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n --cui-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n --cui-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n --cui-border-opacity: 1;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\nhtml:not([dir=rtl]) .me-0 {\n margin-right: 0 !important;\n}\n*[dir=rtl] .me-0 {\n margin-left: 0 !important;\n}\n\nhtml:not([dir=rtl]) .me-1 {\n margin-right: 0.25rem !important;\n}\n*[dir=rtl] .me-1 {\n margin-left: 0.25rem !important;\n}\n\nhtml:not([dir=rtl]) .me-2 {\n margin-right: 0.5rem !important;\n}\n*[dir=rtl] .me-2 {\n margin-left: 0.5rem !important;\n}\n\nhtml:not([dir=rtl]) .me-3 {\n margin-right: 1rem !important;\n}\n*[dir=rtl] .me-3 {\n margin-left: 1rem !important;\n}\n\nhtml:not([dir=rtl]) .me-4 {\n margin-right: 1.5rem !important;\n}\n*[dir=rtl] .me-4 {\n margin-left: 1.5rem !important;\n}\n\nhtml:not([dir=rtl]) .me-5 {\n margin-right: 3rem !important;\n}\n*[dir=rtl] .me-5 {\n margin-left: 3rem !important;\n}\n\nhtml:not([dir=rtl]) .me-auto {\n margin-right: auto !important;\n}\n*[dir=rtl] .me-auto {\n margin-left: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\nhtml:not([dir=rtl]) .ms-0 {\n margin-left: 0 !important;\n}\n*[dir=rtl] .ms-0 {\n margin-right: 0 !important;\n}\n\nhtml:not([dir=rtl]) .ms-1 {\n margin-left: 0.25rem !important;\n}\n*[dir=rtl] .ms-1 {\n margin-right: 0.25rem !important;\n}\n\nhtml:not([dir=rtl]) .ms-2 {\n margin-left: 0.5rem !important;\n}\n*[dir=rtl] .ms-2 {\n margin-right: 0.5rem !important;\n}\n\nhtml:not([dir=rtl]) .ms-3 {\n margin-left: 1rem !important;\n}\n*[dir=rtl] .ms-3 {\n margin-right: 1rem !important;\n}\n\nhtml:not([dir=rtl]) .ms-4 {\n margin-left: 1.5rem !important;\n}\n*[dir=rtl] .ms-4 {\n margin-right: 1.5rem !important;\n}\n\nhtml:not([dir=rtl]) .ms-5 {\n margin-left: 3rem !important;\n}\n*[dir=rtl] .ms-5 {\n margin-right: 3rem !important;\n}\n\nhtml:not([dir=rtl]) .ms-auto {\n margin-left: auto !important;\n}\n*[dir=rtl] .ms-auto {\n margin-right: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\nhtml:not([dir=rtl]) .pe-0 {\n padding-right: 0 !important;\n}\n*[dir=rtl] .pe-0 {\n padding-left: 0 !important;\n}\n\nhtml:not([dir=rtl]) .pe-1 {\n padding-right: 0.25rem !important;\n}\n*[dir=rtl] .pe-1 {\n padding-left: 0.25rem !important;\n}\n\nhtml:not([dir=rtl]) .pe-2 {\n padding-right: 0.5rem !important;\n}\n*[dir=rtl] .pe-2 {\n padding-left: 0.5rem !important;\n}\n\nhtml:not([dir=rtl]) .pe-3 {\n padding-right: 1rem !important;\n}\n*[dir=rtl] .pe-3 {\n padding-left: 1rem !important;\n}\n\nhtml:not([dir=rtl]) .pe-4 {\n padding-right: 1.5rem !important;\n}\n*[dir=rtl] .pe-4 {\n padding-left: 1.5rem !important;\n}\n\nhtml:not([dir=rtl]) .pe-5 {\n padding-right: 3rem !important;\n}\n*[dir=rtl] .pe-5 {\n padding-left: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\nhtml:not([dir=rtl]) .ps-0 {\n padding-left: 0 !important;\n}\n*[dir=rtl] .ps-0 {\n padding-right: 0 !important;\n}\n\nhtml:not([dir=rtl]) .ps-1 {\n padding-left: 0.25rem !important;\n}\n*[dir=rtl] .ps-1 {\n padding-right: 0.25rem !important;\n}\n\nhtml:not([dir=rtl]) .ps-2 {\n padding-left: 0.5rem !important;\n}\n*[dir=rtl] .ps-2 {\n padding-right: 0.5rem !important;\n}\n\nhtml:not([dir=rtl]) .ps-3 {\n padding-left: 1rem !important;\n}\n*[dir=rtl] .ps-3 {\n padding-right: 1rem !important;\n}\n\nhtml:not([dir=rtl]) .ps-4 {\n padding-left: 1.5rem !important;\n}\n*[dir=rtl] .ps-4 {\n padding-right: 1.5rem !important;\n}\n\nhtml:not([dir=rtl]) .ps-5 {\n padding-left: 3rem !important;\n}\n*[dir=rtl] .ps-5 {\n padding-right: 3rem !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 3rem !important;\n}\n\n.font-monospace {\n font-family: var(--cui-font-monospace) !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-medium {\n font-weight: 500 !important;\n}\n\n.fw-semibold {\n font-weight: 600 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\nhtml:not([dir=rtl]) .text-start {\n text-align: left !important;\n}\n*[dir=rtl] .text-start {\n text-align: right !important;\n}\n\nhtml:not([dir=rtl]) .text-end {\n text-align: right !important;\n}\n*[dir=rtl] .text-end {\n text-align: left !important;\n}\n\nhtml:not([dir=rtl]) .text-center {\n text-align: center !important;\n}\n*[dir=rtl] .text-center {\n text-align: center !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n.text-primary {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-primary-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-secondary {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-secondary-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-success {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-success-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-info {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-info-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-warning {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-warning-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-danger {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-danger-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-light {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-light-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-dark {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-dark-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-black {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-black-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-white {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-white-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-body {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-body-color-rgb), var(--cui-text-opacity)) !important;\n}\n\n.text-muted {\n --cui-text-opacity: 1;\n color: rgba(44, 56, 74, 0.38) !important;\n}\n\n.text-black-50 {\n --cui-text-opacity: 1;\n color: rgba(0, 0, 21, 0.5) !important;\n}\n\n.text-white-50 {\n --cui-text-opacity: 1;\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n --cui-text-opacity: 1;\n color: inherit !important;\n}\n\n.text-high-emphasis-inverse {\n --cui-text-opacity: 1;\n color: rgba(255, 255, 255, 0.87) !important;\n}\n\n.text-medium-emphasis-inverse {\n --cui-text-opacity: 1;\n color: rgba(255, 255, 255, 0.6) !important;\n}\n\n.text-disabled-inverse {\n --cui-text-opacity: 1;\n color: rgba(255, 255, 255, 0.38) !important;\n}\n\n.text-high-emphasis {\n --cui-text-opacity: 1;\n color: rgba(44, 56, 74, 0.95) !important;\n}\n\n.text-medium-emphasis {\n --cui-text-opacity: 1;\n color: rgba(44, 56, 74, 0.681) !important;\n}\n\n.text-disabled {\n --cui-text-opacity: 1;\n color: rgba(44, 56, 74, 0.38) !important;\n}\n\n.text-opacity-25 {\n --cui-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n --cui-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n --cui-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n --cui-text-opacity: 1;\n}\n\n.bg-primary {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-primary-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-secondary {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-secondary-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-success {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-success-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-info {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-info-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-warning {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-warning-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-danger {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-danger-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-light {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-light-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-dark {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-dark-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-black {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-black-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-white {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-white-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-body {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-body-bg-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-transparent {\n --cui-bg-opacity: 1;\n background-color: transparent !important;\n}\n\n.bg-opacity-10 {\n --cui-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n --cui-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n --cui-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n --cui-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n --cui-bg-opacity: 1;\n}\n\n.bg-gradient {\n background-image: var(--cui-gradient) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: var(--cui-border-radius-sm) !important;\n}\n\n.rounded-2 {\n border-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-3 {\n border-radius: var(--cui-border-radius-lg) !important;\n}\n\n.rounded-4 {\n border-radius: var(--cui-border-radius-xl) !important;\n}\n\n.rounded-5 {\n border-radius: var(--cui-border-radius-2xl) !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: var(--cui-border-radius-pill) !important;\n}\n\n.rounded-top {\n border-top-left-radius: var(--cui-border-radius) !important;\n border-top-right-radius: var(--cui-border-radius) !important;\n}\n\nhtml:not([dir=rtl]) .rounded-end {\n border-top-right-radius: var(--cui-border-radius) !important;\n}\n*[dir=rtl] .rounded-end {\n border-top-left-radius: var(--cui-border-radius) !important;\n}\nhtml:not([dir=rtl]) .rounded-end {\n border-bottom-right-radius: var(--cui-border-radius) !important;\n}\n*[dir=rtl] .rounded-end {\n border-bottom-left-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: var(--cui-border-radius) !important;\n border-bottom-left-radius: var(--cui-border-radius) !important;\n}\n\nhtml:not([dir=rtl]) .rounded-start {\n border-bottom-left-radius: var(--cui-border-radius) !important;\n}\n*[dir=rtl] .rounded-start {\n border-bottom-right-radius: var(--cui-border-radius) !important;\n}\nhtml:not([dir=rtl]) .rounded-start {\n border-top-left-radius: var(--cui-border-radius) !important;\n}\n*[dir=rtl] .rounded-start {\n border-top-right-radius: var(--cui-border-radius) !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n html:not([dir=rtl]) .float-sm-start {\n float: left !important;\n }\n *[dir=rtl] .float-sm-start {\n float: right !important;\n }\n html:not([dir=rtl]) .float-sm-end {\n float: right !important;\n }\n *[dir=rtl] .float-sm-end {\n float: left !important;\n }\n html:not([dir=rtl]) .float-sm-none {\n float: none !important;\n }\n *[dir=rtl] .float-sm-none {\n float: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n html:not([dir=rtl]) .me-sm-0 {\n margin-right: 0 !important;\n }\n *[dir=rtl] .me-sm-0 {\n margin-left: 0 !important;\n }\n html:not([dir=rtl]) .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n *[dir=rtl] .me-sm-1 {\n margin-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n *[dir=rtl] .me-sm-2 {\n margin-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .me-sm-3 {\n margin-right: 1rem !important;\n }\n *[dir=rtl] .me-sm-3 {\n margin-left: 1rem !important;\n }\n html:not([dir=rtl]) .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n *[dir=rtl] .me-sm-4 {\n margin-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .me-sm-5 {\n margin-right: 3rem !important;\n }\n *[dir=rtl] .me-sm-5 {\n margin-left: 3rem !important;\n }\n html:not([dir=rtl]) .me-sm-auto {\n margin-right: auto !important;\n }\n *[dir=rtl] .me-sm-auto {\n margin-left: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n html:not([dir=rtl]) .ms-sm-0 {\n margin-left: 0 !important;\n }\n *[dir=rtl] .ms-sm-0 {\n margin-right: 0 !important;\n }\n html:not([dir=rtl]) .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n *[dir=rtl] .ms-sm-1 {\n margin-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n *[dir=rtl] .ms-sm-2 {\n margin-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ms-sm-3 {\n margin-left: 1rem !important;\n }\n *[dir=rtl] .ms-sm-3 {\n margin-right: 1rem !important;\n }\n html:not([dir=rtl]) .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n *[dir=rtl] .ms-sm-4 {\n margin-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ms-sm-5 {\n margin-left: 3rem !important;\n }\n *[dir=rtl] .ms-sm-5 {\n margin-right: 3rem !important;\n }\n html:not([dir=rtl]) .ms-sm-auto {\n margin-left: auto !important;\n }\n *[dir=rtl] .ms-sm-auto {\n margin-right: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n html:not([dir=rtl]) .pe-sm-0 {\n padding-right: 0 !important;\n }\n *[dir=rtl] .pe-sm-0 {\n padding-left: 0 !important;\n }\n html:not([dir=rtl]) .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n *[dir=rtl] .pe-sm-1 {\n padding-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n *[dir=rtl] .pe-sm-2 {\n padding-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .pe-sm-3 {\n padding-right: 1rem !important;\n }\n *[dir=rtl] .pe-sm-3 {\n padding-left: 1rem !important;\n }\n html:not([dir=rtl]) .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n *[dir=rtl] .pe-sm-4 {\n padding-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .pe-sm-5 {\n padding-right: 3rem !important;\n }\n *[dir=rtl] .pe-sm-5 {\n padding-left: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n html:not([dir=rtl]) .ps-sm-0 {\n padding-left: 0 !important;\n }\n *[dir=rtl] .ps-sm-0 {\n padding-right: 0 !important;\n }\n html:not([dir=rtl]) .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n *[dir=rtl] .ps-sm-1 {\n padding-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n *[dir=rtl] .ps-sm-2 {\n padding-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ps-sm-3 {\n padding-left: 1rem !important;\n }\n *[dir=rtl] .ps-sm-3 {\n padding-right: 1rem !important;\n }\n html:not([dir=rtl]) .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n *[dir=rtl] .ps-sm-4 {\n padding-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ps-sm-5 {\n padding-left: 3rem !important;\n }\n *[dir=rtl] .ps-sm-5 {\n padding-right: 3rem !important;\n }\n .gap-sm-0 {\n gap: 0 !important;\n }\n .gap-sm-1 {\n gap: 0.25rem !important;\n }\n .gap-sm-2 {\n gap: 0.5rem !important;\n }\n .gap-sm-3 {\n gap: 1rem !important;\n }\n .gap-sm-4 {\n gap: 1.5rem !important;\n }\n .gap-sm-5 {\n gap: 3rem !important;\n }\n html:not([dir=rtl]) .text-sm-start {\n text-align: left !important;\n }\n *[dir=rtl] .text-sm-start {\n text-align: right !important;\n }\n html:not([dir=rtl]) .text-sm-end {\n text-align: right !important;\n }\n *[dir=rtl] .text-sm-end {\n text-align: left !important;\n }\n html:not([dir=rtl]) .text-sm-center {\n text-align: center !important;\n }\n *[dir=rtl] .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n html:not([dir=rtl]) .float-md-start {\n float: left !important;\n }\n *[dir=rtl] .float-md-start {\n float: right !important;\n }\n html:not([dir=rtl]) .float-md-end {\n float: right !important;\n }\n *[dir=rtl] .float-md-end {\n float: left !important;\n }\n html:not([dir=rtl]) .float-md-none {\n float: none !important;\n }\n *[dir=rtl] .float-md-none {\n float: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n html:not([dir=rtl]) .me-md-0 {\n margin-right: 0 !important;\n }\n *[dir=rtl] .me-md-0 {\n margin-left: 0 !important;\n }\n html:not([dir=rtl]) .me-md-1 {\n margin-right: 0.25rem !important;\n }\n *[dir=rtl] .me-md-1 {\n margin-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .me-md-2 {\n margin-right: 0.5rem !important;\n }\n *[dir=rtl] .me-md-2 {\n margin-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .me-md-3 {\n margin-right: 1rem !important;\n }\n *[dir=rtl] .me-md-3 {\n margin-left: 1rem !important;\n }\n html:not([dir=rtl]) .me-md-4 {\n margin-right: 1.5rem !important;\n }\n *[dir=rtl] .me-md-4 {\n margin-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .me-md-5 {\n margin-right: 3rem !important;\n }\n *[dir=rtl] .me-md-5 {\n margin-left: 3rem !important;\n }\n html:not([dir=rtl]) .me-md-auto {\n margin-right: auto !important;\n }\n *[dir=rtl] .me-md-auto {\n margin-left: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n html:not([dir=rtl]) .ms-md-0 {\n margin-left: 0 !important;\n }\n *[dir=rtl] .ms-md-0 {\n margin-right: 0 !important;\n }\n html:not([dir=rtl]) .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n *[dir=rtl] .ms-md-1 {\n margin-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n *[dir=rtl] .ms-md-2 {\n margin-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ms-md-3 {\n margin-left: 1rem !important;\n }\n *[dir=rtl] .ms-md-3 {\n margin-right: 1rem !important;\n }\n html:not([dir=rtl]) .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n *[dir=rtl] .ms-md-4 {\n margin-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ms-md-5 {\n margin-left: 3rem !important;\n }\n *[dir=rtl] .ms-md-5 {\n margin-right: 3rem !important;\n }\n html:not([dir=rtl]) .ms-md-auto {\n margin-left: auto !important;\n }\n *[dir=rtl] .ms-md-auto {\n margin-right: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n html:not([dir=rtl]) .pe-md-0 {\n padding-right: 0 !important;\n }\n *[dir=rtl] .pe-md-0 {\n padding-left: 0 !important;\n }\n html:not([dir=rtl]) .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n *[dir=rtl] .pe-md-1 {\n padding-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n *[dir=rtl] .pe-md-2 {\n padding-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .pe-md-3 {\n padding-right: 1rem !important;\n }\n *[dir=rtl] .pe-md-3 {\n padding-left: 1rem !important;\n }\n html:not([dir=rtl]) .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n *[dir=rtl] .pe-md-4 {\n padding-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .pe-md-5 {\n padding-right: 3rem !important;\n }\n *[dir=rtl] .pe-md-5 {\n padding-left: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n html:not([dir=rtl]) .ps-md-0 {\n padding-left: 0 !important;\n }\n *[dir=rtl] .ps-md-0 {\n padding-right: 0 !important;\n }\n html:not([dir=rtl]) .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n *[dir=rtl] .ps-md-1 {\n padding-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n *[dir=rtl] .ps-md-2 {\n padding-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ps-md-3 {\n padding-left: 1rem !important;\n }\n *[dir=rtl] .ps-md-3 {\n padding-right: 1rem !important;\n }\n html:not([dir=rtl]) .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n *[dir=rtl] .ps-md-4 {\n padding-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ps-md-5 {\n padding-left: 3rem !important;\n }\n *[dir=rtl] .ps-md-5 {\n padding-right: 3rem !important;\n }\n .gap-md-0 {\n gap: 0 !important;\n }\n .gap-md-1 {\n gap: 0.25rem !important;\n }\n .gap-md-2 {\n gap: 0.5rem !important;\n }\n .gap-md-3 {\n gap: 1rem !important;\n }\n .gap-md-4 {\n gap: 1.5rem !important;\n }\n .gap-md-5 {\n gap: 3rem !important;\n }\n html:not([dir=rtl]) .text-md-start {\n text-align: left !important;\n }\n *[dir=rtl] .text-md-start {\n text-align: right !important;\n }\n html:not([dir=rtl]) .text-md-end {\n text-align: right !important;\n }\n *[dir=rtl] .text-md-end {\n text-align: left !important;\n }\n html:not([dir=rtl]) .text-md-center {\n text-align: center !important;\n }\n *[dir=rtl] .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n html:not([dir=rtl]) .float-lg-start {\n float: left !important;\n }\n *[dir=rtl] .float-lg-start {\n float: right !important;\n }\n html:not([dir=rtl]) .float-lg-end {\n float: right !important;\n }\n *[dir=rtl] .float-lg-end {\n float: left !important;\n }\n html:not([dir=rtl]) .float-lg-none {\n float: none !important;\n }\n *[dir=rtl] .float-lg-none {\n float: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n html:not([dir=rtl]) .me-lg-0 {\n margin-right: 0 !important;\n }\n *[dir=rtl] .me-lg-0 {\n margin-left: 0 !important;\n }\n html:not([dir=rtl]) .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n *[dir=rtl] .me-lg-1 {\n margin-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n *[dir=rtl] .me-lg-2 {\n margin-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .me-lg-3 {\n margin-right: 1rem !important;\n }\n *[dir=rtl] .me-lg-3 {\n margin-left: 1rem !important;\n }\n html:not([dir=rtl]) .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n *[dir=rtl] .me-lg-4 {\n margin-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .me-lg-5 {\n margin-right: 3rem !important;\n }\n *[dir=rtl] .me-lg-5 {\n margin-left: 3rem !important;\n }\n html:not([dir=rtl]) .me-lg-auto {\n margin-right: auto !important;\n }\n *[dir=rtl] .me-lg-auto {\n margin-left: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n html:not([dir=rtl]) .ms-lg-0 {\n margin-left: 0 !important;\n }\n *[dir=rtl] .ms-lg-0 {\n margin-right: 0 !important;\n }\n html:not([dir=rtl]) .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n *[dir=rtl] .ms-lg-1 {\n margin-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n *[dir=rtl] .ms-lg-2 {\n margin-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ms-lg-3 {\n margin-left: 1rem !important;\n }\n *[dir=rtl] .ms-lg-3 {\n margin-right: 1rem !important;\n }\n html:not([dir=rtl]) .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n *[dir=rtl] .ms-lg-4 {\n margin-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ms-lg-5 {\n margin-left: 3rem !important;\n }\n *[dir=rtl] .ms-lg-5 {\n margin-right: 3rem !important;\n }\n html:not([dir=rtl]) .ms-lg-auto {\n margin-left: auto !important;\n }\n *[dir=rtl] .ms-lg-auto {\n margin-right: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n html:not([dir=rtl]) .pe-lg-0 {\n padding-right: 0 !important;\n }\n *[dir=rtl] .pe-lg-0 {\n padding-left: 0 !important;\n }\n html:not([dir=rtl]) .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n *[dir=rtl] .pe-lg-1 {\n padding-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n *[dir=rtl] .pe-lg-2 {\n padding-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .pe-lg-3 {\n padding-right: 1rem !important;\n }\n *[dir=rtl] .pe-lg-3 {\n padding-left: 1rem !important;\n }\n html:not([dir=rtl]) .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n *[dir=rtl] .pe-lg-4 {\n padding-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .pe-lg-5 {\n padding-right: 3rem !important;\n }\n *[dir=rtl] .pe-lg-5 {\n padding-left: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n html:not([dir=rtl]) .ps-lg-0 {\n padding-left: 0 !important;\n }\n *[dir=rtl] .ps-lg-0 {\n padding-right: 0 !important;\n }\n html:not([dir=rtl]) .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n *[dir=rtl] .ps-lg-1 {\n padding-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n *[dir=rtl] .ps-lg-2 {\n padding-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ps-lg-3 {\n padding-left: 1rem !important;\n }\n *[dir=rtl] .ps-lg-3 {\n padding-right: 1rem !important;\n }\n html:not([dir=rtl]) .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n *[dir=rtl] .ps-lg-4 {\n padding-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ps-lg-5 {\n padding-left: 3rem !important;\n }\n *[dir=rtl] .ps-lg-5 {\n padding-right: 3rem !important;\n }\n .gap-lg-0 {\n gap: 0 !important;\n }\n .gap-lg-1 {\n gap: 0.25rem !important;\n }\n .gap-lg-2 {\n gap: 0.5rem !important;\n }\n .gap-lg-3 {\n gap: 1rem !important;\n }\n .gap-lg-4 {\n gap: 1.5rem !important;\n }\n .gap-lg-5 {\n gap: 3rem !important;\n }\n html:not([dir=rtl]) .text-lg-start {\n text-align: left !important;\n }\n *[dir=rtl] .text-lg-start {\n text-align: right !important;\n }\n html:not([dir=rtl]) .text-lg-end {\n text-align: right !important;\n }\n *[dir=rtl] .text-lg-end {\n text-align: left !important;\n }\n html:not([dir=rtl]) .text-lg-center {\n text-align: center !important;\n }\n *[dir=rtl] .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n html:not([dir=rtl]) .float-xl-start {\n float: left !important;\n }\n *[dir=rtl] .float-xl-start {\n float: right !important;\n }\n html:not([dir=rtl]) .float-xl-end {\n float: right !important;\n }\n *[dir=rtl] .float-xl-end {\n float: left !important;\n }\n html:not([dir=rtl]) .float-xl-none {\n float: none !important;\n }\n *[dir=rtl] .float-xl-none {\n float: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n html:not([dir=rtl]) .me-xl-0 {\n margin-right: 0 !important;\n }\n *[dir=rtl] .me-xl-0 {\n margin-left: 0 !important;\n }\n html:not([dir=rtl]) .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n *[dir=rtl] .me-xl-1 {\n margin-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n *[dir=rtl] .me-xl-2 {\n margin-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .me-xl-3 {\n margin-right: 1rem !important;\n }\n *[dir=rtl] .me-xl-3 {\n margin-left: 1rem !important;\n }\n html:not([dir=rtl]) .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n *[dir=rtl] .me-xl-4 {\n margin-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .me-xl-5 {\n margin-right: 3rem !important;\n }\n *[dir=rtl] .me-xl-5 {\n margin-left: 3rem !important;\n }\n html:not([dir=rtl]) .me-xl-auto {\n margin-right: auto !important;\n }\n *[dir=rtl] .me-xl-auto {\n margin-left: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n html:not([dir=rtl]) .ms-xl-0 {\n margin-left: 0 !important;\n }\n *[dir=rtl] .ms-xl-0 {\n margin-right: 0 !important;\n }\n html:not([dir=rtl]) .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n *[dir=rtl] .ms-xl-1 {\n margin-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n *[dir=rtl] .ms-xl-2 {\n margin-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ms-xl-3 {\n margin-left: 1rem !important;\n }\n *[dir=rtl] .ms-xl-3 {\n margin-right: 1rem !important;\n }\n html:not([dir=rtl]) .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n *[dir=rtl] .ms-xl-4 {\n margin-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ms-xl-5 {\n margin-left: 3rem !important;\n }\n *[dir=rtl] .ms-xl-5 {\n margin-right: 3rem !important;\n }\n html:not([dir=rtl]) .ms-xl-auto {\n margin-left: auto !important;\n }\n *[dir=rtl] .ms-xl-auto {\n margin-right: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n html:not([dir=rtl]) .pe-xl-0 {\n padding-right: 0 !important;\n }\n *[dir=rtl] .pe-xl-0 {\n padding-left: 0 !important;\n }\n html:not([dir=rtl]) .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n *[dir=rtl] .pe-xl-1 {\n padding-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n *[dir=rtl] .pe-xl-2 {\n padding-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .pe-xl-3 {\n padding-right: 1rem !important;\n }\n *[dir=rtl] .pe-xl-3 {\n padding-left: 1rem !important;\n }\n html:not([dir=rtl]) .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n *[dir=rtl] .pe-xl-4 {\n padding-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .pe-xl-5 {\n padding-right: 3rem !important;\n }\n *[dir=rtl] .pe-xl-5 {\n padding-left: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n html:not([dir=rtl]) .ps-xl-0 {\n padding-left: 0 !important;\n }\n *[dir=rtl] .ps-xl-0 {\n padding-right: 0 !important;\n }\n html:not([dir=rtl]) .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n *[dir=rtl] .ps-xl-1 {\n padding-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n *[dir=rtl] .ps-xl-2 {\n padding-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ps-xl-3 {\n padding-left: 1rem !important;\n }\n *[dir=rtl] .ps-xl-3 {\n padding-right: 1rem !important;\n }\n html:not([dir=rtl]) .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n *[dir=rtl] .ps-xl-4 {\n padding-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ps-xl-5 {\n padding-left: 3rem !important;\n }\n *[dir=rtl] .ps-xl-5 {\n padding-right: 3rem !important;\n }\n .gap-xl-0 {\n gap: 0 !important;\n }\n .gap-xl-1 {\n gap: 0.25rem !important;\n }\n .gap-xl-2 {\n gap: 0.5rem !important;\n }\n .gap-xl-3 {\n gap: 1rem !important;\n }\n .gap-xl-4 {\n gap: 1.5rem !important;\n }\n .gap-xl-5 {\n gap: 3rem !important;\n }\n html:not([dir=rtl]) .text-xl-start {\n text-align: left !important;\n }\n *[dir=rtl] .text-xl-start {\n text-align: right !important;\n }\n html:not([dir=rtl]) .text-xl-end {\n text-align: right !important;\n }\n *[dir=rtl] .text-xl-end {\n text-align: left !important;\n }\n html:not([dir=rtl]) .text-xl-center {\n text-align: center !important;\n }\n *[dir=rtl] .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n html:not([dir=rtl]) .float-xxl-start {\n float: left !important;\n }\n *[dir=rtl] .float-xxl-start {\n float: right !important;\n }\n html:not([dir=rtl]) .float-xxl-end {\n float: right !important;\n }\n *[dir=rtl] .float-xxl-end {\n float: left !important;\n }\n html:not([dir=rtl]) .float-xxl-none {\n float: none !important;\n }\n *[dir=rtl] .float-xxl-none {\n float: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n html:not([dir=rtl]) .me-xxl-0 {\n margin-right: 0 !important;\n }\n *[dir=rtl] .me-xxl-0 {\n margin-left: 0 !important;\n }\n html:not([dir=rtl]) .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n *[dir=rtl] .me-xxl-1 {\n margin-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n *[dir=rtl] .me-xxl-2 {\n margin-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .me-xxl-3 {\n margin-right: 1rem !important;\n }\n *[dir=rtl] .me-xxl-3 {\n margin-left: 1rem !important;\n }\n html:not([dir=rtl]) .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n *[dir=rtl] .me-xxl-4 {\n margin-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .me-xxl-5 {\n margin-right: 3rem !important;\n }\n *[dir=rtl] .me-xxl-5 {\n margin-left: 3rem !important;\n }\n html:not([dir=rtl]) .me-xxl-auto {\n margin-right: auto !important;\n }\n *[dir=rtl] .me-xxl-auto {\n margin-left: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n html:not([dir=rtl]) .ms-xxl-0 {\n margin-left: 0 !important;\n }\n *[dir=rtl] .ms-xxl-0 {\n margin-right: 0 !important;\n }\n html:not([dir=rtl]) .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n *[dir=rtl] .ms-xxl-1 {\n margin-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n *[dir=rtl] .ms-xxl-2 {\n margin-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n *[dir=rtl] .ms-xxl-3 {\n margin-right: 1rem !important;\n }\n html:not([dir=rtl]) .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n *[dir=rtl] .ms-xxl-4 {\n margin-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n *[dir=rtl] .ms-xxl-5 {\n margin-right: 3rem !important;\n }\n html:not([dir=rtl]) .ms-xxl-auto {\n margin-left: auto !important;\n }\n *[dir=rtl] .ms-xxl-auto {\n margin-right: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n html:not([dir=rtl]) .pe-xxl-0 {\n padding-right: 0 !important;\n }\n *[dir=rtl] .pe-xxl-0 {\n padding-left: 0 !important;\n }\n html:not([dir=rtl]) .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n *[dir=rtl] .pe-xxl-1 {\n padding-left: 0.25rem !important;\n }\n html:not([dir=rtl]) .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n *[dir=rtl] .pe-xxl-2 {\n padding-left: 0.5rem !important;\n }\n html:not([dir=rtl]) .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n *[dir=rtl] .pe-xxl-3 {\n padding-left: 1rem !important;\n }\n html:not([dir=rtl]) .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n *[dir=rtl] .pe-xxl-4 {\n padding-left: 1.5rem !important;\n }\n html:not([dir=rtl]) .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n *[dir=rtl] .pe-xxl-5 {\n padding-left: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n html:not([dir=rtl]) .ps-xxl-0 {\n padding-left: 0 !important;\n }\n *[dir=rtl] .ps-xxl-0 {\n padding-right: 0 !important;\n }\n html:not([dir=rtl]) .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n *[dir=rtl] .ps-xxl-1 {\n padding-right: 0.25rem !important;\n }\n html:not([dir=rtl]) .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n *[dir=rtl] .ps-xxl-2 {\n padding-right: 0.5rem !important;\n }\n html:not([dir=rtl]) .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n *[dir=rtl] .ps-xxl-3 {\n padding-right: 1rem !important;\n }\n html:not([dir=rtl]) .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n *[dir=rtl] .ps-xxl-4 {\n padding-right: 1.5rem !important;\n }\n html:not([dir=rtl]) .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n *[dir=rtl] .ps-xxl-5 {\n padding-right: 3rem !important;\n }\n .gap-xxl-0 {\n gap: 0 !important;\n }\n .gap-xxl-1 {\n gap: 0.25rem !important;\n }\n .gap-xxl-2 {\n gap: 0.5rem !important;\n }\n .gap-xxl-3 {\n gap: 1rem !important;\n }\n .gap-xxl-4 {\n gap: 1.5rem !important;\n }\n .gap-xxl-5 {\n gap: 3rem !important;\n }\n html:not([dir=rtl]) .text-xxl-start {\n text-align: left !important;\n }\n *[dir=rtl] .text-xxl-start {\n text-align: right !important;\n }\n html:not([dir=rtl]) .text-xxl-end {\n text-align: right !important;\n }\n *[dir=rtl] .text-xxl-end {\n text-align: left !important;\n }\n html:not([dir=rtl]) .text-xxl-center {\n text-align: center !important;\n }\n *[dir=rtl] .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n .fs-2 {\n font-size: 2rem !important;\n }\n .fs-3 {\n font-size: 1.75rem !important;\n }\n .fs-4 {\n font-size: 1.5rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n.wrapper {\n width: 100%;\n will-change: auto;\n transition: padding 0.15s;\n}\nhtml:not([dir=rtl]) .wrapper {\n padding-left: var(--cui-sidebar-occupy-start, 0);\n}\n*[dir=rtl] .wrapper {\n padding-right: var(--cui-sidebar-occupy-start, 0);\n}\n@media (prefers-reduced-motion: reduce) {\n .wrapper {\n transition: none;\n }\n}\n\n/* stylelint-disable declaration-no-important, scss/selector-no-redundant-nesting-selector */\n.example:not(:first-child) {\n margin-top: 1.5rem;\n}\n.example .tab-content {\n background-color: #f9fafa !important;\n}\n.dark-theme .example .tab-content {\n background-color: rgba(255, 255, 255, 0.1) !important;\n}\n\n.example + p {\n margin-top: 1.5rem;\n}\n.example .preview + p {\n margin-top: 2rem;\n}\n.example .preview > .form-control + .form-control {\n margin-top: 0.5rem;\n}\n.example .preview > .nav + .nav,\n.example .preview > .alert + .alert,\n.example .preview > .navbar + .navbar,\n.example .preview > .progress + .progress {\n margin-top: 1rem;\n}\n.example .preview > .dropdown-menu {\n position: static;\n display: block;\n}\n.example .preview > :last-child {\n margin-bottom: 0;\n}\n.example .preview > svg + svg,\n.example .preview > img + img {\n margin-left: 0.5rem;\n}\n.example .preview > .btn,\n.example .preview > .btn-group {\n margin: 0.25rem 0.125rem;\n}\n.example .preview > .btn-toolbar + .btn-toolbar {\n margin-top: 0.5rem;\n}\n.example .preview > .list-group {\n max-width: 400px;\n}\n.example .preview > [class*=list-group-horizontal] {\n max-width: 100%;\n}\n.example .preview .fixed-top,\n.example .preview .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n}\n.example .preview .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n}\n@media (min-width: 576px) {\n .example .preview .fixed-top,\n .example .preview .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .example .preview .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n}\n.example .preview .pagination {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n/*# sourceMappingURL=style.css.map */\n","// If you want to override variables do it here\n@import \"variables\";\n\n$enable-ltr: true; /* stylelint-disable-line scss/dollar-variable-default */\n$enable-rtl: true; /* stylelint-disable-line scss/dollar-variable-default */\n\n// Import styles\n@import \"@coreui/coreui/scss/coreui\";\n\n@import \"layout\";\n\n// Prism.js\n@import \"examples\";\n\n// If you want to add custom CSS you can put it here.\n@import \"custom\";\n","/*!\n * CoreUI - HTML, CSS, and JavaScript UI Components Library\n * @version v4.2.6\n * @link https://coreui.io/\n * Copyright (c) 2022 creativeLabs Łukasz Holeczek\n * License MIT (https://coreui.io/license/)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"maps\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"offcanvas\";\n@import \"placeholders\";\n\n@import \"avatar\";\n@import \"callout\";\n@import \"footer\";\n@import \"header\";\n@import \"icon\";\n@import \"sidebar\";\n@import \"subheader\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n",":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{$font-family-base};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n --#{$prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n --#{$prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-2xl: #{$border-radius-2xl};\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}heading-color: #{$headings-color};\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-hover-color: #{$link-hover-color};\n\n --#{$prefix}code-color: #{$code-color};\n\n --#{$prefix}highlight-bg: #{$mark-bg};\n\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n\n --#{$prefix}mobile-breakpoint: #{$mobile-breakpoint};\n}\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`
` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-color);\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\n// ol,\n// ul {\n// @include ltr-rtl(\"padding-left\", 2rem); // TODO: find solution\n// }\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n @include ltr-rtl(\"margin-left\", 0); // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: var(--#{$prefix}link-color);\n text-decoration: $link-decoration;\n\n &:hover {\n color: var(--#{$prefix}link-hover-color);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: var(--#{$prefix}pre-color, $pre-color);\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: var(--#{$prefix}kbd-color, $kbd-color);\n background-color: var(--#{$prefix}kbd-bg, $kbd-bg);\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: var(--#{$prefix}table-caption-color, $table-caption-color);\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-` + +

`; + toast.addEventListener('hidden.coreui.toast', (event) => { + event.target.remove(); + }); + container.appendChild(toast); + let toastAlert = new coreui.Toast(toast, { "delay": 5000, "autohide": true }); + toastAlert.show(); + refreshTables(); + }); + }); +}); + +dropdownBTNs.forEach(btn => { + btn.addEventListener('click', ddBtnClick); +}); + +function loadServers() { + fetch("/Servers/getAll") + .then((response) => response.text()) + .then((data) => { + document.querySelector('table tbody').innerHTML = data; + }); +} +function loadClients() { + fetch("/Clients/getAll") + .then((response) => response.text()) + .then((data) => { + document.querySelector('table tbody').innerHTML = data; + }); +} + +function refreshTables() { + if (window.location.href.endsWith("Clients")) { + loadClients(); + } else if (window.location.href.endsWith("Servers")) { + loadServers(); + } +} + +function ddBtnClick(event) { + event.preventDefault(); + fetch(event.target.getAttribute('href')) + .then(res => res.json()) + .then(function (data) { + var toast = document.createElement('div'); + toast.className = 'toast text-bg-' + data.background; + toast.setAttribute('role', 'alert'); + toast.setAttribute('aria-live', 'assertive'); + toast.setAttribute('aria-atomic', 'true'); + toast.innerHTML = `
+ ${data['title']} + +
+
${data["body"]}
`; + toast.addEventListener('hidden.coreui.toast', (event) => { + event.target.remove(); + }); + container.appendChild(toast); + let toastAlert = new coreui.Toast(toast, { "delay": 5000, "autohide": true }); + toastAlert.show(); + refreshTables(); + }); +} diff --git a/wwwroot/js/toasts.js b/wwwroot/js/toasts.js new file mode 100644 index 0000000..04a3b4e --- /dev/null +++ b/wwwroot/js/toasts.js @@ -0,0 +1,18 @@ +/* global coreui */ + +/** + * -------------------------------------------------------------------------- + * CoreUI Free Boostrap Admin Template (v4.2.2): popovers.js + * Licensed under MIT (https://coreui.io/license) + * -------------------------------------------------------------------------- + */ + +const toastTrigger = document.getElementById('liveToastBtn'); +const toastLiveExample = document.getElementById('liveToast'); +if (toastTrigger) { + toastTrigger.addEventListener('click', () => { + const toast = new coreui.Toast(toastLiveExample); + toast.show(); + }); +} +//# sourceMappingURL=toasts.js.map \ No newline at end of file diff --git a/wwwroot/js/toasts.js.map b/wwwroot/js/toasts.js.map new file mode 100644 index 0000000..d4472b2 --- /dev/null +++ b/wwwroot/js/toasts.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toasts.js","names":["toastTrigger","document","getElementById","toastLiveExample","addEventListener","toast","coreui","Toast","show"],"sources":["../../src/js/toasts.js"],"sourcesContent":["/* global coreui */\n\n/**\n * --------------------------------------------------------------------------\n * CoreUI Free Boostrap Admin Template (v4.2.2): popovers.js\n * Licensed under MIT (https://coreui.io/license)\n * --------------------------------------------------------------------------\n */\n\nconst toastTrigger = document.getElementById('liveToastBtn')\nconst toastLiveExample = document.getElementById('liveToast')\nif (toastTrigger) {\n toastTrigger.addEventListener('click', () => {\n const toast = new coreui.Toast(toastLiveExample)\n toast.show()\n })\n}\n"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,YAAY,GAAGC,QAAQ,CAACC,cAAc,CAAC,cAAc,CAAC;AAC5D,MAAMC,gBAAgB,GAAGF,QAAQ,CAACC,cAAc,CAAC,WAAW,CAAC;AAC7D,IAAIF,YAAY,EAAE;EAChBA,YAAY,CAACI,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAC3C,MAAMC,KAAK,GAAG,IAAIC,MAAM,CAACC,KAAK,CAACJ,gBAAgB,CAAC;IAChDE,KAAK,CAACG,IAAI,EAAE;EACd,CAAC,CAAC;AACJ"} \ No newline at end of file diff --git a/wwwroot/js/tooltips.js b/wwwroot/js/tooltips.js new file mode 100644 index 0000000..8a47d82 --- /dev/null +++ b/wwwroot/js/tooltips.js @@ -0,0 +1,14 @@ +/* global coreui */ + +/** + * -------------------------------------------------------------------------- + * CoreUI Free Boostrap Admin Template (v4.2.2): tooltips.js + * Licensed under MIT (https://coreui.io/license) + * -------------------------------------------------------------------------- + */ + +for (const element of document.querySelectorAll('[data-coreui-toggle="tooltip"]')) { + // eslint-disable-next-line no-new + new coreui.Tooltip(element); +} +//# sourceMappingURL=tooltips.js.map \ No newline at end of file diff --git a/wwwroot/js/tooltips.js.map b/wwwroot/js/tooltips.js.map new file mode 100644 index 0000000..8cd1a04 --- /dev/null +++ b/wwwroot/js/tooltips.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tooltips.js","names":["element","document","querySelectorAll","coreui","Tooltip"],"sources":["../../src/js/tooltips.js"],"sourcesContent":["/* global coreui */\n\n/**\n * --------------------------------------------------------------------------\n * CoreUI Free Boostrap Admin Template (v4.2.2): tooltips.js\n * Licensed under MIT (https://coreui.io/license)\n * --------------------------------------------------------------------------\n */\n\nfor (const element of document.querySelectorAll('[data-coreui-toggle=\"tooltip\"]')) {\n // eslint-disable-next-line no-new\n new coreui.Tooltip(element)\n}\n"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,MAAMA,OAAO,IAAIC,QAAQ,CAACC,gBAAgB,CAAC,gCAAgC,CAAC,EAAE;EACjF;EACA,IAAIC,MAAM,CAACC,OAAO,CAACJ,OAAO,CAAC;AAC7B"} \ No newline at end of file diff --git a/wwwroot/js/wgelements.js b/wwwroot/js/wgelements.js new file mode 100644 index 0000000..5514aa1 --- /dev/null +++ b/wwwroot/js/wgelements.js @@ -0,0 +1,30 @@ +const SVG_XLINK = "http://www.w3.org/1999/xlink"; + +function generateKeys(dom) { + let keys = wireguard.generateKeypair(); + let privateKey = keys.privateKey; + let publicKey = keys.publicKey; + if (dom) { + let frm = dom.closest('form'); + frm.querySelector('input[id$="PrivKey"]').value = privateKey; + frm.querySelector('input[id$="PubKey"]').value = publicKey; + } +} + +function changeIcon(btn) { + let frm = btn.closest('form'); + let pk = frm.querySelector('input[id$="PubKey"]'); + pk.toggleAttribute('disabled');/* + if (btn.getAttribute('id') == 'PUnlockBTN') + document.getElementById('WGPPubKey').toggleAttribute('disabled'); + else + document.getElementById('WGSPubKey').toggleAttribute('disabled');*/ + let svg = btn.children.item(0); + let use = svg.children.item(0); + let icon = use.getAttribute('xlink:href'); + if (icon.endsWith('unlocked')) { + use.setAttributeNS(SVG_XLINK, 'xlink:href', 'vendors/coreui/icons/svg/free.svg#cil-lock-locked'); + } else { + use.setAttributeNS(SVG_XLINK, 'xlink:href', 'vendors/coreui/icons/svg/free.svg#cil-lock-unlocked'); + } +} diff --git a/wwwroot/js/widgets.js b/wwwroot/js/widgets.js new file mode 100644 index 0000000..2fd01f4 --- /dev/null +++ b/wwwroot/js/widgets.js @@ -0,0 +1,501 @@ +/* global Chart, coreui */ + +/** + * -------------------------------------------------------------------------- + * CoreUI Boostrap Admin Template (v4.2.2): main.js + * Licensed under MIT (https://coreui.io/license) + * -------------------------------------------------------------------------- + */ + +// Disable the on-canvas tooltip +Chart.defaults.pointHitDetectionRadius = 1; +Chart.defaults.plugins.tooltip.enabled = false; +Chart.defaults.plugins.tooltip.mode = 'index'; +Chart.defaults.plugins.tooltip.position = 'nearest'; +Chart.defaults.plugins.tooltip.external = coreui.ChartJS.customTooltips; +Chart.defaults.defaultFontColor = '#646470'; + +// eslint-disable-next-line no-unused-vars +const cardChart1 = new Chart(document.getElementById('card-chart1'), { + type: 'line', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + label: 'My First dataset', + backgroundColor: 'transparent', + borderColor: 'rgba(255,255,255,.55)', + pointBackgroundColor: coreui.Utils.getStyle('--cui-primary'), + data: [65, 59, 84, 84, 51, 55, 40] + }] + }, + options: { + plugins: { + legend: { + display: false + } + }, + maintainAspectRatio: false, + scales: { + x: { + grid: { + display: false, + drawBorder: false + }, + ticks: { + display: false + } + }, + y: { + min: 30, + max: 89, + display: false, + grid: { + display: false + }, + ticks: { + display: false + } + } + }, + elements: { + line: { + borderWidth: 1, + tension: 0.4 + }, + point: { + radius: 4, + hitRadius: 10, + hoverRadius: 4 + } + } + } +}); + +// eslint-disable-next-line no-unused-vars +const cardChart2 = new Chart(document.getElementById('card-chart2'), { + type: 'line', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + label: 'My First dataset', + backgroundColor: 'transparent', + borderColor: 'rgba(255,255,255,.55)', + pointBackgroundColor: coreui.Utils.getStyle('--cui-info'), + data: [1, 18, 9, 17, 34, 22, 11] + }] + }, + options: { + plugins: { + legend: { + display: false + } + }, + maintainAspectRatio: false, + scales: { + x: { + grid: { + display: false, + drawBorder: false + }, + ticks: { + display: false + } + }, + y: { + min: -9, + max: 39, + display: false, + grid: { + display: false + }, + ticks: { + display: false + } + } + }, + elements: { + line: { + borderWidth: 1 + }, + point: { + radius: 4, + hitRadius: 10, + hoverRadius: 4 + } + } + } +}); + +// eslint-disable-next-line no-unused-vars +const cardChart3 = new Chart(document.getElementById('card-chart3'), { + type: 'line', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + label: 'My First dataset', + backgroundColor: 'rgba(255,255,255,.2)', + borderColor: 'rgba(255,255,255,.55)', + data: [78, 81, 80, 45, 34, 12, 40], + fill: true + }] + }, + options: { + plugins: { + legend: { + display: false + } + }, + maintainAspectRatio: false, + scales: { + x: { + display: false + }, + y: { + display: false + } + }, + elements: { + line: { + borderWidth: 2, + tension: 0.4 + }, + point: { + radius: 0, + hitRadius: 10, + hoverRadius: 4 + } + } + } +}); + +// eslint-disable-next-line no-unused-vars +const cardChart4 = new Chart(document.getElementById('card-chart4'), { + type: 'bar', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', 'January', 'February', 'March', 'April'], + datasets: [{ + label: 'My First dataset', + backgroundColor: 'rgba(255,255,255,.2)', + borderColor: 'rgba(255,255,255,.55)', + data: [78, 81, 80, 45, 34, 12, 40, 85, 65, 23, 12, 98, 34, 84, 67, 82], + barPercentage: 0.6 + }] + }, + options: { + maintainAspectRatio: false, + plugins: { + legend: { + display: false + } + }, + scales: { + x: { + grid: { + display: false, + drawTicks: false + }, + ticks: { + display: false + } + }, + y: { + grid: { + display: false, + drawBorder: false, + drawTicks: false + }, + ticks: { + display: false + } + } + } + } +}); + +// Random Numbers +// eslint-disable-next-line no-mixed-operators +const random = (min, max) => Math.floor(Math.random() * (max - min + 1) + min); + +// eslint-disable-next-line no-unused-vars +const sparklineChart1 = new Chart(document.getElementById('sparkline-chart-1'), { + type: 'bar', + data: { + labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S', 'M', 'T', 'W', 'T', 'F', 'S', 'S', 'M'], + datasets: [{ + backgroundColor: coreui.Utils.getStyle('--cui-primary'), + borderColor: 'transparent', + borderWidth: 1, + data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)] + }] + }, + options: { + maintainAspectRatio: false, + plugins: { + legend: { + display: false + } + }, + scales: { + x: { + display: false + }, + y: { + display: false + } + } + } +}); + +// eslint-disable-next-line no-unused-vars +const sparklineChart2 = new Chart(document.getElementById('sparkline-chart-2'), { + type: 'bar', + data: { + labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S', 'M', 'T', 'W', 'T', 'F', 'S', 'S', 'M'], + datasets: [{ + backgroundColor: coreui.Utils.getStyle('--cui-warning'), + borderColor: 'transparent', + borderWidth: 1, + data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)] + }] + }, + options: { + maintainAspectRatio: false, + plugins: { + legend: { + display: false + } + }, + scales: { + x: { + display: false + }, + y: { + display: false + } + } + } +}); + +// eslint-disable-next-line no-unused-vars +const sparklineChart3 = new Chart(document.getElementById('sparkline-chart-3'), { + type: 'bar', + data: { + labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S', 'M', 'T', 'W', 'T', 'F', 'S', 'S', 'M'], + datasets: [{ + backgroundColor: coreui.Utils.getStyle('--cui-success'), + borderColor: 'transparent', + borderWidth: 1, + data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)] + }] + }, + options: { + maintainAspectRatio: false, + plugins: { + legend: { + display: false + } + }, + scales: { + x: { + display: false + }, + y: { + display: false + } + } + } +}); + +// eslint-disable-next-line no-unused-vars +const sparklineChart4 = new Chart(document.getElementById('sparkline-chart-4'), { + type: 'line', + data: { + labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S'], + datasets: [{ + backgroundColor: 'transparent', + borderColor: coreui.Utils.getStyle('--cui-info'), + borderWidth: 2, + data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)] + }] + }, + options: { + maintainAspectRatio: false, + elements: { + line: { + tension: 0.4 + }, + point: { + radius: 0 + } + }, + plugins: { + legend: { + display: false + } + }, + scales: { + x: { + display: false + }, + y: { + display: false + } + } + } +}); + +// eslint-disable-next-line no-unused-vars +const sparklineChart5 = new Chart(document.getElementById('sparkline-chart-5'), { + type: 'line', + data: { + labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S'], + datasets: [{ + backgroundColor: 'transparent', + borderColor: coreui.Utils.getStyle('--cui-success'), + borderWidth: 2, + data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)] + }] + }, + options: { + maintainAspectRatio: false, + elements: { + line: { + tension: 0.4 + }, + point: { + radius: 0 + } + }, + plugins: { + legend: { + display: false + } + }, + scales: { + x: { + display: false + }, + y: { + display: false + } + } + } +}); + +// eslint-disable-next-line no-unused-vars +const sparklineChart6 = new Chart(document.getElementById('sparkline-chart-6'), { + type: 'line', + data: { + labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S'], + datasets: [{ + backgroundColor: 'transparent', + borderColor: coreui.Utils.getStyle('--cui-danger'), + borderWidth: 2, + data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)] + }] + }, + options: { + maintainAspectRatio: false, + elements: { + line: { + tension: 0.4 + }, + point: { + radius: 0 + } + }, + plugins: { + legend: { + display: false + } + }, + scales: { + x: { + display: false + }, + y: { + display: false + } + } + } +}); +const brandBoxChartLabels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; +const brandBoxChartOptions = { + elements: { + line: { + tension: 0.4 + }, + point: { + radius: 0, + hitRadius: 10, + hoverRadius: 4, + hoverBorderWidth: 3 + } + }, + maintainAspectRatio: false, + plugins: { + legend: { + display: false + } + }, + scales: { + x: { + display: false + }, + y: { + display: false + } + } +}; + +// eslint-disable-next-line no-unused-vars +const brandBoxChart1 = new Chart(document.getElementById('social-box-chart-1'), { + type: 'line', + data: { + labels: brandBoxChartLabels, + datasets: [{ + backgroundColor: 'rgba(255,255,255,.1)', + borderColor: 'rgba(255,255,255,.55)', + pointHoverBackgroundColor: '#fff', + borderWidth: 2, + data: [65, 59, 84, 84, 51, 55, 40], + fill: true + }] + }, + options: brandBoxChartOptions +}); + +// eslint-disable-next-line no-unused-vars +const brandBoxChart2 = new Chart(document.getElementById('social-box-chart-2'), { + type: 'line', + data: { + labels: brandBoxChartLabels, + datasets: [{ + backgroundColor: 'rgba(255,255,255,.1)', + borderColor: 'rgba(255,255,255,.55)', + pointHoverBackgroundColor: '#fff', + borderWidth: 2, + data: [1, 13, 9, 17, 34, 41, 38], + fill: true + }] + }, + options: brandBoxChartOptions +}); + +// eslint-disable-next-line no-unused-vars +const brandBoxChart3 = new Chart(document.getElementById('social-box-chart-3'), { + type: 'line', + data: { + labels: brandBoxChartLabels, + datasets: [{ + backgroundColor: 'rgba(255,255,255,.1)', + borderColor: 'rgba(255,255,255,.55)', + pointHoverBackgroundColor: '#fff', + borderWidth: 2, + data: [78, 81, 80, 45, 34, 12, 40], + fill: true + }] + }, + options: brandBoxChartOptions +}); +//# sourceMappingURL=widgets.js.map \ No newline at end of file diff --git a/wwwroot/js/widgets.js.map b/wwwroot/js/widgets.js.map new file mode 100644 index 0000000..c67825d --- /dev/null +++ b/wwwroot/js/widgets.js.map @@ -0,0 +1 @@ +{"version":3,"file":"widgets.js","names":["Chart","defaults","pointHitDetectionRadius","plugins","tooltip","enabled","mode","position","external","coreui","ChartJS","customTooltips","defaultFontColor","cardChart1","document","getElementById","type","data","labels","datasets","label","backgroundColor","borderColor","pointBackgroundColor","Utils","getStyle","options","legend","display","maintainAspectRatio","scales","x","grid","drawBorder","ticks","y","min","max","elements","line","borderWidth","tension","point","radius","hitRadius","hoverRadius","cardChart2","cardChart3","fill","cardChart4","barPercentage","drawTicks","random","Math","floor","sparklineChart1","sparklineChart2","sparklineChart3","sparklineChart4","sparklineChart5","sparklineChart6","brandBoxChartLabels","brandBoxChartOptions","hoverBorderWidth","brandBoxChart1","pointHoverBackgroundColor","brandBoxChart2","brandBoxChart3"],"sources":["../../src/js/widgets.js"],"sourcesContent":["/* global Chart, coreui */\n\n/**\n * --------------------------------------------------------------------------\n * CoreUI Boostrap Admin Template (v4.2.2): main.js\n * Licensed under MIT (https://coreui.io/license)\n * --------------------------------------------------------------------------\n */\n\n// Disable the on-canvas tooltip\nChart.defaults.pointHitDetectionRadius = 1\nChart.defaults.plugins.tooltip.enabled = false\nChart.defaults.plugins.tooltip.mode = 'index'\nChart.defaults.plugins.tooltip.position = 'nearest'\nChart.defaults.plugins.tooltip.external = coreui.ChartJS.customTooltips\nChart.defaults.defaultFontColor = '#646470'\n\n// eslint-disable-next-line no-unused-vars\nconst cardChart1 = new Chart(document.getElementById('card-chart1'), {\n type: 'line',\n data: {\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\n datasets: [\n {\n label: 'My First dataset',\n backgroundColor: 'transparent',\n borderColor: 'rgba(255,255,255,.55)',\n pointBackgroundColor: coreui.Utils.getStyle('--cui-primary'),\n data: [65, 59, 84, 84, 51, 55, 40]\n }\n ]\n },\n options: {\n plugins: {\n legend: {\n display: false\n }\n },\n maintainAspectRatio: false,\n scales: {\n x: {\n grid: {\n display: false,\n drawBorder: false\n },\n ticks: {\n display: false\n }\n },\n y: {\n min: 30,\n max: 89,\n display: false,\n grid: {\n display: false\n },\n ticks: {\n display: false\n }\n }\n },\n elements: {\n line: {\n borderWidth: 1,\n tension: 0.4\n },\n point: {\n radius: 4,\n hitRadius: 10,\n hoverRadius: 4\n }\n }\n }\n})\n\n// eslint-disable-next-line no-unused-vars\nconst cardChart2 = new Chart(document.getElementById('card-chart2'), {\n type: 'line',\n data: {\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\n datasets: [\n {\n label: 'My First dataset',\n backgroundColor: 'transparent',\n borderColor: 'rgba(255,255,255,.55)',\n pointBackgroundColor: coreui.Utils.getStyle('--cui-info'),\n data: [1, 18, 9, 17, 34, 22, 11]\n }\n ]\n },\n options: {\n plugins: {\n legend: {\n display: false\n }\n },\n maintainAspectRatio: false,\n scales: {\n x: {\n grid: {\n display: false,\n drawBorder: false\n },\n ticks: {\n display: false\n }\n },\n y: {\n min: -9,\n max: 39,\n display: false,\n grid: {\n display: false\n },\n ticks: {\n display: false\n }\n }\n },\n elements: {\n line: {\n borderWidth: 1\n },\n point: {\n radius: 4,\n hitRadius: 10,\n hoverRadius: 4\n }\n }\n }\n})\n\n// eslint-disable-next-line no-unused-vars\nconst cardChart3 = new Chart(document.getElementById('card-chart3'), {\n type: 'line',\n data: {\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\n datasets: [\n {\n label: 'My First dataset',\n backgroundColor: 'rgba(255,255,255,.2)',\n borderColor: 'rgba(255,255,255,.55)',\n data: [78, 81, 80, 45, 34, 12, 40],\n fill: true\n }\n ]\n },\n options: {\n plugins: {\n legend: {\n display: false\n }\n },\n maintainAspectRatio: false,\n scales: {\n x: {\n display: false\n },\n y: {\n display: false\n }\n },\n elements: {\n line: {\n borderWidth: 2,\n tension: 0.4\n },\n point: {\n radius: 0,\n hitRadius: 10,\n hoverRadius: 4\n }\n }\n }\n})\n\n// eslint-disable-next-line no-unused-vars\nconst cardChart4 = new Chart(document.getElementById('card-chart4'), {\n type: 'bar',\n data: {\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', 'January', 'February', 'March', 'April'],\n datasets: [\n {\n label: 'My First dataset',\n backgroundColor: 'rgba(255,255,255,.2)',\n borderColor: 'rgba(255,255,255,.55)',\n data: [78, 81, 80, 45, 34, 12, 40, 85, 65, 23, 12, 98, 34, 84, 67, 82],\n barPercentage: 0.6\n }\n ]\n },\n options: {\n maintainAspectRatio: false,\n plugins: {\n legend: {\n display: false\n }\n },\n scales: {\n x: {\n grid: {\n display: false,\n drawTicks: false\n\n },\n ticks: {\n display: false\n }\n },\n y: {\n grid: {\n display: false,\n drawBorder: false,\n drawTicks: false\n },\n ticks: {\n display: false\n }\n }\n }\n }\n})\n\n// Random Numbers\n// eslint-disable-next-line no-mixed-operators\nconst random = (min, max) => Math.floor(Math.random() * (max - min + 1) + min)\n\n// eslint-disable-next-line no-unused-vars\nconst sparklineChart1 = new Chart(document.getElementById('sparkline-chart-1'), {\n type: 'bar',\n data: {\n labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S', 'M', 'T', 'W', 'T', 'F', 'S', 'S', 'M'],\n datasets: [\n {\n backgroundColor: coreui.Utils.getStyle('--cui-primary'),\n borderColor: 'transparent',\n borderWidth: 1,\n data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)]\n }\n ]\n },\n options: {\n maintainAspectRatio: false,\n plugins: {\n legend: {\n display: false\n }\n },\n scales: {\n x: {\n display: false\n },\n y: {\n display: false\n }\n }\n }\n})\n\n// eslint-disable-next-line no-unused-vars\nconst sparklineChart2 = new Chart(document.getElementById('sparkline-chart-2'), {\n type: 'bar',\n data: {\n labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S', 'M', 'T', 'W', 'T', 'F', 'S', 'S', 'M'],\n datasets: [\n {\n backgroundColor: coreui.Utils.getStyle('--cui-warning'),\n borderColor: 'transparent',\n borderWidth: 1,\n data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)]\n }\n ]\n },\n options: {\n maintainAspectRatio: false,\n plugins: {\n legend: {\n display: false\n }\n },\n scales: {\n x: {\n display: false\n },\n y: {\n display: false\n }\n }\n }\n})\n\n// eslint-disable-next-line no-unused-vars\nconst sparklineChart3 = new Chart(document.getElementById('sparkline-chart-3'), {\n type: 'bar',\n data: {\n labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S', 'M', 'T', 'W', 'T', 'F', 'S', 'S', 'M'],\n datasets: [\n {\n backgroundColor: coreui.Utils.getStyle('--cui-success'),\n borderColor: 'transparent',\n borderWidth: 1,\n data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)]\n }\n ]\n },\n options: {\n maintainAspectRatio: false,\n plugins: {\n legend: {\n display: false\n }\n },\n scales: {\n x: {\n display: false\n },\n y: {\n display: false\n }\n }\n }\n})\n\n// eslint-disable-next-line no-unused-vars\nconst sparklineChart4 = new Chart(document.getElementById('sparkline-chart-4'), {\n type: 'line',\n data: {\n labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S'],\n datasets: [\n {\n backgroundColor: 'transparent',\n borderColor: coreui.Utils.getStyle('--cui-info'),\n borderWidth: 2,\n data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)]\n }\n ]\n },\n options: {\n maintainAspectRatio: false,\n elements: {\n line: {\n tension: 0.4\n },\n point: {\n radius: 0\n }\n },\n plugins: {\n legend: {\n display: false\n }\n },\n scales: {\n x: {\n display: false\n },\n y: {\n display: false\n }\n }\n }\n})\n\n// eslint-disable-next-line no-unused-vars\nconst sparklineChart5 = new Chart(document.getElementById('sparkline-chart-5'), {\n type: 'line',\n data: {\n labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S'],\n datasets: [\n {\n backgroundColor: 'transparent',\n borderColor: coreui.Utils.getStyle('--cui-success'),\n borderWidth: 2,\n data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)]\n }\n ]\n },\n options: {\n maintainAspectRatio: false,\n elements: {\n line: {\n tension: 0.4\n },\n point: {\n radius: 0\n }\n },\n plugins: {\n legend: {\n display: false\n }\n },\n scales: {\n x: {\n display: false\n },\n y: {\n display: false\n }\n }\n }\n})\n\n// eslint-disable-next-line no-unused-vars\nconst sparklineChart6 = new Chart(document.getElementById('sparkline-chart-6'), {\n type: 'line',\n data: {\n labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S'],\n datasets: [\n {\n backgroundColor: 'transparent',\n borderColor: coreui.Utils.getStyle('--cui-danger'),\n borderWidth: 2,\n data: [random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100), random(40, 100)]\n }\n ]\n },\n options: {\n maintainAspectRatio: false,\n elements: {\n line: {\n tension: 0.4\n },\n point: {\n radius: 0\n }\n },\n plugins: {\n legend: {\n display: false\n }\n },\n scales: {\n x: {\n display: false\n },\n y: {\n display: false\n }\n }\n }\n})\n\nconst brandBoxChartLabels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']\nconst brandBoxChartOptions = {\n elements: {\n line: {\n tension: 0.4\n },\n point: {\n radius: 0,\n hitRadius: 10,\n hoverRadius: 4,\n hoverBorderWidth: 3\n }\n },\n maintainAspectRatio: false,\n plugins: {\n legend: {\n display: false\n }\n },\n scales: {\n x: {\n display: false\n },\n y: {\n display: false\n }\n }\n}\n\n// eslint-disable-next-line no-unused-vars\nconst brandBoxChart1 = new Chart(document.getElementById('social-box-chart-1'), {\n type: 'line',\n data: {\n labels: brandBoxChartLabels,\n datasets: [{\n backgroundColor: 'rgba(255,255,255,.1)',\n borderColor: 'rgba(255,255,255,.55)',\n pointHoverBackgroundColor: '#fff',\n borderWidth: 2,\n data: [65, 59, 84, 84, 51, 55, 40],\n fill: true\n }]\n },\n options: brandBoxChartOptions\n})\n\n// eslint-disable-next-line no-unused-vars\nconst brandBoxChart2 = new Chart(document.getElementById('social-box-chart-2'), {\n type: 'line',\n data: {\n labels: brandBoxChartLabels,\n datasets: [{\n backgroundColor: 'rgba(255,255,255,.1)',\n borderColor: 'rgba(255,255,255,.55)',\n pointHoverBackgroundColor: '#fff',\n borderWidth: 2,\n data: [1, 13, 9, 17, 34, 41, 38],\n fill: true\n }]\n },\n options: brandBoxChartOptions\n})\n\n// eslint-disable-next-line no-unused-vars\nconst brandBoxChart3 = new Chart(document.getElementById('social-box-chart-3'), {\n type: 'line',\n data: {\n labels: brandBoxChartLabels,\n datasets: [{\n backgroundColor: 'rgba(255,255,255,.1)',\n borderColor: 'rgba(255,255,255,.55)',\n pointHoverBackgroundColor: '#fff',\n borderWidth: 2,\n data: [78, 81, 80, 45, 34, 12, 40],\n fill: true\n }]\n },\n options: brandBoxChartOptions\n})\n"],"mappings":"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"} \ No newline at end of file diff --git a/wwwroot/js/wireguard.js b/wwwroot/js/wireguard.js new file mode 100644 index 0000000..9ad672f --- /dev/null +++ b/wwwroot/js/wireguard.js @@ -0,0 +1,188 @@ +/*! SPDX-License-Identifier: GPL-2.0 + * + * Copyright (C) 2015-2020 Jason A. Donenfeld . All Rights Reserved. + */ + +(function () { + function gf(init) { + var r = new Float64Array(16); + if (init) { + for (var i = 0; i < init.length; ++i) + r[i] = init[i]; + } + return r; + } + + function pack(o, n) { + var b, m = gf(), t = gf(); + for (var i = 0; i < 16; ++i) + t[i] = n[i]; + carry(t); + carry(t); + carry(t); + for (var j = 0; j < 2; ++j) { + m[0] = t[0] - 0xffed; + for (var i = 1; i < 15; ++i) { + m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1); + m[i - 1] &= 0xffff; + } + m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1); + b = (m[15] >> 16) & 1; + m[14] &= 0xffff; + cswap(t, m, 1 - b); + } + for (var i = 0; i < 16; ++i) { + o[2 * i] = t[i] & 0xff; + o[2 * i + 1] = t[i] >> 8; + } + } + + function carry(o) { + var c; + for (var i = 0; i < 16; ++i) { + o[(i + 1) % 16] += (i < 15 ? 1 : 38) * Math.floor(o[i] / 65536); + o[i] &= 0xffff; + } + } + + function cswap(p, q, b) { + var t, c = ~(b - 1); + for (var i = 0; i < 16; ++i) { + t = c & (p[i] ^ q[i]); + p[i] ^= t; + q[i] ^= t; + } + } + + function add(o, a, b) { + for (var i = 0; i < 16; ++i) + o[i] = (a[i] + b[i]) | 0; + } + + function subtract(o, a, b) { + for (var i = 0; i < 16; ++i) + o[i] = (a[i] - b[i]) | 0; + } + + function multmod(o, a, b) { + var t = new Float64Array(31); + for (var i = 0; i < 16; ++i) { + for (var j = 0; j < 16; ++j) + t[i + j] += a[i] * b[j]; + } + for (var i = 0; i < 15; ++i) + t[i] += 38 * t[i + 16]; + for (var i = 0; i < 16; ++i) + o[i] = t[i]; + carry(o); + carry(o); + } + + function invert(o, i) { + var c = gf(); + for (var a = 0; a < 16; ++a) + c[a] = i[a]; + for (var a = 253; a >= 0; --a) { + multmod(c, c, c); + if (a !== 2 && a !== 4) + multmod(c, c, i); + } + for (var a = 0; a < 16; ++a) + o[a] = c[a]; + } + + function clamp(z) { + z[31] = (z[31] & 127) | 64; + z[0] &= 248; + } + + function generatePublicKey(privateKey) { + var r, z = new Uint8Array(32); + var a = gf([1]), + b = gf([9]), + c = gf(), + d = gf([1]), + e = gf(), + f = gf(), + _121665 = gf([0xdb41, 1]), + _9 = gf([9]); + for (var i = 0; i < 32; ++i) + z[i] = privateKey[i]; + clamp(z); + for (var i = 254; i >= 0; --i) { + r = (z[i >>> 3] >>> (i & 7)) & 1; + cswap(a, b, r); + cswap(c, d, r); + add(e, a, c); + subtract(a, a, c); + add(c, b, d); + subtract(b, b, d); + multmod(d, e, e); + multmod(f, a, a); + multmod(a, c, a); + multmod(c, b, e); + add(e, a, c); + subtract(a, a, c); + multmod(b, a, a); + subtract(c, d, f); + multmod(a, c, _121665); + add(a, a, d); + multmod(c, c, a); + multmod(a, d, f); + multmod(d, b, _9); + multmod(b, e, e); + cswap(a, b, r); + cswap(c, d, r); + } + invert(c, c); + multmod(a, a, c); + pack(z, a); + return z; + } + + function generatePresharedKey() { + var privateKey = new Uint8Array(32); + window.crypto.getRandomValues(privateKey); + return privateKey; + } + + function generatePrivateKey() { + var privateKey = generatePresharedKey(); + clamp(privateKey); + return privateKey; + } + + function encodeBase64(dest, src) { + var input = Uint8Array.from([(src[0] >> 2) & 63, ((src[0] << 4) | (src[1] >> 4)) & 63, ((src[1] << 2) | (src[2] >> 6)) & 63, src[2] & 63]); + for (var i = 0; i < 4; ++i) + dest[i] = input[i] + 65 + + (((25 - input[i]) >> 8) & 6) - + (((51 - input[i]) >> 8) & 75) - + (((61 - input[i]) >> 8) & 15) + + (((62 - input[i]) >> 8) & 3); + } + + function keyToBase64(key) { + var i, base64 = new Uint8Array(44); + for (i = 0; i < 32 / 3; ++i) + encodeBase64(base64.subarray(i * 4), key.subarray(i * 3)); + encodeBase64(base64.subarray(i * 4), Uint8Array.from([key[i * 3 + 0], key[i * 3 + 1], 0])); + base64[43] = 61; + return String.fromCharCode.apply(null, base64); + } + + window.wireguard = { + generateKeypair: function () { + var privateKey = generatePrivateKey(); + var publicKey = generatePublicKey(privateKey); + return { + publicKey: keyToBase64(publicKey), + privateKey: keyToBase64(privateKey) + }; + }, + generatePublicKey: function (privateKey) { + let publicKey = generatePublicKey(privateKey); + return keyToBase64(publicKey); + } + }; +})(); diff --git a/wwwroot/vendors/chart.js/js/chart.min.js b/wwwroot/vendors/chart.js/js/chart.min.js new file mode 100644 index 0000000..8f69759 --- /dev/null +++ b/wwwroot/vendors/chart.js/js/chart.min.js @@ -0,0 +1,13 @@ +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT 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).Chart=e()}(this,(function(){"use strict";function t(){}const e=function(){let t=0;return function(){return t++}}();function i(t){return null==t}function s(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function n(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const o=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function a(t,e){return o(t)?t:e}function r(t,e){return void 0===t?e:t}const l=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:t/e,h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function c(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function d(t,e,i,o){let a,r,l;if(s(t))if(r=t.length,o)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;at,x:t=>t.x,y:t=>t.y};function y(t,e){const i=_[e]||(_[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const M=t=>void 0!==t,k=t=>"function"==typeof t,S=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function P(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const D=Math.PI,O=2*D,C=O+D,A=Number.POSITIVE_INFINITY,T=D/180,L=D/2,E=D/4,R=2*D/3,I=Math.log10,z=Math.sign;function F(t){const e=Math.round(t);t=N(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(I(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function V(t){const e=[],i=Math.sqrt(t);let s;for(s=1;st-e)).pop(),e}function B(t){return!isNaN(parseFloat(t))&&isFinite(t)}function N(t,e,i){return Math.abs(t-e)=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;sl&&h=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function tt(t,e,i){i=i||(i=>t[i]1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const et=(t,e,i,s)=>tt(t,i,s?s=>t[s][e]<=i:s=>t[s][e]tt(t,i,(s=>t[s][e]>=i));function st(t,e,i){let s=0,n=t.length;for(;ss&&t[n-1]>i;)n--;return s>0||n{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function at(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(nt.forEach((e=>{delete t[e]})),delete t._chartjs)}function rt(t){const e=new Set;let i,s;for(i=0,s=t.length;iArray.prototype.slice.call(t));let n=!1,o=[];return function(...i){o=s(i),n||(n=!0,lt.call(window,(()=>{n=!1,t.apply(e,o)})))}}function ct(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const dt=t=>"start"===t?"left":"end"===t?"right":"center",ut=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,ft=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function gt(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:a,_parsed:r}=t,l=a.axis,{min:h,max:c,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=Z(Math.min(et(r,a.axis,h).lo,i?s:et(e,l,a.getPixelForValue(h)).lo),0,s-1)),o=u?Z(Math.max(et(r,a.axis,c,!0).hi+1,i?0:et(e,l,a.getPixelForValue(c),!0).hi+1),n,s)-n:s-n}return{start:n,count:o}}function pt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}var mt=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=lt.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}; +/*! + * @kurkle/color v0.2.1 + * https://github.com/kurkle/color#readme + * (c) 2022 Jukka Kurkela + * Released under the MIT License + */function bt(t){return t+.5|0}const xt=(t,e,i)=>Math.max(Math.min(t,i),e);function _t(t){return xt(bt(2.55*t),0,255)}function yt(t){return xt(bt(255*t),0,255)}function vt(t){return xt(bt(t/2.55)/100,0,1)}function wt(t){return xt(bt(100*t),0,100)}const Mt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},kt=[..."0123456789ABCDEF"],St=t=>kt[15&t],Pt=t=>kt[(240&t)>>4]+kt[15&t],Dt=t=>(240&t)>>4==(15&t);function Ot(t){var e=(t=>Dt(t.r)&&Dt(t.g)&&Dt(t.b)&&Dt(t.a))(t)?St:Pt;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Ct=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function At(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Tt(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Lt(t,e,i){const s=At(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function Et(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e>16&255,o>>8&255,255&o]}return t}(),Nt.transparent=[0,0,0,0]);const e=Nt[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const jt=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Ht=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,$t=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Yt(t,e,i){if(t){let s=Et(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=It(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function Ut(t,e){return t?Object.assign(e||{},t):t}function Xt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=yt(t[3]))):(e=Ut(t,{r:0,g:0,b:0,a:1})).a=yt(e.a),e}function qt(t){return"r"===t.charAt(0)?function(t){const e=jt.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?_t(t):xt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?_t(i):xt(i,0,255)),s=255&(e[4]?_t(s):xt(s,0,255)),n=255&(e[6]?_t(n):xt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Ft(t)}class Kt{constructor(t){if(t instanceof Kt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Xt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*Mt[s[1]],g:255&17*Mt[s[2]],b:255&17*Mt[s[3]],a:5===o?17*Mt[s[4]]:255}:7!==o&&9!==o||(n={r:Mt[s[1]]<<4|Mt[s[2]],g:Mt[s[3]]<<4|Mt[s[4]],b:Mt[s[5]]<<4|Mt[s[6]],a:9===o?Mt[s[7]]<<4|Mt[s[8]]:255})),i=n||Wt(t)||qt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=Ut(this._rgb);return t&&(t.a=vt(t.a)),t}set rgb(t){this._rgb=Xt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${vt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?Ot(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=Et(t),i=e[0],s=wt(e[1]),n=wt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${vt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=$t(vt(t.r)),n=$t(vt(t.g)),o=$t(vt(t.b));return{r:yt(Ht(s+i*($t(vt(e.r))-s))),g:yt(Ht(n+i*($t(vt(e.g))-n))),b:yt(Ht(o+i*($t(vt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Kt(this.rgb)}alpha(t){return this._rgb.a=yt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=bt(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Yt(this._rgb,2,t),this}darken(t){return Yt(this._rgb,2,-t),this}saturate(t){return Yt(this._rgb,1,t),this}desaturate(t){return Yt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=Et(t);i[0]=zt(i[0]+e),i=It(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Gt(t){return new Kt(t)}function Zt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Jt(t){return Zt(t)?t:Gt(t)}function Qt(t){return Zt(t)?t:Gt(t).saturate(.5).darken(.1).hexString()}const te=Object.create(null),ee=Object.create(null);function ie(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;et.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>Qt(e.backgroundColor),this.hoverBorderColor=(t,e)=>Qt(e.borderColor),this.hoverColor=(t,e)=>Qt(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return se(this,t,e)}get(t){return ie(this,t)}describe(t,e){return se(ee,t,e)}override(t,e){return se(te,t,e)}route(t,e,i,s){const o=ie(this,t),a=ie(this,i),l="_"+e;Object.defineProperties(o,{[l]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[l],e=a[s];return n(t)?Object.assign({},e,t):r(t,e)},set(t){this[l]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function oe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ae(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function re(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const le=t=>window.getComputedStyle(t,null);function he(t,e){return le(t).getPropertyValue(e)}const ce=["top","right","bottom","left"];function de(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=ce[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function ue(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=le(i),o="border-box"===n.boxSizing,a=de(n,"padding"),r=de(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(((t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot))(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const fe=t=>Math.round(10*t)/10;function ge(t,e,i,s){const n=le(t),o=de(n,"margin"),a=re(n.maxWidth,t,"clientWidth")||A,r=re(n.maxHeight,t,"clientHeight")||A,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=ae(t);if(o){const t=o.getBoundingClientRect(),a=le(o),r=de(a,"border","width"),l=de(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=re(a.maxWidth,o,"clientWidth"),n=re(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||A,maxHeight:n||A}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=de(n,"border","width"),e=de(n,"padding");h-=e.width+t.width,c-=e.height+t.height}return h=Math.max(0,h-o.width),c=Math.max(0,s?Math.floor(h/s):c-o.height),h=fe(Math.min(h,a,l.maxWidth)),c=fe(Math.min(c,r,l.maxHeight)),h&&!c&&(c=fe(h/2)),{width:h,height:c}}function pe(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=n/s,t.width=o/s;const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const me=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(t){}return t}();function be(t,e){const i=he(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function xe(t){return!t||i(t.size)||i(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function _e(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function ye(t,e,i,n){let o=(n=n||{}).data=n.data||{},a=n.garbageCollect=n.garbageCollect||[];n.font!==e&&(o=n.data={},a=n.garbageCollect=[],n.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;hi.length){for(h=0;h0&&t.stroke()}}function Se(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.xe.top-i&&t.y0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]);i(e.rotation)||t.rotate(e.rotation);e.color&&(t.fillStyle=e.color);e.textAlign&&(t.textAlign=e.textAlign);e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;ct[0])){M(s)||(s=$e("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:i,_fallback:s,_getTarget:n,override:n=>Ee([n,...t],e,i,s)};return new Proxy(o,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>Ve(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=$e(ze(o,t),i),M(n))return Fe(t,n)?je(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>Ye(t).includes(e),ownKeys:t=>Ye(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function Re(t,e,i,o){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ie(t,o),setContext:e=>Re(t,e,i,o),override:s=>Re(t.override(s),e,i,o)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>Ve(t,e,(()=>function(t,e,i){const{_proxy:o,_context:a,_subProxy:r,_descriptors:l}=t;let h=o[e];k(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t),e=e(o,a||s),r.delete(t),Fe(t,e)&&(e=je(n._scopes,n,t,e));return e}(e,h,t,i));s(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:o,_context:a,_subProxy:r,_descriptors:l}=i;if(M(a.index)&&s(t))e=e[a.index%e.length];else if(n(e[0])){const i=e,s=o._scopes.filter((t=>t!==i));e=[];for(const n of i){const i=je(s,o,t,n);e.push(Re(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Fe(e,h)&&(h=Re(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ie(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:k(i)?i:()=>i,isIndexable:k(s)?s:()=>s}}const ze=(t,e)=>t?t+w(e):e,Fe=(t,e)=>n(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Ve(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const s=i();return t[e]=s,s}function Be(t,e,i){return k(t)?t(e,i):t}const Ne=(t,e)=>!0===t?e:"string"==typeof t?y(e,t):void 0;function We(t,e,i,s,n){for(const o of e){const e=Ne(i,o);if(e){t.add(e);const o=Be(e._fallback,i,n);if(M(o)&&o!==i&&o!==s)return o}else if(!1===e&&M(s)&&i!==s)return null}return!1}function je(t,e,i,o){const a=e._rootScopes,r=Be(e._fallback,i,o),l=[...t,...a],h=new Set;h.add(o);let c=He(h,l,i,r||i,o);return null!==c&&((!M(r)||r===i||(c=He(h,l,r,c,o),null!==c))&&Ee(Array.from(h),[""],a,r,(()=>function(t,e,i){const o=t._getTarget();e in o||(o[e]={});const a=o[e];if(s(a)&&n(i))return i;return a}(e,i,o))))}function He(t,e,i,s,n){for(;i;)i=We(t,e,i,s,n);return i}function $e(t,e){for(const i of e){if(!i)continue;const e=i[t];if(M(e))return e}}function Ye(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function Ue(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;re"x"===t?"y":"x";function Ge(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=X(o,n),l=X(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function Ze(t,e="x"){const i=Ke(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=qe(t,0);for(a=0;a!t.skip))),"monotone"===e.cubicInterpolationMode)Ze(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o0===t||1===t,ei=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ii=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,si={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*L),easeOutSine:t=>Math.sin(t*L),easeInOutSine:t=>-.5*(Math.cos(D*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ti(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ti(t)?t:ei(t,.075,.3),easeOutElastic:t=>ti(t)?t:ii(t,.075,.3),easeInOutElastic(t){const e=.1125;return ti(t)?t:t<.5?.5*ei(2*t,e,.45):.5+.5*ii(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-si.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*si.easeInBounce(2*t):.5*si.easeOutBounce(2*t-1)+.5};function ni(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function oi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function ai(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=ni(t,n,i),r=ni(n,o,i),l=ni(o,e,i),h=ni(a,r,i),c=ni(r,l,i);return ni(h,c,i)}const ri=new Map;function li(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=ri.get(i);return s||(s=new Intl.NumberFormat(t,e),ri.set(i,s)),s}(e,i).format(t)}const hi=new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/),ci=new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);function di(t,e){const i=(""+t).match(hi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}function ui(t,e){const i={},s=n(e),o=s?Object.keys(e):e,a=n(t)?s?i=>r(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of o)i[t]=+a(t)||0;return i}function fi(t){return ui(t,{top:"y",right:"x",bottom:"y",left:"x"})}function gi(t){return ui(t,["topLeft","topRight","bottomLeft","bottomRight"])}function pi(t){const e=fi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function mi(t,e){t=t||{},e=e||ne.font;let i=r(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=r(t.style,e.style);s&&!(""+s).match(ci)&&(console.warn('Invalid font style specified: "'+s+'"'),s="");const n={family:r(t.family,e.family),lineHeight:di(r(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:r(t.weight,e.weight),string:""};return n.string=xe(n),n}function bi(t,e,i,n){let o,a,r,l=!0;for(o=0,a=t.length;oi&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function _i(t,e){return Object.assign(Object.create(t),e)}function yi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function vi(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function wi(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Mi(t){return"angle"===t?{between:G,compare:q,normalize:K}:{between:Q,compare:(t,e)=>t-e,normalize:t=>t}}function ki({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Si(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Mi(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Mi(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;hx||l(n,b,p)&&0!==r(n,b),v=()=>!x||0===r(o,p)||l(o,b,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==b&&(x=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(ki({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,b=p));return null!==_&&g.push(ki({start:_,end:d,loop:u,count:a,style:f})),g}function Pi(t,e){const i=[],s=t.segments;for(let n=0;nn&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Oi(t,[{start:a,end:r,loop:o}],i,e);return Oi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r{t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Vi={evaluateInteractionItems:Ei,modes:{index(t,e,i,s){const n=ue(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?Ri(t,n,o,s,a):zi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ue(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?Ri(t,n,o,s,a):zi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;tRi(t,ue(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ue(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return zi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>Fi(t,ue(e,t),"x",i.intersect,s),y:(t,e,i,s)=>Fi(t,ue(e,t),"y",i.intersect,s)}};const Bi=["left","top","right","bottom"];function Ni(t,e){return t.filter((t=>t.pos===e))}function Wi(t,e){return t.filter((t=>-1===Bi.indexOf(t.pos)&&t.box.axis===e))}function ji(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function Hi(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Bi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function qi(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;ot.box.fullSize)),!0),s=ji(Ni(e,"left"),!0),n=ji(Ni(e,"right")),o=ji(Ni(e,"top"),!0),a=ji(Ni(e,"bottom")),r=Wi(e,"x"),l=Wi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ni(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;d(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,u=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);Yi(f,pi(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=Hi(l.concat(h),u);qi(r.fullSize,g,u,p),qi(l,g,u,p),qi(h,g,u,p)&&qi(l,g,u,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),Gi(r.leftAndTop,g,u,p),g.x+=g.w,g.y+=g.h,Gi(r.rightAndBottom,g,u,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},d(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class Ji{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class Qi extends Ji{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ts={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},es=t=>null===t||""===t;const is=!!me&&{passive:!0};function ss(t,e,i){t.canvas.removeEventListener(e,i,is)}function ns(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function os(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ns(i.addedNodes,s),e=e&&!ns(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function as(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ns(i.removedNodes,s),e=e&&!ns(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const rs=new Map;let ls=0;function hs(){const t=window.devicePixelRatio;t!==ls&&(ls=t,rs.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function cs(t,e,i){const s=t.canvas,n=s&&ae(s);if(!n)return;const o=ht(((t,e)=>{const s=n.clientWidth;i(t,e),s{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){rs.size||window.addEventListener("resize",hs),rs.set(t,e)}(t,o),a}function ds(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){rs.delete(t),rs.size||window.removeEventListener("resize",hs)}(t)}function us(t,e,i){const s=t.canvas,n=ht((e=>{null!==t.ctx&&i(function(t,e){const i=ts[t.type]||t.type,{x:s,y:n}=ue(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t,(t=>{const e=t[0];return[e,e.offsetX,e.offsetY]}));return function(t,e,i){t.addEventListener(e,i,is)}(s,e,n),n}class fs extends Ji{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t.$chartjs={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",es(n)){const e=be(t,"width");void 0!==e&&(t.width=e)}if(es(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=be(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e.$chartjs)return!1;const s=e.$chartjs.initial;["height","width"].forEach((t=>{const n=s[t];i(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=s.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e.$chartjs,!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:os,detach:as,resize:cs}[e]||us;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:ds,detach:ds,resize:ds}[e]||ss)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return ge(t,e,i,s)}isAttached(t){const e=ae(t);return!(!e||!e.isConnected)}}function gs(t){return!oe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Qi:fs}var ps=Object.freeze({__proto__:null,_detectPlatform:gs,BasePlatform:Ji,BasicPlatform:Qi,DomPlatform:fs});const ms="transparent",bs={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Jt(t||ms),n=s.valid&&Jt(e||ms);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class xs{constructor(t,e,i,s){const n=e[i];s=bi([t.to,s,n,t.from]);const o=bi([t.from,n,s]);this._active=!0,this._fn=t.fn||bs[t.type||typeof o],this._easing=si[t.easing]||si.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=bi([t.to,e,s,t.from]),this._from=bi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),ne.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),ne.describe("animations",{_fallback:"animation"}),ne.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class ys{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!n(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach((i=>{const o=t[i];if(!n(o))return;const a={};for(const t of _s)a[t]=o[t];(s(o.properties)&&o.properties||[i]).forEach((t=>{t!==i&&e.has(t)||e.set(t,a)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new xs(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(mt.add(this._chart,i),!0):void 0}}function vs(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function ws(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n0||!i&&e<0)return n.index}return null}function Ds(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;ti[t].axis===e)).shift()}function Cs(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i]}}}const As=t=>"reset"===t||"none"===t,Ts=(t,e)=>e?t:Object.assign({},t);class Ls{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=ks(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Cs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=r(i.xAxisID,Os(t,"x")),o=e.yAxisID=r(i.yAxisID,Os(t,"y")),a=e.rAxisID=r(i.rAxisID,Os(t,"r")),l=e.indexAxis,h=e.iAxisID=s(l,n,o,a),c=e.vAxisID=s(l,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&at(this._data,this),t._stacked&&Cs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(n(e))this._data=function(t){const e=Object.keys(t),i=new Array(e.length);let s,n,o;for(s=0,n=e.length;s0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=o,i._sorted=!0,d=o;else{d=s(o[t])?this.parseArrayData(i,o,t,e):n(o[t])?this.parseObjectData(i,o,t,e):this.parsePrimitiveData(i,o,t,e);const a=()=>null===c[l]||f&&c[l]t&&!e.hidden&&e._stacked&&{keys:ws(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!o(f[t.axis])||c>e||d=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,a;for(s=0,n=e.length;s=0&&tthis.getContext(i,s)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Ts(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new ys(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||As(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){As(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!As(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}Es.defaults={},Es.defaultRoutes=void 0;const Rs={values:t=>s(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=I(Math.abs(o)),r=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),li(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=t/Math.pow(10,Math.floor(I(t)));return 1===s||2===s||5===s?Rs.numeric.call(this,t,e,i):""}};var Is={formatters:Rs};function zs(t,e){const s=t.options.ticks,n=s.maxTicksLimit||function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=s.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;in)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;nn)return e}return Math.max(n,1)}(o,e,n);if(a>0){let t,s;const n=a>1?Math.round((l-r)/(a-1)):null;for(Fs(e,h,c,i(n)?0:r-n,r),t=0,s=a-1;te.lineWidth,tickColor:(t,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Is.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),ne.route("scale.ticks","color","","color"),ne.route("scale.grid","color","","borderColor"),ne.route("scale.grid","borderColor","","borderColor"),ne.route("scale.title","color","","color"),ne.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),ne.describe("scales",{_fallback:"scale"}),ne.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Vs=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i;function Bs(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;oa+r)))return h}function Ws(t){return t.drawTicks?t.tickLength:0}function js(t,e){if(!t.display)return 0;const i=mi(t.font,e),n=pi(t.padding);return(s(t.text)?t.text.length:1)*i.lineHeight+n.height}function Hs(t,e,i){let s=dt(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class $s extends Es{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=a(t,Number.POSITIVE_INFINITY),e=a(e,Number.NEGATIVE_INFINITY),i=a(i,Number.POSITIVE_INFINITY),s=a(s,Number.NEGATIVE_INFINITY),{min:a(t,i),max:a(e,s),minDefined:o(t),maxDefined:o(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const r=this.getMatchingVisibleMetas();for(let a=0,l=r.length;as?s:i,s=n&&i>s?i:s,{min:a(i,a(s,i)),max:a(s,a(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){c(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=xi(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Z(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Ws(t.grid)-e.padding-js(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=$(Math.min(Math.asin(Z((h.highest.height+6)/o,-1,1)),Math.asin(Z(a/r,-1,1))-Math.asin(Z(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){c(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){c(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=js(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Ws(n)+o):(t.height=this.maxHeight,t.width=Ws(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=H(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){c(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,s;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,s=t.length;e{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n({width:a[t]||0,height:r[t]||0});return{first:k(0),last:k(e-1),widest:k(w),highest:k(M),widths:a,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return J(this._alignToPixels?ve(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*s?a/i:r/s:r*s0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:o,position:a}=s,l=o.offset,h=this.isHorizontal(),c=this.ticks.length+(l?1:0),d=Ws(o),u=[],f=o.setContext(this.getContext()),g=f.drawBorder?f.borderWidth:0,p=g/2,m=function(t){return ve(i,t,g)};let b,x,_,y,v,w,M,k,S,P,D,O;if("top"===a)b=m(this.bottom),w=this.bottom-d,k=b-p,P=m(t.top)+p,O=t.bottom;else if("bottom"===a)b=m(this.top),P=t.top,O=m(t.bottom)-p,w=b+p,k=this.top+d;else if("left"===a)b=m(this.right),v=this.right-d,M=b-p,S=m(t.left)+p,D=t.right;else if("right"===a)b=m(this.left),S=t.left,D=m(t.right)-p,v=b+p,M=this.left+d;else if("x"===e){if("center"===a)b=m((t.top+t.bottom)/2+.5);else if(n(a)){const t=Object.keys(a)[0],e=a[t];b=m(this.chart.scales[t].getPixelForValue(e))}P=t.top,O=t.bottom,w=b+p,k=w+d}else if("y"===e){if("center"===a)b=m((t.left+t.right)/2);else if(n(a)){const t=Object.keys(a)[0],e=a[t];b=m(this.chart.scales[t].getPixelForValue(e))}v=b-p,M=v-d,S=t.left,D=t.right}const C=r(s.ticks.maxTicksLimit,c),A=Math.max(1,Math.ceil(c/C));for(x=0;xe.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ne.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ne.describe(e,t.descriptors)}(t,o,i),this.override&&ne.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ne[s]&&(delete ne[s][i],this.override&&delete te[i])}}var Us=new class{constructor(){this.controllers=new Ys(Ls,"datasets",!0),this.elements=new Ys(Es,"elements"),this.plugins=new Ys(Object,"plugins"),this.scales=new Ys($s,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):d(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);c(i["before"+s],[],i),e[t](i),c(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function qs(t,e){return e||!1!==t?!0===t?{}:t:null}function Ks(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Gs(t,e){const i=ne.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function Zs(t,e){return"x"===t||"y"===t?t:e.axis||("top"===(i=e.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.charAt(0).toLowerCase();var i}function Js(t){const e=t.options||(t.options={});e.plugins=r(e.plugins,{}),e.scales=function(t,e){const i=te[t.type]||{scales:{}},s=e.scales||{},o=Gs(t.type,e),a=Object.create(null),r=Object.create(null);return Object.keys(s).forEach((t=>{const e=s[t];if(!n(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const l=Zs(t,e),h=function(t,e){return t===e?"_index_":"_value_"}(l,o),c=i.scales||{};a[l]=a[l]||t,r[t]=b(Object.create(null),[{axis:l},e,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||Gs(n,e),l=(te[n]||{}).scales||{};Object.keys(l).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||a[e]||e;r[n]=r[n]||Object.create(null),b(r[n],[{axis:e},s[n],l[t]])}))})),Object.keys(r).forEach((t=>{const e=r[t];b(e,[ne.scales[e.type],ne.scale])})),r}(t,e)}function Qs(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const tn=new Map,en=new Set;function sn(t,e){let i=tn.get(t);return i||(i=e(),tn.set(t,i),en.add(i)),i}const nn=(t,e,i)=>{const s=y(e,i);void 0!==s&&t.add(s)};class on{constructor(t){this._config=function(t){return(t=t||{}).data=Qs(t.data),Js(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Qs(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Js(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return sn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return sn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return sn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return sn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>nn(r,t,e)))),e.forEach((t=>nn(r,s,t))),e.forEach((t=>nn(r,te[n]||{},t))),e.forEach((t=>nn(r,ne,t))),e.forEach((t=>nn(r,ee,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),en.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,te[e]||{},ne.datasets[e]||{},{type:e},ne,ee]}resolveNamedOptions(t,e,i,n=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=an(this._resolverCache,t,n);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:n}=Ie(t);for(const o of e){const e=i(o),a=n(o),r=(a||e)&&t[o];if(e&&(k(r)||rn(r))||a&&s(r))return!0}return!1}(a,e)){o.$shared=!1;l=Re(a,i=k(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:o}=an(this._resolverCache,t,i);return n(e)?Re(o,e,void 0,s):o}}function an(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:Ee(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const rn=t=>n(t)&&Object.getOwnPropertyNames(t).reduce(((e,i)=>e||k(t[i])),!1);const ln=["top","bottom","left","right","chartArea"];function hn(t,e){return"top"===t||"bottom"===t||-1===ln.indexOf(t)&&"x"===e}function cn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function dn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),c(i&&i.onComplete,[t],e)}function un(t){const e=t.chart,i=e.options.animation;c(i&&i.onProgress,[t],e)}function fn(t){return oe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const gn={},pn=t=>{const e=fn(t);return Object.values(gn).filter((t=>t.canvas===e)).pop()};function mn(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class bn{constructor(t,i){const s=this.config=new on(i),n=fn(t),o=pn(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||gs(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=e(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Xs,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ct((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],gn[this.id]=this,r&&l?(mt.listen(this,"complete",dn),mt.listen(this,"progress",un),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return i(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():pe(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return we(this.canvas,this.ctx),this}stop(){return mt.stop(this),this}resize(t,e){mt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,pe(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),c(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){d(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=Zs(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),d(n,(e=>{const n=e.options,o=n.id,a=Zs(o,n),l=r(n.type,e.dtype);void 0!==n.position&&hn(n.position,a)===hn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===l)h=i[o];else{h=new(Us.getScale(l))({id:o,type:l,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),d(s,((t,e)=>{t||delete i[e]})),d(i,(t=>{Zi.configure(this,t,t.options),Zi.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(cn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){d(this.scales,(t=>{Zi.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);S(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){mn(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Zi.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],d(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&Pe(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&De(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Se(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Vi.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=_i(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);M(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),mt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};d(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){d(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},d(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!u(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=P(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,c(n.onHover,[t,a,this],this),r&&c(n.onClick,[t,a,this],this));const h=!u(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}const xn=()=>d(bn.instances,(t=>t._plugins.invalidate())),_n=!0;function yn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}Object.defineProperties(bn,{defaults:{enumerable:_n,value:ne},instances:{enumerable:_n,value:gn},overrides:{enumerable:_n,value:te},registry:{enumerable:_n,value:Us},version:{enumerable:_n,value:"3.9.1"},getChart:{enumerable:_n,value:pn},register:{enumerable:_n,value:(...t)=>{Us.add(...t),xn()}},unregister:{enumerable:_n,value:(...t)=>{Us.remove(...t),xn()}}});class vn{constructor(t){this.options=t||{}}init(t){}formats(){return yn()}parse(t,e){return yn()}format(t,e){return yn()}add(t,e,i){return yn()}diff(t,e,i){return yn()}startOf(t,e,i){return yn()}endOf(t,e){return yn()}}vn.override=function(t){Object.assign(vn.prototype,t)};var wn={_date:vn};function Mn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;et-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(M(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;sMath.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,n):e[i.axis]=i.parse(t,n),e}function Sn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;ht.x,i="left",s="right"):(e=t.baset.controller.options.grouped)),o=s.options.stacked,a=[],r=t=>{const s=t.controller.getParsed(e),n=s&&s[t.vScale.axis];if(i(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!r(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n=i?1:-1)}(d,e,a)*o,u===a&&(m-=d/2);const t=e.getPixelForDecimal(0),i=e.getPixelForDecimal(1),s=Math.min(t,i),n=Math.max(t,i);m=Math.max(Math.min(m,n),s),c=m+d}if(m===e.getPixelForValue(a)){const t=z(d)*e.getLineWidthForValue(a)/2;m+=t,d-=t}return{size:d,base:m,head:c,center:c+d/2}}_calculateBarIndexPixels(t,e){const s=e.scale,n=this.options,o=n.skipNull,a=r(n.maxBarThickness,1/0);let l,h;if(e.grouped){const s=o?this._getStackCount(t):e.stackCount,r="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:i,yScale:s}=e,n=this.getParsed(t),o=i.getLabelForValue(n.x),a=s.getLabelForValue(n.y),r=n._custom;return{label:e.label,value:"("+o+", "+a+(r?", "+r:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d""}}}};class En extends Ls{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let o,a,r=t=>+i[t];if(n(i[t])){const{key:t="value"}=this._parsing;r=e=>+y(i[e],t)}for(o=t,a=t+e;oG(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>G(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(L,c,u),b=g(D,h,d),x=g(D+L,c,u);s=(p-b)/2,n=(m-x)/2,o=-(p+b)/2,a=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),b=(i.width-o)/f,x=(i.height-o)/g,_=Math.max(Math.min(b,x)/2,0),y=h(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*c,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=li(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s"spacing"!==t,_indexable:t=>"spacing"!==t},En.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let e=t.label;const i=": "+t.formattedValue;return s(e)?(e=e.slice(),e[0]+=i):e+=i,e}}}}};class Rn extends Ls{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=gt(e,s,o);this._drawStart=a,this._drawCount=r,pt(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,s,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,{sharedOptions:c,includeOptions:d}=this._getSharedOptions(e,n),u=a.axis,f=r.axis,{spanGaps:g,segment:p}=this.options,m=B(g)?g:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||"none"===n;let x=e>0&&this.getParsed(e-1);for(let g=e;g0&&Math.abs(s[u]-x[u])>m,p&&(_.parsed=s,_.raw=h.data[g]),d&&(_.options=c||this.resolveDataElementOptions(g,e.active?"active":n)),b||this.updateElement(e,g,_,n),x=s}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}Rn.id="line",Rn.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},Rn.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class In extends Ls{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=li(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return Ue.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(se.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*D;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?H(this.resolveDataElementOptions(t,e).angle||i):0}}In.id="polarArea",In.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},In.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class zn extends En{}zn.id="pie",zn.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class Fn extends Ls{getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return Ue.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a0&&this.getParsed(e-1);for(let c=e;c0&&Math.abs(s[f]-_[f])>b,m&&(p.parsed=s,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),x||this.updateElement(e,c,p,n),_=s}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}Vn.id="scatter",Vn.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1},Vn.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var Bn=Object.freeze({__proto__:null,BarController:Tn,BubbleController:Ln,DoughnutController:En,LineController:Rn,PolarAreaController:In,PieController:zn,RadarController:Fn,ScatterController:Vn});function Nn(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+L,s-L),t.closePath(),t.clip()}function Wn(t,e,i,s){const n=ui(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return Z(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Z(n.innerStart,0,a),innerEnd:Z(n.innerEnd,0,a)}}function jn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Hn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/D)/d)/2,m=l+p+f,b=n-p-f,{outerStart:x,outerEnd:_,innerStart:y,innerEnd:v}=Wn(e,u,d,b-m),w=d-x,M=d-_,k=m+x/w,S=b-_/M,P=u+y,O=u+v,C=m+y/P,A=b-v/O;if(t.beginPath(),o){if(t.arc(a,r,d,k,S),_>0){const e=jn(M,S,a,r);t.arc(e.x,e.y,_,S,b+L)}const e=jn(O,b,a,r);if(t.lineTo(e.x,e.y),v>0){const e=jn(O,A,a,r);t.arc(e.x,e.y,v,b+L,A+Math.PI)}if(t.arc(a,r,u,b-v/u,m+y/u,!0),y>0){const e=jn(P,C,a,r);t.arc(e.x,e.y,y,C+Math.PI,m-L)}const i=jn(w,m,a,r);if(t.lineTo(i.x,i.y),x>0){const e=jn(w,k,a,r);t.arc(e.x,e.y,x,m-L,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function $n(t,e,i,s,n,o){const{options:a}=e,{borderWidth:r,borderJoinStyle:l}=a,h="inner"===a.borderAlign;r&&(h?(t.lineWidth=2*r,t.lineJoin=l||"round"):(t.lineWidth=r,t.lineJoin=l||"bevel"),e.fullCircles&&function(t,e,i){const{x:s,y:n,startAngle:o,pixelMargin:a,fullCircles:r}=e,l=Math.max(e.outerRadius-a,0),h=e.innerRadius+a;let c;for(i&&Nn(t,e,o+O),t.beginPath(),t.arc(s,n,h,o+O,o,!0),c=0;c=O||G(n,a,l),g=Q(o,h+u,c+u);return f&&g}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/2,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();let a=0;if(s){a=s/2;const e=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(e)*a,Math.sin(e)*a),this.circumference>=D&&(a=s)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const r=function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Hn(t,e,i,s,a+O,n);for(let e=0;er&&o>r;return{count:s,start:l,loop:e.loop,ilen:h(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[x(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[x(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(ig&&(g=i),m=(b*m+e)/++b):(_(),t.lineTo(e,i),u=s,b=0,f=g=i),p=i}_()}function Zn(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?Gn:Kn}Yn.id="arc",Yn.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0},Yn.defaultRoutes={backgroundColor:"backgroundColor"};const Jn="function"==typeof Path2D;function Qn(t,e,i,s){Jn&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Un(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=Zn(e);for(const r of n)Un(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class to extends Es{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;Qe(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Di(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Pi(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?oi:t.tension||"monotone"===t.cubicInterpolationMode?ai:ni}(i);let l,h;for(l=0,h=o.length;l"borderDash"!==t&&"fill"!==t};class io extends Es{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2){uo(t)}))}var go={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,s)=>{if(!s.enabled)return void fo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===bi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Z(et(e,o.axis,a).lo,0,i-1)),s=h?Z(et(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(s.threshold||4*n))return void uo(e);let f;switch(i(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),s.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;cu&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,s);break;case"min-max":f=function(t,e,s,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const b=[],x=e+s-1,_=t[e].x,y=t[x].x-_;for(o=e;og&&(g=l,d=o),p=(m*p+a.x)/++m;else{const s=o-1;if(!i(c)&&!i(d)){const e=Math.min(c,d),i=Math.max(c,d);e!==u&&e!==s&&b.push({...t[e],x:p}),i!==u&&i!==s&&b.push({...t[i],x:p})}o>0&&s!==u&&b.push(t[s]),b.push(a),h=e,m=0,f=g=l,c=d=u=o}}return b}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${s.algorithm}'`)}e._decimated=f}))},destroy(t){fo(t)}};function po(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=K(n),o=K(o)),{property:t,start:n,end:o}}function mo(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function bo(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function xo(t,e){let i=[],n=!1;return s(t)?(n=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=mo(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new to({points:i,options:{tension:0},_loop:n,_fullLoop:n}):null}function _o(t){return t&&!1!==t.fill}function yo(t,e,i){let s=t[e].fill;const n=[e];let a;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!o(s))return s;if(a=t[s],!a)return!1;if(a.visible)return s;n.push(s),s=a.fill}return!1}function vo(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=r(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(n(s))return!isNaN(s.value)&&s;let a=parseFloat(s);return o(a)&&Math.floor(a)===a?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,a,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function wo(t,e,i){const s=[];for(let n=0;n=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&Po(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;_o(i)&&Po(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;_o(s)&&"beforeDatasetDraw"===i.drawTime&&Po(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Lo=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class Eo extends Es{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=c(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=mi(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=Lo(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,n,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const p=i+e/2+n.measureText(t.text).width;o>0&&u+s+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:s},d=Math.max(d,p),u+=s+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=yi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ut(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ut(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ut(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ut(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Pe(t,this),this._draw(),De(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ne.color,l=yi(t.rtl,this.left,this.width),h=mi(o.font),{color:c,padding:d}=o,u=h.size,f=u/2;let g;this.drawTitle(),s.textAlign=l.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:p,boxHeight:m,itemHeight:b}=Lo(o,u),x=this.isHorizontal(),_=this._computeTitleHeight();g=x?{x:ut(n,this.left+d,this.right-i[0]),y:this.top+d+_,line:0}:{x:this.left+d,y:ut(n,this.top+_+d,this.bottom-e[0].height),line:0},vi(this.ctx,t.textDirection);const y=b+d;this.legendItems.forEach(((v,w)=>{s.strokeStyle=v.fontColor||c,s.fillStyle=v.fontColor||c;const M=s.measureText(v.text).width,k=l.textAlign(v.textAlign||(v.textAlign=o.textAlign)),S=p+f+M;let P=g.x,D=g.y;l.setWidth(this.width),x?w>0&&P+S+d>this.right&&(D=g.y+=y,g.line++,P=g.x=ut(n,this.left+d,this.right-i[g.line])):w>0&&D+y>this.bottom&&(P=g.x=P+e[g.line].width+d,g.line++,D=g.y=ut(n,this.top+_+d,this.bottom-e[g.line].height));!function(t,e,i){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;s.save();const n=r(i.lineWidth,1);if(s.fillStyle=r(i.fillStyle,a),s.lineCap=r(i.lineCap,"butt"),s.lineDashOffset=r(i.lineDashOffset,0),s.lineJoin=r(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=r(i.strokeStyle,a),s.setLineDash(r(i.lineDash,[])),o.usePointStyle){const a={radius:m*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},r=l.xPlus(t,p/2);ke(s,a,r,e+f,o.pointStyleWidth&&p)}else{const o=e+Math.max((u-m)/2,0),a=l.leftForLtr(t,p),r=gi(i.borderRadius);s.beginPath(),Object.values(r).some((t=>0!==t))?Le(s,{x:a,y:o,w:p,h:m,radius:r}):s.rect(a,o,p,m),s.fill(),0!==n&&s.stroke()}s.restore()}(l.x(P),D,v),P=ft(k,P+p+f,x?P+S:this.right,t.rtl),function(t,e,i){Ae(s,i.text,t,e+b/2,h,{strikethrough:i.hidden,textAlign:l.textAlign(i.textAlign)})}(l.x(P),D,v),x?g.x+=S+d:g.y+=y})),wi(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=mi(e.font),s=pi(e.padding);if(!e.display)return;const n=yi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ut(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ut(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ut(a,c,c+d);o.textAlign=n.textAlign(dt(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ae(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=mi(t.font),i=pi(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(Q(t,this.left,this.right)&&Q(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;it.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const a=t.controller.getStyle(i?0:void 0),r=pi(a.borderWidth);return{text:e[t.index].label,fillStyle:a.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(r.width+r.height)/4,strokeStyle:a.borderColor,pointStyle:s||a.pointStyle,rotation:a.rotation,textAlign:n||a.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Io extends Es{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const n=s(i.text)?i.text.length:1;this._padding=pi(i.padding);const o=n*mi(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ut(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ut(a,s,e),c=-.5*D):(l=n-t,h=ut(a,e,s),c=.5*D),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=mi(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ae(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:dt(e.align),textBaseline:"middle",translation:[n,o]})}}var zo={id:"title",_element:Io,start(t,e,i){!function(t,e){const i=new Io({ctx:t.ctx,options:e,chart:t});Zi.configure(t,i,e),Zi.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;Zi.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;Zi.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fo=new WeakMap;var Vo={id:"subtitle",start(t,e,i){const s=new Io({ctx:t.ctx,options:i,chart:t});Zi.configure(t,s,i),Zi.addBox(t,s),Fo.set(t,s)},stop(t){Zi.removeBox(t,Fo.get(t)),Fo.delete(t)},beforeUpdate(t,e,i){const s=Fo.get(t);Zi.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Bo={average(t){if(!t.length)return!1;let e,i,s=0,n=0,o=0;for(e=0,i=t.length;e-1?t.split("\n"):t}function jo(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Ho(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=mi(e.bodyFont),h=mi(e.titleFont),c=mi(e.footerFont),u=o.length,f=n.length,g=s.length,p=pi(e.padding);let m=p.height,b=0,x=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(x+=t.beforeBody.length+t.afterBody.length,u&&(m+=u*h.lineHeight+(u-1)*e.titleSpacing+e.titleMarginBottom),x){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(x-g)*l.lineHeight+(x-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){b=Math.max(b,i.measureText(t).width+_)};return i.save(),i.font=h.string,d(t.title,y),i.font=l.string,d(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,d(s,(t=>{d(t.before,y),d(t.lines,y),d(t.after,y)})),_=0,i.font=c.string,d(t.footer,y),i.restore(),b+=p.width,{width:b,height:m}}function $o(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Yo(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return it.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||$o(t,e,i,s),yAlign:s}}function Uo(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=gi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:Z(g,0,s.width-e.width),y:Z(p,0,s.height-e.height)}}function Xo(t,e,i){const s=pi(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function qo(t){return No([],Wo(t))}function Ko(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}class Go extends Es{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new ys(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,i=this._tooltipItems,_i(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=i.beforeTitle.apply(this,[t]),n=i.title.apply(this,[t]),o=i.afterTitle.apply(this,[t]);let a=[];return a=No(a,Wo(s)),a=No(a,Wo(n)),a=No(a,Wo(o)),a}getBeforeBody(t,e){return qo(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:i}=e,s=[];return d(t,(t=>{const e={before:[],lines:[],after:[]},n=Ko(i,t);No(e.before,Wo(n.beforeLabel.call(this,t))),No(e.lines,n.label.call(this,t)),No(e.after,Wo(n.afterLabel.call(this,t))),s.push(e)})),s}getAfterBody(t,e){return qo(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:i}=e,s=i.beforeFooter.apply(this,[t]),n=i.footer.apply(this,[t]),o=i.afterFooter.apply(this,[t]);let a=[];return a=No(a,Wo(s)),a=No(a,Wo(n)),a=No(a,Wo(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;at.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),d(l,(e=>{const i=Ko(t.callbacks,e);s.push(i.labelColor.call(this,e)),n.push(i.labelPointStyle.call(this,e)),o.push(i.labelTextColor.call(this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Bo[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Ho(this,i),a=Object.assign({},t,e),r=Yo(this.chart,i,a),l=Uo(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=gi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,b,x,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,x=_+o,y=_-o):(p=d+f,m=p+o,x=_-o,y=_+o),b=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(x=u,_=x-o,p=m-o,b=m+o):(x=u+g,_=x+o,p=m+o,b=m-o),y=x),{x1:p,x2:m,x3:b,y1:x,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=yi(i.rtl,this.x,this.width);for(t.x=Xo(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=mi(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r0!==t))?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Le(t,{x:e,y:p,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),Le(t,{x:i,y:p+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(e,p,h,l),t.strokeRect(e,p,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,p+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=mi(i.bodyFont);let u=c.lineHeight,f=0;const g=yi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+u/2),t.y+=u+n},m=g.textAlign(o);let b,x,_,y,v,w,M;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Xo(this,m,i),e.fillStyle=i.bodyColor,d(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,w=s.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Bo[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Ho(this,t),a=Object.assign({},i,this._size),r=Yo(e,t,a),l=Uo(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=pi(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),vi(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),wi(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!u(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!u(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e;const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Bo[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}Go.positioners=Bo;var Zo={id:"tooltip",_element:Go,positioners:Bo,afterInit(t,e,i){i&&(t.tooltip=new Go({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",i))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:t,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},Jo=Object.freeze({__proto__:null,Decimation:go,Filler:To,Legend:Ro,SubTitle:Vo,Title:zo,Tooltip:Zo});function Qo(t,e,i,s){const n=t.indexOf(e);if(-1===n)return((t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}class ta extends $s{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(i(t))return null;const s=this.getLabels();return((t,e)=>null===t?null:Z(Math.round(t),0,e))(e=isFinite(e)&&s[e]===t?e:Qo(s,t,r(e,t),this._addedLabels),s.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function ea(t,e,{horizontal:i,minRotation:s}){const n=H(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}ta.id="category",ta.defaults={ticks:{callback:ta.prototype.getLabelForValue}};class ia extends $s{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return i(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=z(s),e=z(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=1;(n>=Number.MAX_SAFE_INTEGER||s<=Number.MIN_SAFE_INTEGER)&&(e=Math.abs(.05*n)),a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const n=function(t,e){const s=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,b=!i(a),x=!i(r),_=!i(h),y=(m-p)/(d+1);let v,w,M,k,S=F((m-p)/g/f)*f;if(S<1e-14&&!b&&!x)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=F(k*S/g/f)*f),i(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(w=Math.floor(p/S)*S,M=Math.ceil(m/S)*S):(w=p,M=m),b&&x&&o&&W((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,w=a,M=r):_?(w=b?a:w,M=x?r:M,k=h-1,S=(M-w)/k):(k=(M-w)/S,k=N(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(Y(S),Y(w));v=Math.pow(10,i(l)?P:l),w=Math.round(w*v)/v,M=Math.round(M*v)/v;let D=0;for(b&&(u&&w!==a?(s.push({value:a}),w0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=o(t)?Math.max(0,t):null,this.max=o(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t,a=(t,e)=>Math.pow(10,Math.floor(I(t))+e);i===s&&(i<=0?(n(1),o(10)):(n(a(i,-1)),o(a(s,1)))),i<=0&&n(a(s,-1)),s<=0&&o(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&n(a(i,-1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=function(t,e){const i=Math.floor(I(e.max)),s=Math.ceil(e.max/Math.pow(10,i)),n=[];let o=a(t.min,Math.pow(10,Math.floor(I(e.min)))),r=Math.floor(I(o)),l=Math.floor(o/Math.pow(10,r)),h=r<0?Math.pow(10,Math.abs(r)):1;do{n.push({value:o,major:na(o)}),++l,10===l&&(l=1,++r,h=r>=0?1:h),o=Math.round(l*Math.pow(10,r)*h)/h}while(rn?{start:e-i,end:e}:{start:e,end:e+i}}function la(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),n=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?D/a:0;for(let u=0;ue.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.starte.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function ca(t){return 0===t||180===t?"center":t<180?"left":"right"}function da(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function ua(t,e,i){return 90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e),t}function fa(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o{const i=c(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?la(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return K(t*(O/(this._pointLabels.length||1))+H(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(i(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(i(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t=0;o--){const e=n.setContext(t.getPointLabelContext(o)),a=mi(e.font),{x:r,y:l,textAlign:h,left:c,top:d,right:u,bottom:f}=t._pointLabelItems[o],{backdropColor:g}=e;if(!i(g)){const t=gi(e.borderRadius),i=pi(e.backdropPadding);s.fillStyle=g;const n=c-i.left,o=d-i.top,a=u-c+i.width,r=f-d+i.height;Object.values(t).some((t=>0!==t))?(s.beginPath(),Le(s,{x:n,y:o,w:a,h:r,radius:t}),s.fill()):s.fillRect(n,o,a,r)}Ae(s,t._pointLabels[o],r,l+a.lineHeight/2,a,{color:e.color,textAlign:h,textBaseline:"middle"})}}(this,o),n.display&&this.ticks.forEach(((t,e)=>{if(0!==e){r=this.getDistanceFromCenterForValue(t.value);!function(t,e,i,s){const n=t.ctx,o=e.circular,{color:a,lineWidth:r}=e;!o&&!s||!a||!r||i<0||(n.save(),n.strokeStyle=a,n.lineWidth=r,n.setLineDash(e.borderDash),n.lineDashOffset=e.borderDashOffset,n.beginPath(),fa(t,i,o,s),n.closePath(),n.stroke(),n.restore())}(this,n.setContext(this.getContext(e-1)),r,o)}})),s.display){for(t.save(),a=o-1;a>=0;a--){const i=s.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=i;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(i.borderDash),t.lineDashOffset=i.borderDashOffset,r=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=mi(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=pi(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ae(t,s.label,0,-n,l,{color:r.color})})),t.restore()}drawTitle(){}}ga.id="radialLinear",ga.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Is.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}},ga.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},ga.descriptors={angleLines:{_fallback:"grid"}};const pa={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ma=Object.keys(pa);function ba(t,e){return t-e}function xa(t,e){if(i(e))return null;const s=t._adapter,{parser:n,round:a,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),o(l)||(l="string"==typeof n?s.parse(l,n):s.parse(l)),null===l?null:(a&&(l="week"!==a||!B(r)&&!0!==r?s.startOf(l,a):s.startOf(l,"isoWeek",r)),+l)}function _a(t,e,i,s){const n=ma.length;for(let o=ma.indexOf(t);o=e?i[s]:i[n]]=!0}}else t[e]=!0}function va(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a=0&&(e[l].major=!0);return e}(t,s,n,i):s}class wa extends $s{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e){const i=t.time||(t.time={}),s=this._adapter=new wn._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:xa(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:a,maxDefined:r}=this.getUserBounds();function l(t){a||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}a&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=o(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=o(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=st(s,n,this.max);return this._unit=e.unit||(i.autoSkip?_a(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=ma.length-1;o>=ma.indexOf(i);o--){const i=ma[o];if(pa[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return ma[i?ma.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=ma.indexOf(t)+1,i=ma.length;e+t.value)))}initOffsets(t){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=Z(s,0,o),n=Z(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||_a(n.minUnit,e,i,this._getLabelCapacity(e)),a=r(n.stepSize,1),l="week"===o&&n.isoWeekday,h=B(l)||!0===l,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",l)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;dt-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.time.displayFormats,a=this._unit,r=this._majorUnit,l=a&&o[a],h=r&&o[r],d=i[e],u=r&&h&&d&&d.major,f=this._adapter.format(t,s||(u?h:l)),g=n.ticks.callback;return g?c(g,[f,e,i],this):f}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=et(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=et(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}wa.id="time",wa.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class ka extends wa{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ma(e,this.min),this._tableRange=Ma(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n @include ltr-rtl(\"border-top-right-radius\", valid-radius($radius));\n @include ltr-rtl(\"border-bottom-right-radius\", valid-radius($radius));\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n @include ltr-rtl(\"border-top-left-radius\", valid-radius($radius));\n @include ltr-rtl(\"border-bottom-left-radius\", valid-radius($radius));\n }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n @include ltr-rtl(\"border-top-right-radius\", valid-radius($radius));\n }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n @include ltr-rtl(\"border-bottom-right-radius\", valid-radius($radius));\n }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n @include ltr-rtl(\"border-bottom-left-radius\", valid-radius($radius));\n }\n}\n// scss-docs-end border-radius-mixins\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-base: #3c4b64 !default;\n$gray-100: #ebedef !default;\n$gray-200: #d8dbe0 !default;\n$gray-300: #c4c9d0 !default;\n$gray-400: #b1b7c1 !default;\n$gray-500: #9da5b1 !default;\n$gray-600: #8a93a2 !default;\n$gray-700: #768192 !default;\n$gray-800: #636f83 !default;\n$gray-900: #4f5d73 !default;\n$black: #000015 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n$high-emphasis: rgba(shift-color($gray-base, +26), .95) !default;\n$medium-emphasis: rgba(shift-color($gray-base, +26), .681) !default;\n$disabled: rgba(shift-color($gray-base, +26), .38) !default;\n\n$high-emphasis-inverse: rgba($white, .87) !default;\n$medium-emphasis-inverse: rgba($white, .6) !default;\n$disabled-inverse: rgba($white, .38) !default;\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// fusv-disable\n$primary-dark: #1f1498 !default;\n$primary-base: #321fdb !default;\n$primary-50: #988fed !default;\n$primary-25: #ccc7f6 !default;\n\n$secondary-dark: #212233 !default;\n$secondary-base: #9da5b1 !default;\n$secondary-50: #9da5b1 !default;\n$secondary-25: #ced2d8 !default;\n\n$success-dark: #1b9e3e !default;\n$success-base: #2eb85c !default;\n$success-50: #96dbad !default;\n$success-25: #cbedd6 !default;\n\n$info-dark: #2982cc !default;\n$info-base: #39f !default;\n$info-50: #80c6ff !default;\n$info-25: #c0e6ff !default;\n\n$warning-dark: #f6960b !default;\n$warning-base: #f9b115 !default;\n$warning-50: #fcd88a !default;\n$warning-25: #feecc5 !default;\n\n$danger-dark: #d93737 !default;\n$danger-base: #e55353 !default;\n$danger-50: #f2a9a9 !default;\n$danger-25: #f9d4d4 !default;\n\n$light-dark: $gray-100 !default;\n$light-base: $gray-100 !default;\n$light-50: shift-color($light-base, -70) !default;\n$light-25: shift-color($light-base, -80) !default;\n\n$dark-dark: $gray-900 !default;\n$dark-base: $gray-900 !default;\n$dark-50: shift-color($dark-base, -70) !default;\n$dark-25: shift-color($dark-base, -80) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $primary-base !default;\n$secondary: $secondary-base !default;\n$success: $success-base !default;\n$info: $info-base !default;\n$warning: $warning-base !default;\n$danger: $danger-base !default;\n$light: $light-base !default;\n$dark: $dark-base !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $high-emphasis-inverse !default;\n$color-contrast-light: $high-emphasis !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n$enable-contrast-ratio-correction: true !default;\n$enable-contrast-ratio-warnings: false !default;\n$enable-ltr: true !default;\n$enable-rtl: false !default;\n\n// Set mobile breakpoint\n\n$mobile-breakpoint: md !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: cui- !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $high-emphasis !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width * .5 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-color: $gray-200 !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $high-emphasis-inverse !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: unset !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-high-emphasis: $high-emphasis !default;\n$text-medium-emphasis: $medium-emphasis !default;\n$text-disabled: $disabled !default;\n$text-muted: $disabled !default;\n\n$text-high-emphasis-inverse: $high-emphasis-inverse !default;\n$text-medium-emphasis-inverse: $medium-emphasis-inverse !default;\n$text-disabled-inverse: $disabled-inverse !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$vr-color: inherit !default;\n$vr-width: $border-width !default;\n$vr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n// scss-docs-end type-variables\n\n// Icons\n$icon-size-base: 1rem !default;\n$icon-size-sm: $icon-size-base * .875 !default;\n$icon-size-lg: $icon-size-base * 1.25 !default;\n$icon-size-xl: $icon-size-base * 1.5 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: 600 !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": table-color-map(shift-color($primary, $table-bg-scale)),\n \"secondary\": table-color-map(shift-color($secondary, $table-bg-scale)),\n \"success\": table-color-map(shift-color($success, $table-bg-scale)),\n \"danger\": table-color-map(shift-color($danger, $table-bg-scale)),\n \"warning\": table-color-map(shift-color($warning, $table-bg-scale)),\n \"info\": table-color-map(shift-color($info, $table-bg-scale)),\n \"light\": table-color-map(shift-color($light, $table-bg-scale)),\n \"dark\": table-color-map(shift-color($dark, $table-bg-scale))\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-blur: 0 !default;\n$input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n\n$button-variants: (\n \"primary\": btn-color-map($primary, $primary),\n \"secondary\": btn-color-map($secondary, $secondary),\n \"success\": btn-color-map($success, $success),\n \"danger\": btn-color-map($danger, $danger),\n \"warning\": btn-color-map($warning, $warning),\n \"info\": btn-color-map($info, $info),\n \"light\": btn-color-map($light, $light),\n \"dark\": btn-color-map($dark, $dark)\n) !default;\n\n$button-outline-ghost-variants: (\n \"primary\": btn-outline-color-map($primary),\n \"secondary\": btn-outline-color-map($secondary),\n \"success\": btn-outline-color-map($success),\n \"danger\": btn-outline-color-map($danger),\n \"warning\": btn-outline-color-map($warning),\n \"info\": btn-outline-color-map($info),\n \"light\": btn-outline-color-map($light),\n \"dark\": btn-outline-color-map($dark)\n) !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n// scss-docs-start form-variables\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: $gray-400 !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: unset !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: 1px solid rgba($black, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 1.5em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-switch-widths: (\n lg: (\n width: 1.75em,\n height: 1.25em\n ),\n xl: (\n width: 2em,\n height: 1.5em\n )\n) !default;\n// scss-docs-end form-switch-variables\n\n$form-check-inline-margin-end: 1rem !default;\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n// scss-docs-end form-variables\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-offcanvas: 1050 !default;\n$zindex-modal: 1060 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toaster: 1090 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: $link-color !default;\n$nav-link-hover-color: $link-hover-color !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-theme-variables\n$navbar-dark-color: $medium-emphasis-inverse !default;\n$navbar-dark-hover-color: $high-emphasis-inverse !default;\n$navbar-dark-active-color: $high-emphasis-inverse !default;\n$navbar-dark-disabled-color: $disabled-inverse !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: $medium-emphasis !default;\n$navbar-light-hover-color: $high-emphasis !default;\n$navbar-light-active-color: $high-emphasis !default;\n$navbar-light-disabled-color: $disabled !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-theme-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($gray-900, 10%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $high-emphasis-inverse !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-start: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end pagination-variables\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n// scss-docs-end pagination-variables\n\n\n// Cards\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: unset !default;\n$card-height: null !default;\n$card-color: unset !default;\n$card-bg: $white !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default;\n$accordion-bg: $body-bg !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: rgba($black, .125) !default;\n$accordion-border-radius: $border-radius !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: $accordion-bg !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $high-emphasis-inverse !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n// scss-docs-end popover-variables\n\n\n// Toasts\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: unset !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $high-emphasis-inverse !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n// scss-docs-end badge-variables\n\n$badge-font-size-sm: .65em !default;\n$badge-padding-y-sm: .3em !default;\n$badge-padding-x-sm: .5em !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: unset !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Avatars\n// scss-docs-start avatar-variables\n$avatar-width: 2rem !default;\n\n$avatar-widths: (\n sm: 1.5rem,\n md: 2.5rem,\n lg: 3rem,\n xl: 4rem\n) !default;\n\n$avatar-transition: margin .15s !default;\n// scss-docs-end avatar-variables\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n$alert-variants: (\n \"primary\": alert-color-map($primary),\n \"secondary\": alert-color-map($secondary),\n \"success\": alert-color-map($success),\n \"danger\": alert-color-map($danger),\n \"warning\": alert-color-map($warning),\n \"info\": alert-color-map($info),\n \"light\": alert-color-map($light),\n \"dark\": alert-color-map($dark)\n) !default;\n// scss-docs-end alert-variables\n\n// Callouts\n// scss-docs-start callout-variables\n$callout-padding-y: $spacer !default;\n$callout-padding-x: $spacer !default;\n$callout-margin-y: $spacer !default;\n$callout-margin-x: 0 !default;\n$callout-border-radius: $border-radius !default;\n$callout-border-width: $border-width !default;\n$callout-border-color: $border-color !default;\n$callout-border-left-width: (4 * $callout-border-width) !default;\n\n$callout-variants: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"danger\": $danger,\n \"warning\": $warning,\n \"info\": $info,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end callout-variables\n\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $high-emphasis-inverse !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n$progress-group-margin-bottom: $spacer !default;\n$progress-group-header-margin-bottom: $spacer * .25 !default;\n// scss-docs-end progress-variables\n\n// List group\n// scss-docs-start list-group-variables\n$list-group-color: unset !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n// scss-docs-end list-group-variables\n\n$list-group-variants: (\n \"primary\": list-group-color-map($primary),\n \"secondary\": list-group-color-map($secondary),\n \"success\": list-group-color-map($success),\n \"danger\": list-group-color-map($danger),\n \"warning\": list-group-color-map($warning),\n \"info\": list-group-color-map($info),\n \"light\": list-group-color-map($light),\n \"dark\": list-group-color-map($dark)\n) !default;\n// scss-docs-end list-group-variables\n\n\n// Header\n// scss-docs-start header-variables\n$header-min-height: 4rem !default;\n$header-padding-y: $spacer * .5 !default;\n$header-padding-x: $spacer * .5 !default;\n$header-brand-font-size: $font-size-lg !default;\n$header-color: $medium-emphasis !default;\n$header-bg: $white !default;\n$header-border-color: $border-color !default;\n$header-border-width: 1px !default;\n$header-hover-color: $high-emphasis !default;\n$header-active-color: $high-emphasis !default;\n$header-disabled-color: $disabled !default;\n\n// Compute the header-brand padding-y so the header-brand will have the same height as header-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$header-brand-height: $header-brand-font-size * $line-height-base !default;\n$header-brand-padding-y: ($nav-link-height - $header-brand-height) * .5 !default;\n$header-brand-margin-end: 1rem !default;\n$header-brand-font-size: $font-size-lg !default;\n$header-brand-color: $gray-900 !default;\n$header-brand-hover-color: shade-color($gray-900, 10%) !default;\n\n$header-toggler-padding-y: .25rem !default;\n$header-toggler-padding-x: .75rem !default;\n$header-toggler-font-size: $font-size-lg !default;\n$header-toggler-bg: transparent !default;\n$header-toggler-border: 0 !default;\n$header-toggler-border-radius: $btn-border-radius !default;\n\n$header-toggler-icon-bg: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$header-color}' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\") !default;\n$header-toggler-hover-icon-bg: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$header-hover-color}' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\") !default;\n$header-toggler-border-color: rgba($black, .1) !default;\n\n$header-nav-link-padding-x: .5rem !default;\n\n$header-divider-border-width: 1px !default;\n$header-divider-border-color: $header-border-color !default;\n// scss-docs-end header-variables\n\n// Subheader\n// scss-docs-start subheader-variables\n$subheader-min-height: 3rem !default;\n$subheader-padding-y: $spacer * .5 !default;\n$subheader-padding-x: $spacer !default;\n$subheader-border-color: $border-color !default;\n$subheader-border-width: 1px !default;\n\n$subheader-nav-link-padding-x: .5rem !default;\n// scss-docs-end subheader-variables\n\n// Default theme\n// scss-docs-start subheader-default-themes\n$subheader-bg: $white !default;\n$subheader-color: $medium-emphasis !default;\n$subheader-hover-color: $high-emphasis !default;\n$subheader-active-color: $high-emphasis !default;\n$subheader-disabled-color: $disabled !default;\n// scss-docs-end subheader-default-themes\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: unset !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n// scss-docs-start carousel-variables\n$carousel-control-color: $high-emphasis-inverse !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $high-emphasis-inverse !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $high-emphasis !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-variables\n\n// scss-docs-start sidebar-variables\n$sidebar-width: 16rem !default;\n$sidebar-widths: (\n sm: 12rem,\n lg: 20rem,\n xl: 24rem\n) !default;\n$sidebar-padding-y: 0 !default;\n$sidebar-padding-x: 0 !default;\n$sidebar-color: $high-emphasis-inverse !default;\n$sidebar-bg: $gray-base !default;\n$sidebar-border-width: 0 !default;\n$sidebar-border-color: transparent !default;\n$sidebar-transition: margin-left .15s, margin-right .15s, box-shadow .075s, transform .15s, width .15s, z-index 0s ease .15s !default;\n\n$sidebar-brand-height: 4rem !default;\n$sidebar-brand-color: $high-emphasis-inverse !default;\n$sidebar-brand-bg: rgba($black, .2) !default;\n\n$sidebar-header-height: 4rem !default;\n$sidebar-header-padding-y: .75rem !default;\n$sidebar-header-padding-x: 1rem !default;\n$sidebar-header-bg: rgba($black, .2) !default;\n$sidebar-header-height-transition: height .15s, padding .15s !default;\n\n$sidebar-narrow-width: 4rem !default;\n\n$sidebar-backdrop-bg: $black !default;\n$sidebar-backdrop-opacity: .5 !default;\n$sidebar-backdrop-transition: opacity .15s linear !default;\n\n$sidebar-nav-title-padding-y: .75rem !default;\n$sidebar-nav-title-padding-x: 1rem !default;\n$sidebar-nav-title-margin-top: 1rem !default;\n$sidebar-nav-title-color: $medium-emphasis-inverse !default;\n$sidebar-nav-title-transition: height .15s, margin .15s !default;\n\n$sidebar-nav-link-padding-y: .8445rem !default;\n$sidebar-nav-link-padding-x: 1rem !default;\n$sidebar-nav-link-color: $medium-emphasis-inverse !default;\n$sidebar-nav-link-bg: transparent !default;\n$sidebar-nav-link-transition: background .15s ease, color .15s ease !default;\n$sidebar-nav-link-icon-color: $medium-emphasis-inverse !default;\n\n$sidebar-nav-link-hover-color: $high-emphasis-inverse !default;\n$sidebar-nav-link-hover-bg: rgba($white, .05) !default;\n$sidebar-nav-link-hover-icon-color: $high-emphasis-inverse !default;\n\n$sidebar-nav-link-active-color: $high-emphasis-inverse !default;\n$sidebar-nav-link-active-bg: rgba($white, .05) !default;\n$sidebar-nav-link-active-icon-color: $high-emphasis-inverse !default;\n\n$sidebar-nav-link-disabled-color: $disabled-inverse !default;\n$sidebar-nav-link-disabled-icon-color: $sidebar-nav-link-icon-color !default;\n\n$sidebar-nav-icon-width: 4rem !default;\n$sidebar-nav-icon-height: 1.25rem !default;\n$sidebar-nav-icon-font-size: $sidebar-nav-icon-height !default;\n\n$sidebar-nav-group-bg: rgba(0, 0, 0, .2) !default;\n$sidebar-nav-group-transition: background .15s ease-in-out !default;\n$sidebar-nav-group-items-transition: height .15s ease !default;\n$sidebar-nav-group-toggle-show-color: $sidebar-nav-link-color !default;\n\n$sidebar-nav-group-indicator-color: $medium-emphasis-inverse !default;\n$sidebar-nav-group-indicator-icon: url(\"data:image/svg+xml,\") !default;\n$sidebar-nav-group-indicator-hover-color: $sidebar-nav-link-hover-color !default;\n$sidebar-nav-group-indicator-hover-icon: url(\"data:image/svg+xml,\") !default;\n$sidebar-nav-group-indicator-transition: transform .15s !default;\n\n$sidebar-footer-height: auto !default;\n$sidebar-footer-padding-y: .75rem !default;\n$sidebar-footer-padding-x: 1rem !default;\n$sidebar-footer-bg: rgba($black, .2) !default;\n$sidebar-footer-height-transition: height .15s, padding .15s !default;\n\n$sidebar-toggler-height: 3rem !default;\n$sidebar-toggler-bg: rgba($black, .2) !default;\n$sidebar-toggler-transition: transform .15s !default;\n\n$sidebar-toggler-indicator-width: 4rem !default;\n$sidebar-toggler-indicator-height: 3rem !default;\n$sidebar-toggler-indicator-color: $gray-600 !default;\n$sidebar-toggler-indicator-icon: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-toggler-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\") !default;\n$sidebar-toggler-hover-bg: rgba(0, 0, 0, .3) !default;\n$sidebar-toggler-indicator-hover-color: $sidebar-nav-link-hover-color !default;\n$sidebar-toggler-indicator-hover-icon: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-toggler-indicator-hover-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\") !default;\n// scss-docs-end sidebar-variables\n\n// Footer\n// scss-docs-start footer-variables\n$footer-min-height: 3rem !default;\n$footer-padding-y: $spacer * .5 !default;\n$footer-padding-x: $spacer !default;\n$footer-bg: $gray-100 !default;\n$footer-color: $body-color !default;\n$footer-border-width: 1px !default;\n$footer-border-color: $border-color !default;\n// scss-docs-end footer-variables\n\n// Spinners\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $high-emphasis !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: $modal-content-bg !default;\n$offcanvas-color: $modal-content-color !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $high-emphasis-inverse !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: unset !default;\n"]} \ No newline at end of file diff --git a/wwwroot/vendors/coreui/chartjs/js/coreui-chartjs.js b/wwwroot/vendors/coreui/chartjs/js/coreui-chartjs.js new file mode 100644 index 0000000..311582d --- /dev/null +++ b/wwwroot/vendors/coreui/chartjs/js/coreui-chartjs.js @@ -0,0 +1,129 @@ +/*! + * CoreUI Plugins - Chart.js for CoreUI 4 v3.0.0 (https://coreui.io) + * Copyright 2021 creativeLabs Łukasz Holeczek + * Licensed under MIT (https://coreui.io/license/) + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.coreui = global.coreui || {}, global.coreui.ChartJS = factory())); +}(this, (function () { 'use strict'; + + /** + * -------------------------------------------------------------------------- + * Custom Tooltips for Chart.js (v3.0.0): custom-tooltips.js + * Licensed under MIT (https://coreui.io/plugins/chart.js) + * -------------------------------------------------------------------------- + */ + const ClassName = { + TOOLTIP: 'chartjs-tooltip', + TOOLTIP_BODY: 'chartjs-tooltip-body', + TOOLTIP_BODY_ITEM: 'chartjs-tooltip-body-item', + TOOLTIP_HEADER: 'chartjs-tooltip-header', + TOOLTIP_HEADER_ITEM: 'chartjs-tooltip-header-item' + }; + + const getOrCreateTooltip = chart => { + let tooltipEl = chart.canvas.parentNode.querySelector('div'); + + if (!tooltipEl) { + tooltipEl = document.createElement('div'); + tooltipEl.classList.add(ClassName.TOOLTIP); + const table = document.createElement('table'); + table.style.margin = '0px'; + tooltipEl.appendChild(table); + chart.canvas.parentNode.appendChild(tooltipEl); + } + + return tooltipEl; + }; + + const customTooltips = context => { + // Tooltip Element + const { + chart, + tooltip + } = context; + const tooltipEl = getOrCreateTooltip(chart); // Hide if no tooltip + + if (tooltip.opacity === 0) { + tooltipEl.style.opacity = 0; + return; + } // Set Text + + + if (tooltip.body) { + const titleLines = tooltip.title || []; + const bodyLines = tooltip.body.map(b => b.lines); + const tableHead = document.createElement('thead'); + tableHead.classList.add(ClassName.TOOLTIP_HEADER); + titleLines.forEach(title => { + const tr = document.createElement('tr'); + tr.style.borderWidth = 0; + tr.classList.add(ClassName.TOOLTIP_HEADER_ITEM); + const th = document.createElement('th'); + th.style.borderWidth = 0; + const text = document.createTextNode(title); + th.appendChild(text); + tr.appendChild(th); + tableHead.appendChild(tr); + }); + const tableBody = document.createElement('tbody'); + tableBody.classList.add(ClassName.TOOLTIP_BODY); + bodyLines.forEach((body, i) => { + const colors = tooltip.labelColors[i]; + const span = document.createElement('span'); + span.style.background = colors.backgroundColor; + span.style.borderColor = colors.borderColor; + span.style.borderWidth = '2px'; + span.style.marginRight = '10px'; + span.style.height = '10px'; + span.style.width = '10px'; + span.style.display = 'inline-block'; + const tr = document.createElement('tr'); + tr.classList.add(ClassName.TOOLTIP_BODY_ITEM); + const td = document.createElement('td'); + td.style.borderWidth = 0; + const text = document.createTextNode(body); + td.appendChild(span); + td.appendChild(text); + tr.appendChild(td); + tableBody.appendChild(tr); + }); + const tableRoot = tooltipEl.querySelector('table'); // Remove old children + + while (tableRoot.firstChild) { + tableRoot.firstChild.remove(); + } // Add new children + + + tableRoot.appendChild(tableHead); + tableRoot.appendChild(tableBody); + } + + const { + offsetLeft: positionX, + offsetTop: positionY + } = chart.canvas; // Display, position, and set styles for font + + tooltipEl.style.opacity = 1; + tooltipEl.style.left = positionX + tooltip.caretX + 'px'; + tooltipEl.style.top = positionY + tooltip.caretY + 'px'; + tooltipEl.style.font = tooltip.options.bodyFont.string; + tooltipEl.style.padding = tooltip.padding + 'px ' + tooltip.padding + 'px'; + }; + + /** + * -------------------------------------------------------------------------- + * Custom Tooltips for Chart.js (v3.0.0): index.umd.js + * Licensed under MIT (https://github.com/@coreui/coreui-chartjs/LICENSE) + * -------------------------------------------------------------------------- + */ + var index_umd = { + customTooltips + }; + + return index_umd; + +}))); +//# sourceMappingURL=coreui-chartjs.js.map diff --git a/wwwroot/vendors/coreui/chartjs/js/coreui-chartjs.js.map b/wwwroot/vendors/coreui/chartjs/js/coreui-chartjs.js.map new file mode 100644 index 0000000..c3177f0 --- /dev/null +++ b/wwwroot/vendors/coreui/chartjs/js/coreui-chartjs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"coreui-chartjs.js","sources":["../../js/src/custom-tooltips.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Custom Tooltips for Chart.js (v3.0.0): custom-tooltips.js\n * Licensed under MIT (https://coreui.io/plugins/chart.js)\n * --------------------------------------------------------------------------\n */\n\nconst ClassName = {\n TOOLTIP: 'chartjs-tooltip',\n TOOLTIP_BODY: 'chartjs-tooltip-body',\n TOOLTIP_BODY_ITEM: 'chartjs-tooltip-body-item',\n TOOLTIP_HEADER: 'chartjs-tooltip-header',\n TOOLTIP_HEADER_ITEM: 'chartjs-tooltip-header-item'\n}\n\nconst getOrCreateTooltip = chart => {\n let tooltipEl = chart.canvas.parentNode.querySelector('div')\n\n if (!tooltipEl) {\n tooltipEl = document.createElement('div')\n tooltipEl.classList.add(ClassName.TOOLTIP)\n\n const table = document.createElement('table')\n table.style.margin = '0px'\n\n tooltipEl.appendChild(table)\n chart.canvas.parentNode.appendChild(tooltipEl)\n }\n\n return tooltipEl\n}\n\nconst customTooltips = context => {\n // Tooltip Element\n const { chart, tooltip } = context\n const tooltipEl = getOrCreateTooltip(chart)\n\n // Hide if no tooltip\n if (tooltip.opacity === 0) {\n tooltipEl.style.opacity = 0\n return\n }\n\n // Set Text\n if (tooltip.body) {\n const titleLines = tooltip.title || []\n const bodyLines = tooltip.body.map(b => b.lines)\n\n const tableHead = document.createElement('thead')\n tableHead.classList.add(ClassName.TOOLTIP_HEADER)\n\n titleLines.forEach(title => {\n const tr = document.createElement('tr')\n tr.style.borderWidth = 0\n tr.classList.add(ClassName.TOOLTIP_HEADER_ITEM)\n\n const th = document.createElement('th')\n th.style.borderWidth = 0\n const text = document.createTextNode(title)\n\n th.appendChild(text)\n tr.appendChild(th)\n tableHead.appendChild(tr)\n })\n\n const tableBody = document.createElement('tbody')\n tableBody.classList.add(ClassName.TOOLTIP_BODY)\n\n bodyLines.forEach((body, i) => {\n const colors = tooltip.labelColors[i]\n\n const span = document.createElement('span')\n span.style.background = colors.backgroundColor\n span.style.borderColor = colors.borderColor\n span.style.borderWidth = '2px'\n span.style.marginRight = '10px'\n span.style.height = '10px'\n span.style.width = '10px'\n span.style.display = 'inline-block'\n\n const tr = document.createElement('tr')\n tr.classList.add(ClassName.TOOLTIP_BODY_ITEM)\n\n const td = document.createElement('td')\n td.style.borderWidth = 0\n\n const text = document.createTextNode(body)\n\n td.appendChild(span)\n td.appendChild(text)\n tr.appendChild(td)\n tableBody.appendChild(tr)\n })\n\n const tableRoot = tooltipEl.querySelector('table')\n\n // Remove old children\n while (tableRoot.firstChild) {\n tableRoot.firstChild.remove()\n }\n\n // Add new children\n tableRoot.appendChild(tableHead)\n tableRoot.appendChild(tableBody)\n }\n\n const { offsetLeft: positionX, offsetTop: positionY } = chart.canvas\n\n // Display, position, and set styles for font\n tooltipEl.style.opacity = 1\n tooltipEl.style.left = positionX + tooltip.caretX + 'px'\n tooltipEl.style.top = positionY + tooltip.caretY + 'px'\n tooltipEl.style.font = tooltip.options.bodyFont.string\n tooltipEl.style.padding = tooltip.padding + 'px ' + tooltip.padding + 'px'\n}\n\nexport default customTooltips\n","/**\n * --------------------------------------------------------------------------\n * Custom Tooltips for Chart.js (v3.0.0): index.umd.js\n * Licensed under MIT (https://github.com/@coreui/coreui-chartjs/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// eslint-disable-next-line no-unused-vars\nimport customTooltips from './src/custom-tooltips'\n\nexport default {\n customTooltips\n}\n"],"names":["ClassName","TOOLTIP","TOOLTIP_BODY","TOOLTIP_BODY_ITEM","TOOLTIP_HEADER","TOOLTIP_HEADER_ITEM","getOrCreateTooltip","chart","tooltipEl","canvas","parentNode","querySelector","document","createElement","classList","add","table","style","margin","appendChild","customTooltips","context","tooltip","opacity","body","titleLines","title","bodyLines","map","b","lines","tableHead","forEach","tr","borderWidth","th","text","createTextNode","tableBody","i","colors","labelColors","span","background","backgroundColor","borderColor","marginRight","height","width","display","td","tableRoot","firstChild","remove","offsetLeft","positionX","offsetTop","positionY","left","caretX","top","caretY","font","options","bodyFont","string","padding"],"mappings":"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"} \ No newline at end of file diff --git a/wwwroot/vendors/coreui/coreui/js/coreui.bundle.min.js b/wwwroot/vendors/coreui/coreui/js/coreui.bundle.min.js new file mode 100644 index 0000000..439e272 --- /dev/null +++ b/wwwroot/vendors/coreui/coreui/js/coreui.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * CoreUI [object Object] v4.2.6 (https://coreui.io) + * Copyright 2022 The CoreUI Team (https://github.com/orgs/coreui/people) + * Licensed under MIT (https://coreui.io) + */ +!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).coreui=e()}(this,(function(){"use strict";const t="transitionend",e=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),i=e=>{e.dispatchEvent(new Event(t))},n=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),s=t=>n(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(e(t)):null,o=t=>{if(!n(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},r=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),a=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?a(t.parentNode):null},l=()=>{},c=t=>{t.offsetHeight},h=()=>window.jQuery&&!document.body.hasAttribute("data-coreui-no-jquery")?window.jQuery:null,u=[],d=()=>"rtl"===document.documentElement.dir,f=t=>{var e;e=()=>{const e=h();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?(u.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of u)t()})),u.push(e)):e()},p=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,g=(e,n,s=!0)=>{if(!s)return void p(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(n)+5;let r=!1;const a=({target:i})=>{i===n&&(r=!0,n.removeEventListener(t,a),p(e))};n.addEventListener(t,a),setTimeout((()=>{r||i(n)}),o)},m=(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))])},_=/[^.]*(?=\..*)\.|.*/,b=/\..*/,v=/::\d+$/,y={};let w=1;const A={mouseenter:"mouseover",mouseleave:"mouseout"},E=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 C(t,e){return e&&`${e}::${w++}`||t.uidEvent||w++}function T(t){const e=C(t);return t.uidEvent=e,y[e]=y[e]||{},y[e]}function O(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function k(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=S(t);return E.has(o)||(o=t),[n,s,o]}function x(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=k(e,i,n);if(e in A){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=T(t),c=l[a]||(l[a]={}),h=O(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const u=C(r,e.replace(_,"")),d=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 I(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 I(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);d.delegationSelector=o?i:null,d.callable=r,d.oneOff=s,d.uidEvent=u,c[u]=d,t.addEventListener(a,d,o)}function L(t,e,i,n,s){const o=O(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function D(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&L(t,e,i,r.callable,r.delegationSelector)}function S(t){return t=t.replace(b,""),A[t]||t}const N={on(t,e,i,n){x(t,e,i,n,!1)},one(t,e,i,n){x(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=k(e,i,n),a=r!==e,l=T(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))D(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(v,"");a&&!e.includes(s)||L(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;L(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=h();let s=null,o=!0,r=!0,a=!1;e!==S(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=I(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function I(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const M=new Map,P={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};function 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 $(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-coreui-${$(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-coreui-${$(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("coreui")&&!t.startsWith("coreuiConfig")));for(const n of i){let i=n.replace(/^coreui/,"");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-coreui-${$(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=n(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...n(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,o]of Object.entries(e)){const e=t[s],r=n(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${r}" but expected type "${o}".`)}var i}}class B extends H{constructor(t,e){super(),(t=s(t))&&(this._element=t,this._config=this._getConfig(e),P.set(this._element,this.constructor.DATA_KEY,this))}dispose(){P.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){g(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return P.get(s(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"4.2.6"}static get DATA_KEY(){return`coreui.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const W=t=>{let i=t.getAttribute("data-coreui-target");if(!i||"#"===i){let e=t.getAttribute("href");if(!e||!e.includes("#")&&!e.startsWith("."))return null;e.includes("#")&&!e.startsWith("#")&&(e=`#${e.split("#")[1]}`),i=e&&"#"!==e?e.trim():null}return e(i)},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=>!r(t)&&o(t)))},getSelectorFromElement(t){const e=W(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=W(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=W(t);return e?z.find(e):[]}},q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-coreui-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),r(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))};class R extends B{static get NAME(){return"alert"}close(){if(N.trigger(this._element,"close.coreui.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,"closed.coreui.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=R.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}q(R,"close"),f(R);const V='[data-coreui-toggle="button"]';class U extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=U.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.coreui.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);U.getOrCreateInstance(e).toggle()})),f(U);const K={endCallback:null,leftCallback:null,rightCallback:null},Q={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Y extends H{constructor(t,e){super(),this._element=t,t&&Y.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return K}static get DefaultType(){return Q}static get NAME(){return"swipe"}dispose(){N.off(this._element,".coreui.swipe")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),p(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&&p(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,"pointerdown.coreui.swipe",(t=>this._start(t))),N.on(this._element,"pointerup.coreui.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,"touchstart.coreui.swipe",(t=>this._start(t))),N.on(this._element,"touchmove.coreui.swipe",(t=>this._move(t))),N.on(this._element,"touchend.coreui.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const X=".coreui.carousel",G="next",J="prev",Z="left",tt="right",et=`slide${X}`,it=`slid${X}`,nt=`keydown${X}`,st=`mouseenter${X}`,ot=`mouseleave${X}`,rt=`dragstart${X}`,at=`load${X}.data-api`,lt=`click${X}.data-api`,ct="carousel",ht="active",ut={ArrowLeft:tt,ArrowRight:Z},dt={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ft={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class pt extends B{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===ct&&this.cycle()}static get Default(){return dt}static get DefaultType(){return ft}static get NAME(){return"carousel"}next(){this._slide(G)}nextWhenVisible(){!document.hidden&&o(this._element)&&this.next()}prev(){this._slide(J)}pause(){this._isSliding&&i(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,it,(()=>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,it,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?G:J;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,nt,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,st,(()=>this.pause())),N.on(this._element,ot,(()=>this._maybeEnableCycle()))),this._config.touch&&Y.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,rt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(Z)),rightCallback:()=>this._slide(this._directionToOrder(tt)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Y(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ut[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(".active",this._indicatorsElement);e.classList.remove(ht),e.removeAttribute("aria-current");const i=z.findOne(`[data-coreui-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(ht),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-coreui-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===G,s=e||m(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(et).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",h=n?"carousel-item-next":"carousel-item-prev";s.classList.add(h),c(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,h),s.classList.add(ht),i.classList.remove(ht,h,l),this._isSliding=!1,r(it)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(".active.carousel-item",this._element)}_getItems(){return z.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return d()?t===Z?J:G:t===Z?G:J}_orderToDirection(t){return d()?t===J?Z:tt:t===J?tt:Z}static jQueryInterface(t){return this.each((function(){const e=pt.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,lt,"[data-coreui-slide], [data-coreui-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(ct))return;t.preventDefault();const i=pt.getOrCreateInstance(e),n=this.getAttribute("data-coreui-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,at,(()=>{const t=z.find('[data-coreui-ride="carousel"]');for(const e of t)pt.getOrCreateInstance(e)})),f(pt);const gt=".coreui.collapse",mt=`show${gt}`,_t=`shown${gt}`,bt=`hide${gt}`,vt=`hidden${gt}`,yt=`click${gt}.data-api`,wt="show",At="collapse",Et="collapsing",Ct='[data-coreui-toggle="collapse"]',Tt={parent:null,toggle:!0},Ot={parent:"(null|element)",toggle:"boolean"};class kt extends B{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ct);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 Tt}static get DefaultType(){return Ot}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=>kt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,mt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(At),this._element.classList.add(Et),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(Et),this._element.classList.add(At,wt),this._element.style[e]="",N.trigger(this._element,_t)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,bt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,c(this._element),this._element.classList.add(Et),this._element.classList.remove(At,wt);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(Et),this._element.classList.add(At),N.trigger(this._element,vt)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(wt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=s(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ct);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(":scope .collapse .collapse",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=kt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,yt,Ct,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))kt.getOrCreateInstance(t,{toggle:!1}).toggle()})),f(kt);var xt="top",Lt="bottom",Dt="right",St="left",Nt="auto",It=[xt,Lt,Dt,St],Mt="start",Pt="end",jt="clippingParents",$t="viewport",Ft="popper",Ht="reference",Bt=It.reduce((function(t,e){return t.concat([e+"-"+Mt,e+"-"+Pt])}),[]),Wt=[].concat(It,[Nt]).reduce((function(t,e){return t.concat([e,e+"-"+Mt,e+"-"+Pt])}),[]),zt="beforeRead",qt="read",Rt="afterRead",Vt="beforeMain",Ut="main",Kt="afterMain",Qt="beforeWrite",Yt="write",Xt="afterWrite",Gt=[zt,qt,Rt,Vt,Ut,Kt,Qt,Yt,Xt];function Jt(t){return t?(t.nodeName||"").toLowerCase():null}function Zt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function te(t){return t instanceof Zt(t).Element||t instanceof Element}function ee(t){return t instanceof Zt(t).HTMLElement||t instanceof HTMLElement}function ie(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Zt(t).ShadowRoot||t instanceof ShadowRoot)}const ne={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];ee(s)&&Jt(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}),{});ee(n)&&Jt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function se(t){return t.split("-")[0]}var oe=Math.max,re=Math.min,ae=Math.round;function le(){var t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function ce(){return!/^((?!chrome|android).)*safari/i.test(le())}function he(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&ee(t)&&(s=t.offsetWidth>0&&ae(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&ae(n.height)/t.offsetHeight||1);var r=(te(t)?Zt(t):window).visualViewport,a=!ce()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,u=n.height/o;return{width:h,height:u,top:c,right:l+h,bottom:c+u,left:l,x:l,y:c}}function ue(t){var e=he(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 de(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ie(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function fe(t){return Zt(t).getComputedStyle(t)}function pe(t){return["table","td","th"].indexOf(Jt(t))>=0}function ge(t){return((te(t)?t.ownerDocument:t.document)||window.document).documentElement}function me(t){return"html"===Jt(t)?t:t.assignedSlot||t.parentNode||(ie(t)?t.host:null)||ge(t)}function _e(t){return ee(t)&&"fixed"!==fe(t).position?t.offsetParent:null}function be(t){for(var e=Zt(t),i=_e(t);i&&pe(i)&&"static"===fe(i).position;)i=_e(i);return i&&("html"===Jt(i)||"body"===Jt(i)&&"static"===fe(i).position)?e:i||function(t){var e=/firefox/i.test(le());if(/Trident/i.test(le())&&ee(t)&&"fixed"===fe(t).position)return null;var i=me(t);for(ie(i)&&(i=i.host);ee(i)&&["html","body"].indexOf(Jt(i))<0;){var n=fe(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 ve(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function ye(t,e,i){return oe(t,re(e,i))}function we(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Ae(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const Ee={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=se(i.placement),l=ve(a),c=[St,Dt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return we("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Ae(t,It))}(s.padding,i),u=ue(o),d="y"===l?xt:St,f="y"===l?Lt:Dt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],g=r[l]-i.rects.reference[l],m=be(o),_=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,b=p/2-g/2,v=h[d],y=_-u[c]-h[f],w=_/2-u[c]/2+b,A=ye(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)))&&de(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ce(t){return t.split("-")[1]}var Te={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Oe(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,u=t.isFixed,d=r.x,f=void 0===d?0:d,p=r.y,g=void 0===p?0:p,m="function"==typeof h?h({x:f,y:g}):{x:f,y:g};f=m.x,g=m.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=St,y=xt,w=window;if(c){var A=be(i),E="clientHeight",C="clientWidth";A===Zt(i)&&"static"!==fe(A=ge(i)).position&&"absolute"===a&&(E="scrollHeight",C="scrollWidth"),(s===xt||(s===St||s===Dt)&&o===Pt)&&(y=Lt,g-=(u&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,g*=l?1:-1),s!==St&&(s!==xt&&s!==Lt||o!==Pt)||(v=Dt,f-=(u&&A===w&&w.visualViewport?w.visualViewport.width:A[C])-n.width,f*=l?1:-1)}var T,O=Object.assign({position:a},c&&Te),k=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:ae(e*n)/n||0,y:ae(i*n)/n||0}}({x:f,y:g}):{x:f,y:g};return f=k.x,g=k.y,l?Object.assign({},O,((T={})[y]=b?"0":"",T[v]=_?"0":"",T.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+g+"px)":"translate3d("+f+"px, "+g+"px, 0)",T)):Object.assign({},O,((e={})[y]=b?g+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const ke={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:se(e.placement),variation:Ce(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,Oe(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,Oe(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 xe={passive:!0};const Le={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=Zt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,xe)})),a&&l.addEventListener("resize",i.update,xe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,xe)})),a&&l.removeEventListener("resize",i.update,xe)}},data:{}};var De={left:"right",right:"left",bottom:"top",top:"bottom"};function Se(t){return t.replace(/left|right|bottom|top/g,(function(t){return De[t]}))}var Ne={start:"end",end:"start"};function Ie(t){return t.replace(/start|end/g,(function(t){return Ne[t]}))}function Me(t){var e=Zt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Pe(t){return he(ge(t)).left+Me(t).scrollLeft}function je(t){var e=fe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function $e(t){return["html","body","#document"].indexOf(Jt(t))>=0?t.ownerDocument.body:ee(t)&&je(t)?t:$e(me(t))}function Fe(t,e){var i;void 0===e&&(e=[]);var n=$e(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Zt(n),r=s?[o].concat(o.visualViewport||[],je(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Fe(me(r)))}function He(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Be(t,e,i){return e===$t?He(function(t,e){var i=Zt(t),n=ge(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=ce();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Pe(t),y:l}}(t,i)):te(e)?function(t,e){var i=he(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):He(function(t){var e,i=ge(t),n=Me(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=oe(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=oe(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Pe(t),l=-n.scrollTop;return"rtl"===fe(s||i).direction&&(a+=oe(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ge(t)))}function We(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?se(s):null,r=s?Ce(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case xt:e={x:a,y:i.y-n.height};break;case Lt:e={x:a,y:i.y+i.height};break;case Dt:e={x:i.x+i.width,y:l};break;case St:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?ve(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Mt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Pt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ze(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?jt:a,c=i.rootBoundary,h=void 0===c?$t:c,u=i.elementContext,d=void 0===u?Ft:u,f=i.altBoundary,p=void 0!==f&&f,g=i.padding,m=void 0===g?0:g,_=we("number"!=typeof m?m:Ae(m,It)),b=d===Ft?Ht:Ft,v=t.rects.popper,y=t.elements[p?b:d],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Fe(me(t)),i=["absolute","fixed"].indexOf(fe(t).position)>=0&&ee(t)?be(t):t;return te(i)?e.filter((function(t){return te(t)&&de(t,i)&&"body"!==Jt(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=Be(t,i,n);return e.top=oe(s.top,e.top),e.right=re(s.right,e.right),e.bottom=re(s.bottom,e.bottom),e.left=oe(s.left,e.left),e}),Be(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}(te(y)?y:y.contextElement||ge(t.elements.popper),l,h,r),A=he(t.elements.reference),E=We({reference:A,element:v,strategy:"absolute",placement:s}),C=He(Object.assign({},v,E)),T=d===Ft?C:A,O={top:w.top-T.top+_.top,bottom:T.bottom-w.bottom+_.bottom,left:w.left-T.left+_.left,right:T.right-w.right+_.right},k=t.modifiersData.offset;if(d===Ft&&k){var x=k[s];Object.keys(O).forEach((function(t){var e=[Dt,Lt].indexOf(t)>=0?1:-1,i=[xt,Lt].indexOf(t)>=0?"y":"x";O[t]+=x[i]*e}))}return O}function qe(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?Wt:l,h=Ce(n),u=h?a?Bt:Bt.filter((function(t){return Ce(t)===h})):It,d=u.filter((function(t){return c.indexOf(t)>=0}));0===d.length&&(d=u);var f=d.reduce((function(e,i){return e[i]=ze(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[se(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Re={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,u=i.rootBoundary,d=i.altBoundary,f=i.flipVariations,p=void 0===f||f,g=i.allowedAutoPlacements,m=e.options.placement,_=se(m),b=l||(_!==m&&p?function(t){if(se(t)===Nt)return[];var e=Se(t);return[Ie(t),e,Ie(e)]}(m):[Se(m)]),v=[m].concat(b).reduce((function(t,i){return t.concat(se(i)===Nt?qe(e,{placement:i,boundary:h,rootBoundary:u,padding:c,flipVariations:p,allowedAutoPlacements:g}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,C=v[0],T=0;T=0,D=L?"width":"height",S=ze(e,{placement:O,boundary:h,rootBoundary:u,altBoundary:d,padding:c}),N=L?x?Dt:St:x?Lt:xt;y[D]>w[D]&&(N=Se(N));var I=Se(N),M=[];if(o&&M.push(S[k]<=0),a&&M.push(S[N]<=0,S[I]<=0),M.every((function(t){return t}))){C=O,E=!1;break}A.set(O,M)}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 C=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==C&&(e.modifiersData[n]._skip=!0,e.placement=C,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ve(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 Ue(t){return[xt,Dt,Lt,St].some((function(e){return t[e]>=0}))}const Ke={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=ze(e,{elementContext:"reference"}),a=ze(e,{altBoundary:!0}),l=Ve(r,n),c=Ve(a,s,o),h=Ue(l),u=Ue(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":u})}},Qe={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=Wt.reduce((function(t,i){return t[i]=function(t,e,i){var n=se(t),s=[St,xt].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,[St,Dt].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}},Ye={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=We({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Xe={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,u=i.padding,d=i.tether,f=void 0===d||d,p=i.tetherOffset,g=void 0===p?0:p,m=ze(e,{boundary:l,rootBoundary:c,padding:u,altBoundary:h}),_=se(e.placement),b=Ce(e.placement),v=!b,y=ve(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,C=e.rects.popper,T="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,O="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),k=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,x={x:0,y:0};if(A){if(o){var L,D="y"===y?xt:St,S="y"===y?Lt:Dt,N="y"===y?"height":"width",I=A[y],M=I+m[D],P=I-m[S],j=f?-C[N]/2:0,$=b===Mt?E[N]:C[N],F=b===Mt?-C[N]:-E[N],H=e.elements.arrow,B=f&&H?ue(H):{width:0,height:0},W=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=W[D],q=W[S],R=ye(0,E[N],B[N]),V=v?E[N]/2-j-R-z-O.mainAxis:$-R-z-O.mainAxis,U=v?-E[N]/2+j+R+q+O.mainAxis:F+R+q+O.mainAxis,K=e.elements.arrow&&be(e.elements.arrow),Q=K?"y"===y?K.clientTop||0:K.clientLeft||0:0,Y=null!=(L=null==k?void 0:k[y])?L:0,X=I+U-Y,G=ye(f?re(M,I+V-Y-Q):M,I,f?oe(P,X):P);A[y]=G,x[y]=G-I}if(a){var J,Z="x"===y?xt:St,tt="x"===y?Lt:Dt,et=A[w],it="y"===w?"height":"width",nt=et+m[Z],st=et-m[tt],ot=-1!==[xt,St].indexOf(_),rt=null!=(J=null==k?void 0:k[w])?J:0,at=ot?nt:et-E[it]-C[it]-rt+O.altAxis,lt=ot?et+E[it]+C[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=ye(t,e,i);return n>i?i:n}(at,et,lt):ye(f?at:nt,et,f?lt:st);A[w]=ct,x[w]=ct-et}e.modifiersData[n]=x}},requiresIfExists:["offset"]};function Ge(t,e,i){void 0===i&&(i=!1);var n,s,o=ee(e),r=ee(e)&&function(t){var e=t.getBoundingClientRect(),i=ae(e.width)/t.offsetWidth||1,n=ae(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ge(e),l=he(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Jt(e)||je(a))&&(c=(n=e)!==Zt(n)&&ee(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Me(n)),ee(e)?((h=he(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Pe(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Je(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 Ze={placement:"bottom",modifiers:[],strategy:"absolute"};function ti(){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,...p(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=>o(t)));i.length&&m(i,e,t===ci,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Li.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(vi);for(const i of e){const e=Li.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=[li,ci].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(bi)?this:z.prev(this,bi)[0]||z.next(this,bi)[0]||z.findOne(bi,t.delegateTarget.parentNode),o=Li.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,gi,bi,Li.dataApiKeydownHandler),N.on(document,gi,yi,Li.dataApiKeydownHandler),N.on(document,pi,Li.clearMenus),N.on(document,mi,Li.clearMenus),N.on(document,pi,bi,(function(t){t.preventDefault(),Li.getOrCreateInstance(this).toggle()})),f(Li);const Di=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Si=".sticky-top",Ni="padding-right",Ii="margin-right";class Mi{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,Ni,(e=>e+t)),this._setElementAttributes(Di,Ni,(e=>e+t)),this._setElementAttributes(Si,Ii,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ni),this._resetElementAttributes(Di,Ni),this._resetElementAttributes(Si,Ii)}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(n(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const Pi="show",ji="mousedown.coreui.backdrop",$i={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Fi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Hi extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return $i}static get DefaultType(){return Fi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void p(t);this._append();const e=this._getElement();this._config.isAnimated&&c(e),e.classList.add(Pi),this._emulateAnimation((()=>{p(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Pi),this._emulateAnimation((()=>{this.dispose(),p(t)}))):p(t)}dispose(){this._isAppended&&(N.off(this._element,ji),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=s(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,ji,(()=>{p(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){g(t,this._getElement(),this._config.isAnimated)}}const Bi=".coreui.focustrap",Wi=`focusin${Bi}`,zi=`keydown.tab${Bi}`,qi="backward",Ri={autofocus:!0,trapElement:null},Vi={autofocus:"boolean",trapElement:"element"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ri}static get DefaultType(){return Vi}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Bi),N.on(document,Wi,(t=>this._handleFocusin(t))),N.on(document,zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Bi))}_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===qi?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?qi:"forward")}}const Ki="hidden.coreui.modal",Qi="show.coreui.modal",Yi="modal-open",Xi="show",Gi="modal-static",Ji={backdrop:!0,focus:!0,keyboard:!0},Zi={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class tn extends B{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 Mi,this._addEventListeners()}static get Default(){return Ji}static get DefaultType(){return Zi}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,Qi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Yi),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,"hide.coreui.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Xi),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])N.off(t,".coreui.modal");this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Hi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ui({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),c(this._element),this._element.classList.add(Xi),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,"shown.coreui.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,"keydown.dismiss.coreui.modal",(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),N.on(window,"resize.coreui.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,"mousedown.dismiss.coreui.modal",(t=>{N.one(this._element,"click.dismiss.coreui.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Yi),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,Ki)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,"hidePrevented.coreui.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Gi)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Gi),this._queueCallback((()=>{this._element.classList.remove(Gi),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=d()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=d()?"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=tn.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,"click.coreui.modal.data-api",'[data-coreui-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,Qi,(t=>{t.defaultPrevented||N.one(e,Ki,(()=>{o(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&tn.getInstance(i).hide(),tn.getOrCreateInstance(e).toggle(this)})),q(tn),f(tn);const en="coreui.navigation",nn=`.${en}`,sn={activeLinksExact:!0,groupsAutoCollapse:!0},on={activeLinksExact:"boolean",groupsAutoCollapse:"(string|boolean)"},rn="active",an="show",ln="nav-group-toggle",cn=`click${nn}.data-api`,hn=`load${nn}.data-api`,un=".nav-group",dn=".nav-group-items",fn=".nav-group-toggle";class pn extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._setActiveLink(),this._addEventListeners(),P.set(t,en,this)}static get Default(){return sn}static get DATA_KEY(){return en}static get DefaultType(){return on}static get NAME(){return"navigation"}_getConfig(t){return{...sn,...F.getDataAttributes(this._element),..."object"==typeof t?t:{}}}_setActiveLink(){for(const t of Array.from(this._element.querySelectorAll(".nav-link"))){if(t.classList.contains(ln))continue;let e=String(window.location);const i=/\?./,n=/#./;(/\?.*=/.test(e)||i.test(e))&&(e=e.split("?")[0]),n.test(e)&&(e=e.split("#")[0]),this._config.activeLinksExact&&t.href===e&&(t.classList.add(rn),Array.from(this._getParents(t,un)).forEach((t=>{t.classList.add(an),t.setAttribute("aria-expanded",!0)}))),!this._config.activeLinksExact&&t.href.startsWith(e)&&(t.classList.add(rn),Array.from(this._getParents(t,un)).forEach((t=>{t.classList.add(an),t.setAttribute("aria-expanded",!0)})))}}_getParents(t,e){const i=[];for(;t&&t!==document;t=t.parentNode)e?t.matches(e)&&i.push(t):i.push(t);return i}_getAllSiblings(t,e){const i=[];t=t.parentNode.firstChild;do{3!==t.nodeType&&8!==t.nodeType&&(e&&!e(t)||i.push(t))}while(t=t.nextSibling);return i}_getChildren(t,e){const i=[];for(;t;t=t.nextSibling)1===t.nodeType&&t!==e&&i.push(t);return i}_getSiblings(t,e){return this._getChildren(t.parentNode.firstChild,t).filter(e)}_slideDown(t){t.style.height="auto";const e=t.clientHeight;t.style.height="0px",setTimeout((()=>{t.style.height=`${e}px`}),0),this._queueCallback((()=>{t.style.height="auto"}),t,!0)}_slideUp(t,e){const i=t.clientHeight;t.style.height=`${i}px`,setTimeout((()=>{t.style.height="0px"}),0),this._queueCallback((()=>{"function"==typeof e&&e()}),t,!0)}_toggleGroupItems(t){let e=t.target;e.classList.contains(ln)||(e=e.closest(fn));const i=t=>Boolean(t.classList.contains("nav-group")&&t.classList.contains(an));if(!0===this._config.groupsAutoCollapse)for(const t of this._getSiblings(e.parentNode,i))this._slideUp(z.findOne(dn,t),(()=>{t.classList.remove(an),t.setAttribute("aria-expanded",!1)}));e.parentNode.classList.contains(an)?this._slideUp(z.findOne(dn,e.parentNode),(()=>{e.parentNode.classList.remove(an),e.parentNode.setAttribute("aria-expanded",!1)})):(e.parentNode.classList.add(an),e.parentNode.setAttribute("aria-expanded",!0),this._slideDown(z.findOne(dn,e.parentNode)))}_addEventListeners(){N.on(this._element,cn,fn,(t=>{t.preventDefault(),this._toggleGroupItems(t,this)}))}static navigationInterface(t,e){const i=pn.getOrCreateInstance(t,e);if("string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){pn.navigationInterface(this,t)}))}}N.on(window,hn,(()=>{for(const t of Array.from(document.querySelectorAll('[data-coreui="navigation"]')))pn.navigationInterface(t)})),f(pn);const gn=".coreui.offcanvas",mn=`load${gn}.data-api`,_n="show",bn="showing",vn="hiding",yn=".offcanvas.show",wn=`show${gn}`,An=`shown${gn}`,En=`hide${gn}`,Cn=`hidePrevented${gn}`,Tn=`hidden${gn}`,On=`resize${gn}`,kn=`click${gn}.data-api`,xn=`keydown.dismiss${gn}`,Ln={backdrop:!0,keyboard:!0,scroll:!1},Dn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Sn extends B{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Ln}static get DefaultType(){return Dn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,wn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Mi).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(bn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(_n),this._element.classList.remove(bn),N.trigger(this._element,An,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,En).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(vn),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(_n,vn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Mi).reset(),N.trigger(this._element,Tn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Hi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,Cn)}:null})}_initializeFocusTrap(){return new Ui({trapElement:this._element})}_addEventListeners(){N.on(this._element,xn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,Cn))}))}static jQueryInterface(t){return this.each((function(){const e=Sn.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,kn,'[data-coreui-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),r(this))return;N.one(e,Tn,(()=>{o(this)&&this.focus()}));const i=z.findOne(yn);i&&i!==e&&Sn.getInstance(i).hide(),Sn.getOrCreateInstance(e).toggle(this)})),N.on(window,mn,(()=>{for(const t of z.find(yn))Sn.getOrCreateInstance(t).show()})),N.on(window,On,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Sn.getOrCreateInstance(t).hide()})),q(Sn),f(Sn);const Nn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),In=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Mn=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Pn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Nn.has(i)||Boolean(In.test(t.nodeValue)||Mn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},jn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},$n={allowList:jn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Fn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Hn={entry:"(string|element|function|null)",selector:"(string|element)"};class Bn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return $n}static get DefaultType(){return Fn}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},Hn)}_setContent(t,e,i){const o=z.findOne(i,t);o&&((e=this._resolvePossibleFunction(e))?n(e)?this._putElementInTemplate(s(e),o):this._config.html?o.innerHTML=this._maybeSanitize(e):o.textContent=e:o.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)Pn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return p(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Wn=new Set(["sanitize","allowList","sanitizeFn"]),zn="fade",qn="show",Rn=".modal",Vn="hide.coreui.modal",Un="hover",Kn="focus",Qn={AUTO:"auto",TOP:"top",RIGHT:d()?"left":"right",BOTTOM:"bottom",LEFT:d()?"right":"left"},Yn={allowList:jn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Xn={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 Gn extends B{constructor(t,e){if(void 0===oi)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 Yn}static get DefaultType(){return Xn}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(Rn),Vn,this._hideModalHandler),this._element.getAttribute("data-coreui-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-coreui-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=(a(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(qn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",l);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(qn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",l);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),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(zn,qn),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(zn),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Bn({...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-coreui-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(zn)}_isShown(){return this.tip&&this.tip.classList.contains(qn)}_createPopper(t){const e=p(this._config.placement,[this,t,this._element]),i=Qn[e.toUpperCase()];return si(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 p(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,...p(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===Un?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===Un?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?Kn:Un]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Kn:Un]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(Rn),Vn,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-coreui-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))Wn.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:s(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=Gn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}f(Gn);const Jn={...Gn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Zn={...Gn.DefaultType,content:"(null|string|element|function)"};class ts extends Gn{static get Default(){return Jn}static get DefaultType(){return Zn}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=ts.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}f(ts);const es=".coreui.scrollspy",is=`activate${es}`,ns=`click${es}`,ss=`load${es}.data-api`,os="active",rs="[href]",as={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},ls={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class cs extends B{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 as}static get DefaultType(){return ls}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=s(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,ns),N.on(this._config.target,ns,rs,(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(rs,this._config.target);for(const e of t){if(!e.hash||r(e))continue;const t=z.findOne(e.hash,this._element);o(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(os),this._activateParents(t),N.trigger(this._element,is,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(os);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(os)}_clearActiveClass(t){t.classList.remove(os);const e=z.find("[href].active",t);for(const t of e)t.classList.remove(os)}static jQueryInterface(t){return this.each((function(){const e=cs.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,ss,(()=>{for(const t of z.find('[data-coreui-spy="scroll"]'))cs.getOrCreateInstance(t)})),f(cs);const hs=".coreui.sidebar",us={},ds={},fs="hide",ps="show",gs="sidebar-narrow",ms="sidebar-narrow-unfoldable",_s=`hide${hs}`,bs=`hidden${hs}`,vs=`show${hs}`,ys=`shown${hs}`,ws=`click${hs}.data-api`,As=`load${hs}.data-api`,Es=".sidebar";class Cs extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._show=this._isVisible(),this._mobile=this._isMobile(),this._overlaid=this._isOverlaid(),this._narrow=this._isNarrow(),this._unfoldable=this._isUnfoldable(),this._backdrop=this._initializeBackDrop(),this._addEventListeners()}static get Default(){return us}static get DefaultType(){return ds}static get NAME(){return"sidebar"}show(){N.trigger(this._element,vs),this._element.classList.contains(fs)&&this._element.classList.remove(fs),this._isMobile()&&(this._element.classList.add(ps),this._backdrop.show(),(new Mi).hide()),this._queueCallback((()=>{!0===this._isVisible()&&(this._show=!0,(this._isMobile()||this._isOverlaid())&&this._addClickOutListener(),N.trigger(this._element,ys))}),this._element,!0)}hide(){N.trigger(this._element,_s),this._element.classList.contains(ps)&&this._element.classList.remove(ps),this._isMobile()?(this._backdrop.hide(),(new Mi).reset()):this._element.classList.add(fs),this._queueCallback((()=>{!1===this._isVisible()&&(this._show=!1,(this._isMobile()||this._isOverlaid())&&this._removeClickOutListener(),N.trigger(this._element,bs))}),this._element,!0)}toggle(){this._isVisible()?this.hide():this.show()}narrow(){this._isMobile()||(this._addClassName(gs),this._narrow=!0)}unfoldable(){this._isMobile()||(this._addClassName(ms),this._unfoldable=!0)}reset(){this._isMobile()||(this._narrow&&(this._element.classList.remove(gs),this._narrow=!1),this._unfoldable&&(this._element.classList.remove(ms),this._unfoldable=!1))}toggleNarrow(){this._narrow?this.reset():this.narrow()}toggleUnfoldable(){this._unfoldable?this.reset():this.unfoldable()}_getConfig(t){return{...us,...F.getDataAttributes(this._element),..."object"==typeof t?t:{}}}_initializeBackDrop(){return new Hi({className:"sidebar-backdrop",isVisible:this._isMobile(),isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_isMobile(){return Boolean(window.getComputedStyle(this._element,null).getPropertyValue("--cui-is-mobile"))}_isNarrow(){return this._element.classList.contains(gs)}_isOverlaid(){return this._element.classList.contains("sidebar-overlaid")}_isUnfoldable(){return this._element.classList.contains(ms)}_isVisible(){const t=this._element.getBoundingClientRect();return t.top>=0&&t.left>=0&&Math.floor(t.bottom)<=(window.innerHeight||document.documentElement.clientHeight)&&Math.floor(t.right)<=(window.innerWidth||document.documentElement.clientWidth)}_addClassName(t){this._element.classList.add(t)}_clickOutListener(t,e){null===t.target.closest(Es)&&(t.preventDefault(),t.stopPropagation(),e.hide())}_addClickOutListener(){N.on(document,ws,(t=>{this._clickOutListener(t,this)}))}_removeClickOutListener(){N.off(document,ws)}_addEventListeners(){this._mobile&&this._show&&this._addClickOutListener(),this._overlaid&&this._show&&this._addClickOutListener(),N.on(this._element,ws,"[data-coreui-toggle]",(t=>{t.preventDefault();const e=F.getDataAttribute(t.target,"toggle");"narrow"===e&&this.toggleNarrow(),"unfoldable"===e&&this.toggleUnfoldable()})),N.on(this._element,ws,'[data-coreui-close="sidebar"]',(t=>{t.preventDefault(),this.hide()})),N.on(window,"resize",(()=>{this._isMobile()&&this._isVisible()&&(this.hide(),this._backdrop=this._initializeBackDrop())}))}static sidebarInterface(t,e){const i=Cs.getOrCreateInstance(t,e);if("string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){Cs.sidebarInterface(this,t)}))}}N.on(window,As,(()=>{for(const t of Array.from(document.querySelectorAll(Es)))Cs.sidebarInterface(t)})),f(Cs);const Ts="ArrowLeft",Os="ArrowRight",ks="ArrowUp",xs="ArrowDown",Ls="active",Ds="fade",Ss="show",Ns='[data-coreui-toggle="tab"], [data-coreui-toggle="pill"], [data-coreui-toggle="list"]',Is=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${Ns}`;class Ms extends B{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,"keydown.coreui.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,"hide.coreui.tab",{relatedTarget:t}):null;N.trigger(t,"show.coreui.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Ls),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,"shown.coreui.tab",{relatedTarget:e})):t.classList.add(Ss)}),t,t.classList.contains(Ds)))}_deactivate(t,e){t&&(t.classList.remove(Ls),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,"hidden.coreui.tab",{relatedTarget:e})):t.classList.remove(Ss)}),t,t.classList.contains(Ds)))}_keydown(t){if(![Ts,Os,ks,xs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[Os,xs].includes(t.key),i=m(this._getChildren().filter((t=>!r(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),Ms.getOrCreateInstance(i).show())}_getChildren(){return z.find(Is,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Ls),n(".dropdown-menu",Ss),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Ls)}_getInnerElement(t){return t.matches(Is)?t:z.findOne(Is,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ms.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,"click.coreui.tab",Ns,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),r(this)||Ms.getOrCreateInstance(this).show()})),N.on(window,"load.coreui.tab",(()=>{for(const t of z.find('.active[data-coreui-toggle="tab"], .active[data-coreui-toggle="pill"], .active[data-coreui-toggle="list"]'))Ms.getOrCreateInstance(t)})),f(Ms);const Ps=".coreui.toast",js=`mouseover${Ps}`,$s=`mouseout${Ps}`,Fs=`focusin${Ps}`,Hs=`focusout${Ps}`,Bs=`hide${Ps}`,Ws=`hidden${Ps}`,zs=`show${Ps}`,qs=`shown${Ps}`,Rs="hide",Vs="show",Us="showing",Ks={animation:"boolean",autohide:"boolean",delay:"number"},Qs={animation:!0,autohide:!0,delay:5e3};class Ys extends B{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Qs}static get DefaultType(){return Ks}static get NAME(){return"toast"}show(){N.trigger(this._element,zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Rs),c(this._element),this._element.classList.add(Vs,Us),this._queueCallback((()=>{this._element.classList.remove(Us),N.trigger(this._element,qs),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Bs).defaultPrevented||(this._element.classList.add(Us),this._queueCallback((()=>{this._element.classList.add(Rs),this._element.classList.remove(Us,Vs),N.trigger(this._element,Ws)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Vs),super.dispose()}isShown(){return this._element.classList.contains(Vs)}_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,js,(t=>this._onInteraction(t,!0))),N.on(this._element,$s,(t=>this._onInteraction(t,!1))),N.on(this._element,Fs,(t=>this._onInteraction(t,!0))),N.on(this._element,Hs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Ys.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return q(Ys),f(Ys),{Alert:R,Button:U,Carousel:pt,Collapse:kt,Dropdown:Li,Modal:tn,Navigation:pn,OffCanvas:Sn,Popover:ts,ScrollSpy:cs,Sidebar:Cs,Tab:Ms,Toast:Ys,Tooltip:Gn}})); +//# sourceMappingURL=coreui.bundle.min.js.map \ No newline at end of file diff --git a/wwwroot/vendors/coreui/coreui/js/coreui.bundle.min.js.map b/wwwroot/vendors/coreui/coreui/js/coreui.bundle.min.js.map new file mode 100644 index 0000000..793fde5 --- /dev/null +++ b/wwwroot/vendors/coreui/coreui/js/coreui.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"names":["TRANSITION_END","parseSelector","selector","window","CSS","escape","replace","match","id","triggerTransitionEnd","element","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","has","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","keys","slice","keyHandlers","trigger","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","key","value","_unused","defineProperty","configurable","get","elementMap","Map","Data","set","instance","instanceMap","size","console","error","Array","from","remove","delete","normalizeData","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","coreuiKeys","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","static","getInstance","VERSION","getSelector","hrefAttribute","trim","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","getOrCreateInstance","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","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","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","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","eventName","_orderToDirection","isCycling","directionalClassName","orderClassName","_isAnimated","SELECTOR_ACTIVE","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","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","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","_ref3$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","openToggles","context","composedPath","isMenuTarget","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","dataApiKeydownHandler","clearMenus","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","innerWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","sel","EVENT_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","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","activeLinksExact","groupsAutoCollapse","CLASS_NAME_NAV_GROUP_TOGGLE","SELECTOR_NAV_GROUP","SELECTOR_NAV_GROUP_ITEMS","SELECTOR_NAV_GROUP_TOGGLE","Navigation","_setActiveLink","currentUrl","String","location","urlHasQueryString","urlHasHash","href","_getParents","_getAllSiblings","siblings","firstChild","nextSibling","_getChildren","n","skipMe","_getSiblings","_slideDown","_slideUp","_toggleGroupItems","toggler","navigationInterface","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","Offcanvas","blur","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","DefaultAllowlist","area","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","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","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","_activateParents","listGroup","activeNodes","spy","CLASS_NAME_HIDE","CLASS_NAME_SIDEBAR_NARROW","CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE","SELECTOR_SIDEBAR","Sidebar","_show","_isVisible","_mobile","_isMobile","_overlaid","_isOverlaid","_narrow","_isNarrow","_unfoldable","_isUnfoldable","_addClickOutListener","_removeClickOutListener","narrow","_addClassName","unfoldable","toggleNarrow","toggleUnfoldable","innerHeight","_clickOutListener","sidebar","sidebarInterface","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","SELECTOR_INNER_ELEM","Tab","_setInitialAttributes","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","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","OffCanvas"],"sources":["../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/data.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/scrollbar.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/modal.js","../../js/src/navigation.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/sidebar.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.6): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's 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-coreui-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 * CoreUI (v4.2.6): dom/selector-engine.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's 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.coreui.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 let evt = new Event(event, { bubbles, cancelable: true })\n evt = hydrateObj(evt, 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 * CoreUI (v4.2.6): dom/selector-engine.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's 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 * CoreUI (v4.2.6): dom/selector-engine.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's 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-coreui-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-coreui-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const coreuiKeys = Object.keys(element.dataset).filter(key => key.startsWith('coreui') && !key.startsWith('coreuiConfig'))\n\n for (const key of coreuiKeys) {\n let pureKey = key.replace(/^coreui/, '')\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-coreui-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.6): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isElement, toType } from './index.js'\nimport Manipulator from '../dom/manipulator.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 * CoreUI (v4.2.6): alert.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's 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 { executeAfterTransition, getElement } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '4.2.6'\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 `coreui.${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 * CoreUI (v4.2.6): dom/selector-engine.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's 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-coreui-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.6): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's 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 { isDisabled } from './index.js'\nimport SelectorEngine from '../dom/selector-engine.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-coreui-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 * CoreUI (v4.2.6): alert.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'coreui.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 * CoreUI (v4.2.6): alert.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'coreui.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-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 * CoreUI (v4.2.6): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Config from './config.js'\nimport EventHandler from '../dom/event-handler.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.coreui.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 * CoreUI (v4.2.6): carousel.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Swipe from './util/swipe.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'coreui.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-coreui-slide], [data-coreui-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-coreui-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-coreui-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-coreui-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-coreui-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 * CoreUI (v4.2.6): collapse.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'coreui.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-coreui-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) {\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\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.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 (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\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) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\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 }) : {\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\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\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\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\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 getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\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 }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\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 if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\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 var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\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 if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\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 (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.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 * CoreUI (v4.2.6): dropdown.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'coreui.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-coreui-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.2/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('--cui-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.2/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 * CoreUI (v4.2.6): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Manipulator from '../dom/manipulator.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 * CoreUI (v4.2.6): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's 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 { execute, executeAfterTransition, getElement, reflow } from './index.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.coreui.${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 * CoreUI (v4.2.6): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's 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 = 'coreui.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 * CoreUI (v4.2.6): modal.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport ScrollBarHelper from './util/scrollbar.js'\nimport BaseComponent from './base-component.js'\nimport Backdrop from './util/backdrop.js'\nimport FocusTrap from './util/focustrap.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'coreui.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-coreui-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 for (const htmlElement of [window, this._dialog]) {\n EventHandler.off(htmlElement, EVENT_KEY)\n }\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\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 event.preventDefault()\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 * CoreUI (v4.2.6): navigation.js\n * Licensed under MIT (https://coreui.io/license)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'navigation'\nconst DATA_KEY = 'coreui.navigation'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n activeLinksExact: true,\n groupsAutoCollapse: true\n}\n\nconst DefaultType = {\n activeLinksExact: 'boolean',\n groupsAutoCollapse: '(string|boolean)'\n}\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SHOW = 'show'\n\nconst CLASS_NAME_NAV_GROUP = 'nav-group'\nconst CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_NAV_GROUP = '.nav-group'\nconst SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items'\nconst SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_DATA_NAVIGATION = '[data-coreui=\"navigation\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Navigation extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._config = this._getConfig(config)\n this._setActiveLink()\n this._addEventListeners()\n\n Data.set(element, DATA_KEY, this)\n }\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n\n return config\n }\n\n _setActiveLink() {\n for (const element of Array.from(this._element.querySelectorAll(SELECTOR_NAV_LINK))) {\n if (element.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n continue\n }\n\n let currentUrl = String(window.location)\n\n const urlHasParams = /\\?.*=/\n const urlHasQueryString = /\\?./\n const urlHasHash = /#./\n\n if (urlHasParams.test(currentUrl) || urlHasQueryString.test(currentUrl)) {\n currentUrl = currentUrl.split('?')[0]\n }\n\n if (urlHasHash.test(currentUrl)) {\n currentUrl = currentUrl.split('#')[0]\n }\n\n if (this._config.activeLinksExact && element.href === currentUrl) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n if (!this._config.activeLinksExact && element.href.startsWith(currentUrl)) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n }\n }\n\n _getParents(element, selector) {\n // Setup parents array\n const parents = []\n\n // Get matching parent elements\n for (; element && element !== document; element = element.parentNode) {\n // Add matching parents to array\n if (selector) {\n if (element.matches(selector)) {\n parents.push(element)\n }\n } else {\n parents.push(element)\n }\n }\n\n return parents\n }\n\n _getAllSiblings(element, filter) {\n const siblings = []\n element = element.parentNode.firstChild\n do {\n if (element.nodeType === 3) {\n continue // text node\n }\n\n if (element.nodeType === 8) {\n continue // comment node\n }\n\n if (!filter || filter(element)) {\n siblings.push(element)\n }\n\n // eslint-disable-next-line no-cond-assign\n } while (element = element.nextSibling)\n\n return siblings\n }\n\n _getChildren(n, skipMe) {\n const children = []\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== skipMe) {\n children.push(n)\n }\n }\n\n return children\n }\n\n _getSiblings(element, filter) {\n const siblings = this._getChildren(element.parentNode.firstChild, element).filter(filter)\n return siblings\n }\n\n _slideDown(element) {\n element.style.height = 'auto'\n const height = element.clientHeight\n element.style.height = '0px'\n setTimeout(() => {\n element.style.height = `${height}px`\n }, 0)\n\n this._queueCallback(() => {\n element.style.height = 'auto'\n }, element, true)\n }\n\n _slideUp(element, callback) {\n const height = element.clientHeight\n element.style.height = `${height}px`\n setTimeout(() => {\n element.style.height = '0px'\n }, 0)\n\n this._queueCallback(() => {\n if (typeof callback === 'function') {\n callback()\n }\n }, element, true)\n }\n\n _toggleGroupItems(event) {\n let toggler = event.target\n if (!toggler.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n toggler = toggler.closest(SELECTOR_NAV_GROUP_TOGGLE)\n }\n\n const filter = element => Boolean(element.classList.contains(CLASS_NAME_NAV_GROUP) && element.classList.contains(CLASS_NAME_SHOW))\n\n // Close other groups\n if (this._config.groupsAutoCollapse === true) {\n for (const element of this._getSiblings(toggler.parentNode, filter)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, element), () => {\n element.classList.remove(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', false)\n })\n }\n }\n\n if (toggler.parentNode.classList.contains(CLASS_NAME_SHOW)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode), () => {\n toggler.parentNode.classList.remove(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', false)\n })\n return\n }\n\n toggler.parentNode.classList.add(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', true)\n this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode))\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_NAV_GROUP_TOGGLE, event => {\n event.preventDefault()\n this._toggleGroupItems(event, this)\n })\n }\n\n // Static\n\n static navigationInterface(element, config) {\n const data = Navigation.getOrCreateInstance(element, 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 static jQueryInterface(config) {\n return this.each(function () {\n Navigation.navigationInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of Array.from(document.querySelectorAll(SELECTOR_DATA_NAVIGATION))) {\n Navigation.navigationInterface(element)\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Navigation to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Navigation)\n\nexport default Navigation\n","/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.6): dropdown.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport FocusTrap from './util/focustrap.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'coreui.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-coreui-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 EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\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 * CoreUI (v4.2.6): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // 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 const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, 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\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 * CoreUI (v4.2.6): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.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 * CoreUI (v4.2.6): tooltip.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport BaseComponent from './base-component.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.coreui.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, 0],\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-coreui-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-coreui-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 on v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // todo: on 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-coreui-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-coreui-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 * CoreUI (v4.2.6): popover.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport Tooltip from './tooltip.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 * CoreUI (v4.2.6): scrollspy.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'coreui.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-coreui-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(anchor.hash, this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(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